:root{--bg:#edf0f5;--panel:#f7f8fb;--raise:#fff;--ink:#1a2233;--muted:#5d6980;--faint:#8d97ab;--line:#dce1ea;--line-strong:#c6cddb;--hover:#e8ecf3;--accent:#2b44f0;--accent-ink:#fff;--accent-soft:#e4e8ff;--seg:#cbd2e3;--seg-alt:#b9c2d8;--ok:#14804a;--warn:#a8650a;--err:#bf3220;--err-soft:#fbe7e3;--warn-soft:#fbf1dc;--shadow:0 1px 2px #1a22330d,0 10px 28px -14px #1a223338;--font-ui:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:light}html[data-eff=dark]{--bg:#0d1220;--panel:#131a2b;--raise:#18213a;--ink:#e7ebf7;--muted:#98a4bf;--faint:#68748f;--line:#242d47;--line-strong:#35425f;--hover:#1a2340;--accent:#8496ff;--accent-ink:#0d1220;--accent-soft:#1f2952;--seg:#2d3859;--seg-alt:#3a476e;--ok:#4cc38a;--warn:#e5a93d;--err:#ff8272;--err-soft:#3a1f26;--warn-soft:#332a10;--shadow:0 1px 2px #0000004d,0 12px 30px -14px #0009;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}code,pre,.mono{font-family:var(--font-mono)}code{background:var(--hover);border-radius:5px;padding:1px 5px;font-size:.92em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{display:block}.app{grid-template-columns:292px minmax(0,1fr);height:100dvh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:14px;min-height:0;padding:16px 14px 14px;display:flex}.side-im-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 4px 10px;display:flex}.side-back-btn{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.side-back-btn:hover{color:var(--ink)}.side-im-logo{color:var(--muted);align-items:center;text-decoration:none;transition:color .15s;display:flex}.side-im-logo:hover{color:var(--accent)}.brand{align-items:center;gap:12px;padding:0 6px;display:flex}.brand svg{color:var(--ink);flex:none}.brand h1{font:400 23px/1.02 var(--font-display);letter-spacing:-.005em;margin:0}.btn{border:1px solid var(--line-strong);background:var(--raise);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:0 0}.btn kbd{font:500 11px var(--font-mono);opacity:.75;border:1px solid;border-radius:5px;padding:0 5px;line-height:17px}.new{justify-content:flex-start;width:100%;padding:10px 14px}.sessions{margin:0;padding:0;flex-direction:column;flex:1;gap:2px;min-height:0;margin-inline:-4px;padding-inline:4px;list-style:none;display:flex;overflow:auto}.sess-item{position:relative}.sess{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:3px;width:100%;padding:10px 38px 10px 14px;display:flex;position:relative}.sess:hover{background:var(--hover)}.sess[aria-current=true]{background:var(--raise);border-color:var(--line-strong);box-shadow:var(--shadow)}.sess[aria-current=true]:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:11px;bottom:11px;left:-1px}.sess-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.sess-meta{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.tag{background:var(--hover);color:var(--ink);border-radius:999px;padding:0 8px;font-size:11.5px;line-height:18px}.sess[aria-current=true] .tag{background:var(--accent-soft)}.sess-del{color:var(--muted);opacity:0;background:0 0;border:0;border-radius:8px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:12px;transition:opacity .15s;display:grid;position:absolute;top:9px;right:8px}.sess-item:hover .sess-del,.sess-del:focus-visible,.sess-del.confirm{opacity:1}.sess-del:hover{background:var(--hover);color:var(--ink)}.sess-del.confirm{background:var(--err-soft);color:var(--err);font-weight:500}.side-foot{border-top:1px solid var(--line);padding-top:12px}.side-conn{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.side-conn:hover{background:var(--hover)}.side-conn svg{color:var(--muted);flex:none}.side-conn b{font-weight:500;display:block}.side-conn span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);z-index:2;align-items:center;gap:14px;padding:16px 28px;display:flex;position:relative}.topbar-back-btn{background:var(--raise);border:1px solid var(--line-strong);color:var(--muted);border-radius:8px;flex:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:none}.topbar-back-btn:hover{color:var(--ink);border-color:var(--muted)}.ttl{flex:1;min-width:0}.ttl h2{font:400 30px/1.1 var(--font-display);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.005em;margin:0;overflow:hidden}.ttl p{color:var(--muted);margin:2px 0 0;font-size:12.5px}.tools{align-items:center;gap:8px;display:flex}.chip-conn{border:1px solid var(--line-strong);background:var(--raise);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 12px;display:inline-flex}.chip-conn:hover{border-color:var(--muted)}.chip-conn span{color:var(--muted)}.dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.chip-conn.ok .dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.chip-conn.fail .dot{background:var(--err);box-shadow:0 0 0 3px color-mix(in srgb,var(--err) 22%,transparent)}.ibtn{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.ibtn:hover:not(:disabled){background:var(--hover);color:var(--ink)}.ibtn:disabled{opacity:.35;cursor:not-allowed}.menu-btn,.scrim{display:none}.workspace{flex:1;min-height:0;padding:28px;overflow:auto}.cols{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:32px;max-width:1320px;margin:0 auto;display:grid}.editor{flex-direction:column;gap:26px;min-width:0;display:flex}.ed-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);color:var(--ink);background:0 0;border-radius:999px;padding:3px 12px;font-size:12.5px}.chip:hover{background:var(--raise);border-color:var(--muted)}fieldset{border:0;min-width:0;margin:0;padding:0}.field{flex-direction:column;gap:9px;min-width:0;display:flex}.field>legend,.f-head label,.lab{padding:0;font-size:13.5px;font-weight:600}.f-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.count{color:var(--muted);font:12px var(--font-mono)}.count.warn{color:var(--warn)}.help,.quiet{color:var(--muted);max-width:64ch;margin:0;font-size:12.5px}.quiet{border:1px dashed var(--line-strong);border-radius:10px;padding:14px 16px}.in{background:var(--raise);border:1px solid var(--line-strong);border-radius:9px;width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.in::placeholder{color:var(--faint)}.in:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea.in{resize:vertical;min-height:88px;line-height:1.55}#f-state{font-family:var(--font-mono);font-size:13px}.seg-ctl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.seg-ctl.two{grid-template-columns:repeat(2,minmax(0,1fr))}.seg-ctl label{border:1px solid var(--line-strong);background:var(--raise);cursor:pointer;border-radius:11px;flex-direction:column;gap:1px;padding:10px 13px;transition:border-color .15s,background .15s;display:flex;position:relative}.seg-ctl label:hover{border-color:var(--muted)}.seg-ctl label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.seg-ctl label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.seg-ctl input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-ctl .t{font-weight:600}.seg-ctl .h{color:var(--muted);font-size:12px}.crows{flex-direction:column;gap:8px;display:flex}.crow{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) 34px;align-items:center;gap:8px;display:grid}.crow.lvlrow{grid-template-columns:26px minmax(0,1fr) 34px}.idx{font:500 12px var(--font-mono);color:var(--muted);text-align:center;border:1px solid var(--line-strong);background:var(--raise);border-radius:8px;line-height:34px}.add{color:var(--accent);background:0 0;border:0;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:4px 2px;font-weight:500;display:inline-flex}.add:hover:not(:disabled){text-decoration:underline}.add:disabled{color:var(--faint);cursor:not-allowed}.preview{border-top:1px solid var(--line);padding-top:14px}.preview summary{cursor:pointer;color:var(--muted);width:max-content;font-weight:500}.preview summary:hover{color:var(--ink)}.preview .json{margin-top:12px}.runbar{background:linear-gradient(to top,var(--bg) 70%,transparent);z-index:1;flex-direction:column;gap:10px;margin:0 -12px;padding:14px 12px 4px;display:flex;position:sticky;bottom:0}.run-row{align-items:center;gap:12px;display:flex}.run-row .grow{flex:1}.target{align-items:baseline;gap:8px;min-width:0;display:flex}.target b{font-weight:600}.target span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.size{color:var(--muted);font:12px var(--font-mono);white-space:nowrap}.size.warn{color:var(--warn)}.issues{background:var(--err-soft);color:var(--err);border-radius:10px;flex-direction:column;gap:2px;margin:0;padding:10px 14px 10px 30px;font-size:13px;display:flex}.out{flex-direction:column;gap:28px;min-width:0;display:flex}.panel{background:var(--raise);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px 0 12px;display:flex}.tabs [role=tab]{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-weight:500}.tabs [role=tab]:hover{color:var(--ink)}.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tabs .sp{flex:1}.mini{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:500}.mini:hover{background:var(--hover);color:var(--ink)}.panel-body{padding:22px 24px 24px}.meta{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:28px;margin:0 0 20px;padding-bottom:16px;display:flex}.meta div{flex-direction:column;gap:1px;display:flex}.meta dt{color:var(--muted);font-size:12px}.meta dd{font:500 13px var(--font-mono);margin:0}.answer+.answer{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.ask{color:var(--muted);max-width:60ch;margin:0 0 6px;font-size:13px}.verdict{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.verdict-main{min-width:0}.verdict-word{font:400 clamp(46px,6.2vw,72px)/.95 var(--font-display);letter-spacing:-.015em;overflow-wrap:anywhere}.verdict-sub{color:var(--muted);margin-top:8px}.verdict-sub b{color:var(--ink);font-weight:600}.conf{flex-direction:column;gap:4px;min-width:150px;display:flex}.conf-n{font:500 22px var(--font-mono);letter-spacing:-.02em}.conf-l{color:var(--muted);font-size:12px}.conf-track{background:var(--seg);border-radius:4px;height:4px;overflow:hidden}.conf-track i{background:var(--ink);border-radius:4px;height:100%;display:block}.strip{gap:3px;height:38px;margin:22px 0 14px;display:flex}.seg{flex:var(--w) 1 0%;background:var(--seg);transform-origin:0;border-radius:7px;min-width:5px}.seg:nth-child(2n){background:var(--seg-alt)}.seg.win{background:var(--accent)}.anim .seg{animation:.8s cubic-bezier(.2,.8,.2,1) both grow}@keyframes grow{0%{opacity:.3;transform:scaleX(0)}}.opts{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.opts li{border-top:1px solid var(--line);grid-template-columns:14px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:8px 0;display:grid}.opts li:first-child{border-top:0}.opts .sw{background:var(--seg);border-radius:3px;align-self:center;width:10px;height:10px}.opts li:nth-child(2n) .sw{background:var(--seg-alt)}.opts li.win .sw{background:var(--accent)}.opts .k{overflow-wrap:anywhere;font-weight:600}.opts .d{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.opts .p{font:500 13px var(--font-mono);color:var(--muted)}.opts li.win .p{color:var(--ink)}.scale{margin:34px 0 4px;position:relative}.scale-bars{grid-template-columns:repeat(var(--n),minmax(0,1fr));border-bottom:1px solid var(--line-strong);height:112px;display:grid;position:relative}.lvl{align-items:flex-end;padding:0 4px;display:flex}.lvl .bar{width:100%;height:calc(var(--h) * 1%);background:var(--seg);transform-origin:bottom;border-radius:7px 7px 2px 2px;min-height:4px}.lvl:nth-child(2n) .bar{background:var(--seg-alt)}.lvl.win .bar{background:var(--accent)}.anim .lvl .bar{animation:.8s cubic-bezier(.2,.8,.2,1) both rise}@keyframes rise{0%{transform:scaleY(0)}}.marker{width:0;top:-10px;bottom:0;left:calc((var(--s) + .5) / var(--n) * 100%);border-left:2px solid var(--ink);pointer-events:none;position:absolute}.marker:before{content:attr(data-v);background:var(--ink);color:var(--bg);font:500 11px var(--font-mono);white-space:nowrap;border-radius:6px;padding:1px 7px;position:absolute;top:-22px;left:0;transform:translate(-50%)}.anim .marker{animation:.5s .5s both fade}@keyframes fade{0%{opacity:0}}.scale-labels{grid-template-columns:repeat(var(--n),minmax(0,1fr));color:var(--muted);text-align:center;margin-top:8px;font-size:12.5px;display:grid}.scale-labels span{text-overflow:ellipsis;white-space:nowrap;padding:0 4px;overflow:hidden}.foot{color:var(--muted);max-width:62ch;margin:22px 0 0;font-size:12.5px}.json{background:var(--panel);border:1px solid var(--line);white-space:pre;border-radius:10px;max-height:520px;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow:auto}.jk{color:var(--ink)}.js{color:var(--ok)}.jn{color:var(--accent)}.jl{color:var(--warn)}.error{background:var(--err-soft);border:1px solid color-mix(in srgb,var(--err) 30%,transparent);color:var(--ink);border-radius:12px;padding:16px 18px}.error h3{font:400 26px/1.15 var(--font-display);color:var(--err);margin:0 0 4px}.error .msg{font-family:var(--font-mono);overflow-wrap:anywhere;margin:0 0 10px;font-size:12.5px}.error ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:13px;display:flex}.empty{padding:14px 4px 6px}.empty h3{font:400 30px/1.1 var(--font-display);margin:0 0 6px}.empty p{color:var(--muted);max-width:52ch;margin:0}.empty .strip{margin-top:26px}.empty .seg{border:1px dashed var(--line-strong);background:0 0}.pending .strip .seg{background:linear-gradient(100deg,var(--seg) 30%,var(--seg-alt) 50%,var(--seg) 70%) 0 0/300% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-300% 0}}.pending p{color:var(--muted);margin:0}.pending b{color:var(--ink);font-weight:600}.pending .mono{margin-left:6px}.hist-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.hist-head h3{font:400 24px/1.1 var(--font-display);margin:0}.hist{flex-direction:column;display:flex}.hrow{border-top:1px solid var(--line);cursor:pointer;border-radius:0;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 10px 10px 12px;display:grid;position:relative}.hrow:first-child{border-top-color:#0000}.hrow:hover{background:var(--hover)}.hrow[aria-current=true]{background:var(--raise);box-shadow:inset 3px 0 0 var(--accent)}.hrow .st{background:var(--ok);border-radius:50%;width:8px;height:8px}.hrow .st.bad{background:var(--err)}.hsum{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.hsub{color:var(--muted);font-size:12px}.hrow .mini{opacity:0;transition:opacity .15s}.hrow:hover .mini,.hrow:focus-within .mini,.hrow[aria-current=true] .mini{opacity:1}.hist-empty{color:var(--muted);margin:0;padding:6px 2px}dialog{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:18px;width:min(560px,100vw - 32px);padding:0;box-shadow:0 30px 80px -20px #0a0f1e80}dialog::backdrop{backdrop-filter:blur(3px);background:#090d1a80}dialog form{flex-direction:column;gap:20px;padding:22px 24px 20px;display:flex}.dlg-head{justify-content:space-between;align-items:center;display:flex}.dlg-head h3{font:400 28px/1.1 var(--font-display);margin:0}.dlg-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;display:flex}.dlg-foot .grow{flex:1}#s-status{flex-basis:100%;order:5;margin:0;font-size:12.5px}#s-status.ok{color:var(--ok)}#s-status.bad{color:var(--err)}#s-status.wait{color:var(--muted)}.toast{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:50;border-radius:999px;padding:8px 16px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}#cookie-banner{background:var(--raise)!important;border-color:var(--line-strong)!important;color:var(--ink)!important;box-shadow:var(--shadow)!important}#cookie-banner p{color:var(--muted)!important}#cookie-banner #cookie-reject-btn{background:var(--raise)!important;color:var(--ink)!important;border-color:var(--line-strong)!important}#cookie-banner #cookie-accept-btn{background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important}@media (width<=1180px){.cols{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.side{z-index:30;width:min(86vw,320px);box-shadow:var(--shadow);transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}body.nav-open .side{transform:none}body.nav-open .scrim{z-index:20;background:#090d1a73;display:block;position:fixed;inset:0}.menu-btn{display:grid}.topbar{padding:12px 16px}.topbar-back-btn{display:inline-flex}.ttl h2{font-size:24px}.workspace{padding:18px 16px}.chip-conn span{display:none}.seg-ctl{grid-template-columns:1fr}.crow{grid-template-columns:minmax(0,1fr) 34px}.crow .in.desc{grid-area:2/1/auto/2}.crow .ibtn{grid-area:1/2/3}.hrow{grid-template-columns:10px minmax(0,1fr) auto}.hrow .mini.del{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
