:root{color-scheme:dark;--paper:#0c0d0f;--surface:#14161a;--line:#2a2d33;--ink:#f4f2ed;--muted:#a8a49b;--accent:#e7ff5e;--mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;--sans:"Avenir Next","Helvetica Neue",sans-serif;--brand:"Outfit","Avenir Next",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit}.static-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 clamp(20px,4vw,56px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px)}.static-brand{display:flex;align-items:center;gap:9px;font-family:var(--brand);font-weight:800;text-decoration:none;letter-spacing:-.04em}.static-brand img{width:25px;height:25px;border-radius:7px}.static-header nav{display:flex;gap:clamp(16px,3vw,34px);font:700 12px/1 var(--mono);text-transform:uppercase}.static-header nav a{text-decoration:none;color:var(--muted)}.static-header nav a:hover,.static-header nav a[aria-current=page]{color:var(--accent)}.docs-grid,.legal-grid{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,760px);gap:clamp(36px,7vw,100px);max-width:1180px;margin:0 auto;padding:clamp(42px,7vw,88px) clamp(20px,4vw,56px) 100px}.docs-sidebar,.legal-nav{position:sticky;top:110px;align-self:start}.docs-sidebar>p,.legal-nav>p{margin:0 0 16px;color:var(--muted);font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}.docs-sidebar nav,.legal-nav nav{display:grid;gap:4px}.docs-sidebar a,.legal-nav a{padding:8px 10px;border-left:1px solid var(--line);color:var(--muted);font-size:13px;text-decoration:none}.docs-sidebar a:hover,.docs-sidebar a[aria-current=page],.legal-nav a:hover,.legal-nav a[aria-current=page]{border-color:var(--accent);color:var(--ink);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent)}.static-content{min-width:0}.static-breadcrumb,.document-date{color:var(--muted);font:600 11px/1.5 var(--mono);letter-spacing:.05em}.static-breadcrumb{display:flex;gap:8px}.prose h1{max-width:760px;margin:22px 0 34px;font-size:clamp(42px,7vw,72px);line-height:.98;letter-spacing:-.06em}.prose h2{margin:54px 0 14px;padding-top:12px;border-top:1px solid var(--line);font-size:24px;letter-spacing:-.035em}.prose h3{margin-top:34px;font-size:18px}.prose p,.prose li{color:#cbc8c0}.prose a{text-decoration-color:var(--accent);text-underline-offset:3px}.prose code{padding:.15em .35em;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-family:var(--mono);font-size:.88em}.prose pre{overflow:auto;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:#090a0c}.prose pre code{padding:0;border:0;background:none}.prose blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);color:var(--muted)}.docs-pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:72px}.docs-pagination a{display:grid;padding:18px;border:1px solid var(--line);border-radius:10px;text-decoration:none}.docs-pagination a:last-child{text-align:right}.docs-pagination small{color:var(--muted);font:600 10px/1.7 var(--mono);text-transform:uppercase}.global-footer{display:grid;grid-template-columns:1.4fr 2fr;gap:40px;padding:56px clamp(20px,5vw,72px) 30px;border-top:1px solid var(--line);background:#090a0c}.global-footer__brand>a{display:flex;align-items:center;gap:9px;width:fit-content;font-family:var(--brand);font-size:20px;font-weight:800;text-decoration:none}.global-footer__brand img{width:28px;height:28px;border-radius:8px}.global-footer__brand p{max-width:320px;color:var(--muted);font-size:13px}.global-footer__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.global-footer__nav h2{color:var(--muted);font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.global-footer__nav ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.global-footer__nav a{display:inline-flex;align-items:center;gap:6px;font-size:13px;text-decoration:none}.global-footer__nav a:hover{color:var(--accent)}.global-footer__copyright{grid-column:1/-1;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font:500 10px/1.5 var(--mono)}@media(max-width:760px){.static-header{position:relative}.static-header nav a:last-child{display:none}.docs-grid,.legal-grid{display:block;padding-top:32px}.docs-sidebar,.legal-nav{position:relative;top:auto;margin-bottom:44px}.docs-sidebar nav,.legal-nav nav{display:flex;overflow-x:auto}.docs-sidebar a,.legal-nav a{flex:none;border-left:0;border-bottom:1px solid var(--line)}.prose h1{font-size:44px}.global-footer{grid-template-columns:1fr}.global-footer__nav{grid-template-columns:1fr 1fr}.docs-pagination{grid-template-columns:1fr}}

/* Docs light theme (2026-09-25). Scoped to .static-shell--docs so Legal keeps the dark theme above. Tokens mirror src/styles/globals.css: mono-50 #fafafa, mono-100 #f5f5f5, mono-200 #e5e5e5, mono-500 #737373, mono-950 #0a0a0a, Inter / JetBrains Mono / Outfit, radius 12px. No lime accent outside the shared footer. */
body.static-body--docs{background:#fafafa;color:#0a0a0a;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.static-shell--docs{color-scheme:light;--paper:#fafafa;--surface:#ffffff;--line:#e5e5e5;--ink:#0a0a0a;--muted:#737373;--accent:#0a0a0a;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--brand:"Outfit","Inter",-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column;min-height:100vh}
.static-shell--docs .static-header{min-height:80px;padding:0 32px;background:#ffffff;border-bottom:1px solid var(--line)}
.static-shell--docs .static-brand{font-family:var(--brand);font-weight:600;letter-spacing:-0.02em}
.static-shell--docs .static-brand img{width:28px;height:28px;border-radius:0}
.static-shell--docs .static-header nav{display:flex;align-items:center;gap:4px;font:500 13px/1 var(--sans);text-transform:none}
.static-shell--docs .static-header nav a{padding:8px 12px;border-radius:8px;color:var(--muted)}
.static-shell--docs .static-header nav a:hover{color:var(--ink);background:#f5f5f5}
.static-shell--docs .static-header nav a[aria-current=page]{color:var(--ink);font-weight:600}
.static-shell--docs .docs-sidebar a:hover,.static-shell--docs .docs-sidebar a[aria-current=page]{border-color:var(--ink);color:var(--ink);background:#f5f5f5}
.static-shell--docs .prose h1{font-size:clamp(34px,5vw,48px);line-height:1.05;letter-spacing:-0.04em}
.static-shell--docs .prose h2{font-size:22px;letter-spacing:-0.02em}
.static-shell--docs .prose p,.static-shell--docs .prose li{color:#525252}
.static-shell--docs .prose a{text-decoration-color:var(--ink)}
.static-shell--docs .prose blockquote{border-left-color:var(--ink)}
.static-shell--docs .prose pre{background:#090a0c;color:#f4f2ed}
.static-shell--docs .prose pre code{color:inherit}
.static-shell--docs .docs-pagination a{border-radius:12px;background:#ffffff}
.static-shell--docs .docs-pagination a:hover{border-color:var(--ink)}
.static-shell--docs .document-date{margin:0 0 8px}
/* Shared footer keeps the SPA treatment (dark, lime hover per globals.css); reset the vars the light scope overrode. */
.static-shell--docs .global-footer{color-scheme:dark;color:#f5f5f5;--line:#2b2d31;--muted:#a3a3a3;--accent:#e7ff5e}
@media(max-width:760px){.static-shell--docs .static-header{min-height:56px;padding:0 16px}.static-shell--docs .static-header nav{gap:0}.static-shell--docs .static-header nav a{padding:8px}.static-shell--docs .prose h1{font-size:32px}}
/* Flex items default to min-width:auto, letting long unbroken code lines widen the whole shell on narrow viewports. Scroll stays inside pre (overflow:auto above). */
.static-shell--docs>*{min-width:0}

/* Legal joins the same light theme (2026-09-25). Same tokens as the docs block above (mirroring src/styles/globals.css); the footer stays shared dark chrome in both shells. */
body.static-body--legal{background:#fafafa;color:#0a0a0a;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.static-shell--legal{color-scheme:light;--paper:#fafafa;--surface:#ffffff;--line:#e5e5e5;--ink:#0a0a0a;--muted:#737373;--accent:#0a0a0a;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--brand:"Outfit","Inter",-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column;min-height:100vh}
.static-shell--legal>*{min-width:0}
.static-shell--legal .static-header{min-height:80px;padding:0 32px;background:#ffffff;border-bottom:1px solid var(--line)}
.static-shell--legal .static-brand{font-family:var(--brand);font-weight:600;letter-spacing:-0.02em}
.static-shell--legal .static-brand img{width:28px;height:28px;border-radius:0}
.static-shell--legal .static-header nav{display:flex;align-items:center;gap:4px;font:500 13px/1 var(--sans);text-transform:none}
.static-shell--legal .static-header nav a{padding:8px 12px;border-radius:8px;color:var(--muted)}
.static-shell--legal .static-header nav a:hover{color:var(--ink);background:#f5f5f5}
.static-shell--legal .static-header nav a[aria-current=page]{color:var(--ink);font-weight:600}
.static-shell--legal .legal-nav a:hover,.static-shell--legal .legal-nav a[aria-current=page]{border-color:var(--ink);color:var(--ink);background:#f5f5f5}
.static-shell--legal .prose h1{font-size:clamp(34px,5vw,48px);line-height:1.05;letter-spacing:-0.04em}
.static-shell--legal .prose h2{font-size:22px;letter-spacing:-0.02em}
.static-shell--legal .prose p,.static-shell--legal .prose li{color:#525252}
.static-shell--legal .prose a{text-decoration-color:var(--ink)}
.static-shell--legal .prose blockquote{border-left-color:var(--ink)}
.static-shell--legal .prose pre{background:#090a0c;color:#f4f2ed}
.static-shell--legal .prose pre code{color:inherit}
.static-shell--legal .document-date{margin:0 0 8px}
.static-shell--legal .global-footer{color-scheme:dark;color:#f5f5f5;--line:#2b2d31;--muted:#a3a3a3;--accent:#e7ff5e}
/* Grid containers must not size to long code lines on narrow viewports (verified: mobile overflow without this). */
.static-shell--docs .docs-grid,.static-shell--legal .legal-grid{width:100%}
@media(max-width:760px){.static-shell--legal .static-header{min-height:56px;padding:0 16px}.static-shell--legal .static-header nav{gap:0}.static-shell--legal .static-header nav a{padding:8px}.static-shell--legal .prose h1{font-size:32px}}
