
:root{--bg:#000;--surface:#0B0B0B;--line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.07);--ink:#fff;--ink-2:#D4D4D4;--muted:#A3A3A3;--faint:#8A8A8A;
--btn-bg:#fff;--btn-ink:#000;--btn-hover:#D9D9D9;--th-bg:#F2F2F2;--th-ink:#0A0A0A;--header-bg:rgba(0,0,0,.88);--status-ink:#CFCFCF;--pop:#5CF0AE;color-scheme:dark;
--display:'Inter Tight',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#FAFAFA;--surface:#fff;--line:rgba(0,0,0,.13);--line-soft:rgba(0,0,0,.07);--ink:#0A0A0A;--ink-2:#2E2E2E;--muted:#555;--faint:#6B6B6B;
--btn-bg:#0A0A0A;--btn-ink:#fff;--btn-hover:#2A2A2A;--th-bg:#0A0A0A;--th-ink:#fff;--header-bg:rgba(250,250,250,.94);--status-ink:#3A3A3A;--pop:#0B7547;color-scheme:light}}
:root[data-theme="light"]{--bg:#FAFAFA;--surface:#fff;--line:rgba(0,0,0,.13);--line-soft:rgba(0,0,0,.07);--ink:#0A0A0A;--ink-2:#2E2E2E;--muted:#555;--faint:#6B6B6B;
--btn-bg:#0A0A0A;--btn-ink:#fff;--btn-hover:#2A2A2A;--th-bg:#0A0A0A;--th-ink:#fff;--header-bg:rgba(250,250,250,.94);--status-ink:#3A3A3A;--pop:#0B7547;color-scheme:light}
*{box-sizing:border-box}@media (min-width:761px){html{zoom:.9}}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}a:hover{border-color:var(--ink)}
.w{max-width:920px;margin:0 auto;padding:0 24px}
header.top{position:sticky;top:0;z-index:10;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
header a,footer a{border-bottom:0}
.status{border-bottom:1px solid var(--line);font:300 11px var(--mono);letter-spacing:.06em;color:var(--status-ink)}
.status .w{min-height:34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 22px;text-align:center;max-width:1280px}
.status .dot{width:7px;height:7px;background:var(--ink);display:inline-block;margin-right:8px;vertical-align:middle}
.hbar{border-bottom:1px solid var(--line)}.hbar .w{height:54px;display:flex;align-items:stretch;justify-content:space-between;max-width:1280px}
.brand{display:flex;align-items:stretch;color:var(--ink)}.brand .cell{display:flex;align-items:center;padding-right:20px;border-right:1px solid var(--line)}
.brand .cell svg{height:18px;width:auto;color:var(--ink);display:block}.brand .word{display:flex;align-items:center;padding-left:16px;font:300 19px var(--display);letter-spacing:-.03em}
nav{display:flex;align-items:stretch;gap:26px;font-size:14px}nav a{display:flex;align-items:center;color:var(--ink-2)}nav a:hover{color:var(--ink)}
.theme-toggle{width:54px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);border:0;border-left:1px solid var(--line);cursor:pointer;margin:0 -26px 0 0;padding:0}
.theme-toggle:hover{background:var(--line-soft)}.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:block}:root[data-theme="dark"] .theme-toggle .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .sun{display:block}:root:not([data-theme="light"]) .theme-toggle .moon{display:none}}
nav a.cta{padding:0 24px;background:var(--btn-bg);color:var(--btn-ink);font-weight:400}nav a.cta:hover{background:var(--btn-hover)}
@media (max-width:720px){nav a:not(.cta){display:none}}
.layout{max-width:1280px;display:grid;grid-template-columns:232px minmax(0,1fr);gap:56px;align-items:start}
.doc{padding-top:56px;padding-bottom:96px;min-width:0;max-width:880px}
.toc{position:sticky;top:89px;max-height:calc(100vh - 89px);overflow-y:auto;padding:40px 4px 40px 0;font-size:13.5px;scrollbar-width:thin}
.toc a{border:0;color:var(--muted);display:block;padding:4px 0 4px 12px;border-left:1px solid var(--line-soft);line-height:1.4}
.toc a:hover{color:var(--ink)}.toc a.on{color:var(--ink);border-left-color:var(--ink)}
.toc a.home{padding-left:0;border:0;color:var(--ink-2);font-weight:400;margin-bottom:6px}.toc a.home.on{color:var(--ink)}
.toc .g{font:300 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:22px 0 8px}
.toc summary{display:none}.toc a{overflow-wrap:anywhere}
.toc ul{list-style:none;margin:0;padding:0}.toc ul.sec a{padding-left:24px;font-size:12.5px;color:var(--faint)}.toc ul.sec a:hover{color:var(--ink)}
.doc-actions{display:flex;justify-content:flex-end;gap:10px;margin:-28px 0 20px}
.doc-actions button,.doc-actions a{font:300 12px var(--mono);letter-spacing:.04em;color:var(--ink-2);background:transparent;border:1px solid var(--line);padding:6px 12px;cursor:pointer}
.doc-actions button:hover,.doc-actions a:hover{color:var(--ink);border-color:var(--ink)}
h2[id],h3[id]{scroll-margin-top:100px}
@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr);gap:0}.toc{position:static;max-height:none;padding:24px 0 8px;border-bottom:1px solid var(--line)}.doc-actions{margin-top:0}
.toc summary{display:block;cursor:pointer;font:300 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:4px 0 12px}.toc{padding-bottom:12px}}
h1{font:200 clamp(36px,5vw,56px)/1.04 var(--display);letter-spacing:-.045em;margin:0 0 28px}
h2{font:300 28px/1.2 var(--display);letter-spacing:-.03em;margin:56px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
h3{font:400 19px/1.3 var(--display);margin:32px 0 8px}
p,li{color:var(--ink-2)}strong{color:var(--ink);font-weight:500}
code{font:300 .86em var(--mono);background:var(--surface);border:1px solid var(--line);padding:1px 5px;color:var(--ink)}
pre{background:var(--surface);border:1px solid var(--line);padding:18px;overflow-x:auto}pre code{border:0;padding:0;background:none;font-size:13px;line-height:1.6}
table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto;margin:18px 0;border:1px solid var(--line)}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--th-bg);color:var(--th-ink);font:300 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}td{color:var(--ink-2)}
tr:last-child td{border-bottom:0}
pre.mermaid{background:transparent;border:1px solid var(--line);text-align:center}
blockquote{margin:18px 0;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--ink)}blockquote p{margin:0}
.idx{border-top:1px solid var(--line)}.idx a{display:block;padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.idx a:hover{padding-left:6px;transition:padding .15s ease}
.idx .t{font:300 24px var(--display);letter-spacing:-.02em}.idx .s{font-size:14px;color:var(--muted)}
.doc h2 + .idx{margin-top:4px;border-top:0}
footer{border-top:1px solid var(--line);padding:32px 0 48px;font-size:13px;color:var(--faint)}footer a{color:var(--muted)}
