:root{--bg:#0f0f0f;--bg-deep:#060606;--panel:#1a1a1a;--panel-raised:#1e1e1e;--panel-high:#232323;--line:#1d1e1f;--line-strong:#282828;--text:#fff;--text-2:#bbb;--text-3:gray;--text-4:#5a5a5a;--brand:#7c4dff;--brand-tint:#ae9dff;--signal:#6eb4ff;--signal-soft:#6eb4ff1f;--amber:#ffb05c;--radius:12px;--radius-sm:9px;--radius-lg:16px;--measure:1120px;--gutter:24px;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", "Roboto Mono", monospace;--ease:cubic-bezier(.22, .61, .36, 1)}@font-face{font-family:Zen Tokyo Zoo;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAARkAA4AAAAACQAAAAQQAAEAgwAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbBwgBmAATBEICodkhngBNgIkAxgLDgAEIAWEEgcgG5EHSB6D4+4iLDFpZd4tkbei5MPnZe9nMuk003oWSjVbwL9iSnOpq3GnTpB5+Ly9vy2CgAMtC7i8NK901IUeWObrf4B+3v7zx1790RS1YZRNoHmgEzn//rzvLtOjE2jgVfhmmUATH+hsmiqDnY5lFV0JIWs+83n0l0EAagAAYBCEFEEAPIElMgZFxEOGBeC0mLUX1FZCBp9ULEZISNPBwtjVDJmyHtbNArSrPaprl0HemBV3pyt9NcGIjwBsvIlpSIGpTDKAcDwJWaDwUS5J0H8iP4nzmCTko/85YAf8anYveSVKAPokAAYoQ0GCfJ7lCuDJMBiBosVKaII2xP/RHHLA/sgSMkj7n2YHB8f7GSWQGSA/AAAW/Cs5qjiSkh0KLbdCwfYvVehwXMXQpUvlKnKOF8L9tBF1ZIfmtvt2dvOjN924brnlY3c40UaMRsQVoiO+VpMehAbBhhemaKIUTSunJcurTSODKTJ4I0/utXyiA17eNpwzn73rGq6rfErqunXLUvjUsX0wVp7SRjRRXqQVd3KWN8pV3lLDqLoXTg9absKmFE/5J3YdVQrKnWJULuDyOGFKmKQpz2khUUigW0830MOxnxWdxwtKJjySkwkIvZ1o6Wh0SuT0VEJe7nQCpaQkR85U5+YFoI4mBXnU1gTEiLUByEE6rTZAjKnR/budckb490RF+3ejSgnN3dFRFlCXTMVu5/Qs287QUMmVnt3tJIrAGCezfF00zVzvW1HjsZiUxGDo7TKtLVivriBaeO2Wbuec5u0twGq312WD6ebuXRwURKBm+opane5iCKXE7tWDbcJNrcIcHQNQ2dAQYeda4x1C8ROLQ/b2hywu3Bh3zH6U+3iUjlrJUF1tSkcsDb7zgV2cUCGU08sQpidXyN0ZjcqbkXm4hVkpI2ykgtSdxoSGCrv/Jm1MOFNc+zIGxZCROGtwuG9bc0hCggA5vCwZ51wzIGbQ8GIf51L6mOxmnZ7m4uef6sLsxknKcAVZiLyv7+K5S0GrpudXmabkBcDD7uSN+PSBJ5r/N1nJ7mPtAXCYjrFTIvk1cPx7gMi3cfGFfdoD+9wJIb3U/6sHfDoLewTAOYXlNkOnq0i4VUWqmlNUAZwFOItY6WwWQ8PdLAlPz7JY5mGYJRUUET/kGMcs/FWp1qJWiSLF6umzZ0vYjjjeNBZwKkilhQ7GMqmypQo9otqeUgXyBrifalCvWJVadfSZDnxfvWp13NmwUaSk0dAGuazlkVQ4NOTQIuUKFNLMSvXq2GidPmSl3meldbdmS+NY974iDcrlqGXHmu3GujxEiZaOQB4hUcSKbay6r3r7yzU2JtK2pWQDW/UnFv1j4MKm0rAZLibaJB2RNDa+GK6sOTBbWJ1ELut/GwUAAAA=)format("woff2")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}::selection{background:#7c4dff59}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}.shell{flex-direction:column;min-height:100vh;display:flex}.wrap{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin:0 auto}.wrap-narrow{max-width:800px}main{flex:1}section{padding-block:clamp(56px,8vw,104px)}.section-line{border-top:1px solid var(--line)}.header{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(140%)blur(12px);background:#0f0f0fd1;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;height:60px;display:flex}.brand{letter-spacing:.14em;text-transform:uppercase;color:var(--text);align-items:center;gap:10px;font-size:.82rem;font-weight:600;display:inline-flex}.brand svg{width:26px;height:26px}.nav{align-items:center;gap:2px;display:flex}.nav a{color:var(--text-3);border-radius:var(--radius-sm);transition:color .14s var(--ease), background .14s var(--ease), border-color .14s var(--ease);border:1px solid #0000;padding:7px 12px;font-size:.9rem}.nav a:hover{color:var(--text);background:var(--panel)}.nav a[aria-current=page]{color:var(--text);background:var(--panel-raised);border-color:var(--line-strong)}.header-cta{align-items:center;gap:10px;display:flex}@media (width<=720px){.header-inner{flex-wrap:wrap;height:auto;padding-block:12px}.nav{order:3;width:100%;padding-bottom:2px;overflow-x:auto}.nav a{white-space:nowrap}}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.15}h1{letter-spacing:-.035em;font-size:clamp(1.9rem,4vw,2.8rem)}h2{letter-spacing:-.028em;font-size:clamp(1.7rem,3.4vw,2.4rem)}h3{letter-spacing:-.012em;font-size:1.08rem}p{margin:0}.lead{color:var(--text-2);max-width:62ch;font-size:clamp(1.02rem,1.7vw,1.2rem);line-height:1.62}.body{color:var(--text-2);max-width:68ch;line-height:1.65}.muted{color:var(--text-3)}.small{font-size:.88rem}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:.74rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--line-strong);width:18px;height:1px}.stack{justify-items:start;gap:16px;display:grid}.stack-center{text-align:center;justify-items:center}.stack-center .lead{margin-inline:auto}code,kbd{font-family:var(--font-mono);font-size:.86em}:not(pre)>code{background:var(--panel-raised);border:1px solid var(--line-strong);color:var(--text-2);border-radius:5px;padding:1px 5px}.docs{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.docs-main{align-content:start;gap:28px;max-width:72ch;display:grid}@media (width<=900px){.docs{grid-template-columns:minmax(0,1fr)}}.lessons{counter-reset:lesson;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.lessons li{counter-increment:lesson;background:var(--panel)}.lessons a{transition:background .14s var(--ease);grid-template-columns:28px minmax(0,1fr);gap:0 12px;padding:14px 18px;display:grid}.lessons a:before{content:counter(lesson, decimal-leading-zero);font-family:var(--font-mono);color:var(--text-4);padding-top:2px;font-size:.8rem}.lessons a:hover{background:var(--panel-raised)}.lesson-title,.lesson-summary{grid-column:2}.lesson-title{font-size:.98rem;font-weight:500}.lesson-summary{color:var(--text-3);margin-top:3px;font-size:.88rem;line-height:1.5}.crumb{letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);transition:color .14s var(--ease);font-size:.8rem;font-weight:600}.crumb:hover{color:var(--text-2)}.prose{color:var(--text-2);max-width:72ch;line-height:1.72}.prose>*+*{margin-top:1.1em}.prose h2{color:var(--text);margin-top:2em;scroll-margin-top:88px;font-size:1.42rem}.prose h3{color:var(--text);margin-top:1.8em;scroll-margin-top:88px;font-size:1.06rem}.prose h2+*,.prose h3+*{margin-top:.7em}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--signal);transition:border-color .14s var(--ease);border-bottom:1px solid #6eb4ff4d}.prose a:hover{border-bottom-color:var(--signal)}.prose ul,.prose ol{gap:.45em;padding-left:1.35em;display:grid}.prose li::marker{color:var(--text-4)}.prose pre{background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--radius);margin:0;padding:16px 18px;font-size:.84rem;line-height:1.6;overflow-x:auto}.prose pre code{color:var(--text-2);font-size:inherit}.prose blockquote{border-left:2px solid var(--brand);color:var(--text-3);margin:0;padding:2px 0 2px 18px}.prose table{border-collapse:collapse;font-size:.94rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 14px}.prose th{background:var(--panel);color:var(--text-2);white-space:nowrap;font-weight:600}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2em}.prose img{border-radius:var(--radius);border:1px solid var(--line)}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-raised);color:var(--text);font:inherit;cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease), box-shadow .14s var(--ease);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.94rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--panel-high);border-color:#333}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff;border-color:#0000;font-weight:600;box-shadow:inset 0 1px #ffffff29,0 8px 24px #7c4dff38}.btn-primary:hover{background:#8a5fff;border-color:#0000;box-shadow:inset 0 1px #fff3,0 10px 30px #7c4dff4d}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--panel)}.btn-sm{padding:8px 13px;font-size:.88rem}.btn[aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.arrow{width:14px;height:14px;transition:transform .16s var(--ease);flex:none}.btn:hover .arrow{transform:translate(2px)}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .16s var(--ease), background .16s var(--ease);align-content:start;gap:10px;padding:22px;display:grid;position:relative}.card:hover{border-color:var(--line-strong)}.card p{color:var(--text-3);font-size:.93rem;line-height:1.6}.pill{border:1px solid var(--line-strong);background:var(--panel-raised);color:var(--text-2);letter-spacing:.01em;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:.78rem;font-weight:500;display:inline-flex}.pill-dot{background:var(--amber);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #ffb05c29}.footer{border-top:1px solid var(--line);margin-top:auto;padding-block:40px 44px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.footer-links{flex-wrap:wrap;gap:22px;display:flex}.footer-links a{color:var(--text-3);transition:color .14s var(--ease);font-size:.9rem}.footer-links a:hover{color:var(--text)}.footer-legal{color:var(--text-4);font-size:.82rem}.link{color:var(--signal);transition:border-color .14s var(--ease);border-bottom:1px solid #6eb4ff4d;text-decoration:none}.link:hover{border-bottom-color:var(--signal)}.link-brand{color:var(--brand-tint);border-bottom-color:#ae9dff52}.link-brand:hover{border-bottom-color:var(--brand-tint)}.ext-arrow{vertical-align:.06em;width:.72em;height:.72em;margin-left:.22em;display:inline-block}.footer-brand.svelte-12qhfyh{justify-items:start;gap:10px;display:grid}.footer-brand.svelte-12qhfyh .brand:where(.svelte-12qhfyh){color:var(--text-2)}
