*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0a08;--bg-warm:#16110a;--ink:#cbb892;--ink-dim:#8a7c5f;--muted:#6f6048;--life:#8fd694;--life-glow:#bdf0c0;--line:#b98cff;--gold:#ffd24a;--rot:#c23a1d;--rot-dim:#7a1d10;--rule:#2a2014;--pad:2.8em;--spine-x:1.05em;--font:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}html{scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(140% 60vh at 50% 0, #7a1d102e, transparent 60%), radial-gradient(120% 60vh at 50% 100%, #8fd69412, transparent 60%), linear-gradient(180deg, var(--bg) 0%, var(--bg) 62%, var(--bg-warm) 100%);font-size:clamp(15px,1.05vw + 11px,18px);line-height:1.72}body:after{content:"";z-index:90;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}body:before{content:"";z-index:80;pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 220px 70px #0000009e}.rot-tide{z-index:70;pointer-events:none;background:linear-gradient(#c23a1d4d,#7a1d1014 42%,#0000);height:120px;animation:7s ease-in-out infinite tide;position:fixed;top:0;left:0;right:0}@keyframes tide{0%,to{opacity:.5;transform:translateY(-14px)}50%{opacity:.9;transform:translateY(0)}}.doc{max-width:50em;padding:0 1.5em 6em calc(1.5em + var(--pad));margin:0 auto;position:relative}.spine{top:1.2em;bottom:5em;left:calc(1.5em + var(--spine-x));background:linear-gradient(180deg, var(--rot) 0%, var(--rot-dim) 14%, var(--line) 52%, var(--life) 100%);opacity:.45;border-radius:2px;width:2px;position:absolute;box-shadow:0 0 14px #b98cff2e}.topnav{letter-spacing:.04em;flex-wrap:wrap;align-items:baseline;gap:.5em 1.1em;padding:2.2em 0 0;font-size:.8rem;display:flex;position:relative}.topnav .home{letter-spacing:.02em;color:var(--life);font-weight:600;text-decoration:none}.topnav a{color:var(--ink-dim);border-bottom:1px solid #0000;text-decoration:none;transition:color .15s,border-color .15s}.topnav a:hover{color:var(--life);border-bottom-color:var(--life)}.topnav a.is-here{color:var(--ink);border-bottom-color:var(--rule)}.topnav .sep{color:var(--muted)}.topnav .play{color:var(--life);text-transform:uppercase;letter-spacing:.16em;border:1px solid #3a5a3e;border-radius:5px;margin-left:auto;padding:.3em .9em;font-size:.72rem;font-weight:600}.topnav .play:hover{border-color:var(--life);background:#8fd6941f}.head{padding:2.8em 0 1.6em;position:relative}.head:before{content:"";left:calc(var(--spine-x) - var(--pad) - 4px);background:var(--rot);border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;top:3.5em;box-shadow:0 0 14px 2px #c23a1d80}h1.title{letter-spacing:-.015em;color:var(--life);text-shadow:0 0 34px #8fd6942e;font-size:clamp(2.1rem,6vw,3.2rem);font-weight:600;line-height:1}.subtitle{max-width:34em;color:var(--ink);margin-top:.7rem;font-size:1.02rem}.subtitle .slash{color:var(--rot);margin-right:.3em}.block{border-top:1px solid var(--rule);padding:2.2em 0;position:relative}h2.node{letter-spacing:.01em;color:var(--life);margin-bottom:.8em;font-size:1.18rem;font-weight:600;position:relative}h2.node:before{content:"";left:calc(var(--spine-x) - var(--pad) - 4px);background:var(--life);border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;top:.42em;box-shadow:0 0 12px 2px #8fd6946b}h3.sub{color:var(--ink);letter-spacing:.02em;margin:1.4em 0 .5em;font-size:.96rem;font-weight:600}.block p{max-width:38em;color:var(--ink)}.block p+p{margin-top:.8em}.block a{color:var(--life);border-bottom:1px solid var(--rule);text-decoration:none;transition:border-color .15s}.block a:hover{border-bottom-color:var(--life)}strong{color:var(--life-glow);font-weight:600}code{color:var(--ink-dim);border:1px solid var(--rule);background:#ffffff08;border-radius:4px;padding:.05em .4em;font-family:inherit;font-size:.92em}.list{flex-direction:column;gap:.6em;margin-top:.4em;list-style:none;display:flex}.list li{max-width:38em;padding-left:1.2em;position:relative}.list li:before{content:"·";color:var(--life);font-weight:700;position:absolute;left:0}.list .key{color:var(--life);font-weight:600}.list.line li:before,.list.line .key{color:var(--line)}.list.gold li:before,.list.gold .key{color:var(--gold)}.table-wrap{border:1px solid var(--rule);border-radius:8px;margin-top:.6em;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:.6em .9em}thead th{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;background:#ffffff04;font-size:.72rem;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#8fd6940a}td.num{color:var(--gold);font-variant-numeric:tabular-nums}td.name{color:var(--life);font-weight:600}td.dim{color:var(--muted);white-space:normal}.cite{color:var(--muted);letter-spacing:.02em;margin-top:.7em;font-size:.76rem}.cite code{color:var(--ink-dim);background:0 0;border:none;padding:0}.note{background:#b98cff0b;border-left:2px solid #b98cff73;border-radius:0 6px 6px 0;margin-top:1em;padding:1em 1.2em;position:relative}.note p{color:var(--life-glow);font-size:.98rem}.note.firewall{background:#8fd6940b;border-left-color:#8fd69480}.swatches{flex-wrap:wrap;gap:.5em;margin-top:.8em;display:flex}.chip{border:1px solid var(--rule);color:var(--ink);border-radius:999px;align-items:center;gap:.5em;padding:.4em .8em .4em .5em;font-size:.82rem;display:inline-flex}.chip .dot{border:1px solid #0006;border-radius:50%;width:.85em;height:.85em}.foot{border-top:1px solid var(--rule);color:var(--muted);letter-spacing:.04em;margin-top:3em;padding-top:1.6em;font-size:.82rem}.foot a{color:var(--ink-dim);border-bottom:1px solid var(--rule);text-decoration:none;transition:color .15s,border-color .15s}.foot a:hover{color:var(--life);border-bottom-color:var(--life)}::selection{color:var(--life-glow);background:#8fd69440}:focus-visible{outline:2px solid var(--life);outline-offset:3px;border-radius:3px}@media (max-width:34em){:root{--pad:1.9em;--spine-x:.75em}.topnav .play{margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rot-tide{animation:none!important}}
