@font-face{font-family:Switzer;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Switzer-400.woff2)format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Switzer-600.woff2)format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Switzer-700.woff2)format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/Switzer-800.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin.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;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-700-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-700-latin.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}:root{--heading-font-family:"Switzer", ui-sans-serif, system-ui, sans-serif;--body-font-family:"Switzer", ui-sans-serif, system-ui, sans-serif;--mono-font-family:"JetBrains Mono", ui-monospace, monospace;--heading-xxl:clamp(2.6rem, 6.5vw, 4.5rem);--heading-xl:clamp(1.7rem, 3vw, 2.4rem);--heading-lg:1.25rem;--heading-md:1.0625rem;--body:1rem;--body-sm:.875rem;--line-height-heading:1.08;--line-height-body:1.6;--color-bg:#0c0d12;--color-fg:#e8e9f2;--color-accent:#d9a441;--color-rack:#12141c;--color-trace:#23263a;--color-fold-line:#666d9e;--color-static:#a6aac2;--color-carrier:#ecd9a8;--color-route-deep:#a87c1f;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:48px;--spacing-2xl:64px;--section-padding:64px;--max-width:68rem;--radius:2px;--radius-sm:0px;--radius-lg:2px}*{box-sizing:border-box;margin:0}html{color-scheme:dark}body{background:var(--color-bg);color:var(--color-fg);font:400 var(--body) / var(--line-height-body) var(--body-font-family);letter-spacing:.01em}a{color:var(--color-carrier);text-decoration:none}a:hover,main p a,main .lede a,.intro a{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.wrap{max-width:var(--max-width);margin-inline:auto;padding-inline:1.25rem}h1,h2,h3{font-family:var(--heading-font-family);text-wrap:balance}h2{font-size:var(--heading-xl);letter-spacing:-.015em;font-weight:700;line-height:1.12}h3{font-size:var(--heading-lg);font-weight:700;line-height:1.3}p{max-width:70ch}.muted{color:var(--color-static)}.mono{font-family:var(--mono-font-family);font-size:var(--body-sm);letter-spacing:0}section{padding-block:var(--section-padding)}section+section{border-top:1px solid var(--color-trace)}.btn{font:600 var(--body) / 1 var(--body-font-family);border-radius:var(--radius);align-items:center;gap:8px;padding:12px 20px;transition:background-color .18s cubic-bezier(.25,1,.5,1),border-color .18s cubic-bezier(.25,1,.5,1);display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-route-deep);text-decoration:none}.btn-secondary{border:1px solid var(--color-trace);color:var(--color-carrier);padding:11px 19px}.btn-secondary:hover{border-color:var(--color-carrier);text-decoration:none}.skip-link{background:var(--color-accent);color:#fff;border-radius:0 0 var(--radius) 0;z-index:10;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}header.site{border-bottom:1px solid var(--color-trace);padding-block:1rem}header.site .wrap{align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.brandmark{color:var(--color-fg);align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:inline-flex}.brandmark:hover{text-decoration:none}header.site nav{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-left:auto;font-size:.95rem;display:flex}header.site nav a:not(.btn){padding:12px 8px}header.site nav a[aria-current=page]{color:var(--color-fg)}header.site .btn{font-size:var(--body-sm);padding:9px 16px}footer.site{border-top:1px solid var(--color-trace);padding-block:var(--spacing-xl)}footer.site .wrap{gap:var(--spacing-lg);flex-wrap:wrap;align-items:center;display:flex}footer.site .legal{color:var(--color-static);font-size:var(--body-sm);align-items:center;gap:10px;margin-right:auto;display:inline-flex}footer.site nav{gap:var(--spacing-sm);font-size:var(--body-sm);flex-wrap:wrap;display:flex}footer.site nav a{padding:12px 8px}.code-panel{background:var(--color-rack);border:1px solid var(--color-trace);border-radius:var(--radius-lg);margin-top:var(--spacing-sm);position:relative}.code-panel .tag{justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px 0;display:flex}.code-panel .tag span{font-family:var(--mono-font-family);color:var(--color-carrier);border:1px solid var(--color-trace);border-radius:var(--radius-sm);padding:2px 8px;font-size:.75rem}.code-panel button{font:600 .75rem/1 var(--mono-font-family);letter-spacing:.02em;color:var(--color-carrier);border:1px solid var(--color-trace);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:3px 10px;position:relative}.code-panel button:before{content:"";position:absolute;inset:-12px}.code-panel button:hover{border-color:var(--color-carrier)}.code-panel pre{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);font:400 .78rem/1.6 var(--mono-font-family);color:var(--color-fg);overflow-x:auto}.code-panel code .c{color:var(--color-static)}.code-panel code .k{color:var(--color-carrier)}@media (width<=768px){:root{--section-padding:48px}}@media (width<=640px){:root{--section-padding:32px}header.site nav{gap:var(--spacing-md)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}
