:root{color-scheme:dark;--bg:#000;--bg-1:#0c0c0f;--bg-2:#15151a;--border:rgba(255,255,255,.09);
--fg:#f5f5f7;--fg-dim:#98989d;--fg-dimmer:#7e838d;--accent:#7dd3fc;--green:#86efac;--amber:#fde68a;
--sans:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--radius:12px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.65;
-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--bg-2);padding:8px 14px;border-radius:8px}
header.site{border-bottom:1px solid var(--border);background:rgba(0,0,0,.85);position:sticky;top:0;z-index:20;
backdrop-filter:blur(8px)}
header.site .wrap{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:22px}
.logo{font-weight:800;letter-spacing:-.02em;color:var(--fg);font-size:18px}
.logo span{color:var(--accent)}
header.site nav{display:flex;gap:18px;margin-left:auto;font-size:14px;color:var(--fg-dim);flex-wrap:wrap}
header.site nav a{color:var(--fg-dim)}
header.site nav a:hover{color:var(--fg)}
.shell{max-width:1180px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:232px minmax(0,1fr);gap:40px}
aside{position:sticky;top:64px;align-self:start;padding:30px 0;font-size:14px;max-height:calc(100vh - 64px);overflow:auto}
aside h4{margin:22px 0 8px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--fg-dimmer)}
aside h4:first-child{margin-top:0}
aside a{display:block;padding:5px 10px;border-radius:7px;color:var(--fg-dim)}
aside a:hover{background:var(--bg-1);color:var(--fg);text-decoration:none}
aside a.on{background:var(--bg-2);color:var(--fg)}
main{padding:34px 0 90px;min-width:0}
main h1{font-size:34px;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
main .lede{color:var(--fg-dim);font-size:17px;margin:0 0 36px;max-width:64ch}
main h2{font-size:22px;margin:44px 0 10px;letter-spacing:-.01em;scroll-margin-top:76px}
main h3{font-size:16px;margin:26px 0 6px;color:var(--fg)}
main p,main li{color:var(--fg-dim);max-width:72ch}
main strong{color:var(--fg);font-weight:600}
code{font-family:var(--mono);font-size:.88em;background:var(--bg-2);border:1px solid var(--border);
border-radius:6px;padding:1px 6px;color:var(--fg)}
pre{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;
overflow:auto;margin:14px 0}
pre code{background:none;border:0;padding:0;font-size:13px;line-height:1.7;color:var(--fg-dim)}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{color:var(--fg);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
td{color:var(--fg-dim)}
td code,th code{white-space:nowrap}
.note{border:1px solid var(--border);border-left:2px solid var(--accent);background:var(--bg-1);
border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;margin:18px 0}
.note p{margin:0;max-width:none}
.note.warn{border-left-color:var(--amber)}
.keys{display:inline-block;font-family:var(--mono);font-size:12px;border:1px solid var(--border);
border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:var(--fg);background:var(--bg-2);white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:22px 0}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--bg-1)}
.card h3{margin:0 0 6px}
.card p{margin:0;font-size:14.5px}
footer.site{border-top:1px solid var(--border);margin-top:40px}
footer.site .wrap{max-width:1180px;margin:0 auto;padding:26px 22px;color:var(--fg-dimmer);font-size:13.5px;
display:flex;gap:18px;flex-wrap:wrap}
footer.site a{color:var(--fg-dimmer)}
@media(max-width:860px){.shell{grid-template-columns:1fr;gap:0}
aside{position:static;max-height:none;border-bottom:1px solid var(--border)}
main h1{font-size:28px}}
