:root{color-scheme:light;--ink:#162b35;--muted:#50636a;--accent:#096b64;--line:#d5dfdc;--paper:#f5f5ef;--warm:#e9b47b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}button,select,textarea{font:inherit}button,a,select,summary{touch-action:manipulation}button{border:1px solid var(--line);border-radius:6px;padding:.55rem .9rem;background:white;color:var(--ink);cursor:pointer}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #c47127;outline-offset:3px}a{color:var(--accent)}header{max-width:1400px;margin:auto;padding:1.5rem 2rem .5rem}h1{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.15;margin:.4rem 0}h2{font-size:1.1rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:750;color:var(--accent)}.deck-link{float:right}.controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.8rem 0}.controls select{max-width:100%;padding:.5rem;border:1px solid var(--line);background:white;border-radius:5px}main{max-width:1400px;margin:auto;padding:0 2rem 2rem}.prompt{margin:.8rem 0;padding:.8rem 1rem;border-left:4px solid var(--accent);background:#e7eeea}.prompt p{margin:.25rem 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.panel{border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.panel-head small{color:var(--muted)}textarea{display:block;width:100%;height:360px;resize:vertical;border:0;padding:1rem;background:#132c36;color:#f3f5ef;font:14px/1.55 ui-monospace,"DejaVu Sans Mono",monospace;tab-size:2;white-space:pre;overflow:auto}iframe{display:block;border:0;width:100%;height:360px;background:white}.preview-empty{padding:2rem;color:var(--muted)}.caption{font-size:.85rem;color:var(--muted);margin:.5rem 0}.data-panel{margin-top:1rem;padding:1rem}.data-heading{display:flex;gap:1rem;align-items:center;justify-content:space-between}.table-wrap{overflow:auto;max-height:320px}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{padding:.55rem .7rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);max-width:20rem;overflow-wrap:anywhere}th{position:sticky;top:0;background:#edf2ed;color:var(--ink)}td.null{color:#93622d;font-family:monospace}pre{max-height:350px;overflow:auto;background:#edf2ed;padding:1rem;font-size:.85rem}.diagnostic{color:#9c3125;white-space:pre-wrap;overflow-wrap:anywhere;padding:.8rem;background:#fff0e9;border-left:4px solid #b74231}details{margin:.8rem 0}summary{cursor:pointer;font-weight:650}details p{max-width:85ch}.status{font-size:.85rem;color:var(--muted);margin:.6rem 0}.trace{margin-top:1rem;border:1px solid var(--line);max-width:600px;background:#f9faf6}.trace svg{display:block;width:100%;height:auto}.trace path{stroke:var(--accent);stroke-width:2;fill:none}.trace rect{fill:#e9f1ed;stroke:#6a8d7b}.trace text{font:12px system-ui;fill:var(--ink)}.embedded header{padding:.5rem 1rem 0}.embedded main{padding:0 1rem .5rem}.embedded h1,.embedded .eyebrow,.embedded .deck-link,.embedded .lab-select,.embedded .standalone-only{display:none}.embedded .controls{margin:.3rem 0}.embedded .prompt{font-size:.85rem;padding:.4rem .7rem;margin:.4rem 0}.embedded .workspace{gap:.65rem}.embedded textarea,.embedded iframe{height:280px}.embedded .panel-head{padding:.35rem .7rem}.embedded .panel-head h2{font-size:.9rem}.embedded .data-panel{margin-top:.6rem;padding:.6rem}.embedded .table-wrap{max-height:160px}.embedded .caption,.embedded .status{margin:.3rem 0;font-size:.75rem}.embedded details{margin:.35rem 0}.embedded .trace{max-width:450px}@media(max-width:720px){header{padding:1rem}main{padding:0 1rem 1rem}.workspace{grid-template-columns:1fr}textarea,iframe{height:300px}.deck-link{float:none;display:block}.embedded .workspace{grid-template-columns:1fr 1fr}.embedded textarea{font-size:11px}.embedded .panel-head small{display:none}}@media print{.controls,iframe,textarea,.deck-link{display:none}body{background:white}.workspace{display:block}.panel{border:0}.data-panel{break-inside:avoid}}
