@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations")}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e14;--bg-2:#111520;--bg-3:#1b212d;--line:#232a37;--line-2:#364052;--fg:#eef2f8;--fg-2:#a6b1c2;--fg-3:#7d8a9c;--paper:#d7dde6;--paper-2:#c9d0db;--ink:#0b0e14;--ink-2:#4f5a6b;--ink-3:#828e9f;--blue:#2c8cff;--blue-soft:#7db8ff;--ember:#ff5924;--ember-soft:#ff8a63;--ok:#4fd1a5;--sans:"Geist Variable", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--gutter-l:max(20px, env(safe-area-inset-left,0px));--gutter-r:max(20px, env(safe-area-inset-right,0px));--page:1320px;--nav-h:64px;--ease:cubic-bezier(.25, .1, 0, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px);background:var(--bg)}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:400}p{margin:0}a{color:inherit}code,pre,.mono{font-family:var(--mono);font-feature-settings:"zero" 1}:focus-visible{outline:2px solid var(--blue-soft);outline-offset:2px}button{font:inherit;color:inherit}.tone{color:var(--fg-3);display:block}.notice{padding:9px var(--gutter-r) 9px var(--gutter-l);background:var(--bg-2);color:var(--fg-2);text-align:center;flex-wrap:wrap;justify-content:center;gap:2px 12px;font-size:13px;display:flex}.notice a{color:var(--fg);text-underline-offset:3px}.nav{z-index:20;height:var(--nav-h);padding-left:max(var(--gutter-l), calc((100% - var(--page)) / 2));padding-right:max(var(--gutter-r), calc((100% - var(--page)) / 2));background:var(--bg);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.nav-brand{color:var(--fg-2);align-items:center;gap:12px;font-size:14px;text-decoration:none;display:flex}.nav-brand span{border-left:1px solid var(--line-2);white-space:nowrap;padding-left:12px}.nav nav{gap:24px;font-size:14px;display:flex}.nav nav a{color:var(--fg-3);transition:color .2s var(--ease);text-decoration:none}.nav nav a:hover,.nav nav a[aria-current]{color:var(--fg)}@media (max-width:460px){.nav-brand span{display:none}}.btn{background:var(--bg-3);min-height:40px;color:var(--fg);cursor:pointer;white-space:nowrap;transition:background .2s var(--ease), transform .1s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#263042}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--fg);color:var(--ink)}.btn-primary:hover:not(:disabled){background:#fff}.ctl{grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;min-width:0;display:grid}.ctl label,.ctl-label{color:var(--fg-2);font-size:13px}.ctl output{font-family:var(--mono);color:var(--fg);font-variant-numeric:tabular-nums;font-size:13px}.ctl input[type=range]{width:100%;height:22px;accent-color:var(--blue);background:0 0;grid-column:1/-1;margin:0}.ctl>.tabs{grid-column:1/-1}.ctl-row{align-items:center}.switch{background:var(--bg-3);min-width:58px;height:28px;font-family:var(--mono);color:var(--fg-2);cursor:pointer;transition:background .2s var(--ease);border:0;border-radius:999px;font-size:12px}.switch[aria-checked=true]{background:var(--blue);color:#04101f;font-weight:600}.tabs{background:var(--bg-3);border-radius:999px;flex-wrap:wrap;gap:2px;max-width:100%;padding:3px;display:inline-flex}.tabs button{color:var(--fg-2);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:13px}.tabs button[aria-checked=true]{background:var(--fg);color:var(--ink)}.frame{background:var(--bg-2);flex-direction:column;gap:20px;min-width:0;padding:clamp(16px,2.4vw,28px);display:flex;position:relative}.frame .c{border:1px solid var(--fg-3);pointer-events:none;width:11px;height:11px;position:absolute}.c.tl{border-bottom:0;border-right:0;top:0;left:0}.c.tr{border-bottom:0;border-left:0;top:0;right:0}.c.bl{border-top:0;border-right:0;bottom:0;left:0}.c.br{border-top:0;border-left:0;bottom:0;right:0}.json{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);color:var(--fg-2);white-space:pre;margin:0;padding:12px 14px;font-size:12px;line-height:1.55;overflow-x:auto}.json.code{color:var(--fg)}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{flex-direction:column;gap:14px;min-width:0;display:flex}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.grid-ctl{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 24px;display:grid}.muted{color:var(--fg-3)}.small{font-size:12.5px}.strong{color:var(--fg);font-weight:600}.kv{flex-wrap:wrap;gap:8px 30px;margin:0;display:flex}.kv div{min-width:0}.kv dt{color:var(--fg-3);font-size:11.5px}.kv dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px}.verdict{min-height:22px;color:var(--fg-2);font-size:13px}.verdict.bad{color:var(--ember-soft)}.foot{padding-block-start:28px;padding-block-end:28px;padding-left:max(var(--gutter-l), calc((100% - var(--page)) / 2));padding-right:max(var(--gutter-r), calc((100% - var(--page)) / 2));border-top:1px solid var(--line);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;animation:none!important}}.flow{padding:8px 0 0}.flow-scroll{overflow-x:auto}.flow svg{width:100%;min-width:820px;height:auto;display:block}.f-line{fill:none;stroke:var(--line-2);stroke-width:1px}.f-deny{stroke:color-mix(in srgb, var(--ember) 70%, var(--line-2));stroke-dasharray:3 4}.f-dot{fill:var(--blue-soft)}.f-dot-deny{fill:var(--ember)}.f-dot-money{fill:var(--ok)}.f-node rect{fill:var(--bg-2);stroke:var(--fg-3);transition:stroke .2s var(--ease), fill .2s var(--ease)}.f-node text{fill:var(--fg);font-family:var(--mono);text-anchor:middle;font-size:13px}.f-node text.sub{fill:var(--fg-3);font-size:11px}.f-node:hover rect{stroke:var(--blue-soft);fill:var(--bg-3)}.f-node:focus-visible rect{stroke:var(--blue-soft);fill:var(--bg-3)}.f-tag{fill:var(--fg-3);font-family:var(--mono);font-size:11.5px}.guide{max-width:1160px;padding:44px var(--gutter-r) 96px var(--gutter-l);grid-template-columns:200px minmax(0,1fr);gap:56px;margin:0 auto;display:grid}.guide-toc{top:calc(var(--nav-h) + 32px);flex-direction:column;align-self:start;gap:6px;font-size:14px;display:flex;position:sticky}.guide-toc a{color:var(--fg-3);text-decoration:none}.guide-toc a:hover{color:var(--fg)}.prose{flex-direction:column;gap:14px;min-width:0;max-width:68ch;display:flex}.prose h1{letter-spacing:-.03em;font-size:clamp(34px,4vw,46px)}.prose section{scroll-margin-top:var(--nav-h);flex-direction:column;gap:12px;padding-top:30px;display:flex}.prose h2{font-size:24px}.prose p,.prose li{color:var(--fg-2)}.prose strong{color:var(--fg);font-weight:500}.prose ol{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.prose code{color:var(--blue-soft);overflow-wrap:anywhere;font-size:.88em}.prose pre code{color:inherit}.prose a{color:var(--blue-soft)}.banner{border:1px solid var(--line-2);color:var(--fg-2);padding:10px 14px;font-size:14px}.defs{grid-template-columns:110px minmax(0,1fr);gap:8px 18px;margin:0;display:grid}.defs dt{color:var(--fg)}.defs dd{color:var(--fg-2);margin:0}@media (max-width:760px){.guide{grid-template-columns:minmax(0,1fr);gap:20px}.guide-toc{display:none;position:static}}
