.sim{--color-bg:var(--bg);--color-surface:var(--surface);--color-recessed:var(--bg-deep);--color-raised:var(--surface-raised);--color-line:var(--line);--color-line-soft:var(--line-soft);--color-ink:var(--ink);--color-muted:var(--ink-muted);--color-faint:var(--ink-faint);--color-brand:var(--brand);--color-brand-tint:var(--brand-tint);--color-brand-line:var(--brand-line);--color-ok:var(--ok);--color-ok-bg:color-mix(in srgb,var(--mint) 22%,transparent);--color-warn:var(--warn);--color-warn-bg:color-mix(in srgb,var(--sun) 26%,transparent);--color-danger:var(--danger);--color-danger-bg:color-mix(in srgb,var(--rust) 11%,transparent);--color-info:var(--klein);--color-info-bg:color-mix(in srgb,var(--sky) 18%,transparent);--font-mono:var(--font-code),ui-monospace,SFMono-Regular,Menlo,monospace;--font-sans:var(--font-ui),ui-sans-serif,system-ui,sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;font-family:var(--font-sans);color:var(--color-ink);margin:24px 0;min-width:0}.sim[data-compact=true]{margin:0}.sim svg text{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.sim .label{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}.sim .label,.sim .numeric{font-family:var(--font-sans)}.sim .numeric{font-variant-numeric:tabular-nums}.sim .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sim .widget{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden;margin:0}.sim .widget__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-line)}.sim .widget__badge{display:inline-flex;align-items:center;gap:6px;color:var(--color-faint);white-space:nowrap}.sim .widget__dot{width:6px;height:6px;border-radius:999px;background:var(--mint)}.sim .widget__body{padding:18px;min-width:0}.sim .widget__readout-wrap{margin-top:16px}.sim .widget__controls{display:flex;flex-wrap:wrap;gap:14px 20px;padding:12px 18px;border-top:1px solid var(--color-line-soft);background:var(--color-surface)}.sim .widget__control{flex:1 1 200px;min-width:150px}.sim .widget__control-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.sim .widget__prompt{padding:12px 18px;border-top:1px solid var(--color-line);background:var(--color-brand-tint);font-size:15px;line-height:1.6;color:var(--color-ink)}.sim .widget__caption{margin-top:6px;font-size:13px;color:var(--color-muted)}.sim .widget__readout{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:13.5px}.sim .widget__readout dt{font-size:13px;font-weight:500;color:var(--color-faint);margin-bottom:2px}.sim .widget__readout dd{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.sim [data-compact=true].widget .widget__body{padding:12px}.sim [data-compact=true].widget .widget__controls{padding:10px 12px;gap:10px 14px}.sim [data-compact=true].widget .widget__readout dd{font-size:14px}.sim [data-compact=true].widget .widget__control{flex-basis:140px;min-width:120px}@media (max-width:640px){.sim .widget{display:flex;flex-direction:column}.sim .widget__prompt{order:-1;border-top:0;border-bottom:1px solid var(--color-line)}.sim .widget__head{order:-2}}@media (max-width:480px){.sim .widget__body{padding:12px}.sim .widget__controls{padding:10px 12px}.sim .widget__control{min-width:100%}.sim .widget__readout{gap:10px 16px}.sim .widget__readout dd{font-size:15px}}.sim .widget--unknown,.sim-unknown{border:1px dashed var(--rust);border-radius:6px;background:color-mix(in srgb,var(--rust) 10%,transparent);padding:16px;font-family:var(--font-code),ui-monospace,monospace;font-size:13px;color:var(--danger)}.sim-loading{border:1px solid var(--line);border-radius:14px;background:var(--surface);min-height:260px;display:grid;place-items:center;font-size:14px;color:var(--ink-faint)}.sim .chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:2px 10px;font-size:12.5px;font-weight:500;line-height:18px;color:var(--color-faint);white-space:nowrap}.sim .inline-code{font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-line-soft);border-radius:var(--radius-sm);padding:1px 5px}.sim .callout,.sim .inline-code{background:var(--color-recessed)}.sim .callout{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:12px 16px;font-size:15px;line-height:1.6}.sim .callout__title{font-size:13px;font-weight:600;margin-bottom:6px}.sim .callout--key{border-color:var(--klein);background:var(--color-brand-tint)}.sim .callout--key .callout__title{color:var(--color-brand)}.sim .callout--note{border-color:var(--sky);background:var(--color-info-bg)}.sim .callout--note .callout__title{color:var(--color-info)}.sim .callout--warn{border-color:var(--sun);background:var(--color-warn-bg)}.sim .callout--warn .callout__title{color:var(--color-warn)}.sim .callout--pitfall{border-color:var(--rust);background:var(--color-danger-bg)}.sim .callout--pitfall .callout__title{color:var(--color-danger)}.sim .code-block{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;background:var(--color-recessed)}.sim .code-block__chrome{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--color-raised);border-bottom:1px solid var(--color-line);font-family:var(--font-mono);font-size:12px;color:var(--color-faint)}.sim .code-block__body{line-height:1.7;white-space:pre;tab-size:4}.sim .code-block__body,.sim .code-block__output{margin:0;padding:12px 16px;font-family:var(--font-mono);font-size:13.5px;overflow-x:auto}.sim .code-block__output{border-top:1px dashed var(--color-line);background:var(--color-surface);line-height:1.6;white-space:pre-wrap}.sim :where(button,input,select):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sim .sim-range{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;cursor:pointer;touch-action:pan-y;margin:0}.sim .sim-range:disabled{cursor:not-allowed;opacity:.5}.sim .sim-range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--brand) 0,var(--brand) var(--fill,0),var(--line) var(--fill,0),var(--line) 100%)}.sim .sim-range::-moz-range-track{height:4px;border-radius:999px;background:var(--line)}.sim .sim-range::-moz-range-progress{height:4px;border-radius:999px;background:var(--brand)}.sim .sim-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:999px;background:var(--surface);border:2px solid var(--brand)}.sim .sim-range::-moz-range-thumb{width:14px;height:14px;border-radius:999px;background:var(--surface);border:2px solid var(--brand)}.sim .sim-range:focus-visible{outline:none}.sim .sim-range:focus-visible::-webkit-slider-thumb{outline:2px solid var(--brand);outline-offset:2px}.sim .sim-range:focus-visible::-moz-range-thumb{outline:2px solid var(--brand);outline-offset:2px}.sim .sim-switch{position:relative;width:36px;height:20px;border-radius:999px;border:1px solid var(--line);background:var(--bg-deep);cursor:pointer;padding:0;transition:background .15s ease;flex:none}.sim .sim-switch[data-size=small]{width:30px;height:17px}.sim .sim-switch__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:999px;background:var(--ink-faint);transition:transform .15s ease,background .15s ease}.sim .sim-switch[data-size=small] .sim-switch__knob{width:11px;height:11px}.sim .sim-switch[aria-checked=true]{background:var(--brand);border-color:var(--brand)}.sim .sim-switch[aria-checked=true] .sim-switch__knob{background:var(--brand-fg);transform:translateX(16px)}.sim .sim-switch[data-size=small][aria-checked=true] .sim-switch__knob{transform:translateX(13px)}.sim .sim-switch:disabled{opacity:.5;cursor:not-allowed}.sim .sim-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;background:var(--bg-deep);padding:2px;gap:2px;max-width:100%}.sim .sim-seg[data-block=true]{display:flex;width:100%}.sim .sim-seg[data-block=true] .sim-seg__item{flex:1 1 0}.sim .sim-seg__item{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-muted);font-size:13px;font-weight:500;padding:5px 12px;min-height:28px;cursor:pointer;white-space:nowrap}.sim .sim-seg__item[aria-checked=true]{background:var(--surface);color:var(--brand);border-color:var(--brand-line)}.sim .sim-seg__item:disabled{opacity:.4;cursor:not-allowed}.sim .sim-number,.sim .sim-select{width:100%;min-height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;padding:4px 10px}.sim .sim-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:500;line-height:18px;color:var(--ink-muted);background:transparent}.sim .sim-chip[data-tone=green]{border-color:transparent;background:var(--color-ok-bg);color:var(--color-ok)}.sim .sim-chip--checkable{cursor:pointer;min-height:28px}.sim .sim-chip--checkable:hover{border-color:var(--brand-line);color:var(--brand)}.sim .sim-chip--checkable[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.sim .sim-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}.sim .sim-btn[data-size=small]{min-height:28px;padding:2px 10px;font-size:13px}.sim .sim-btn:hover:not(:disabled){border-color:var(--brand-line);color:var(--brand)}.sim .sim-btn[data-variant=primary]{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.sim .sim-btn[data-variant=primary]:hover:not(:disabled){background:var(--brand-bright);color:var(--brand-fg)}.sim .sim-btn[data-variant=text]{border-color:transparent;background:transparent;color:var(--brand)}.sim .sim-btn:disabled{opacity:.45;cursor:not-allowed}.sim .sim-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sim .sim-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width:640px){.sim .sim-grid-2{grid-template-columns:minmax(0,1fr)}}.sim .sim-panel{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:12px;min-width:0}.sim .sim-panel__title{font-size:13px;font-weight:600;color:var(--ink-faint);margin-bottom:6px}.sim canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:none}.sim .sim-note{font-size:13px;line-height:1.5;color:var(--ink-muted)}.sim .sim-conv-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:start}.sim .sim-conv-grid[data-compact=true]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sim .sim-conv-kernel{display:grid;gap:6px;justify-items:center;align-self:center}@media (max-width:640px){.sim .sim-conv-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sim .sim-conv-kernel{grid-column:1/-1;order:3}}@media (prefers-reduced-motion:reduce){.sim *,.sim :after,.sim :before{transition:none!important}}.sim .sim-panel__title:first-letter,.sim .widget__control-head .label:first-letter,.sim .widget__head .label:first-letter,.sim .widget__readout dt:first-letter{text-transform:uppercase}.sim .widget__control-head .label,.sim .widget__head .label{display:inline-block}