:root{--sbx-ink:var(--ink,#1a1a1a);--sbx-surface:var(--bg,#fbfbf9);--sbx-muted:var(--muted,#6b6b70);--sbx-rule:var(--rule,#e0e0dc);--sbx-accent:var(--accent,#2f6f4f);--sbx-hover:var(--hover-bg,#0000000d);--sbx-danger:#c0392b;--sbx-warn:var(--warn,#8a6100);--sbx-panel:var(--surface,#fff);--sbx-radius:var(--radius,7px);--sbx-mono:ui-monospace, "SF Mono", Menlo, monospace;--sbx-sans:var(--sans,ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif);--sbx-code-foreground:var(--ink,#1a1a1a);--sbx-code-comment:#7a7f8a;--sbx-code-keyword:#a2264b;--sbx-code-string:#2a7d4f;--sbx-code-expression:#1f7a7a;--sbx-code-constant:#b3541e;--sbx-code-function:#3a5ccc;--sbx-code-punctuation:#6b6b70;--sbx-code-link:#3a5ccc}@media (prefers-color-scheme:dark){:root{--sbx-ink:var(--ink,#e9e9e6);--sbx-surface:var(--bg,#17171a);--sbx-muted:var(--muted,#9a9aa0);--sbx-rule:var(--rule,#34343a);--sbx-accent:var(--accent,#7fc0a0);--sbx-hover:var(--hover-bg,#ffffff12);--sbx-danger:#e06a5c;--sbx-warn:var(--warn,#d8a745);--sbx-panel:var(--surface,#1e1e22);--sbx-code-foreground:var(--ink,#e9e9e6);--sbx-code-comment:#7e8794;--sbx-code-keyword:#ff7b9c;--sbx-code-string:#7fd1a0;--sbx-code-expression:#66d9d9;--sbx-code-constant:#f0a868;--sbx-code-function:#8ab4ff;--sbx-code-punctuation:#9a9aa0;--sbx-code-link:#8ab4ff}}.sandbox{width:90%;margin:1.75rem auto;position:relative}.sandbox-frame{outline:1px solid var(--sbx-rule);outline-offset:-1px;background:var(--sbx-surface);border:0;border-radius:6px;width:100%;display:block}.sandbox[data-control=hover] .sandbox-frame,.sandbox-frame[data-srcdoc]{height:auto;aspect-ratio:var(--sandbox-ar)}.sandbox[data-control=hover] .sandbox-stage{position:relative}.sandbox-hover{position:absolute;inset:0}.sandbox-code>pre{height:var(--sandbox-h);margin:0;overflow:auto}.sandbox-code>pre>code{box-sizing:border-box;width:max-content;min-width:100%;padding-right:4.6rem;display:block}::highlight(sandbox-goto){background:color-mix(in srgb, var(--sbx-danger) 22%, transparent)}.sandbox[data-mode=preview] .sandbox-code,.sandbox[data-mode=code] .sandbox-stage{display:none}.sandbox-tools{gap:.3rem;display:flex;position:absolute;top:.4rem;right:.4rem}.sandbox-toggle,.sandbox-copy,.sandbox-expand,.sandbox-fullscreen,.sandbox-tool-btn,.sandbox-knobs-btn{background:var(--sbx-surface);cursor:pointer;color:var(--sbx-muted);border:1px solid var(--sbx-rule);border-radius:4px;justify-content:center;align-items:center;padding:.3rem;line-height:1;display:inline-flex}.sandbox-toggle:hover,.sandbox-copy:hover,.sandbox-expand:hover,.sandbox-fullscreen:hover,.sandbox-tool-btn:hover,.sandbox-knobs-btn:hover,.sandbox-knobs-btn[aria-expanded=true]{color:var(--sbx-ink)}.sandbox[data-mode=preview] .sandbox-copy,.sandbox:not([data-expanded]) .sandbox-fullscreen,.sandbox-fullscreen[hidden]{display:none}html:has(.sandbox[data-expanded]){overflow:hidden}.sandbox[data-expanded]{z-index:1000;box-sizing:border-box;background:var(--sbx-surface);flex-direction:column;align-items:center;width:auto;margin:0;padding:3.25rem 1rem 1rem;display:flex;position:fixed;inset:0;overflow:auto}.sandbox[data-expanded]>.sandbox-stage{width:min(100%, var(--sandbox-w,100%));margin-block:auto}.sandbox[data-expanded][data-mode=code]>.sandbox-code{flex-direction:column;flex:auto;align-self:stretch;min-height:0;display:flex}.sandbox[data-expanded]>.sandbox-code>pre{flex:auto;height:auto;min-height:0}.sandbox[data-expanded]>.sandbox-tools{z-index:1;position:fixed;top:.75rem;right:.75rem}.sandbox[data-expanded]>.sandbox-knobs{position:fixed;top:3rem;right:.75rem}.sandbox[data-preset=canvas]:fullscreen>.sandbox-stage{width:min(100%, calc((100vh - 4.25rem) * var(--sandbox-ar)))}.sandbox[data-mode=code] .sandbox-knobs-btn,.sandbox[data-mode=code] .sandbox-knobs{display:none}.sandbox-knobs{z-index:5;box-sizing:border-box;width:14rem;max-width:calc(100% - .8rem);max-height:70vh;color:var(--sbx-ink);background:var(--sbx-surface);border:1px solid var(--sbx-rule);border-radius:8px;flex-direction:column;gap:.6rem;padding:.65rem .8rem .8rem;font-size:.8rem;line-height:1.3;display:flex;position:absolute;top:2.4rem;right:.4rem;overflow:auto;box-shadow:0 2px 14px #0000001f}.sandbox-knobs[hidden]{display:none}.sandbox-knobs-foot{border-top:1px solid var(--sbx-rule);justify-content:flex-end;margin-top:.15rem;padding-top:.6rem;display:flex}.sandbox-knobs-reset{color:var(--sbx-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.sandbox-knobs-reset:hover{color:var(--sbx-ink);background:var(--sbx-hover)}.sandbox-knob{cursor:default;flex-direction:column;gap:.25rem;display:flex}.sandbox-knob[data-type=boolean]{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem}.sandbox-knob-name{font-family:var(--sbx-mono);color:var(--sbx-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.sandbox-knob-ctl{align-items:center;gap:.5rem;min-width:0;display:flex}.sandbox-knob-ctl input[type=range]{min-width:0;accent-color:var(--sbx-accent);flex:1 1 0;margin:0}.sandbox-knob-ctl output{text-align:right;min-width:3.5ch;font-family:var(--sbx-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem}.sandbox-knob-ctl input[type=number],.sandbox-knob-ctl input[type=text],.sandbox-knob-ctl select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--sbx-ink);background:var(--sbx-surface);border:1px solid var(--sbx-rule);border-radius:5px;padding:.25rem .4rem;font-size:.8rem}.sandbox-knob-ctl input[type=color]{box-sizing:border-box;background:var(--sbx-surface);border:1px solid var(--sbx-rule);cursor:pointer;border-radius:5px;width:2.4rem;height:1.7rem;padding:.1rem}.sandbox-knob[data-type=rgb] input[type=range]{appearance:none;background:var(--sbx-knob-track);height:.6rem;box-shadow:inset 0 0 0 1px var(--sbx-rule);border-radius:999px}.sandbox-knob[data-type=rgb] input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--sbx-surface);border:2px solid var(--sbx-ink);cursor:pointer;border-radius:50%;width:.9rem;height:.9rem}.sandbox-knob[data-type=rgb] input[type=range]::-moz-range-thumb{box-sizing:border-box;background:var(--sbx-surface);border:2px solid var(--sbx-ink);cursor:pointer;border-radius:50%;width:.9rem;height:.9rem}.sandbox-knob-ctl output.sandbox-knob-swatch{width:1.1rem;min-width:0;height:1.1rem;box-shadow:inset 0 0 0 1px var(--sbx-rule);border-radius:4px}.sandbox-knob input[type=checkbox]{accent-color:var(--sbx-accent);margin:0}.sandbox-lib-head{box-sizing:border-box;min-height:2.5rem;color:var(--sbx-ink);border:1px solid var(--sbx-rule);background:color-mix(in srgb, var(--sbx-ink) 3%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.55rem 4.6rem .55rem .7rem;font-size:.78rem;display:flex}.sandbox-lib .sandbox-code>pre,.sandbox-lib .sandbox-external-urls{box-sizing:border-box;height:auto;min-height:2.5rem}.sandbox-lib-tag{color:var(--sbx-surface);background:var(--sbx-muted);border-radius:4px;align-items:center;padding:.22rem .28rem;line-height:1;display:inline-flex}.sandbox-tag-text{font:600 .68rem/13px ui-monospace,monospace}.sandbox-lib-label{text-overflow:ellipsis;white-space:nowrap;max-width:min(34ch,100%);overflow:hidden}.sandbox-external-urls{font-family:var(--sbx-mono);flex-direction:column;gap:.3rem;margin:0;padding-right:2.6rem;font-size:.85rem;display:flex}.sandbox-external-urls a{word-break:break-all}.sandbox-external-bad{color:var(--sbx-muted);word-break:break-all}.sbx-code-block{background:color-mix(in srgb, var(--sbx-ink) 5%, transparent);color:var(--sbx-code-foreground);font-family:var(--sbx-mono);border-radius:6px;margin:0;padding:.6rem .8rem;font-size:.82rem;line-height:1.6;overflow-x:auto}.sbx-tok-comment{color:var(--sbx-code-comment);font-style:italic}.sbx-tok-keyword{color:var(--sbx-code-keyword)}.sbx-tok-string{color:var(--sbx-code-string)}.sbx-tok-expression{color:var(--sbx-code-expression)}.sbx-tok-constant{color:var(--sbx-code-constant)}.sbx-tok-function{color:var(--sbx-code-function)}.sbx-tok-punctuation{color:var(--sbx-code-punctuation)}.sbx-tok-link{color:var(--sbx-code-link);text-decoration:underline}.sandbox-external>svg{vertical-align:-.02em;stroke-width:2.2px;width:.72em;height:.72em;margin-left:.15em;display:inline-block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--measure:37rem;--wide:72rem;--sans:system-ui, -apple-system, "Segoe UI", sans-serif;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}.demo-header{box-sizing:border-box;border-bottom:1px solid color-mix(in srgb, currentColor 18%, transparent);justify-content:space-between;align-items:center;gap:1rem;height:2.6rem;padding-inline:1rem;display:flex}h1{margin:0;font-size:.9rem}.panel{max-width:var(--measure);flex-direction:column;align-items:stretch;gap:1rem;margin:2rem auto;padding-inline:1rem;display:flex}h2{opacity:.5;margin:0 0 .5rem;font-size:.8rem}p,li{font-family:var(--sans);max-width:var(--measure);font-size:1rem;line-height:1.65}ul{margin:0;padding-left:1.2rem}button,select{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.3rem .6rem;font-size:.8rem}.manual-controls{justify-content:center;gap:.5rem;width:90%;margin:-.9rem auto 0;display:flex}.prose{width:min(var(--measure), 100%);font-family:var(--sans)}.prose :is(p,li){max-width:none}:not(pre)>code{white-space:nowrap;font-size:.925em}.prose :is(h1,h2,h3){font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prose h2{opacity:.7;margin:2.75rem 0 .6rem;font-size:1rem}.panel>:first-child>:first-child{margin-top:0}.prose pre{background:color-mix(in srgb, currentColor 6%, transparent);border-radius:6px;padding:.6rem .8rem;font-size:.8rem;overflow-x:auto}:root{--bg:Canvas;--ink:CanvasText}
