@font-face{font-family:Archivo Variable;font-style:italic;font-display:swap;font-weight:900;font-stretch:115% 125%;src:url(/_astro/archivo-latin-ext-italic.DgUl_Ui9.woff2)format("woff2-variations");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:Archivo Variable;font-style:italic;font-display:swap;font-weight:900;font-stretch:115% 125%;src:url(/_astro/archivo-latin-italic.I4O9pnEc.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:400 900;font-stretch:100%;src:url(/_astro/archivo-latin-ext-normal.Lbx2k9_x.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:400 900;font-stretch:100%;src:url(/_astro/archivo-latin-normal.DkbkUOFf.woff2)format("woff2-variations");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:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-400-normal.DZsjfPjH.woff2)format("woff2"),url(/_astro/martian-mono-latin-400-normal.DM4nBGIh.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/martian-mono-latin-600-normal.BlUmYrg6.woff2)format("woff2"),url(/_astro/martian-mono-latin-600-normal.CDEEqth2.woff)format("woff")}:root{--bg:#0d0d0d;--surface:#151515;--surface-2:#1c1c1c;--surface-sheet:#121212;--line:#ffffff1a;--line-strong:#ffffff38;--text:#f3f4eb;--muted:#f3f4eb99;--accent:#ebf958;--accent-hover:#f4ff86;--accent-press:#d6e43f;--accent-soft:#ebf9581f;--on-accent:#0d0d0d;--danger:#ff6b5c;--ok:#4fd18b;--radius:14px;--radius-lg:24px;--r-input:12px;--r-chip:999px;--dur-fast:.1s;--dur:.22s;--dur-slow:.42s;--ease:cubic-bezier(.2, .8, .2, 1);--font:"Archivo Variable", "Archivo", system-ui, sans-serif;--mono:"Martian Mono", ui-monospace, monospace;--focus:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--shadow-modal:0 24px 60px -20px #000000b3;--gutter:16px;--max:1440px;color-scheme:dark}@media (width>=720px){:root{--gutter:clamp(16px, 3vw, 40px)}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font:400 16px / 1.55 var(--font);-webkit-font-smoothing:antialiased;font-stretch:100%;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}a:hover{text-decoration-color:var(--text)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,.display{font-family:var(--font);letter-spacing:-.04em;text-wrap:balance;font-style:italic;font-weight:900;font-stretch:115%;line-height:.92}h1{font-size:clamp(40px,8vw,96px)}h2{font-size:clamp(36px,5vw,72px)}h3{font:800 20px / 1.2 var(--font);letter-spacing:-.01em;font-stretch:100%}p{text-wrap:pretty}.scene,.eyebrow{font:400 11px / 1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:.82em}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{border-top:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 800px;padding:72px 0}.lede{color:var(--muted);max-width:34em;font-size:18px;line-height:1.5}.small{font-size:14px}.muted,.sub{color:var(--muted)}.stack>*+*{margin-top:12px}.kv{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}.notice{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);padding:12px 16px;font-size:14px}.err,.err-text{color:var(--danger)}.ok-text{color:var(--ok)}.warn{color:var(--text)}.actions{flex-wrap:wrap;gap:12px;display:flex}.link{color:var(--text);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{gap:6px;display:grid}.field input,.field select,input[type=text],input[type=email],input[type=password]{border:1px solid var(--line);border-radius:var(--r-input);background:var(--surface);height:48px;color:var(--text);font:400 16px / 1 var(--font);padding:0 14px}.field input:focus,input:focus{border-color:var(--accent);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.check{align-items:baseline;gap:8px;display:flex}.check:before{content:"✓";color:var(--ok);font-weight:700}.badge{background:var(--accent-soft);height:22px;color:var(--text);font:400 10px / 1 var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.prose{max-width:44em}.prose h1{margin:48px 0 24px}.prose h2{margin:48px 0 16px;font-size:clamp(26px,4.5vw,40px)}.prose h3{margin:28px 0 8px}.prose p,.prose ul,.prose ol{color:var(--muted);margin:0 0 16px}.prose li{margin:4px 0 4px 20px}.prose strong{color:var(--text)}.prose .updated{font:400 11px / 1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:var(--surface-2);padding:8px 12px;top:16px;left:16px}.btn{border:1px solid var(--line);backdrop-filter:blur(8px);min-height:44px;color:var(--text);font:650 14px / 1.2 var(--font);white-space:nowrap;cursor:pointer;user-select:none;background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur)}}.btn:hover:not(:disabled,[aria-disabled=true]){border-color:var(--line-strong);background:#ffffff1a}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{opacity:.38;cursor:not-allowed}.btn[aria-busy=true]{pointer-events:none}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn-primary:hover:not(:disabled,[aria-disabled=true]){background:var(--accent-hover);color:var(--on-accent);border-color:#0000}.btn-primary:disabled,.btn-primary[aria-disabled=true]{opacity:1;background:var(--surface-2);border-color:var(--line);color:var(--muted)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-sm{min-height:38px;padding:8px 14px;font-size:13px}.btn-lg{min-height:52px;padding:15px 26px;font-size:15px}.btn-block{width:100%}.btn .meta{opacity:.75;font-weight:400}.chip{border:1px solid var(--line);min-height:36px;color:var(--muted);font:500 13px / 1.2 var(--font);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:no-preference){.chip{transition:color var(--dur), border-color var(--dur), background-color var(--dur), transform var(--dur-fast)}}.chip:hover:not(:disabled,[aria-disabled=true]){color:var(--text);border-color:var(--line-strong)}.chip:active:not(:disabled,[aria-disabled=true]){transform:scale(.96)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chip:disabled,.chip[aria-disabled=true]{opacity:.38;cursor:not-allowed}.chip[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.chip .n{font:400 10px / 1 var(--mono);opacity:.7}.seg{border:1px solid var(--line);background:var(--surface);border-radius:999px;max-width:100%;padding:4px;display:inline-flex;position:relative}.seg-thumb{z-index:0;background:var(--accent);visibility:hidden;border-radius:999px;width:0;position:absolute;top:4px;bottom:4px;left:0}.seg[data-thumb] .seg-thumb{visibility:visible}.seg-opt{z-index:1;color:var(--muted);font:600 13px / 1.2 var(--font);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 16px;position:relative}@media (prefers-reduced-motion:no-preference){.seg-opt{transition:color var(--dur), background-color var(--dur) var(--ease), transform var(--dur-fast)}}.seg-opt:hover:not(:disabled,[aria-checked=true]){color:var(--text);background:#ffffff0f}.seg-opt:active:not(:disabled){transform:scale(.97)}.seg-opt:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.seg-opt:disabled,.seg-opt[aria-disabled=true]{opacity:.38;cursor:not-allowed}.seg-opt[aria-checked=true]{background:var(--accent);color:var(--on-accent)}.seg-hint{font:400 10px / 1 var(--mono);letter-spacing:0;margin-left:4px}.seg[data-thumb] .seg-opt[aria-checked=true]{color:var(--on-accent);background:0 0}@media (prefers-reduced-motion:no-preference){.seg[data-live] .seg-thumb{transition:translate var(--dur) var(--ease), width var(--dur) var(--ease)}}.sheet-scrim{z-index:50;backdrop-filter:blur(10px);background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sheet);width:min(560px,100%);max-height:min(860px,92svh);box-shadow:var(--shadow-modal);padding:28px;position:relative;overflow:auto}.sheet-split{grid-template-columns:360px 1fr;width:min(1020px,100%);height:min(860px,92svh);padding:0;display:grid;overflow:hidden}.sheet-media{background:#000;min-height:0;position:relative}.sheet-media>video,.sheet-media>img{object-fit:cover;width:100%;height:100%}.sheet-panel{overscroll-behavior:contain;flex-direction:column;gap:24px;min-height:0;padding:28px;display:flex;overflow:auto}.sheet:focus{outline:none}.sheet-title{padding-right:48px;font-size:clamp(26px,4vw,36px)}.sheet-head{z-index:3;background:var(--surface-sheet);justify-content:space-between;align-items:flex-start;gap:16px;margin:-28px -28px 0;padding:20px 20px 12px 28px;display:flex;position:sticky;top:0}.sheet-head .sheet-title{padding-top:8px;padding-right:0}.sheet-head .sheet-close{flex:none;position:static}.sheet-grab{display:none}.sheet-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid;position:absolute;top:14px;right:14px}.sheet-close:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.sheet-close:active:not(:disabled){transform:scale(.94)}.sheet-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sheet-close:disabled{opacity:.38;cursor:not-allowed}@media (width<=760px){.sheet-scrim{padding:0 0 var(--kb,0px);align-items:flex-end}.sheet{width:100%;max-height:calc(94svh - var(--kb,0px));padding:28px 16px calc(20px + env(safe-area-inset-bottom));border-bottom:0;border-radius:22px 22px 0 0}.sheet-split{height:auto;display:block;overflow:auto}.sheet-split .sheet-media{height:34svh}.sheet-split .sheet-panel{padding:20px 16px calc(14px + env(safe-area-inset-bottom));overflow:visible}.sheet-head{margin:-20px -16px 0;padding:12px 12px 10px 16px}.sheet-grab{z-index:4;background:#fff6;border-radius:4px;width:40px;height:4px;display:block;position:absolute;top:8px;left:50%;translate:-50%}}@media (prefers-reduced-motion:no-preference){.sheet-scrim{animation:sheet-fade var(--dur) var(--ease)}.sheet{animation:sheet-in var(--dur-slow) var(--ease)}.sheet-scrim[data-state=closing]{animation:sheet-fade-out var(--dur) var(--ease) forwards;pointer-events:none}.sheet[data-state=closing]{animation:sheet-out var(--dur-slow) var(--ease) forwards}@media (width<=760px){.sheet{animation-name:sheet-up}.sheet[data-state=closing]{animation-name:sheet-down}}}@keyframes sheet-fade-out{to{opacity:0}}@keyframes sheet-out{to{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes sheet-up{0%{transform:translateY(100%)}}.skeleton{border-radius:var(--radius);background:var(--surface);width:100%;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff0d 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:no-preference){.skeleton:after{animation:1.4s linear infinite shimmer}}@keyframes shimmer{to{transform:translate(100%)}}.spinner{border:2px solid var(--line-strong);vertical-align:-.125em;border-top-color:currentColor;border-radius:50%;flex:none;width:1em;height:1em;display:inline-block}@media (prefers-reduced-motion:no-preference){.spinner{animation:.7s linear infinite spin}}@media (prefers-reduced-motion:reduce){.spinner{animation:1.6s ease-in-out infinite pulse}}@keyframes pulse{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}.hdr{z-index:40;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);height:60px;position:sticky;top:0}.hdr .wrap{align-items:center;gap:28px;height:100%;display:flex}.nav{font:500 14px / 1 var(--font);gap:24px;display:flex}.nav a{color:var(--muted);white-space:nowrap;padding:8px 0;text-decoration:none}@media (prefers-reduced-motion:no-preference){.nav a{transition:color var(--dur)}}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a:active{opacity:.7}.hdr .right{align-items:center;gap:10px;margin-left:auto;display:flex}.packs{align-items:center;gap:6px;display:inline-flex}.pack{border:1px solid var(--line);color:var(--muted);font:400 11px / 1 var(--mono);white-space:nowrap;border-radius:999px;padding:6px 10px}.account-chip{min-height:36px;color:var(--text);border-radius:999px;align-items:center;gap:8px;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:no-preference){.account-chip .avatar,.account-chip .pack{transition:border-color var(--dur), color var(--dur), transform var(--dur-fast)}}.account-chip:hover .avatar,.account-chip:hover .pack{border-color:var(--line-strong);color:var(--text)}.account-chip:active .avatar{transform:scale(.94)}.account-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avatar{border:1px solid var(--line);background:var(--surface-2);width:34px;height:34px;font:700 14px / 1 var(--font);border-radius:50%;place-items:center;display:grid}.account-chip.is-loading{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;min-height:0}@media (width<=520px){.hdr .wrap{gap:14px}.hdr .wordmark{gap:6px;font-size:18px}.nav{gap:14px;font-size:13px}.hdr .right{gap:6px}.packs{border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-end;gap:1px;padding:4px 8px}.pack{border:0;padding:0;font-size:10px;line-height:1.15}.avatar,.account-chip.is-loading{width:30px;height:30px}.account-chip{gap:4px}}.wordmark{font:900 21px / 1 var(--font);letter-spacing:-.03em;color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-style:italic;font-stretch:118%;text-decoration:none;display:inline-flex}.wordmark .cold,.wordmark .warm{color:var(--text)}.wordmark .cut{background:var(--accent);width:1px;height:20px}.site-footer{border-top:1px solid var(--line);background:var(--bg);padding:56px 0 40px}.site-footer .cols{gap:32px;display:grid}@media (width<=719px){.site-footer .cols{grid-template-columns:1fr 1fr;gap:24px 16px}.site-footer .brand{grid-column:1/-1}}@media (width>=720px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr}}.site-footer .brand .fine{max-width:28em;margin-top:12px}.site-footer .cols>div:not(.brand){align-content:start;gap:10px;display:grid}.site-footer a,.footer-link{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;font-size:14px;text-decoration:none}.site-footer a:hover,.footer-link:hover{color:var(--text)}.site-footer .languages{flex-wrap:wrap;gap:8px 20px;margin-top:32px;display:flex}.site-footer .languages a[aria-current=page]{color:var(--text)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}main{min-height:60vh}.cookie{z-index:50;background:var(--surface-2);border:1px solid var(--line);max-width:640px;box-shadow:var(--shadow-modal);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 auto;padding:14px 16px;font-size:14px;display:flex;position:fixed;bottom:12px;left:12px;right:12px}html[data-cookie-open] body{padding-bottom:var(--cookie-h,0px)}.cookie p{flex:260px}.cookie-actions{gap:8px;display:flex}.announce{background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}.announce .wrap{justify-content:space-between;align-items:center;gap:12px;display:flex}.announce .x{color:var(--muted);cursor:pointer;background:0 0;border:0}.sticky-cta{display:none}@media (width<=759px){.sticky-cta{z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 92%, transparent);color:var(--text);border-top:1px solid var(--line);opacity:1;display:block;position:fixed;bottom:0;left:0;right:0;transform:translateY(0)}.sticky-cta[data-on=false]{opacity:0;pointer-events:none;transform:translateY(110%)}body:has(.sticky-cta) .site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.site-footer a,.footer-link{padding-block:11px;display:inline-block}}@media (width<=759px) and (prefers-reduced-motion:no-preference){.sticky-cta{transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease)}}.overlay{z-index:50;backdrop-filter:blur(10px);background:#000000b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:100%;max-width:420px;max-height:calc(100vh - 32px);box-shadow:var(--shadow-modal);padding:28px;position:relative;overflow:auto}.dialog h2{padding-right:36px;font-size:34px}.dialog .sub{color:var(--muted);font-size:15px}.dialog .x{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px;position:absolute;top:16px;right:16px}.dialog .notice{margin-top:16px}.stack{gap:12px;display:grid}.divider{color:var(--muted);font:400 11px / 1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.field{gap:6px;font-size:14px;font-weight:500;display:grid}.field input{border:1px solid var(--line);border-radius:var(--r-input);background:var(--bg);height:48px;color:var(--text);padding:0 14px;font-size:16px}.field input:focus{border-color:var(--muted);box-shadow:var(--focus);outline:none}.link{color:var(--text);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:14px}.code{justify-content:space-between;gap:8px;margin:8px 0;display:flex}.code-box{border:1px solid var(--line);border-radius:var(--r-input);background:var(--bg);width:100%;max-width:52px;height:56px;color:var(--text);text-align:center;font:400 24px / 1 var(--mono)}.code-box:focus{border-color:var(--muted);box-shadow:var(--focus);outline:none}.fine{color:var(--muted);font-size:13px}.notice .ic:before{content:"!"}.notice.ok .ic:before{content:"✓"}.challenge:empty{display:none}@media (width<=760px){.overlay{place-items:end stretch;padding:0}.dialog{border-radius:22px 22px 0 0;max-width:none;max-height:92vh;padding:12px 20px 28px}.dialog:before{content:"";background:var(--line);width:40px;height:3px;margin:0 auto 18px;display:block}}
