:root{
  --night:#0c0b14;--night-0:#07060c;--night-2:#15131f;--night-3:#1d1a29;
  --line:rgba(242,238,230,.09);--marble:#f2eee6;--dim:#a39eae;--faint:#5f5a6b;
  --gold:#e8b54a;--gold-hi:#f6d58c;--gold-ink:#1a1206;
  --f-display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;
  --f-serif:"Bricolage Grotesque","Arial Black",system-ui,sans-serif; /* accent words: same as headlines until the logo font arrives */
  --f-body:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--night-0);color:var(--marble);font-family:var(--f-body);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto 0;height:520px;background:radial-gradient(90% 100% at 70% 0%,#1b1730 0%,transparent 70%);pointer-events:none;z-index:-1}
a{color:var(--gold-hi);text-decoration:none;border-bottom:1px solid rgba(246,213,140,.3)}
a:hover{border-bottom-color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
.top{position:sticky;top:0;z-index:10;background:rgba(9,8,14,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font:800 16px var(--f-display);letter-spacing:.14em;color:var(--marble);border:0}
.brand .wm{height:26px;width:auto;display:block}
.back{font:500 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.back:hover{color:var(--marble);border-color:rgba(242,238,230,.35)}
header.hd{padding-block:clamp(56px,8vw,100px) clamp(30px,4vw,48px)}
.tag{display:inline-flex;align-items:center;gap:10px;font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
h1{font:700 clamp(44px,7vw,92px)/.95 var(--f-display);letter-spacing:-.045em;margin:18px 0 0}
h1 .serif{font-family:var(--f-serif);font-style:normal;font-weight:inherit;color:var(--gold);letter-spacing:inherit}
.meta{margin-top:20px;color:var(--dim);font-size:15px;max-width:46em}
.meta b{color:var(--marble);font-weight:500}
.grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start;padding-bottom:90px}
nav.toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;font-size:14px}
nav.toc .tag{margin-bottom:10px}
nav.toc a{color:var(--dim);border:0;border-left:2px solid var(--line);padding:6px 0 6px 14px;transition:color .3s,border-color .3s}
nav.toc a:hover,nav.toc a.on{color:var(--marble);border-left-color:var(--gold)}
article{min-width:0;max-width:760px}
article section{padding-top:8px;margin-bottom:46px}
article h2{font:700 clamp(24px,2.4vw,32px)/1.15 var(--f-display);letter-spacing:-.025em;margin:0 0 14px;display:flex;gap:14px;align-items:baseline}
article h2 .n{font:500 13px var(--f-mono);color:var(--gold);letter-spacing:.08em}
article h3{font:600 18px/1.3 var(--f-display);letter-spacing:-.01em;margin:24px 0 8px}
article p{margin:0 0 14px;color:#d6d1c9}
article ul{margin:0 0 16px;padding-left:20px;color:#d6d1c9}
article li{margin-bottom:6px}
article li::marker{color:var(--gold)}
article b,article strong{color:var(--marble);font-weight:600}
.box{margin:0}
table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
td{color:#d6d1c9}
.tbl{overflow-x:auto}
.fill{color:var(--gold-hi);background:rgba(232,181,74,.12);border:1px dashed rgba(232,181,74,.6);border-radius:6px;padding:0 6px;font-weight:500;white-space:nowrap}
footer{border-top:1px solid var(--line);padding-block:22px;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer a{color:var(--dim);border:0}
footer a:hover{color:var(--marble)}
@media (max-width:900px){.grid{grid-template-columns:1fr}nav.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}nav.toc .tag{width:100%}nav.toc a{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px}nav.toc a:hover,nav.toc a.on{border-color:var(--gold)}}
@media (max-width:560px){th,td{padding:8px}.top .back span{display:none}}

/* ---------- loading skeleton (v139) ---------- */
#skel{position:fixed;inset:0;z-index:300;background:radial-gradient(90% 520px at 70% 0%,#1b1730 0%,#07060c 70%);overflow:hidden;transition:opacity .5s cubic-bezier(.22,1,.36,1),visibility .5s;animation:skOut .5s 3.5s forwards}
#skel.out{opacity:0;visibility:hidden;pointer-events:none}
@keyframes skOut{to{opacity:0;visibility:hidden}}
#skel .sk{display:block;border-radius:10px;background-color:rgba(242,238,230,.055);background-image:linear-gradient(100deg,transparent 30%,rgba(246,213,140,.10) 50%,transparent 70%);background-size:200vw 100%;background-attachment:fixed;background-repeat:no-repeat;animation:skShine 1.6s linear infinite}
@keyframes skShine{from{background-position:-100vw 0}to{background-position:100vw 0}}
@media (prefers-reduced-motion:reduce){#skel .sk{animation:none;background-image:none}#skel{transition:none}}

#skel .sk-top{height:64px;border-bottom:1px solid rgba(242,238,230,.09)}
#skel .sk-top .wrap,#skel .sk-body{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
#skel .sk-top .wrap{height:64px;display:flex;align-items:center;justify-content:space-between}
#skel .sk-brand{width:150px;height:26px;border-radius:8px}
#skel .sk-back{width:136px;height:34px;border-radius:999px}
#skel .sk-hd{padding-block:clamp(56px,8vw,100px) clamp(30px,4vw,48px)}
#skel .sk-tag{width:70px;height:12px;border-radius:4px}
#skel .sk-h1{width:min(620px,86%);height:clamp(42px,6.4vw,84px);border-radius:14px;margin-top:22px}
#skel .sk-meta{height:14px;border-radius:5px;margin-top:12px;width:min(700px,94%)}
#skel .sk-meta.m1{margin-top:26px}
#skel .sk-meta.m2{width:min(420px,70%)}
#skel .sk-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(30px,5vw,80px)}
#skel .sk-toc{display:flex;flex-direction:column;gap:14px}
#skel .sk-toc .sk{height:12px;border-radius:4px;width:150px}
#skel .sk-toc .sk:nth-child(3n){width:118px}#skel .sk-toc .sk:nth-child(4n+1){width:170px}
#skel .sk-art{max-width:760px}
#skel .sk-h2{width:min(300px,70%);height:28px;border-radius:8px;margin-bottom:18px}
#skel .sk-p{height:13px;border-radius:5px;margin-top:11px}
#skel .sk-p.s{width:72%}
#skel .sk-gap{height:42px}
@media (max-width:900px){#skel .sk-grid{grid-template-columns:1fr}#skel .sk-toc{flex-direction:row;flex-wrap:wrap;gap:8px}#skel .sk-toc .sk,#skel .sk-toc .sk:nth-child(n){width:96px;height:28px;border-radius:999px}#skel .sk-toc .sk:nth-child(n+7){display:none}}
@media (max-width:560px){#skel .sk-back{width:40px}}
