:root{--paper:#f4f4f2;--surface:#fff;--ink:#26282b;--muted:#6f747c;--faint:#a9adb3;--line:#e2e2de;--accent:#2f5382;--accent-soft:#eaeff6;--ok:#2e7d4f;--ok-soft:#e4f1e8;--warn:#9a6c12;--warn-soft:#f6edd7;--bad:#b3402e;--bad-soft:#f7e5e1;--code-bg:#26282b;--code-ink:#f4f4f2;--serif:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif}:root[data-theme=dark]{--paper:#1a1b1d;--surface:#222427;--ink:#ecebe7;--muted:#9a9ea5;--faint:#6a6f76;--line:#33363a;--accent:#8fb0dd;--accent-soft:#1c2a3e;--ok:#7cc39a;--ok-soft:#1b2e23;--warn:#d9b36a;--warn-soft:#2f2716;--bad:#e08a7b;--bad-soft:#35201c;--code-bg:#111214;--code-ink:#ecebe7}*{box-sizing:border-box;box-shadow:none!important;border-radius:0!important}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}::selection{background:var(--accent-soft)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}p{margin:0}a{color:inherit}img{max-width:100%}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.muted{color:var(--muted)}.btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:0 0}code{font-family:var(--mono);font-size:.88em}nav.top{z-index:40;background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}nav.top .inner{align-items:center;gap:24px;height:60px;display:flex}nav.top .brand img{height:21px;display:block}:root[data-theme=dark] nav.top .brand img,:root[data-theme=dark] footer .brand img{filter:invert(.93)}nav.top a.l{color:var(--muted);font-size:14.5px;text-decoration:none}nav.top a.l:hover{color:var(--ink)}nav.top .right{align-items:center;gap:20px;margin-left:auto;display:flex}@media (width<=640px){nav.top .hide-sm{display:none}}footer{border-top:1px solid var(--line);background:var(--surface);margin-top:110px}footer .inner{grid-template-columns:1.6fr repeat(3,1fr);gap:28px;padding:44px 24px 28px;font-size:14px;display:grid}footer .brand img{height:19px;margin-bottom:12px;display:block}footer h4{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:500}footer a{color:var(--ink);padding:3px 0;text-decoration:none;display:block}footer a:hover{color:var(--accent)}footer .legal{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;padding-top:18px;font-size:12.5px}@media (width<=760px){footer .inner{grid-template-columns:1fr 1fr}footer .about{grid-column:1/-1}}.reveal{opacity:0;transition:opacity .6s,transform .6s;transition-delay:var(--d,0s);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.it:where(.astro-s5r2zx2f){text-align:left;max-width:600px;margin:26px auto 0}.it-tabs:where(.astro-s5r2zx2f){border-bottom:1px solid var(--line);gap:0;display:flex}.it-tab:where(.astro-s5r2zx2f){font-family:var(--mono);letter-spacing:.06em;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:12px}.it-tab:where(.astro-s5r2zx2f):hover{color:var(--ink)}.it-tab:where(.astro-s5r2zx2f)[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.it-box:where(.astro-s5r2zx2f){background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 12px 18px;font-size:14px;display:flex}.it-cmd:where(.astro-s5r2zx2f){white-space:nowrap;scrollbar-width:none;overflow-x:auto}.it-cmd:where(.astro-s5r2zx2f)::-webkit-scrollbar{display:none}.it-p:where(.astro-s5r2zx2f){opacity:.5;margin-right:8px}.it-copy:where(.astro-s5r2zx2f){font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--code-ink);border:1px solid color-mix(in srgb, var(--code-ink) 30%, transparent);cursor:pointer;background:0 0;flex:none;padding:4px 9px;font-size:11px}.it-copy:where(.astro-s5r2zx2f):hover{border-color:var(--code-ink)}.it-note:where(.astro-s5r2zx2f){color:var(--muted);text-align:center;margin-top:10px;font-size:13px}.it-note:where(.astro-s5r2zx2f) a{color:var(--accent)}.hero:where(.astro-lcdefpme){text-align:center;padding-top:56px;padding-bottom:30px}.hero:where(.astro-lcdefpme) canvas:where(.astro-lcdefpme){max-width:min(520px,90vw);height:auto;color:var(--ink);margin:0 auto;display:block}.hero:where(.astro-lcdefpme) h1:where(.astro-lcdefpme){margin-top:6px;font-size:clamp(34px,5.6vw,58px)}.hero:where(.astro-lcdefpme) .sub:where(.astro-lcdefpme){max-width:640px;color:var(--muted);margin:18px auto 0;font-size:18px}.hero:where(.astro-lcdefpme) .sub:where(.astro-lcdefpme) b:where(.astro-lcdefpme){color:var(--ink);font-weight:600}.cta:where(.astro-lcdefpme){flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.fine:where(.astro-lcdefpme){color:var(--muted);margin-top:12px;font-size:13px}section:where(.astro-lcdefpme).block{padding-top:96px}.head:where(.astro-lcdefpme){max-width:660px}.head:where(.astro-lcdefpme) h2:where(.astro-lcdefpme){margin-top:8px;font-size:clamp(26px,3.4vw,36px)}.head:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);margin-top:12px;font-size:17px}.demo:where(.astro-lcdefpme){border:1px solid var(--line);background:var(--surface);grid-template-columns:1.15fr 1fr;margin-top:34px;display:grid}.demo:where(.astro-lcdefpme) .doc:where(.astro-lcdefpme){border-right:1px solid var(--line);padding:26px 28px}.demo:where(.astro-lcdefpme) .doc:where(.astro-lcdefpme) .bar:where(.astro-lcdefpme){justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.demo:where(.astro-lcdefpme) .doc:where(.astro-lcdefpme) h3:where(.astro-lcdefpme){margin-bottom:12px;font-size:21px}.demo:where(.astro-lcdefpme) .doc:where(.astro-lcdefpme) p:where(.astro-lcdefpme).body{font-family:var(--serif);font-size:18px;line-height:1.75}.s:where(.astro-lcdefpme){cursor:pointer;border-bottom:2px solid #0000;outline:none;padding:1px 0}.s:where(.astro-lcdefpme)[data-v=supported]{background:color-mix(in srgb, var(--ok) 13%, transparent);border-color:var(--ok)}.s:where(.astro-lcdefpme)[data-v=partial]{background:color-mix(in srgb, var(--warn) 15%, transparent);border-color:var(--warn)}.s:where(.astro-lcdefpme)[data-v=unsupported]{background:color-mix(in srgb, var(--bad) 14%, transparent);border-color:var(--bad)}.s:where(.astro-lcdefpme).on[data-v=supported]{background:color-mix(in srgb, var(--ok) 30%, transparent)}.s:where(.astro-lcdefpme).on[data-v=partial]{background:color-mix(in srgb, var(--warn) 32%, transparent)}.s:where(.astro-lcdefpme).on[data-v=unsupported]{background:color-mix(in srgb, var(--bad) 28%, transparent)}.s:where(.astro-lcdefpme):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s:where(.astro-lcdefpme) sup:where(.astro-lcdefpme){font-family:var(--mono);color:var(--accent);margin-left:1px;font-size:11px}.tally:where(.astro-lcdefpme){font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:18px;font-size:11.5px;display:flex}.chip:where(.astro-lcdefpme){font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid;padding:2px 7px;font-size:10.5px}.chip:where(.astro-lcdefpme).supported{color:var(--ok)}.chip:where(.astro-lcdefpme).partial{color:var(--warn)}.chip:where(.astro-lcdefpme).unsupported{color:var(--bad)}.demo:where(.astro-lcdefpme) .ev:where(.astro-lcdefpme){background:var(--paper);padding:26px 28px}.ev:where(.astro-lcdefpme) .quote:where(.astro-lcdefpme){font-family:var(--serif);border-left:2px solid var(--line);margin-top:14px;padding-left:14px;font-size:17px;line-height:1.6}.ev:where(.astro-lcdefpme) .quote:where(.astro-lcdefpme) mark:where(.astro-lcdefpme){background:color-mix(in srgb, var(--ok) 18%, transparent);color:inherit}.ev:where(.astro-lcdefpme) .src:where(.astro-lcdefpme){margin-top:14px;font-size:14px}.ev:where(.astro-lcdefpme) .meta:where(.astro-lcdefpme){font-family:var(--mono);color:var(--muted);margin-top:3px;font-size:11.5px}.ev:where(.astro-lcdefpme) .note:where(.astro-lcdefpme){color:var(--muted);margin-top:14px;font-size:14.5px}.ev:where(.astro-lcdefpme) .none:where(.astro-lcdefpme){color:var(--bad);margin-top:14px;font-size:15px}.rules:where(.astro-lcdefpme){border:1px solid var(--line);border-top:0;grid-template-columns:repeat(3,1fr);gap:0;display:grid}.rules:where(.astro-lcdefpme) div:where(.astro-lcdefpme){border-right:1px solid var(--line);background:var(--surface);padding:20px 22px}.rules:where(.astro-lcdefpme) div:where(.astro-lcdefpme):last-child{border-right:0}.rules:where(.astro-lcdefpme) b:where(.astro-lcdefpme){margin:6px 0 4px;font-size:15px;display:block}.rules:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);font-size:14px}.steps:where(.astro-lcdefpme){border:1px solid var(--line);grid-template-columns:repeat(5,1fr);margin-top:34px;display:grid}.step:where(.astro-lcdefpme){border-right:1px solid var(--line);background:var(--surface);padding:20px 18px 22px}.step:where(.astro-lcdefpme):last-child{border-right:0}.step:where(.astro-lcdefpme) .n:where(.astro-lcdefpme){font-family:var(--mono);color:var(--accent);font-size:11px}.step:where(.astro-lcdefpme) b:where(.astro-lcdefpme){margin:6px 0;font-size:16px;display:block}.step:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);font-size:14px}.ask:where(.astro-lcdefpme){font-family:var(--mono);color:var(--muted);margin-top:18px;font-size:13px}.ask:where(.astro-lcdefpme) span:where(.astro-lcdefpme){color:var(--ink)}.grid:where(.astro-lcdefpme){border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;display:grid}.feat:where(.astro-lcdefpme){border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);padding:22px 22px 24px}.feat:where(.astro-lcdefpme) b:where(.astro-lcdefpme){margin:6px 0 5px;font-size:16px;display:block}.feat:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);font-size:14px}.models:where(.astro-lcdefpme){grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;display:grid}.model:where(.astro-lcdefpme){border:1px solid var(--line);background:var(--surface);padding:24px}.model:where(.astro-lcdefpme) h3:where(.astro-lcdefpme){margin:8px 0;font-size:20px}.model:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);font-size:14.5px}.model:where(.astro-lcdefpme) ul:where(.astro-lcdefpme){color:var(--muted);margin:12px 0 0;padding-left:18px;font-size:14px}.note-line:where(.astro-lcdefpme){color:var(--muted);max-width:760px;margin-top:18px;font-size:14.5px}.split:where(.astro-lcdefpme){border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin-top:34px;display:grid}.split:where(.astro-lcdefpme)>div:where(.astro-lcdefpme){background:var(--surface);padding:26px 28px}.split:where(.astro-lcdefpme)>div:where(.astro-lcdefpme)+div:where(.astro-lcdefpme){border-left:1px solid var(--line)}.split:where(.astro-lcdefpme) h3:where(.astro-lcdefpme){margin:8px 0 10px;font-size:19px}.split:where(.astro-lcdefpme) ul:where(.astro-lcdefpme){color:var(--muted);margin:0;padding-left:18px;font-size:14.5px}.split:where(.astro-lcdefpme) li:where(.astro-lcdefpme){margin:5px 0}.split:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--accent)}.final:where(.astro-lcdefpme){text-align:center;padding-top:110px}.final:where(.astro-lcdefpme) h2:where(.astro-lcdefpme){font-size:clamp(28px,4vw,42px)}.final:where(.astro-lcdefpme) p:where(.astro-lcdefpme){color:var(--muted);margin-top:10px;font-size:17px}.final:where(.astro-lcdefpme) p:where(.astro-lcdefpme).fine{max-width:540px;margin:14px auto 0;font-size:13px}.fine:where(.astro-lcdefpme) a:where(.astro-lcdefpme){color:var(--accent)}@media (width<=900px){.demo:where(.astro-lcdefpme){grid-template-columns:1fr}.demo:where(.astro-lcdefpme) .doc:where(.astro-lcdefpme){border-right:0;border-bottom:1px solid var(--line)}.rules:where(.astro-lcdefpme),.models:where(.astro-lcdefpme),.split:where(.astro-lcdefpme){grid-template-columns:1fr}.rules:where(.astro-lcdefpme) div:where(.astro-lcdefpme){border-right:0;border-bottom:1px solid var(--line)}.rules:where(.astro-lcdefpme) div:where(.astro-lcdefpme):last-child{border-bottom:0}.split:where(.astro-lcdefpme)>div:where(.astro-lcdefpme)+div:where(.astro-lcdefpme){border-left:0;border-top:1px solid var(--line)}.steps:where(.astro-lcdefpme){grid-template-columns:1fr 1fr}.step:where(.astro-lcdefpme){border-bottom:1px solid var(--line)}.grid:where(.astro-lcdefpme){grid-template-columns:1fr 1fr}}@media (width<=560px){.steps:where(.astro-lcdefpme),.grid:where(.astro-lcdefpme){grid-template-columns:1fr}.step:where(.astro-lcdefpme){border-right:0}.hero:where(.astro-lcdefpme) .sub:where(.astro-lcdefpme){font-size:16.5px}}
