:root{
  --ground:#0e1b17; --pool:#132420; --pool2:#17302a;
  --ink:#ece5d3; --dim:#b9ae93; --gold:#d8b45a; --gold-hi:#f0d48a;
  --line:rgba(216,180,90,.28); --glass:rgba(23,48,42,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:
    radial-gradient(1200px 700px at 85% -10%, #1b3a31 0%, transparent 60%),
    radial-gradient(900px 600px at -10% 30%, #14291f 0%, transparent 55%),
    var(--ground);
  color:var(--ink);
  font:400 clamp(19px, 1.5vw + 12px, 22px)/1.72 Charter, Georgia, 'Noto Serif Thai', 'Sathu', serif;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold); color:#10201b}
a{color:var(--gold-hi); text-decoration-color:rgba(240,212,138,.4); text-underline-offset:3px}
a:hover{text-decoration-color:var(--gold-hi)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-hi); outline-offset:3px; border-radius:4px}
.wrap{max-width:46rem; margin:0 auto; padding:0 clamp(1.1rem,4vw,2rem)}
header.hero{padding:clamp(3rem,8vh,5rem) 0 2.2rem; text-align:center}
.backlink{display:inline-block; font-size:.8em; color:var(--dim); text-decoration:none; border:1px solid var(--line); border-radius:99px; padding:.3em 1.1em; background:var(--glass); backdrop-filter:blur(8px); transition:all .25s}
.backlink:hover{color:var(--gold-hi); border-color:var(--gold); transform:translateY(-2px)}
h1{font-size:clamp(1.9rem,5vw,2.9rem); line-height:1.16; margin:.6em 0 .25em; font-weight:700}
.th-title{display:block; color:var(--gold); font-size:clamp(1.2rem,3vw,1.6rem); font-weight:400; margin-top:.45em}
.standfirst{color:var(--dim); font-size:1.02em; max-width:38rem; margin:1rem auto 0; font-style:italic}
main{padding-bottom:4rem}
section{margin:3.4rem 0}
h2{font-size:clamp(1.35rem,3vw,1.75rem); line-height:1.3; margin:0 0 .9rem}
h2 .mark{color:var(--gold); margin-right:.4em; font-weight:400}
p{margin:1em 0}
.thai{font-family:'Noto Serif Thai','Sathu',Charter,serif}
.big-thai{font-size:1.35em; color:var(--gold-hi); line-height:1.9}
em.src{font-style:normal; font-size:.72em; color:var(--dim); background:rgba(216,180,90,.09); border:1px solid var(--line); border-radius:6px; padding:.1em .5em; vertical-align:.15em}
em.src a{color:var(--dim); text-decoration:none}
em.src a:hover{color:var(--gold-hi)}
blockquote{
  margin:1.6em 0; padding:1.1em 1.4em; border-left:3px solid var(--gold);
  background:var(--glass); backdrop-filter:blur(10px); border-radius:0 14px 14px 0;
  font-size:.97em;
}
blockquote .th{color:var(--gold-hi)}
blockquote footer{color:var(--dim); font-size:.8em; margin-top:.6em}
figure{margin:2.2em 0; background:var(--glass); backdrop-filter:blur(10px);
  border:1px solid var(--line); border-radius:18px; padding:1rem; transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s}
figure:hover{transform:translateY(-4px) scale(1.008); box-shadow:0 18px 50px rgba(0,0,0,.45)}
figure img{width:100%; height:auto; border-radius:10px; display:block; background:#fff}
figcaption{font-size:.78em; color:var(--dim); line-height:1.55; margin-top:.8rem}
figcaption b{color:var(--ink)}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem}
@media(max-width:640px){.duo{grid-template-columns:1fr}}
table{width:100%; border-collapse:collapse; font-size:.86em; margin:1.4em 0}
@media(max-width:560px){table{display:block; overflow-x:auto}}
th,td{text-align:left; padding:.55em .7em; border-bottom:1px solid rgba(216,180,90,.15); vertical-align:top}
th{color:var(--gold); font-weight:700; font-size:.85em; letter-spacing:.05em; text-transform:uppercase}
td .thai{color:var(--gold-hi)}
.callout{background:linear-gradient(135deg, rgba(216,180,90,.12), rgba(216,180,90,.03));
  border:1px solid var(--line); border-radius:18px; padding:1.3rem 1.5rem; margin:2em 0}
.eclipse{display:block; margin:1.8em auto .4em; cursor:pointer; width:200px; max-width:60%}
.hint{color:var(--dim); font-size:.75em; text-align:center; margin:0 0 1.2em}
footer.colophon{border-top:1px solid var(--line); padding:2.6rem 0 4rem; font-size:.82em; color:var(--dim)}
footer.colophon h2{font-size:1.1em; color:var(--ink)}
footer.colophon ul{padding-left:1.2em}
footer.colophon li{margin:.45em 0}
#sathu{position:fixed; left:50%; bottom:2rem; transform:translate(-50%,20px);
  background:var(--gold); color:#10201b; font-weight:700; padding:.55em 1.3em; border-radius:99px;
  opacity:0; pointer-events:none; transition:all .4s cubic-bezier(.34,1.56,.64,1); font-size:1.05em}
#sathu.show{opacity:1; transform:translate(-50%,0)}
@media (prefers-reduced-motion: reduce){
  figure,figure:hover,.backlink:hover{transform:none; transition:none}
}

nav.chambers{display:flex; flex-wrap:wrap; gap:.5rem .8rem; justify-content:center; margin:2.5rem auto 0; font-size:.78em}
nav.chambers a{color:var(--dim); text-decoration:none; border:1px solid var(--line); border-radius:99px; padding:.28em .95em; background:var(--glass); backdrop-filter:blur(8px); transition:all .25s}
nav.chambers a:hover{color:var(--gold-hi); border-color:var(--gold); transform:translateY(-2px)}
nav.chambers a[aria-current]{color:var(--gold-hi); border-color:var(--gold)}
.chips{display:flex; flex-wrap:wrap; gap:.6rem; margin:1.2em 0; justify-content:center}
.chips button{font:inherit; font-size:.95em; color:var(--gold-hi); background:var(--pool2); border:1px solid var(--line); border-radius:12px; padding:.45em 1em; cursor:pointer; transition:transform .18s cubic-bezier(.34,1.56,.64,1), background .18s}
.chips button:hover{transform:scale(1.08); background:#1d3d34}
.chips button:active{transform:scale(.92)}
