:root{font-family:ui-sans-serif,system-ui,sans-serif;color-scheme:dark;--bg:#101012;--nav:#101012;--panel:#151518;--surface:#1b1b1f;--border:#2c2c33;--text:#f3f4f6;--body:#c9ccd3;--muted:#9296a3;--accent:#ff6f61;--accent-text:#ff968c;--code:#0a0a0c;--code-text:#f1f5f9;--shadow:rgba(0,0,0,.28)}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text)}
body:has(.theme-toggle:checked){color-scheme:light;--bg:#f8fafc;--nav:#fff;--panel:#fff;--surface:#f4f6f8;--border:#d9e0e8;--text:#111827;--body:#475569;--muted:#64748b;--accent:#e55349;--accent-text:#bd3029;--code:#111827;--code-text:#f8fafc;--shadow:rgba(15,23,42,.09)}
.theme-toggle{position:fixed;opacity:0;pointer-events:none}
header{position:sticky;top:0;z-index:10;min-height:64px;padding:0 1.5rem;background:color-mix(in srgb,var(--nav) 94%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);display:flex;align-items:center;gap:1rem}
header .brand{display:flex;align-items:center;gap:.65rem;color:var(--text);font-weight:800;text-decoration:none}
header .brand span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.8rem;background:var(--accent);color:#fff;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 24%,transparent)}
header label{margin-left:auto;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.85rem;font-weight:800;padding:.55rem .85rem}
main{max-width:1420px;margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr) 250px;gap:1.5rem;padding:2rem 1.5rem}
aside{position:sticky;top:96px;max-height:calc(100dvh - 7.5rem);overflow:auto;align-self:start;font-size:.92rem;color:var(--body)}
nav{border:1px solid var(--border);border-radius:1.4rem;background:var(--panel);padding:1rem;box-shadow:0 20px 60px var(--shadow);max-width:100%;overflow:hidden}
nav,nav *{min-width:0}
nav strong,.toc strong{display:block;margin-bottom:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
nav ul{list-style:none;margin:0;padding:0}
.nav-tree{display:grid;gap:1rem}
.tree-children{position:relative;margin-left:.7rem;border-left:1px solid var(--border);padding-left:.65rem}
.tree-node{position:relative;min-width:0}
.tree-children>.tree-node::before{content:'';position:absolute;left:-.66rem;top:1.03rem;width:.48rem;height:1px;background:var(--border)}
.tree-link{min-width:0;max-width:100%}
.nav-details>summary{display:flex;align-items:center;gap:.4rem;list-style:none;margin:.25rem 0 .4rem;border-radius:.8rem;padding:.45rem .65rem;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.nav-details>summary::-webkit-details-marker,.page-details>summary::-webkit-details-marker,.heading-details>summary::-webkit-details-marker{display:none}
.nav-details>summary::before,.page-details>summary::before,.heading-details>summary::before{content:'▶';flex:0 0 auto;font-size:.62rem;transition:transform .16s ease}
.nav-details[open]>summary::before,.page-details[open]>summary::before,.heading-details[open]>summary::before{transform:rotate(90deg)}
.nav-details>summary:hover,.page-details>summary:hover,.heading-details>summary:hover{background:var(--surface);color:var(--text)}
.nav-pages{display:grid;gap:.15rem}
.page-details>summary{display:flex;align-items:center;gap:.35rem;list-style:none;border-radius:.85rem;color:var(--body);cursor:pointer}
.nav-page{display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:.85rem;color:var(--body);font-weight:780;padding:.55rem .45rem;text-decoration:none}
.nav-page.standalone{padding:.55rem .65rem}
.page-details.is-current>summary,.nav-page:hover,.nav-page[aria-current="page"],.nav-page.standalone.is-current{background:var(--surface);color:var(--text)}
.heading-tree{margin-top:.1rem;margin-bottom:.55rem;display:grid;gap:.05rem}
.heading-details{margin:.05rem 0 .2rem}
.heading-details>summary{display:flex;align-items:center;gap:.35rem;list-style:none;border-radius:.65rem;color:var(--muted);font-size:.75rem;font-weight:800;padding:.32rem .4rem;cursor:pointer}
.heading-link,.nav-leaf{display:block;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:.65rem;color:var(--muted);font-size:.78rem;font-weight:650;padding:.32rem .4rem;text-decoration:none}
.heading-link:hover,.nav-leaf:hover{background:var(--surface);color:var(--text)}
.nav-headings{margin-top:.1rem;margin-bottom:.35rem;display:grid;gap:.05rem}
.heading-level-3,.depth-1{padding-left:.55rem}
article{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:1.75rem;padding:2.5rem;line-height:1.75;box-shadow:0 24px 80px var(--shadow)}
article a{color:var(--accent-text);font-weight:750;text-decoration:none}
h1,h2,h3{line-height:1.18;color:var(--text);letter-spacing:-.04em;overflow-wrap:anywhere}
h1{margin-top:0;font-size:clamp(2.4rem,7vw,4.8rem)}
h2{margin-top:2.2rem;font-size:clamp(1.7rem,4vw,2.5rem)}
h3{font-size:1.35rem}
p,li{color:var(--body)}
code{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.08rem .28rem;border-radius:.35rem}
pre{overflow:auto;background:var(--code);color:var(--code-text);border:1px solid var(--border);padding:1rem;border-radius:1rem}
pre code{border:0;background:transparent;color:inherit;padding:0}
.table-row{border-bottom:1px solid var(--border);padding:.5rem 0}
.table-row span{color:var(--muted)}
.toc{border:1px solid var(--border);border-radius:1.4rem;background:var(--panel);padding:1rem;box-shadow:0 20px 60px var(--shadow)}
footer{padding:2rem;text-align:center;color:var(--muted);font-size:.85rem}
@media(max-width:1050px){main{grid-template-columns:240px minmax(0,1fr)}.toc{display:none}}
@media(max-width:800px){header{padding:0 1rem}main{grid-template-columns:1fr;padding:1rem}aside{display:none}article{border-radius:1.25rem;padding:1.25rem}h1{font-size:2.4rem}}