:root{color-scheme:dark;--bg:#1b1b1d;--bg-side:#1b1b1d;--panel:#232326;--panel-2:#2a2a2e;--text:#c1c2c6;--heading:#f3f4f6;--muted:#8a8b91;--accent:#4747b3;--accent-text:#fff;--lavender:#b6b6e2;--pill-bg:#3d3bb7;--pill-text:#d7d7ef;--link:#b6b6e2;--border:#2c2c2e;--rule:#3a3a3e;--good:#2ec27e;--bad:#ec5d5e;--warn:#eaa271;--track:#6a6c78;--code-bg:#131314;--code-text:#e6e6e6;--code-muted:#8a8b91;--code-border:#2c2c2e;--code-panel:#2a2a2e;--r:4px;--r-card:8px;--maxw:820px;--good-code:#2ec27e;--bad-code:#ec5d5e;--lavender-code:#b6b6e2;--font-sans:"Helvetica Neue", "SF Pro Display", Arial, Roboto, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}html[data-theme=light]{color-scheme:light;--bg:#fff;--bg-side:#fff;--panel:#f7f7f8;--panel-2:#ececef;--text:#44444a;--heading:#17171c;--muted:#6e6e76;--accent:#4747b3;--accent-text:#fff;--lavender:#5553ce;--pill-bg:#e3e3f7;--pill-text:#3d3bb7;--link:#5553ce;--border:#e4e4e8;--rule:#c9c9cf;--good:#1a7f4e;--bad:#c93338;--warn:#b05c1d;--track:#d4d4da}html[data-surface=marketing],html[data-surface=reader]{color-scheme:light;--bg:#fff;--bg-side:#fff;--panel:#f7f7fb;--panel-2:#f0eeff;--text:#353b4a;--heading:#171923;--muted:#596174;--accent:#5145cd;--accent-hover:#4035ad;--accent-text:#fff;--lavender:#5145cd;--pill-bg:#f0eeff;--pill-text:#4035ad;--link:#5145cd;--border:#e2e5ed;--rule:#d0d5e1;--good:#18794e;--bad:#b42318;--warn:#92520b;--track:#d4d4da;--r:8px;--r-card:12px;--marketing-soft:#f7f7fb;--marketing-tint:#f0eeff;--marketing-illustration-line:#b7b0e8;--marketing-shadow:0 8px 28px #211e4c0d;--marketing-max:1200px;--marketing-radius:24px;--marketing-section-gap:clamp(3rem, 6vw, 5rem)}html[data-surface=marketing][data-theme=dark],html[data-surface=reader][data-theme=dark]{color-scheme:dark;--bg:#171821;--bg-side:#171821;--panel:#20222e;--panel-2:#2a2941;--text:#d1d5e1;--heading:#f4f5fb;--muted:#a6aec1;--accent:#6455df;--accent-hover:#5545cf;--lavender:#bcb5ff;--pill-bg:#302c51;--pill-text:#c9c3ff;--link:#bcb5ff;--border:#373949;--rule:#4c5064;--good:#60d4a1;--bad:#ff9691;--warn:#efb56e;--track:#60667b;--marketing-soft:#20222e;--marketing-tint:#29253f;--marketing-illustration-line:#6f689c;--marketing-shadow:none}:root{--fig-canvas:#20222e;--fig-surface:#292b3a;--fig-tint:#302c51;--fig-ink:#f4f5fb;--fig-muted:#b8bdd0;--fig-line:#9296b0;--fig-accent:#bcb5ff;--fig-solid:#403571;--fig-inset:#302553;--fig-on-solid:#f8f7ff;--fig-on-solid-accent:#ddd8ff;--fig-on-solid-good:#91efbc;--fig-on-solid-warn:#ffdcab;--fig-on-solid-bad:#ffb8b3;--fig-good:#60d4a1;--fig-warn:#efb56e;--fig-bad:#ff9691;--fig-good-bg:#203a31;--fig-warn-bg:#3b3025;--fig-bad-bg:#42282e}html[data-theme=light]{--fig-canvas:#f7f7fb;--fig-surface:#fff;--fig-tint:#f0eeff;--fig-ink:#252333;--fig-muted:#596174;--fig-line:#7d7996;--fig-accent:#5145cd;--fig-solid:#4035ad;--fig-inset:#302680;--fig-good:#18794e;--fig-warn:#92520b;--fig-bad:#b42318;--fig-good-bg:#e9f7ef;--fig-warn-bg:#fff3e1;--fig-bad-bg:#fef0ef}html[data-surface=reader]{--bg-side:var(--panel);--reader-tint:var(--marketing-tint);--reader-selected:var(--marketing-tint);--reader-control-bg:var(--bg)}html[data-surface=reader] :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--link);outline-offset:3px}html[data-surface=marketing] .btn{border-color:var(--border);text-align:center;min-height:44px;padding:.8rem 1.15rem;font-weight:600;line-height:1.35}html[data-surface=marketing] .btn.primary{border-color:var(--accent)}html[data-surface=marketing] .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);filter:none}html[data-surface=marketing] :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--link);outline-offset:3px}*{box-sizing:border-box}html{font-size:calc(16px * var(--font-scale,1))}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;padding:0;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}html[data-surface=marketing] :where(p,dd,td,.launch-cta-line,.mfoot .marks) a:not(:where(.btn,.cellbtn,[role=button],nav a)){text-underline-offset:.2em;text-decoration:underline}code,pre,kbd{font-family:var(--font-mono);font-size:.92em}:not(pre)>code{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r);padding:.1em .35em}pre{border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.1rem;line-height:1.55;position:relative;overflow-x:auto;background:var(--code-bg)!important}html[data-theme=light] pre{border-color:var(--code-border)}h1,h2,h3{color:var(--heading);font-weight:600;line-height:1.2}p,li{line-height:1.55}hr{border:none;border-top:1px solid var(--border);margin:2.2rem 0}table{border-collapse:collapse;width:fit-content;max-width:100%;margin:1.6rem 0;font-size:.94em;line-height:1.5;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;padding:.6rem 1.1rem .6rem 0}th:last-child,td:last-child{padding-right:0}th{color:var(--heading);border-bottom:1px solid var(--rule);white-space:nowrap;font-weight:600}tbody tr+tr td{border-top:1px solid var(--border)}td code{white-space:nowrap}button{font:inherit;cursor:pointer}[hidden]{display:none!important}.btn{color:var(--heading);border:1px solid var(--heading);border-radius:var(--r);background:0 0;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1rem;font-size:.9rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--panel-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(1.12);background:var(--accent)}.btn[disabled]{opacity:.4;cursor:not-allowed}.pill{background:var(--pill-bg);color:var(--pill-text);border-radius:var(--r);letter-spacing:.04em;text-transform:uppercase;padding:.25rem .5rem;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-block}.muted{color:var(--muted)}pre:has(>.copy-btn){padding-top:3rem!important}.copy-btn{background:var(--code-panel);color:var(--code-text);border:1px solid var(--code-border);border-radius:var(--r);opacity:0;padding:.2rem .55rem;font-size:.75rem;font-weight:600;transition:opacity .15s;position:absolute;top:8px;right:8px}pre:hover .copy-btn,pre:focus-within .copy-btn{opacity:1}@media (hover:none){.copy-btn{opacity:1}}.copy-btn:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px}.copy-btn.copied{color:var(--good-code);border-color:var(--good-code)}.arcade-frame{aspect-ratio:10/9;border:0;width:100%;min-height:540px;display:block}
