.ts-sandbox{--tss-border:var(--border,var(--rule,#8a8f9c));--tss-edge:var(--ink,var(--border,#8a8f9c));--tss-surface:var(--charcoal-surface,var(--paper-2,#f1f2f5));--tss-text:var(--text-primary,var(--ink,#15181f));--tss-muted:var(--text-muted,var(--ink-3,#5f6673));--tss-accent:var(--logic-blue,var(--accent,#2f55d4));--tss-warn:var(--mustard,var(--logic-blue,#b7791f));--tss-error:var(--draft,#e5484d);--tss-mono:var(--font-mono,var(--f-mono,ui-monospace, Menlo, monospace));--tss-body:var(--font-body,var(--f-body,system-ui, sans-serif));--tss-display:var(--font-display,var(--f-display,Georgia, serif));--tss-paper:var(--background,var(--paper,#fff));--tss-radius:var(--control-radius,6px);--tss-control-h:var(--control-h,44px);--tss-focus:var(--focus-ring,2px solid var(--tss-accent));--tss-mark-ok:#93d3b0;--tss-mark-error:#ef6a4c;min-width:0;font-family:var(--tss-mono);margin:1.5rem 0}.ts-sandbox[data-ts-sandbox]{max-width:none}.ts-sandbox [hidden]{display:none!important}.ts-sandbox__toolbar{color:var(--tss-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.ts-sandbox__title{font:600 .875rem/1.3 var(--tss-mono);color:var(--tss-text);margin-right:auto}.ts-sandbox__meta{font:400 .75rem/1.45 var(--tss-mono);letter-spacing:.02em;flex-basis:100%;order:1}.ts-sandbox__button{min-height:var(--tss-control-h);font:500 .8125rem/1 var(--tss-mono);color:var(--tss-text);border:1.5px solid var(--tss-edge);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.45em;padding:0 1rem;transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out,transform .1s ease-out;display:inline-flex}.ts-sandbox__button:hover{border-color:var(--tss-accent);color:var(--tss-accent)}.ts-sandbox__button:active{transform:scale(.96)}.ts-sandbox__button:focus-visible{outline:var(--tss-focus);outline-offset:2px}.ts-sandbox__button:disabled{opacity:.6;cursor:progress;transform:none}.ts-sandbox__button--run{color:var(--tss-paper);background:var(--tss-text);border-color:var(--tss-text);font-weight:600}.ts-sandbox__button--run:hover{color:var(--tss-paper);background:var(--tss-accent);border-color:var(--tss-accent)}.ts-sandbox__button--run:before{content:"▶";font-size:.7em}.ts-sandbox .ts-sandbox__static pre{margin:0}.ts-sandbox__editor{border:1.5px solid var(--tss-edge);border-radius:var(--tss-radius);height:0;box-shadow:3px 3px 0 var(--shadow,transparent);overflow:hidden}.ts-sandbox__status{font:400 .875rem/1.45 var(--tss-body);color:var(--tss-muted);align-items:center;gap:.55rem;margin:.85rem 0 0;display:flex}.ts-sandbox__status:empty{display:none}.ts-sandbox__status--ok,.ts-sandbox__status--error{color:var(--tss-text)}.ts-sandbox__status--ok:before,.ts-sandbox__status--error:before{width:1.3rem;height:1.3rem;font:700 .75rem/1 var(--tss-mono);color:#0f1726;border-radius:50%;flex:none;place-items:center;display:grid}.ts-sandbox__status--ok:before{content:"✓";background:var(--tss-mark-ok)}.ts-sandbox__status--error:before{content:"✗";background:var(--tss-mark-error)}.ts-sandbox .ts-sandbox__diagnostics{gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.ts-sandbox__diagnostic{text-align:left;width:100%;font:400 .8rem/1.5 var(--tss-mono);color:var(--tss-text);background:var(--tss-surface);border:1px solid var(--tss-border);border-left:3px solid var(--tss-error);border-radius:var(--tss-radius);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.5rem .75rem;display:flex}.ts-sandbox__diagnostic:hover{border-color:var(--tss-accent);border-left-color:var(--tss-error)}.ts-sandbox__diagnostic:focus-visible{outline:2px solid var(--tss-accent);outline-offset:2px}.ts-sandbox__diagnostic--warning{border-left-color:var(--tss-accent)}.ts-sandbox__diagnostic-code{color:var(--tss-error);white-space:nowrap;font-weight:600}.ts-sandbox__diagnostic--warning .ts-sandbox__diagnostic-code{color:var(--tss-accent)}.ts-sandbox__diagnostic-where{color:var(--tss-muted);white-space:nowrap}.ts-sandbox__diagnostic-message{white-space:pre-wrap;overflow-wrap:anywhere;flex-basis:100%;min-width:0}.ts-sandbox__output{border:1.5px solid var(--tss-edge);border-radius:var(--tss-radius);box-shadow:3px 3px 0 var(--shadow,transparent);background:var(--tss-paper);margin:1rem 0 0;overflow:hidden}.ts-sandbox__output-head{border-bottom:1px solid var(--tss-border);font:500 .72rem/1.3 var(--tss-mono);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;padding:.6rem .9rem;display:flex}.ts-sandbox__output-label{color:var(--tss-muted);letter-spacing:.08em;text-transform:uppercase}.ts-sandbox__output-status{color:var(--tss-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}.ts-sandbox__output-status--error{color:var(--tss-error)}.ts-sandbox__output-lines{max-height:320px;font:400 .8rem/1.55 var(--tss-mono);color:var(--tss-text);box-shadow:none;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;margin:0;padding:.6rem .75rem;overflow:auto}.ts-sandbox__output-lines:empty{display:none}.ts-sandbox__output-line--info{color:var(--tss-accent)}.ts-sandbox__output-line--warn{color:var(--tss-warn)}.ts-sandbox__output-line--error{color:var(--tss-error)}.ts-sandbox__hint{max-width:62ch;font:400 .8125rem/1.55 var(--tss-body);color:var(--tss-muted);text-wrap:pretty;margin:.75rem 0 0}.ts-sandbox__preview{border:1.5px solid var(--tss-edge);border-radius:var(--tss-radius);box-shadow:3px 3px 0 var(--shadow,transparent);background:var(--tss-paper);margin:1rem 0 0;overflow:hidden}.ts-sandbox__preview-frame{min-height:72px;position:relative}.ts-sandbox__preview-frame iframe{background:0 0;border:0;width:100%;height:72px;transition:height .15s ease-out;display:block}.ts-sandbox__preview-frame iframe[data-pending]{visibility:hidden;position:absolute;inset:0 0 auto}@media (prefers-reduced-motion:reduce){.ts-sandbox__preview-frame iframe,.ts-sandbox__button{transition:none}}
