:root{color-scheme:dark;--bg:#070708;--panel:#101114;--panel-2:#16181d;--line:#2a2d34;--text:#e6e7ea;--muted:#8d929c;--dim:#5d626c;--amber:#e2a24a;--green:#3ecf8e;--red:#f07178;--blue:#8eb6ff;font-family:Segoe UI,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text)}button,textarea{font:inherit;color:inherit}button{cursor:pointer}.mono,code,pre,textarea{font-family:Consolas,Cascadia Mono,monospace}.app{height:100vh;display:grid;grid-template-rows:52px auto minmax(0,1fr) 28px}.gh-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);background:#0d0f14}.gh-label{font-size:10px;letter-spacing:.08em;color:var(--amber);font-weight:600}.gh-input{flex:1 1 320px;min-width:220px;background:#07080a;color:var(--text);border:1px solid var(--line);border-radius:2px;padding:5px 8px;font-size:12px;outline:none}.gh-input:focus{border-color:var(--blue)}.gh-btn{border:1px solid var(--green);background:rgba(62,207,142,.14);color:var(--green);border-radius:2px;padding:5px 10px;font-size:12px;font-weight:600}.gh-btn:disabled{opacity:.5}.gh-presets{display:flex;gap:4px;flex-wrap:wrap}.gh-pill{border:1px solid var(--line);background:#12141a;color:var(--muted);border-radius:2px;padding:4px 7px;font-size:11px}.gh-pill.on,.gh-pill:hover{border-color:var(--blue);color:var(--text)}.gh-provenance{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--green)}.gh-provenance a{color:var(--blue);text-decoration:underline}.gh-fn-select{background:#0b0c0f;color:var(--text);border:1px solid var(--line);padding:2px 6px;font-size:11px}.gh-err{color:var(--red)}.status,.top{display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:#0b0c0f}.status{border-bottom:0;border-top:1px solid var(--line);color:var(--dim);font-size:12px}.seal{font-family:Consolas,Cascadia Mono,monospace;font-size:11px;color:var(--muted)}.seal.ok{color:var(--green)}.seal.bad{color:var(--red)}.brand{display:flex;flex-direction:column;min-width:148px}.brand b{font-size:14px;letter-spacing:.08em;font-weight:600}.brand span{color:var(--dim);font-size:11px}.tabs{display:flex;gap:4px;flex:1 1;min-width:0;overflow:auto}.code-tabs button,.ghost,.run,.tabs button{border:1px solid var(--line);background:transparent;border-radius:2px;padding:6px 8px;font-size:12px}.code-tabs button.on,.tabs button.on{background:var(--panel-2);color:var(--text);border-color:#3d4250}.tabs button small{display:block;color:var(--dim);font-size:10px;letter-spacing:.04em}.run{background:var(--text);color:#111;border-color:var(--text);font-weight:600}.run:disabled{opacity:.5}.ghost{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(300px,.9fr) minmax(380px,1.2fr);min-height:0}.col{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.col:last-child{border-right:0}.hd{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:8px 10px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;color:var(--muted)}.hd b{color:var(--text);font-weight:600;letter-spacing:0;font-size:12px}.editor{display:grid;grid-template-columns:42px 1fr;min-height:0;flex:1 1;background:#0c0d10}.editor textarea,.gutter{margin:0;padding:8px 0;overflow:auto;font-size:12px;line-height:1.45;border:0;background:transparent}.gutter{color:#4e545f;text-align:right;padding-right:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editor textarea{resize:none;outline:none;padding-right:10px;white-space:pre}.graph-wrap{height:248px;border-top:1px solid var(--line);grid-template-rows:auto 1fr}.graph-body,.graph-wrap{display:grid;min-height:0}.graph-body{grid-template-rows:minmax(0,1fr) 72px}.graph{position:relative;overflow:auto}.graph svg{display:block}.node{cursor:pointer}.node rect{fill:#14161b;stroke:var(--line)}.node.on rect{stroke:var(--blue)}.node.hot rect{stroke:var(--amber)}.node.lit rect{stroke:var(--green)}.node text{font-size:11px;fill:var(--text);font-family:Consolas,monospace}.hazard-list{margin:0;padding:6px 10px;overflow:auto;border-top:1px solid var(--line);color:var(--red);font-size:11px;list-style:none}.hazard-list li{margin:2px 0}.stages{padding:8px;display:flex;flex-direction:column;gap:6px}.stage{border:1px solid var(--line);background:#0c0d10;padding:6px 8px}.stage strong{display:block;font-size:12px;font-weight:600}.stage p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.stage.wait{opacity:.45}.stage.now{border-color:var(--amber)}.stage.ok{border-color:#245c45}.stage.bad{border-color:var(--red)}.packet{margin:0 8px 8px;flex:1 1;min-height:0;overflow:auto;background:#0c0d10;border:1px solid var(--line);padding:8px;font-size:11px;line-height:1.45;color:#c5c8d0;white-space:pre-wrap}.right{min-height:0;display:grid;grid-template-rows:minmax(160px,38%) minmax(0,1fr)}.code,.proof{min-height:0;display:flex;flex-direction:column}.code{border-top:1px solid var(--line)}.rows{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--dim);font-weight:500;font-size:11px;position:-webkit-sticky;position:sticky;top:0;background:#101114}tr.exact td.rel{color:var(--green)}tr.contained td.rel{color:var(--amber)}tr.mismatch td.rel{color:var(--red)}tr.on{background:#18140e}tbody tr{cursor:pointer}.vec-bar{flex-wrap:wrap;gap:8px 16px;background:#0c0d10;font-size:11px;color:var(--muted)}.code-tabs,.vec-bar{display:flex;padding:6px 8px;border-bottom:1px solid var(--line)}.code-tabs{align-items:center;gap:4px}.code pre{margin:0;padding:8px 10px;overflow:auto;flex:1 1;font-size:12px;line-height:1.45;color:#d5d7de}.empty{color:var(--dim);padding:12px;font-size:13px;line-height:1.45}.defect{color:var(--muted);font-size:12px;padding:6px 10px 0}.cta-audit{border:1px solid var(--amber);background:rgba(226,162,74,.14);color:var(--amber);border-radius:2px;padding:6px 10px;font-size:12px;font-weight:600;white-space:nowrap}.cta-audit:hover{background:rgba(226,162,74,.24)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-card{width:100%;max-width:520px;background:#101114;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:12px}.modal-hd{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.06em;color:var(--amber)}.modal-sub{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.modal-form{gap:10px}.modal-form,.modal-form label{display:flex;flex-direction:column}.modal-form label{gap:4px}.modal-form label span{font-size:10px;letter-spacing:.08em;color:var(--muted)}.modal-form input,.modal-form select{background:#07080a;color:var(--text);border:1px solid var(--line);padding:7px 9px;font-size:12px;border-radius:2px;outline:none}.modal-form input:focus,.modal-form select:focus{border-color:var(--blue)}.modal-status{padding:8px 10px;font-size:12px;border:1px solid var(--line)}.modal-status.ok{border-color:var(--green);color:var(--green);background:rgba(62,207,142,.08)}.modal-status.bad{border-color:var(--red);color:var(--red)}.modal-actions{display:flex;justify-content:flex-end;margin-top:4px}@media (max-width:980px){.app{height:auto;min-height:100vh}.workspace{grid-template-columns:1fr}.col{border-right:0;border-bottom:1px solid var(--line);min-height:70vh}.editor{min-height:360px}}