@font-face{font-family:Space;src:url(space-grotesk-latin-wght-normal.woff2) format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:Mono;src:url(jetbrains-mono-latin-wght-normal.woff2) format('woff2');font-weight:100 800;font-display:swap}
:root{color-scheme:dark;--bg:#121416;--panel:#1f2225;--text:#f7f8fa;--muted:#a8afb9;--mint:#77eaa9;--border:#31383f}*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Space,system-ui,sans-serif;font-size:16px;line-height:1.65}a{color:var(--mint);text-underline-offset:4px}a:hover{color:white}a:focus-visible,div:focus-visible{outline:2px solid var(--mint);outline-offset:5px}header{height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--bg);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:600;color:var(--text);text-decoration:none}.brand span{font:12px Mono,monospace;color:var(--muted);margin-left:8px}header>a:last-child{font-size:14px}.layout{display:grid;grid-template-columns:245px minmax(0,890px);gap:56px;max-width:1320px;margin:auto;padding:42px 40px}aside nav{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:15px}.eyebrow{font:12px Mono,monospace;color:var(--mint);letter-spacing:.06em}.section-link{display:block;text-decoration:none;padding:10px 12px;border-radius:8px;color:var(--text);margin-bottom:4px}.section-link[aria-current]{background:#213d32;color:var(--mint)}.section-link span{float:right;font:11px Mono,monospace;margin-top:5px}.toc{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.toc a{display:block;text-decoration:none;color:var(--muted);font-size:13px;line-height:1.4;padding:7px 10px}.toc .level-3{padding-left:22px;font-size:12px}.toc a:hover{color:var(--mint)}.source{display:block;font-size:12px;margin:22px 10px}.intro{padding:12px 0 24px}.display{font-size:clamp(40px,5vw,65px);letter-spacing:-.05em;font-weight:600;line-height:1.07;margin:28px 0 24px}.display span{color:var(--mint)}.lead{max-width:610px;color:var(--muted);font-size:18px;line-height:1.6}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 54px}.quick-links a{background:linear-gradient(130deg,#1f2429,#132a49);border:1px solid var(--border);border-radius:16px;padding:22px;text-decoration:none;color:var(--text)}.quick-links strong,.quick-links span{display:block}.quick-links span{font-size:13px;color:var(--mint);margin-top:8px}h1{font-size:32px;letter-spacing:-.03em}h2{font-size:25px;letter-spacing:-.025em;margin:52px 0 16px;padding-top:20px;border-top:1px solid var(--border)}h3{font-size:19px;margin:32px 0 12px}p{margin:16px 0}code{font:12px/1.7 Mono,monospace;background:#242b31;border-radius:4px;padding:3px 5px;overflow-wrap:anywhere}pre{background:#0b1018;border:1px solid var(--border);border-radius:12px;padding:22px;overflow:auto;margin:20px 0}pre code{padding:0;border:0;background:none;overflow-wrap:normal;font-size:12px}.table-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px;margin:18px 0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#21262c;color:var(--muted);font-size:12px}tr:last-child td{border-bottom:0}td code{white-space:nowrap}footer{margin-top:60px;border-top:1px solid var(--border);padding:24px 0;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-60px;left:16px;padding:10px;background:var(--bg)}.skip:focus{top:12px;z-index:3}
@media(max-width:900px){.layout{grid-template-columns:190px minmax(0,1fr);gap:28px;padding:28px 24px}.quick-links{grid-template-columns:1fr}.brand span{display:none}}@media(max-width:650px){header{padding:0 20px;height:70px}.layout{display:block;padding:24px 20px}aside nav{position:static;max-height:none;padding:0}.toc{display:none}.section-link{display:inline-block;font-size:13px}.section-link span{margin-left:12px}.source{display:inline-block;margin:10px}.intro{padding-top:20px}.quick-links{gap:10px;margin-bottom:35px}.quick-links a{padding:18px}pre{padding:16px}h1{font-size:28px}th,td{padding:10px}}

article{overflow-wrap:anywhere}main{min-width:0}.display{overflow-wrap:normal}
