@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_4da20b56-module__Q5vzFa__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_4da20b56-module__Q5vzFa__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_32be9df4-module__vEGYwG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_32be9df4-module__vEGYwG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--font-display:var(--font-bricolage), ui-sans-serif, system-ui, sans-serif;--font-text:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, "SFMono-Regular", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);--text-3xl:clamp(2.125rem, 1.6rem + 2.2vw, 3rem);--text-4xl:clamp(2.5rem, 1.7rem + 3.6vw, 4.25rem);--leading-tight:1.1;--leading-snug:1.3;--leading-body:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:999px;--width-content:72rem;--width-prose:44rem;--width-docs:88rem;--header-height:4rem;--gutter:clamp(1rem, .5rem + 2vw, 2rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.42s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fafaf7;--color-bg-subtle:#f3f2ed;--color-surface:#fff;--color-surface-raised:#fff;--color-border:#e3e1d9;--color-border-strong:#cfccc1;--color-text:#0e1726;--color-text-muted:#4a5466;--color-text-subtle:#5e677b;--color-accent:#0f766e;--color-accent-strong:#0b5c56;--color-accent-soft:#e0f2ef;--color-accent-contrast:#fff;--color-accent-ink:#0b5c56;--color-violet:#6d28d9;--color-violet-soft:#ede7fb;--color-amber:#b45309;--color-amber-soft:#fdf1e1;--color-rose:#be123c;--color-rose-soft:#fde8ec;--color-code-bg:#f6f5f0;--color-code-border:#e7e4da;--color-selection:#b8e6df;--color-focus:#0f766e;--contour:#0e17260f;--aurora-1:#0f766e29;--aurora-2:#6d28d91f;--aurora-3:#0e74901a;--shadow-sm:0 1px 2px #0e17260f;--shadow-md:0 4px 16px -4px #0e17261a, 0 1px 3px #0e17260f;--shadow-lg:0 24px 48px -16px #0e17262e, 0 2px 6px #0e17260f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a1120;--color-bg-subtle:#0e1729;--color-surface:#111b30;--color-surface-raised:#16223b;--color-border:#1f2c46;--color-border-strong:#2b3a58;--color-text:#e8edf5;--color-text-muted:#a3afc2;--color-text-subtle:#8f99ac;--color-accent:#2dd4bf;--color-accent-strong:#5eead4;--color-accent-soft:#0f2f33;--color-accent-contrast:#062a26;--color-accent-ink:#2dd4bf;--color-violet:#a78bfa;--color-violet-soft:#221a3d;--color-amber:#fbbf24;--color-amber-soft:#2e2410;--color-rose:#fb7185;--color-rose-soft:#331520;--color-code-bg:#0d1628;--color-code-border:#1c2942;--color-selection:#134e4a;--color-focus:#5eead4;--contour:#e8edf50d;--aurora-1:#2dd4bf24;--aurora-2:#a78bfa24;--aurora-3:#38bdf814;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px -4px #00000080, 0 1px 3px #0000004d;--shadow-lg:0 24px 48px -16px #0009, 0 2px 6px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a1120;--color-bg-subtle:#0e1729;--color-surface:#111b30;--color-surface-raised:#16223b;--color-border:#1f2c46;--color-border-strong:#2b3a58;--color-text:#e8edf5;--color-text-muted:#a3afc2;--color-text-subtle:#8f99ac;--color-accent:#2dd4bf;--color-accent-strong:#5eead4;--color-accent-soft:#0f2f33;--color-accent-contrast:#062a26;--color-accent-ink:#2dd4bf;--color-violet:#a78bfa;--color-violet-soft:#221a3d;--color-amber:#fbbf24;--color-amber-soft:#2e2410;--color-rose:#fb7185;--color-rose-soft:#331520;--color-code-bg:#0d1628;--color-code-border:#1c2942;--color-selection:#134e4a;--color-focus:#5eead4;--contour:#e8edf50d;--aurora-1:#2dd4bf24;--aurora-2:#a78bfa24;--aurora-3:#38bdf814;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px -4px #00000080, 0 1px 3px #0000004d;--shadow-lg:0 24px 48px -16px #0009, 0 2px 6px #0000004d}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--space-5))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-text);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}::selection{background:var(--color-selection)}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--leading-snug);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:650}p{text-wrap:pretty;margin:0}a{color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.container{width:100%;max-width:var(--width-content);padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:var(--width-docs)}.section{padding-block:clamp(var(--space-8), 6vw, var(--space-10))}.section--subtle{background:var(--color-bg-subtle);border-block:1px solid var(--color-border)}.eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-ink);font-weight:500;display:inline-flex}.lede{font-size:var(--text-md);color:var(--color-text-muted);max-width:40rem}.section-head{gap:var(--space-3);margin-bottom:var(--space-7);max-width:44rem;display:grid}.section-head h2{font-size:var(--text-3xl);line-height:var(--leading-tight)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-full);font-family:var(--font-text);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:translateY(1px)}.button--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.button--primary:hover{background:var(--color-accent-strong);color:var(--color-accent-contrast)}.button--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.button--secondary:hover{border-color:var(--color-accent);color:var(--color-text)}.button--ghost{color:var(--color-text-muted);padding-inline:var(--space-3);background:0 0}.button--ghost:hover{color:var(--color-text);background:var(--color-bg-subtle)}.icon-button{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-button:hover{color:var(--color-text);background:var(--color-bg-subtle)}.link-arrow{align-items:center;gap:var(--space-1);font-weight:600;text-decoration:none;display:inline-flex}.link-arrow:after{content:"→";transition:transform var(--duration-base) var(--ease-out)}.link-arrow:hover:after{transform:translate(3px)}.badge{align-items:center;gap:var(--space-1);padding:.125rem var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;font-weight:500;display:inline-flex}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent-ink);border-color:#0000}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-6);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);position:relative}a.card{color:inherit;text-decoration:none;display:block}a.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.prose{max-width:var(--width-prose);color:var(--color-text);font-size:var(--text-base)}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--text-xl);margin-top:var(--space-7);padding-top:var(--space-2)}.prose h3{font-size:var(--text-lg);margin-top:var(--space-6)}.prose h4{font-size:var(--text-base);margin-top:var(--space-5)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-3)}.prose .heading-anchor{margin-left:var(--space-2);color:var(--color-text-subtle);opacity:0;transition:opacity var(--duration-fast);text-decoration:none}.prose :is(h2,h3,h4):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose ul,.prose ol{padding-left:var(--space-5)}.prose li+li{margin-top:var(--space-2)}.prose li::marker{color:var(--color-text-subtle)}.prose strong{font-weight:650}.prose :not(pre)>code{border-radius:var(--radius-sm);background:var(--color-code-bg);border:1px solid var(--color-code-border);word-break:break-word;padding:.1em .35em;font-size:.85em}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:var(--space-7)}.prose blockquote{margin:var(--space-5) 0;padding-left:var(--space-4);border-left:3px solid var(--color-border-strong);color:var(--color-text-muted)}.prose .table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.prose th{background:var(--color-bg-subtle);font-weight:600}.prose tr:last-child td{border-bottom:0}.callout{gap:var(--space-1);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);background:var(--color-accent-soft);font-size:var(--text-sm);display:grid}.callout>*+*{margin-top:var(--space-2)}.callout__title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-ink);font-weight:600}.callout--caution{border-left-color:var(--color-amber);background:var(--color-amber-soft)}.callout--caution .callout__title{color:var(--color-amber)}.callout--since{border-left-color:var(--color-violet);background:var(--color-violet-soft)}.callout--since .callout__title{color:var(--color-violet)}.code-block{margin:var(--space-5) 0;border:1px solid var(--color-code-border);border-radius:var(--radius-lg);background:var(--color-code-bg);position:relative;overflow:hidden}.code-block__bar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2.5rem;padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--color-code-border);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.code-block__file{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-block pre{padding:var(--space-4) var(--space-5);tab-size:2;margin:0;font-size:.8125rem;line-height:1.7;overflow-x:auto;background:0 0!important}.code-block pre code{font-size:inherit}.code-block pre:focus-visible{outline-offset:-2px}.shiki,.shiki span{color:var(--shiki-light)}:root[data-theme=dark] .shiki,:root[data-theme=dark] .shiki span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .shiki,:root:not([data-theme=light]):not([data-theme=dark]) .shiki span{color:var(--shiki-dark)}}.copy-button{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-text);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.copy-button:hover{color:var(--color-text);border-color:var(--color-code-border)}.copy-button[data-copied=true]{color:var(--color-accent)}.stack-group__tabs{gap:var(--space-1);display:flex}.stack-tab{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);font-family:var(--font-text);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:500}.stack-tab:hover{color:var(--color-text)}.stack-tab:focus-visible{outline-offset:-2px}.stack-tab:after{content:var(--stack-tab-state,none);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack-group [data-stack-variant]{display:none}.stack-group [data-stack-variant]:first-of-type{display:block}.stack-group .stack-tab:first-of-type{--stack-tab-state:" (selected)";color:var(--color-text);background:var(--color-surface);border-color:var(--color-code-border)}:is(:root[data-stack=next] .stack-group:has([data-stack-variant=next]) [data-stack-variant],:root[data-stack=sveltekit] .stack-group:has([data-stack-variant=sveltekit]) [data-stack-variant],:root[data-stack=express] .stack-group:has([data-stack-variant=express]) [data-stack-variant]){display:none}:is(:root[data-stack=next] .stack-group:has([data-stack-variant=next]) [data-stack-variant=next],:root[data-stack=sveltekit] .stack-group:has([data-stack-variant=sveltekit]) [data-stack-variant=sveltekit],:root[data-stack=express] .stack-group:has([data-stack-variant=express]) [data-stack-variant=express]){display:block}:is(:root[data-stack=next] .stack-group:has([data-stack-variant=next]) .stack-tab,:root[data-stack=sveltekit] .stack-group:has([data-stack-variant=sveltekit]) .stack-tab,:root[data-stack=express] .stack-group:has([data-stack-variant=express]) .stack-tab){--stack-tab-state:none;color:var(--color-text-muted);background:0 0;border-color:#0000}:root[data-stack=next] .stack-group .stack-tab[data-stack-tab=next],:root[data-stack=sveltekit] .stack-group .stack-tab[data-stack-tab=sveltekit],:root[data-stack=express] .stack-group .stack-tab[data-stack-tab=express]{--stack-tab-state:" (selected)";color:var(--color-text);background:var(--color-surface);border-color:var(--color-code-border)}.preview-banner{z-index:60;padding:var(--space-2) var(--gutter);background:var(--color-amber-soft);color:var(--color-text);border-bottom:1px solid var(--color-amber);font-size:var(--text-sm);text-align:center;position:sticky;top:0}@media print{.site-header,.site-footer,.docs-sidebar,.docs-toc,.how-made,.copy-button,.stack-group__tabs{display:none!important}body{color:#000;background:#fff}}.code-block__subfile{padding:var(--space-3) var(--space-5) 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}
.wordmark{align-items:center;gap:var(--space-2);color:var(--color-text);display:inline-flex}.wordmark__text{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.3rem;font-weight:650;line-height:1}.announcement{border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:var(--text-sm);color:var(--color-text-muted)}.announcement__inner{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:2.25rem;display:flex}.announcement__dot{background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--color-accent-soft);border-radius:50%;flex:none}.announcement__link{color:inherit;text-decoration:none}.announcement__link:hover{color:var(--color-text);text-decoration:underline}.site-header{z-index:50;height:var(--header-height);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-5);height:100%;display:flex}.site-header__brand{color:var(--color-text);flex:none;text-decoration:none;display:inline-flex}.site-nav{flex:1}.site-nav__list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.site-nav__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:inline-flex}.site-nav__link:hover{color:var(--color-text);background:var(--color-bg-subtle)}.site-header__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.site-header__cta{min-height:2.25rem;padding-inline:var(--space-4)}.search-button{align-items:center;gap:var(--space-2);min-width:11rem;height:2.25rem;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-subtle);font-family:var(--font-text);font-size:var(--text-sm);cursor:pointer;display:inline-flex}.search-button:hover{border-color:var(--color-border-strong);color:var(--color-text-muted)}.search-button__kbd{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);margin-left:auto;padding:.05rem .4rem;font-size:.7rem}.theme-switch{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);padding:2px;display:inline-flex}.theme-switch__option{border-radius:var(--radius-full);width:1.9rem;height:1.9rem;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.theme-switch__option:hover{color:var(--color-text)}.theme-switch__option:after{content:var(--theme-state,none);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root:not([data-theme=light]):not([data-theme=dark]) .theme-switch__option[data-theme-choice=system],:root[data-theme=light] .theme-switch__option[data-theme-choice=light],:root[data-theme=dark] .theme-switch__option[data-theme-choice=dark]{--theme-state:" (selected)";background:var(--color-bg-subtle);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border)}.mobile-nav{display:none;position:relative}.mobile-nav>summary{list-style:none}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav__panel{right:0;top:calc(100% + var(--space-2));min-width:14rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-lg);position:absolute}.mobile-nav__panel ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.mobile-nav__panel a:not(.button){padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;display:block}.mobile-nav__panel a:not(.button):hover{background:var(--color-bg-subtle)}.mobile-nav__panel .button{width:100%;margin-top:var(--space-2)}@media (max-width:960px){.site-nav,.site-header__cta,.site-header .theme-switch{display:none}.mobile-nav{display:block}.search-button{min-width:0}.search-button__kbd{display:none}}@media (max-width:480px){.search-button__label{display:none}.search-button{justify-content:center;width:2.25rem;padding:0}}.palette{width:min(40rem, calc(100vw - 2 * var(--gutter)));border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);background:var(--color-surface-raised);max-height:min(34rem,80vh);color:var(--color-text);box-shadow:var(--shadow-lg);margin:12vh auto auto;padding:0;overflow:hidden}.palette::backdrop{background:color-mix(in srgb, var(--color-bg) 60%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.palette__panel{max-height:inherit;flex-direction:column;display:flex}.palette__input-row{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text-subtle);display:flex}.palette__input{color:var(--color-text);font-family:var(--font-text);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1}.palette__input-row:has(.palette__input:focus-visible){box-shadow:inset 0 -2px 0 var(--color-focus)}.palette__input::-webkit-search-cancel-button{display:none}.palette__esc{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:.05rem .4rem;font-size:.7rem}.palette__scopes{gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.palette__scope{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:var(--color-text-muted);font-family:var(--font-text);font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #0000}.palette__scope[aria-pressed=true]{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text)}.palette__results{padding:var(--space-2);margin:0;list-style:none;overflow-y:auto}.palette__hit{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:.1rem;text-decoration:none;display:grid}[aria-selected=true]>.palette__hit{background:var(--color-accent-soft)}.palette__hit-section{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);font-size:.7rem}.palette__hit-title{color:var(--color-text);font-weight:600}.palette__hit-description{font-size:var(--text-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette__empty{padding:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer{margin-top:var(--space-9);padding-block:var(--space-8) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:var(--text-sm)}.site-footer__grid{gap:var(--space-7);grid-template-columns:minmax(14rem,1.5fr) repeat(auto-fit,minmax(9rem,1fr));display:grid}.site-footer__logo{text-decoration:none;display:inline-flex}.site-footer__tagline{margin-top:var(--space-4);max-width:22rem;color:var(--color-text-muted)}.site-footer__heading{margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);font-weight:500}.site-footer__column ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.site-footer__column a{color:var(--color-text-muted);text-decoration:none}.site-footer__column a:hover{color:var(--color-text)}.site-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-subtle);display:flex}@media (max-width:720px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}
.shot{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);margin:0;overflow:hidden}.shot__dots{gap:6px;display:flex}.shot__dots>span{background:var(--color-border-strong);border-radius:50%;width:10px;height:10px}.shot__bar{align-items:center;gap:var(--space-3);height:2.25rem;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);display:flex}.shot__url{max-width:18rem;padding:.125rem var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-family:var(--font-mono);color:var(--color-text-subtle);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-inline:auto;font-size:.6875rem;overflow:hidden}.shot__img{aspect-ratio:16/10;background:var(--color-bg-subtle);width:100%;height:auto}.shot__img--dark,:root[data-theme=dark] .shot__img--light{display:none}:root[data-theme=dark] .shot__img--dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .shot__img--light{display:none}:root:not([data-theme=light]):not([data-theme=dark]) .shot__img--dark{display:block}}.prose .shot{margin-block:var(--space-6) var(--space-8)}.prose a.shot__img{cursor:zoom-in;display:block}.prose a.shot__img--dark{display:none}.prose a.shot__img img{width:100%;height:auto;display:block}.screen-viewer{width:min(calc(100vw - 2 * var(--gutter)), calc((100vh - 2 * var(--gutter)) * 1.6));border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);max-width:none;max-height:none;box-shadow:var(--shadow-lg);margin:auto;padding:0;position:fixed;overflow:hidden}.screen-viewer::backdrop{background:color-mix(in srgb, var(--color-bg) 75%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.screen-viewer__img{aspect-ratio:16/10;width:100%;height:auto;display:block}.screen-viewer__close{top:var(--space-3);right:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);width:2.5rem;height:2.5rem;color:var(--color-text);box-shadow:var(--shadow-lg);cursor:pointer;place-items:center;display:grid;position:absolute}.screen-viewer__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.diagram{padding:clamp(var(--space-2), 3vw, var(--space-5));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);margin:0}.prose .diagram{margin-block:var(--space-6)}.diagram__svg{width:100%;height:auto;display:block}.diagram__svg text{font-family:var(--font-text);font-size:13px}.diagram__flow{fill:none;stroke:var(--color-accent);stroke-width:2px}.diagram__flow--quiet{stroke:var(--color-border-strong)}.diagram__arrowhead{fill:var(--color-accent)}.diagram__node{fill:var(--color-bg-subtle);stroke:var(--color-border-strong)}.diagram__node--accent{fill:var(--color-accent-soft);stroke:var(--color-accent)}.diagram__pill{fill:var(--color-surface-raised);stroke:var(--color-border-strong)}.diagram__label{fill:var(--color-surface);stroke:var(--color-accent)}.diagram__svg .diagram__title{fill:var(--color-text);font-family:var(--font-display);font-size:16px;font-weight:650}.diagram__svg .diagram__title--small{font-size:14px}.diagram__svg .diagram__code,.diagram__svg .diagram__label-text{fill:var(--color-text);font-family:var(--font-mono);font-size:12px}.diagram__svg .diagram__label-text{fill:var(--color-accent-ink);font-weight:600}.diagram__svg .diagram__note{fill:var(--color-text-muted);font-size:12px}
