:root{--bg:#0e1013;--surface:#15181d;--surface-2:#1b1f26;--band:#121519;--line:#2a3039;--line-2:#3a414c;--text:#e8e6e1;--text-2:#c9c6bf;--muted:#a0a7b1;--accent:#f0a93b;--accent-hover:#ffc872;--on-accent:#1a1205;--teal:#5cc8ba;--danger:#e5544b;--font-display:Tektur, "Segoe UI", system-ui, sans-serif;--font-body:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--wrap:1280px;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font-body);margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto;image-rendering:pixelated}.mono{font-family:var(--font-mono)}.muted{color:var(--muted);font-weight:500}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}.skip{position:absolute;left:-9999px}.skip:focus{z-index:10;background:var(--accent);color:var(--on-accent);padding:8px 12px;top:8px;left:16px}.site-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:5;position:relative}.header-row{flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:12px;padding-bottom:12px;display:flex}.logo{color:var(--text);align-items:center;gap:10px;display:flex}.logo:hover{color:var(--text);text-decoration:none}.logo-mark{background:var(--accent);width:34px;height:34px;color:var(--on-accent);font:700 15px var(--font-display);place-items:center;display:grid}.logo-text{font:700 18px var(--font-display);letter-spacing:.02em}.main-nav{flex-wrap:wrap;flex:auto;align-items:center;gap:4px 20px;font-size:15px;display:flex}.main-nav>a{color:var(--text);padding:8px 0}.main-nav>a[aria-current=page]{color:var(--accent)}.menu{position:relative}.menu summary{cursor:pointer;color:var(--text);padding:8px 0;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:" ▾";color:var(--muted)}.menu ul{background:var(--surface);border:1px solid var(--line);z-index:20;min-width:260px;max-height:70vh;margin:4px 0 0;padding:8px 0;list-style:none;position:absolute;top:100%;left:0;overflow-y:auto}.menu li a{color:var(--text);padding:8px 16px;display:block}.menu li a:hover{background:var(--surface-2);text-decoration:none}.menu-sep{font:500 12px var(--font-mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;border-top:1px solid var(--line);margin-top:6px;padding:10px 16px 4px}.header-tools{gap:8px;display:flex}.btn-ghost{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);align-items:center;padding:0 12px;font-size:14px;display:inline-flex}.btn-ghost:hover{border-color:var(--line-2);color:var(--text);text-decoration:none}.page{padding-top:28px;padding-bottom:48px}.crumbs{color:var(--muted);margin-bottom:16px;font-size:14px}.layout{display:block}.layout.with-toc{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:48px;display:grid}main{min-width:0}.toc{border-left:1px solid var(--line);padding-left:18px;font-size:14px;position:sticky;top:16px}.toc-title{font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.toc ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--text-2)}.badge-spoiler{font:500 12px var(--font-mono);letter-spacing:.06em;border:1px dashed var(--teal);color:var(--teal);text-transform:uppercase;margin:0 0 12px;padding:3px 10px;display:inline-block}.prose{max-width:860px}.prose h1{font:700 clamp(32px, 4.5vw, 46px)/1.08 var(--font-display);margin:0 0 20px}.prose h2{font:700 26px/1.2 var(--font-display);margin:44px 0 14px;padding-top:8px}.prose h3{font:700 19px/1.3 var(--font-display);margin:28px 0 10px}.prose h1+p{color:var(--text-2);font-size:18px}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose li{margin:4px 0}.prose strong{color:var(--text)}.prose code{font:.88em var(--font-mono);background:var(--surface-2);border:1px solid var(--line);padding:1px 6px}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.prose blockquote{background:var(--surface);border:1px solid var(--line);color:var(--text-2);margin:20px 0;padding:14px 18px}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;border:1px solid var(--line);max-width:100%;margin:16px 0 24px;font-size:15px;display:block;overflow-x:auto}.prose thead th{background:var(--surface);font:500 12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.prose th,.prose td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 14px}.prose td img{vertical-align:middle;width:auto;max-height:40px;margin-right:6px}.prose tbody tr:hover td{background:var(--band)}.prose th small,.prose td small{color:var(--muted)}.prose details{border:1px dashed var(--line-2);background:var(--band);margin:20px 0}.prose details>summary{cursor:pointer;font:700 16px var(--font-display);color:var(--accent);padding:14px 18px}.prose details[open]>summary{border-bottom:1px solid var(--line)}.prose details>:not(summary){margin-left:18px;margin-right:18px}.prose details>:last-child{margin-bottom:18px}.site-footer{border-top:1px solid var(--line)}.footer-row{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding-top:24px;padding-bottom:32px;font-size:14px;display:flex}.footer-row p{margin:0}#search{--pagefind-ui-scale:.95;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--line-2);--pagefind-ui-tag:var(--surface-2);--pagefind-ui-border-radius:0;--pagefind-ui-font:var(--font-body)}#search mark{color:var(--text);background:#f0a93b47;padding:0 2px}@media (width<=900px){.layout.with-toc{display:block}.toc{display:none}}@media (width<=640px){.wrap{padding:0 16px}.header-tools{width:100%}.menu ul{min-width:0;position:fixed;left:16px;right:16px}.prose h2{font-size:22px}}
