@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#02040a;--bg-2:#060a14;--ink:#eef2fa;--ink-2:#b9c2d4;--muted:#7d879c;--line:#ffffff14;--line-2:#ffffff24;--card:#ffffff06;--blue:#2f6bff;--blue-2:#5b8cff;--blue-3:#9fbcff;--green:#4ade80;--red:#ff7a7a;--amber:#fbbf24;--sans:"Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;margin:0;font-weight:500}p{text-wrap:pretty;margin:0}button,input,select{font:inherit;color:inherit}::selection{background:#2f6bff73}:focus-visible{outline:2px solid var(--blue-2);outline-offset:3px;border-radius:4px}.wrap{width:min(1160px,100% - 64px);margin:0 auto}@media (max-width:640px){.wrap{width:calc(100% - 32px)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sprite{width:0;height:0;position:absolute;overflow:hidden}.brand{font:600 19px var(--sans);letter-spacing:-.045em;align-items:baseline;gap:6px;display:inline-flex}.brand small{font:450 18px var(--sans);color:var(--muted);letter-spacing:-.03em;margin-left:2px}.btn{height:44px;font:500 15px var(--sans);letter-spacing:-.01em;transition:background .2s, border-color .2s, transform .2s var(--ease), opacity .2s;white-space:nowrap;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.primary{background:var(--blue);color:#fff;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 30px -10px #2f6bffcc}.btn.primary:hover:not(:disabled){background:#4079ff}.btn.light{color:#02040a;background:#eef2fa}.btn.light:hover:not(:disabled){background:#fff}.btn.ghost{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);background:#02040a66}.btn.ghost:hover:not(:disabled){border-color:#ffffff4d}.btn.danger{color:#ffb3b3;background:#ff7a7a14;border:1px solid #ff7a7a66}.btn.danger:hover:not(:disabled){background:#ff7a7a24;border-color:#ff7a7ab3}.btn.sm{height:36px;padding:0 14px;font-size:14px}.btn.xs{border-radius:5px;height:30px;padding:0 11px;font-size:13px}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;inset:0 0 auto}.nav.solid{-webkit-backdrop-filter:saturate(160%)blur(18px);border-bottom-color:var(--line);background:#02040ab8}.nav .wrap{justify-content:space-between;align-items:center;gap:20px;height:64px;display:flex}.nav nav{align-items:center;gap:4px;display:flex}.nav nav a.opt{color:var(--ink-2);border-radius:6px;padding:8px 12px;font-size:14px;transition:color .2s,background .2s}.nav nav a.opt:hover,.nav nav a.opt[aria-current=page]{color:var(--ink);background:#ffffff0d}@media (max-width:520px){.nav nav a.opt.wide{display:none}}.cp{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:7px;place-items:center;transition:color .2s,border-color .2s;display:grid;position:absolute;top:10px;right:10px}.cp:hover{color:var(--ink);border-color:var(--line-2)}.cp svg{width:15px;height:15px}.cp.ok{color:var(--green)}footer.site{border-top:1px solid var(--line);padding:30px 0 40px}footer.site .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}footer.site nav{flex-wrap:wrap;gap:22px;display:flex}footer.site nav a,footer.site small{color:var(--muted);font-size:14px;transition:color .2s}footer.site nav a:hover{color:var(--ink)}.eyebrow{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-3);align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";opacity:.7;background:currentColor;width:18px;height:1px}.prose-page{isolation:isolate;padding:120px 0 100px;position:relative;overflow-x:clip}.prose-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 60% at 40% 0,#1f5bff38,#04124f1f 55%,#02040a00 80%);height:420px;position:absolute;top:-60px;left:-10%;right:-10%}.prose{width:min(760px,100% - 32px);margin:0 auto}.prose .kicker{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-3)}.prose h1{letter-spacing:-.045em;margin-top:10px;font-size:clamp(36px,5vw,52px);line-height:1.04}.prose .updated{font:450 13px var(--mono);color:var(--muted);letter-spacing:0;margin-top:12px}.prose h2{letter-spacing:-.03em;margin-top:44px;font-size:22px}.prose p,.prose li{color:var(--ink-2);font-size:16px;line-height:1.7}.prose p{margin-top:14px}.prose ul{margin:14px 0 0;padding-left:22px}.prose li+li{margin-top:6px}.prose li::marker{color:var(--muted)}.prose strong{color:var(--ink);font-weight:500}.prose a{color:var(--blue-3);text-underline-offset:3px;-webkit-text-decoration:underline #9fbcff59;text-decoration:underline #9fbcff59}.prose code{font:450 .88em var(--mono);color:var(--ink);border:1px solid var(--line);letter-spacing:0;background:#ffffff0f;border-radius:5px;padding:1px 6px}
