@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.block{display:block}.contents{display:contents}.inline{display:inline}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#10140f;--bg-2:#171d16;--panel:#1c241b;--ink:#e7eadc;--muted:#9aa392;--line:#2c3629;--brass:#c4a35a;--brass-2:#e0c37a;--sage:#8fbf88;--danger:#d9786a;--code-bg:#0c100c}*{box-sizing:border-box}body,html{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,#243022 0,transparent 55%),var(--bg);color:var(--ink);font-family:var(--font-sans),"Noto Sans SC",sans-serif;margin:0}a{color:inherit;text-decoration:none}.shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--bg-2)}@supports (color:color-mix(in lab,red,red)){.sidebar{background:color-mix(in srgb,var(--bg-2) 88%,black)}}.sidebar{height:100vh;padding:28px 18px 48px;position:sticky;top:0;overflow:auto}.brand{padding:0 10px 22px;display:block}.brand-mark{font-family:var(--font-serif),serif;letter-spacing:.02em;font-size:22px}.brand-sub{color:var(--muted);margin-top:4px;font-size:12px;display:block}.nav-kicker{color:var(--brass);letter-spacing:.16em;text-transform:uppercase;margin:18px 10px 8px;font-size:11px}.nav-link{color:var(--muted);border-radius:10px;grid-template-columns:32px 1fr;gap:10px;padding:8px 10px;display:grid}.nav-link-active,.nav-link:hover{background:var(--panel);color:var(--ink)}.nav-link-active{box-shadow:inset 2px 0 0 var(--brass)}.nav-step{font-family:var(--font-mono),monospace;color:var(--brass);padding-top:3px;font-size:11px}.nav-label{font-size:14px;display:block}.nav-hint{color:var(--muted);margin-top:2px;font-size:11px;display:block}.menu-toggle{display:none}.main{min-width:0}.topbar{display:none}.content{max-width:820px;margin:0 auto;padding:48px 28px 96px}.hero-kicker,.kicker{color:var(--brass);letter-spacing:.18em;text-transform:uppercase;font-size:12px}h1,h2,h3{font-family:var(--font-serif),"Noto Serif SC",serif;font-weight:600;line-height:1.25}h1{margin:8px 0 16px;font-size:clamp(32px,5vw,52px)}.lede{color:var(--ink);font-size:18px;line-height:1.7}@supports (color:color-mix(in lab,red,red)){.lede{color:color-mix(in srgb,var(--ink) 86%,var(--muted))}}.actions{flex-wrap:wrap;gap:12px;margin:28px 0 40px;display:flex}.btn{border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:inline-flex}.btn-primary{background:var(--brass);color:#1a1408;border-color:#0000;font-weight:600}.btn-ghost:hover{border-color:var(--brass);color:var(--brass-2)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.step-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-height:132px;padding:16px;display:block}.step-card:hover{border-color:var(--brass)}.callout,.note{background:var(--brass)}@supports (color:color-mix(in lab,red,red)){.callout,.note{background:color-mix(in srgb,var(--brass) 8%,var(--panel))}}.callout,.note{border:1px solid var(--brass)}@supports (color:color-mix(in lab,red,red)){.callout,.note{border:1px solid color-mix(in srgb,var(--brass) 35%,var(--line))}}.callout,.note{border-radius:14px;margin:20px 0 28px;padding:16px 18px}.callout p,.note p{color:var(--ink);margin:0;line-height:1.7}.tree{background:var(--code-bg);border:1px solid var(--line);font-family:var(--font-mono),monospace;white-space:pre;border-radius:12px;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.file-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:14px 0}.file-card summary{cursor:pointer;gap:4px;padding:14px 16px;list-style:none;display:grid}.file-card summary::-webkit-details-marker{display:none}.file-path{font-family:var(--font-mono),monospace;color:var(--brass-2);font-size:13px}.file-blurb{color:var(--muted);font-size:13px}.file-toolbar{padding:0 16px 10px}.file-code{border-top:1px solid var(--line);overflow-x:auto}.file-code pre,.prose pre{margin:0;padding:16px 18px 20px;font-size:13px;line-height:1.65;background:var(--code-bg)!important}.file-code code,.prose code{font-family:var(--font-mono),ui-monospace,monospace}.prose{font-size:16.5px;line-height:1.8}.prose h1{display:none}.prose h2{margin:36px 0 12px;font-size:26px}.prose h3{margin:28px 0 10px;font-size:20px}.prose li,.prose p{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.prose li,.prose p{color:color-mix(in srgb,var(--ink) 92%,var(--muted))}}.prose a{color:var(--sage);text-underline-offset:3px;text-decoration:underline}.prose ol,.prose ul{padding-left:1.2em}.prose table{border-collapse:collapse;width:100%;margin:16px 0 24px;font-size:14px}.prose td,.prose th{border:1px solid var(--line);text-align:left;padding:8px 10px}.prose th{background:var(--panel);color:var(--brass-2)}.prose :not(pre)>code{background:var(--panel);border-radius:6px;padding:.1em .35em;font-size:.9em}.prose figure{border:1px solid var(--line);background:var(--code-bg);border-radius:12px;margin:18px 0;overflow:hidden}.code-wrap{position:relative}.copy-btn{appearance:none;color:var(--brass-2);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px}.copy-btn:hover{border-color:var(--brass)}.copy-btn-float{background:var(--bg);position:absolute;top:10px;right:10px}@supports (color:color-mix(in lab,red,red)){.copy-btn-float{background:color-mix(in srgb,var(--bg) 80%,transparent)}}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;display:flex}.pager a{color:var(--muted)}.pager a:hover{color:var(--brass-2)}.meta-row{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-bottom:18px;font-size:13px;display:flex}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:static}.menu-toggle{color:var(--brass-2);border:1px solid var(--line);background:0 0;border-radius:999px;margin:8px 8px 0;padding:8px 12px;display:inline-flex}.sidenav{margin-top:12px;display:none}.sidenav-open{display:block}.content{padding:28px 18px 72px}}