:root{--ink:#fff5ee;--ink-2:#e7d6e4;--muted:#b9a5c6;--gold:#ffc46b;--rose:#ff6f91;--violet:#b28cff;--line:rgba(255,245,238,.14);--panel:rgba(255,255,255,.04);
  --grot:"Space Grotesk",system-ui,sans-serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--g:clamp(16px,4vw,40px)}
*{box-sizing:border-box;margin:0}
html{background:#0e0a18;scroll-padding-top:76px}
body{color:var(--ink);font:17px/1.6 var(--sans);background:radial-gradient(1200px 520px at 70% -10%,rgba(178,140,255,.16),transparent 60%),radial-gradient(900px 420px at 0% 0%,rgba(255,111,145,.10),transparent 60%);min-height:100vh}
a{color:var(--gold)}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--g);background:rgba(14,10,24,.78);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line);font:500 15px/1 var(--grot)}
.top a{color:var(--ink);text-decoration:none}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.links{display:flex;gap:20px;align-items:center}
.links a[aria-current]{color:var(--gold)}
.ghost{padding:9px 13px;border:1px solid var(--line);border-radius:999px}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(20px,4vw,56px);max-width:1180px;margin:0 auto;padding:28px var(--g) 60px}
.side{position:sticky;top:76px;align-self:start;display:flex;flex-direction:column;gap:2px;font:500 14.5px/1.3 var(--grot)}
.side-h{margin:18px 0 6px;color:var(--muted);font:500 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.side-h:first-child{margin-top:4px}
.side a{padding:7px 10px;border-radius:9px;color:var(--ink-2);text-decoration:none}
.side a:hover{background:var(--panel)}
.side a[aria-current]{background:rgba(178,140,255,.16);color:var(--ink)}
.side a.toc{padding:5px 10px;color:var(--muted);font-size:13.5px}
.doc{min-width:0;max-width:820px}
.eyebrow{color:var(--rose);font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
h1{margin-top:10px;font:700 clamp(36px,5.4vw,58px)/1.02 var(--grot);letter-spacing:-.035em}
h2{margin:48px 0 14px;font:700 clamp(24px,3vw,30px)/1.15 var(--grot);letter-spacing:-.02em}
h3{font:700 20px/1.2 var(--grot)}
.lead{margin-top:14px;max-width:44rem;color:var(--ink-2);font-size:clamp(18px,1.9vw,21px);line-height:1.5}
p,ul,ol{margin-top:12px}
ul,ol{padding-left:1.3em}
li{margin-top:6px}
code{font:14.5px/1.4 var(--mono);color:#ffe2c0;background:rgba(255,196,107,.09);padding:1px 5px;border-radius:5px;overflow-wrap:anywhere}
pre{margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.35);overflow-x:auto}
pre code{background:none;padding:0;color:#f6e9ff;overflow-wrap:normal}
kbd{display:inline-block;min-width:1.6em;padding:1px 6px;border:1px solid rgba(255,245,238,.28);border-bottom-width:2px;border-radius:6px;background:rgba(255,255,255,.06);font:500 13.5px/1.4 var(--mono);text-align:center}
.steps{counter-reset:s;list-style:none;padding:0}
.steps>li{counter-increment:s;position:relative;margin-top:18px;padding-left:44px}
.steps>li::before{content:counter(s);position:absolute;left:0;top:-1px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--rose));color:#140c22;font:700 15px/1 var(--grot)}
.callout{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--violet);border-radius:10px;background:var(--panel);color:var(--ink-2);font-size:15.5px}
.callout.warn{border-left-color:var(--gold)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:22px}
.facts div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.facts dt{color:var(--muted);font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.facts dd{margin-top:8px;font-size:15px;line-height:1.45}
.table{margin-top:16px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
th,td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{color:var(--muted);font:500 12px/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.03)}
tr:last-child td{border-bottom:0}
td:first-child{white-space:nowrap;font-weight:600}
figure{margin-top:20px}
figure img,figure video{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#000}
figcaption{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.45}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:4px}
.grid2 figure{margin-top:16px}
.pair .screens{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#26203a,#17121f);border:1px solid var(--line)}
.pair .screens img{border-radius:6px;border:0}
.pair.thor .screens img:last-child{width:64.5%}
.pair.duo .screens img:last-child{width:70%}
.diagram svg{display:block;width:100%;height:auto}
.diagram .body{fill:#1d1828;stroke:rgba(255,245,238,.18)}
.diagram .panel{fill:#0b0912;stroke:rgba(178,140,255,.5)}
.diagram .ctl{fill:#2c2540;stroke:rgba(255,245,238,.35)}
.diagram .ball{fill:#3a3150;stroke:var(--gold);stroke-width:1.5}
.diagram .kb{fill:#16121f;stroke:rgba(255,245,238,.12)}
.diagram .k{fill:#2a2438;stroke:rgba(255,245,238,.25)}
.diagram .k.hot{stroke:var(--rose);stroke-width:1.6}
.diagram text{font:500 12px var(--mono);fill:var(--ink-2)}
.diagram .cap{fill:var(--violet);font-size:11px}
.diagram .word{fill:var(--ink);font-size:12.5px}
.diagram .key{fill:var(--ink);font-size:11px}
.diagram .kk{fill:var(--ink-2);font-size:10px}
.diagram .lab{fill:var(--muted);font-size:11px}
.diagram text.hot{fill:var(--rose)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:rgba(178,140,255,.5)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#000}
.card div{padding:14px 16px 18px}
.card .badge{margin:0;color:var(--gold);font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.card h3{margin-top:10px}
.card .how{margin-top:4px;color:var(--rose);font-size:14.5px}
.card p{margin-top:8px;color:var(--ink-2);font-size:15px;line-height:1.45}
.foot{margin-top:64px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
@media (max-width:900px){.layout{grid-template-columns:1fr}.side{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.side-h,.side a.toc{display:none}.cards{grid-template-columns:1fr}}
@media (max-width:640px){.links a:not(.ghost):not([aria-current]){display:none}.grid2{grid-template-columns:1fr}td:first-child{white-space:normal}}
