@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/geist-mono-400-LC9RFr9I.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:Geist Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/geist-mono-600-DQQBcVN0.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{--bg:#0b0e12;--raise:#131519;--raise-2:#181a1d;--hover:#1f2124;--line:#303235;--line-soft:#1f2124;--text:#e6e6e6;--strong:#fff;--muted:#818284;--faint:#5d5e61;--accent:#00d892;--accent-strong:#37e6a8;--accent-dim:#002923;--accent-line:#005441;--accent-text:#0b0e12;--error:#ff6785;--error-line:#97373b;--base:#5d5e61;--good:var(--accent);--bad:var(--error);--t-s:#e5b567;--t-a:#8cb4ff;--mono:"Geist Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--page:960px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f2efe6;--raise:#f8f6f0;--raise-2:#e9e5da;--hover:#e1dccf;--line:#cdc7b8;--line-soft:#e1dccf;--text:#1b1c1e;--strong:#000;--muted:#6b675e;--faint:#9b968a;--accent:#007455;--accent-strong:#005441;--accent-dim:#dcebdf;--accent-line:#8fc4aa;--accent-text:#f8f6f0;--error:#b3261e;--error-line:#e3a29d;--base:#b3ad9f;--t-s:#8a5300;--t-a:#2456a6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f2efe6;--raise:#f8f6f0;--raise-2:#e9e5da;--hover:#e1dccf;--line:#cdc7b8;--line-soft:#e1dccf;--text:#1b1c1e;--strong:#000;--muted:#6b675e;--faint:#9b968a;--accent:#007455;--accent-strong:#005441;--accent-dim:#dcebdf;--accent-line:#8fc4aa;--accent-text:#f8f6f0;--error:#b3261e;--error-line:#e3a29d;--base:#b3ad9f;--t-s:#8a5300;--t-a:#2456a6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line) var(--bg);scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font:15px/1.6 var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;margin:0}::selection{background:var(--accent);color:var(--accent-text)}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--accent-strong)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}h1,h2,h3{color:var(--strong);letter-spacing:-.02em;font-weight:600}h1{margin:0 0 6px;font-size:1.55rem;line-height:1.2}h2{text-transform:uppercase;letter-spacing:.06em;margin:36px 0 12px;font-size:1rem}h2:before{content:"## ";color:var(--accent)}p{margin:.6em 0}b,strong{color:var(--strong);font-weight:600}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--error)}.num{font-variant-numeric:tabular-nums}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem}.topnav{border-bottom:1px solid var(--line);background:var(--bg)}.topnav div{max-width:var(--page);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:2px 4px;margin:0 auto;padding:10px 16px;font-size:.78rem;display:flex}.topnav .brand{color:var(--strong);text-transform:none;letter-spacing:0;margin-right:14px;font-size:.95rem;font-weight:600}.topnav .brand:after{content:"_";color:var(--accent);animation:1.1s step-end infinite cursor}@keyframes cursor{50%{opacity:0}}.topnav a{color:var(--muted);padding:3px 6px;text-decoration:none}.topnav a:before,.topnav a:after{content:" ";color:var(--accent)}.topnav a:hover{color:var(--text)}.topnav a[aria-current]{color:var(--strong)}.topnav a[aria-current]:before{content:"["}.topnav a[aria-current]:after{content:"]"}.topnav .theme{margin-left:auto;padding:2px 8px;font-size:.72rem}@media (width<=480px){.topnav div{letter-spacing:.03em;gap:0;padding:10px 12px;font-size:.7rem}.topnav .brand{margin-right:4px;font-size:.88rem}.topnav a{padding:3px 1px}.topnav .theme{letter-spacing:.03em;padding:2px 5px;font-size:.66rem}.topnav .theme .k{display:none}}main{max-width:var(--page);margin:0 auto;padding:32px 16px 48px}header{align-items:center;gap:20px;margin-bottom:26px;padding-bottom:22px;display:flex;position:relative}header:after{content:"";opacity:.6;background:radial-gradient(circle, var(--faint) 1px, transparent 1.4px) 0 0 / 6px 6px repeat-x;height:6px;position:absolute;bottom:0;left:0;right:0}.duck{font:16px/1.15 var(--mono);color:var(--accent);flex:none;margin:0}.kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 6px;font-size:.72rem}.kicker:before{content:"// ";color:var(--faint)}.lede{color:var(--muted);margin:0;font-size:.9rem}.lede a{white-space:nowrap}.box,.card{border:1px solid var(--line-soft);background:var(--raise);border-radius:6px;position:relative}.box[data-label]:before,.card[data-label]:before{content:attr(data-label);background:linear-gradient(var(--bg) 50%, var(--raise) 50%);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-radius:2px;padding:0 6px;font-size:.72rem;line-height:1.2rem;position:absolute;top:-.62rem;left:10px}.box[data-note]:after,.card[data-note]:after{content:attr(data-note);background:linear-gradient(var(--bg) 50%, var(--raise) 50%);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);border-radius:2px;padding:0 6px;font-size:.72rem;line-height:1.2rem;position:absolute;top:-.62rem;right:10px}button{font:.78rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px}button:hover{border-color:var(--muted);background:var(--hover)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button:disabled{opacity:.45;cursor:default}button:disabled:hover{border-color:var(--line);background:0 0}button.primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.chip{border:1px solid var(--line);color:var(--text);border-radius:2px;padding:0 7px;font-size:.78rem;display:inline-block}.chip.new{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}input,select,textarea{font:inherit;color:var(--text)}input:not([type]),input[type=text],input[type=search],select{border:1px solid var(--line);background:var(--bg);border-radius:3px;padding:6px 10px}input:not([type]):focus,input[type=text]:focus,select:focus,textarea:focus{border-color:var(--accent-line);outline:none}textarea:focus-visible{outline:none}@media (pointer:coarse){textarea,select,input:not([type]),input[type=text],input[type=search]{font-size:16px!important}}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:16px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--muted);height:1px}input[type=range]::-moz-range-track{background:var(--muted);height:1px}input[type=range]::-moz-range-progress{background:var(--accent);height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:1px;width:10px;height:14px;margin-top:-7px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:1px;width:10px;height:14px}input[type=checkbox]{appearance:none;border:1px solid var(--muted);cursor:pointer;background:0 0;border-radius:2px;flex:none;place-content:center;width:14px;height:14px;margin:0;display:inline-grid}input[type=checkbox]:before{content:"";background:var(--accent);width:8px;height:8px;transition:transform .1s;transform:scale(0)}input[type=checkbox]:checked{border-color:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled{opacity:.45;cursor:default}.switch{cursor:pointer;align-items:center;gap:8px;display:flex;position:relative}.switch input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.switch .track{border:1px solid var(--muted);border-radius:2px;flex:none;width:30px;height:16px;transition:border-color .15s;position:relative}.switch .track:after{content:"";background:var(--muted);border-radius:1px;width:10px;height:10px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.switch input:checked+.track{border-color:var(--accent)}.switch input:checked+.track:after{background:var(--accent);transform:translate(14px)}.switch input:focus-visible+.track{outline:1px solid var(--accent);outline-offset:2px}.switch.off{opacity:.45;cursor:default}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meter{border:1px solid var(--line);contain:layout paint;border-radius:2px;flex:1;min-width:120px;height:10px;padding:1px}.meter div{background:repeating-linear-gradient(90deg, var(--accent) 0 5px, transparent 5px 7px);width:0;height:100%}.meter.busy div{opacity:.45;width:100%;animation:.7s linear infinite meter-busy}@keyframes meter-busy{to{background-position:7px 0}}@media (prefers-reduced-motion:reduce){.meter.busy div{animation:none}}code,kbd{font:.88em var(--mono)}code{background:var(--raise-2);border-radius:2px;padding:1px 5px}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:0 5px}pre{font-family:var(--mono)}.t-c{color:var(--muted)}.t-s,.t-n{color:var(--t-s)}.t-k{color:var(--accent)}.t-a{color:var(--t-a)}details>summary{cursor:pointer;color:var(--accent);list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"[+] ";color:var(--muted)}details[open]>summary:before{content:"[-] "}.table{overflow-x:auto}.table table{border-collapse:collapse;width:100%;font-size:.82rem}.table th,.table td{text-align:right;border-bottom:1px dashed var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;padding:7px 8px}.table th:first-child,.table td:first-child{text-align:left;padding-left:0}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:normal;vertical-align:bottom;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:400}@media (width<=520px){.table th,.table td{padding:6px 4px;font-size:.74rem}}.cells{background:var(--line-soft);border:1px solid var(--line-soft);gap:1px;display:grid}.cells>*{background:var(--bg)}.sitefoot{max-width:var(--page);border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);flex-wrap:wrap;gap:6px 18px;margin:0 auto;padding:18px 16px 32px;font-size:.72rem;display:flex}.sitefoot a{color:var(--muted);text-decoration:none}.sitefoot a:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.topnav .brand:after{animation:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.topnav{view-transition-name:topnav}::view-transition-old(root){animation-duration:.16s}::view-transition-new(root){animation-duration:.16s}
