:root{color-scheme:light;--paper:#eceff4;--surface:#f8f9fb;--tile:#e5e9f0;--ink:#2e3440;--muted:#4c566a;--line:#d8dee9;--accent:#3b6a9e;--accent-ink:#f8f9fb;--accent-soft:#dbe6f1;--ok:#3b6630;--danger:#a8424c;--warn:#8a6100;--warn-soft:#f6e7c4;--aurora:#8fbcbb, #88c0d0, #81a1c1, #b48ead;--glow:#5e81ac47;--shadow-s:0 1px 2px #2e34400f, 0 1px 1px #2e34400a;--shadow-m:0 6px 18px #2e344014, 0 2px 4px #2e34400d;--shadow-l:0 24px 60px #2e34402e, 0 6px 16px #2e344014;--radius-s:8px;--radius-m:14px;--radius-l:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-s:.875rem;--text-m:1rem;--text-l:1.25rem;--text-xl:clamp(1.75rem, 1.2rem + 2vw, 2.75rem);--page:1180px}:root[data-theme=dark]{color-scheme:dark;--paper:#2e3440;--surface:#3b4252;--tile:#434c5e;--ink:#eceff4;--muted:#c3cad6;--line:#4c566a;--accent:#88c0d0;--accent-ink:#2e3440;--accent-soft:#3e5363;--ok:#cfe0bf;--danger:#eba3aa;--warn:#ebcb8b;--warn-soft:#4a4536;--aurora:#8fbcbb, #88c0d0, #81a1c1, #b48ead;--glow:#88c0d059;--shadow-s:0 1px 2px #0000004d;--shadow-m:0 6px 18px #00000059;--shadow-l:0 24px 60px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#2e3440;--surface:#3b4252;--tile:#434c5e;--ink:#eceff4;--muted:#c3cad6;--line:#4c566a;--accent:#88c0d0;--accent-ink:#2e3440;--accent-soft:#3e5363;--ok:#cfe0bf;--danger:#eba3aa;--warn:#ebcb8b;--warn-soft:#4a4536;--aurora:#8fbcbb, #88c0d0, #81a1c1, #b48ead;--glow:#88c0d059;--shadow-s:0 1px 2px #0000004d;--shadow-m:0 6px 18px #00000059;--shadow-l:0 24px 60px #00000080}}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:72px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-m);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:var(--accent)}.site{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-header{z-index:10;align-items:center;gap:var(--space-3);height:60px;padding:0 var(--space-5);background:color-mix(in srgb, var(--paper) 86%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.wordmark{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.15rem;font-weight:750;text-decoration:none;display:inline-flex}.wordmark-dot{background:conic-gradient(from 210deg, var(--aurora), #8fbcbb);width:14px;height:14px;box-shadow:0 0 12px var(--glow);border-radius:50%}.header-tools{gap:var(--space-2);margin-left:auto;display:flex}.icon-button{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.menu-button{display:none}.site-body{width:100%;max-width:var(--page);grid-template-columns:250px minmax(0,1fr);margin:0 auto;display:grid}.sidebar{max-height:calc(100vh - 60px);padding:var(--space-6) var(--space-4) var(--space-6) var(--space-5);align-self:start;position:sticky;top:60px;overflow-y:auto}.sidebar section+section{margin-top:var(--space-5)}.sidebar h2{margin:0 0 var(--space-2);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar a{border-radius:var(--radius-s);color:var(--muted);font-size:var(--text-s);padding:6px 12px;text-decoration:none;display:block;position:relative}.sidebar a>span:last-child{position:relative}.sidebar a:hover,.sidebar a[aria-current=page]{color:var(--ink)}.nav-marker{border-radius:var(--radius-s);background:var(--accent-soft);position:absolute;inset:0}.site-main{min-width:0;padding:var(--space-6) var(--space-5) var(--space-8)}.site-footer{padding:var(--space-5);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-s);text-align:center}.site-footer p{margin:0}@media (width<=900px){.menu-button{display:inline-grid}.site-body{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:9;background:var(--paper);max-height:none;display:none;position:fixed;inset:60px 0 0}.site-body[data-menu=open] .sidebar{display:block}}.prose{max-width:760px}.prose h1{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.15}.prose h2{margin:var(--space-7) 0 var(--space-3);letter-spacing:-.01em;font-size:1.45rem}.prose h3{margin:var(--space-6) 0 var(--space-2);font-size:1.15rem}.prose :is(h1,h2,h3,h4) a{color:inherit;text-decoration:none}.prose :is(p,ul,ol):not(.demo *){margin:0 0 var(--space-4)}.prose li+li:not(.demo *){margin-top:var(--space-1)}.prose :not(pre)>code{background:var(--tile);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:.88em}.prose pre{margin:0 0 var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);font-family:var(--font-mono);tab-size:2;font-size:.85rem;line-height:1.6;overflow-x:auto}.prose table{width:100%;margin:0 0 var(--space-5);border-collapse:collapse;font-size:var(--text-s);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{color:var(--muted);white-space:nowrap;font-weight:650}.prose td:first-child{min-width:14em}.shiki,.shiki span{background-color:var(--shiki-light-bg,transparent);color:var(--shiki-light)}:root[data-theme=dark] :is(.shiki,.shiki span){background-color:var(--shiki-dark-bg,transparent);color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.shiki,.shiki span){background-color:var(--shiki-dark-bg,transparent);color:var(--shiki-dark)}}.code-block{margin:0 0 var(--space-5)}.code-block pre{margin:0}.code-tabs{margin:0 0 var(--space-5);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}.code-tabs[aria-busy]{min-height:120px}.code-tab-list{gap:var(--space-1);padding:var(--space-2) var(--space-2) 0;background:var(--tile);display:flex}.code-tab{border-radius:var(--radius-s) var(--radius-s) 0 0;color:var(--muted);font:inherit;font-size:var(--text-s);cursor:pointer;background:0 0;border:0;padding:6px 12px}.code-tab[data-selected]{background:var(--surface);color:var(--ink);font-weight:600}.code-tab-panel:not([data-selected]){display:none}.code-path{padding:6px var(--space-4);background:var(--surface);color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.code-tabs .code-block{margin:0}.code-tabs pre{border:0;border-radius:0}.demo{margin:0 0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.demo-bar{padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.demo-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.demo-replay{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--text-s);cursor:pointer;border-radius:999px;padding:4px 12px}.demo-stage{min-height:200px;padding:var(--space-6);place-items:center;display:grid}.sample-card{padding:var(--space-5) var(--space-6);border-radius:var(--radius-m);background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-m);font-weight:650}.search-button{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--text-s);cursor:pointer;border-radius:10px;display:inline-flex}.search-button kbd{border:1px solid var(--line);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:.72rem}.search-shade{z-index:20;background:#2e344066;position:fixed;inset:0}.search-panel{z-index:21;width:min(640px,100vw - 32px);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-l);margin-left:calc(min(640px,100vw - 32px)/-2);position:fixed;top:12vh;left:50%}.search-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);color:var(--ink);font:inherit}.search-hits{max-height:60vh;margin:var(--space-2) 0 0;padding:0;list-style:none;overflow-y:auto}.search-hits a{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);color:var(--ink);gap:2px;text-decoration:none;display:grid}.search-hits a:hover,.search-hits a:focus-visible{background:var(--accent-soft)}.search-hits span{color:var(--muted);font-size:var(--text-s)}.search-hits mark{color:var(--accent);background:0 0;font-weight:650}.search-note{margin:var(--space-3) var(--space-2) var(--space-1);color:var(--muted);font-size:var(--text-s)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.search-button span,.search-button kbd{display:none}}.sample-stack{justify-items:start;gap:var(--space-3);width:min(100%,360px);display:grid}.sample-button{background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:8px 18px;font-weight:650}.sample-box{border-radius:var(--radius-s);background:var(--accent-soft);font-family:var(--font-mono);font-size:var(--text-s);padding:8px 14px}.sample-list{gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;display:grid}.sample-item{border-radius:var(--radius-s);background:var(--accent-soft);padding:10px 14px}.sample-note{color:var(--muted);font-size:var(--text-s);margin:0}.sample-arena{border:2px dashed var(--line);border-radius:var(--radius-m);justify-content:space-around;align-items:center;width:min(100%,360px);height:180px;display:flex;position:relative}.sample-ball{background:var(--accent);width:56px;height:56px;box-shadow:var(--shadow-m);cursor:grab;touch-action:none;border-radius:50%}.sample-ball-alt{background:conic-gradient(from 210deg, var(--aurora), #8fbcbb)}.sample-track{width:min(100%,340px);height:160px;padding:var(--space-3);border:2px dashed var(--line);border-radius:var(--radius-m);align-items:flex-start;display:flex}.sample-switch{background:var(--line);cursor:pointer;border:0;border-radius:999px;justify-content:flex-start;width:96px;padding:6px;transition:background-color .2s;display:flex}.sample-switch[aria-checked=true]{background:var(--accent);justify-content:flex-end}.sample-knob{background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-m);border-radius:50%}.sample-tabs{gap:var(--space-1);border-bottom:1px solid var(--line);display:flex}.sample-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 16px;font-weight:650;position:relative}.sample-tab[aria-selected=true]{color:var(--ink)}.sample-underline{background:var(--accent);border-radius:3px;height:3px;position:absolute;bottom:-2px;left:10px;right:10px}.sample-chips{gap:var(--space-2);flex-wrap:wrap;min-height:40px;margin:0;padding:0;list-style:none;display:flex}.sample-chip button{background:var(--accent-soft);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:var(--text-s);cursor:pointer;border:0;border-radius:999px;padding:8px 14px}.sample-reorder{width:min(100%,280px)}.sample-row{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow-m);cursor:grab;user-select:none;padding:10px 14px}.sample-scroller{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);width:min(100%,360px);overflow:hidden}.sample-progress{background:var(--accent);transform-origin:0;height:4px}.sample-scroll{height:140px;padding:0 var(--space-4);overflow-y:auto}.sample-scroll p{margin:var(--space-3) 0}.sample-field{border:2px dashed var(--line);border-radius:var(--radius-m);touch-action:none;width:min(100%,360px);height:180px;position:relative;overflow:hidden}.sample-dot{background:var(--accent);width:40px;height:40px;box-shadow:var(--shadow-m);pointer-events:none;border-radius:50%;position:absolute;top:0;left:0}
