:root{--bg: #0d0f12;--panel: #121519;--panel-2: #171b20;--elev: #1c2127;--line: #23272e;--line-2: #2d323a;--tx: #e6e9ee;--tx-soft: #b6bcc6;--mu: #858d99;--dim: #5c646f;--accent: #6ee7a8;--accent-dim: #3fa877;--accent-bg: rgba(110, 231, 168, .11);--ok: #6ee7a8;--warn: #f0c674;--err: #f2777a;--r: 6px;--r-sm: 4px;--rail-w: 48px;--side-w: 264px;--right-w: 300px;--dock-h: 220px;--ring: 0 0 0 2px rgba(110, 231, 168, .45);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.45;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:0}svg{width:16px;height:16px;flex:none}.i14{width:14px;height:14px}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#2b313a;border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#3a424e;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.lab{display:grid;grid-template-columns:var(--rail-w) auto 1fr auto;grid-template-rows:34px 1fr 22px;grid-template-areas:"rail  title title title" "rail  side  main  right" "status status status status";height:100%;position:relative}.lab-title{grid-area:title;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;background:var(--panel);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none}.lab-title .brand{display:flex;align-items:center;gap:7px;font-weight:600;font-size:12.5px;letter-spacing:-.01em}.lab-title .brand b{color:var(--accent);font-weight:600}.lab-title .sep{width:1px;height:15px;background:var(--line-2)}.lab-title .proj{color:var(--tx-soft);font-size:12.5px}.lab-title .proj .dot{color:var(--dim);margin:0 6px}.lab-title .spacer{flex:1}.lab-rail{grid-area:rail;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding-top:6px;gap:2px}.rail-btn{width:40px;height:40px;border:0;border-radius:var(--r);background:transparent;color:var(--mu);display:grid;place-items:center;cursor:pointer;position:relative;transition:color .12s,background .12s}.rail-btn:hover{color:var(--tx-soft);background:var(--panel-2)}.rail-btn.on{color:var(--tx)}.rail-btn.on:before{content:"";position:absolute;left:-4px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--accent)}.rail-btn svg{width:19px;height:19px}.lab-rail .grow{flex:1}.lab-side{grid-area:side;width:var(--side-w);background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.side-head{height:30px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 12px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mu)}.side-body{flex:1;overflow:auto;padding-bottom:8px}.row{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 12px;color:var(--tx-soft);cursor:pointer;white-space:nowrap;border:0;background:transparent;width:100%;text-align:left}.row:hover{background:var(--panel-2);color:var(--tx)}.row.on{background:var(--accent-bg);color:var(--tx)}.row svg{width:14px;height:14px;flex:none;color:var(--dim)}.row.on svg{color:var(--accent-dim)}.row .name{overflow:hidden;text-overflow:ellipsis}.row .meta{margin-left:auto;font-size:11px;color:var(--dim)}.lab-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{height:32px;flex:none;display:flex;align-items:stretch;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.tabs::-webkit-scrollbar{height:0}.tab{display:flex;align-items:center;gap:7px;padding:0 10px 0 12px;min-width:108px;max-width:200px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--mu);cursor:pointer;font-size:12.5px;white-space:nowrap;touch-action:none;-webkit-user-select:none;user-select:none}.tab:hover{color:var(--tx-soft)}.tab.dragging{opacity:.8;background:var(--panel-2)}.tab.on{background:var(--bg);color:var(--tx)}.tab.on{box-shadow:inset 0 2px 0 var(--accent)}.tab .x{width:15px;height:15px;border-radius:3px;display:grid;place-items:center;color:var(--dim);margin-left:auto}.tab .x:hover{background:var(--line-2);color:var(--tx)}.tab .dirty{width:7px;height:7px;border-radius:50%;background:var(--tx-soft);margin-left:auto}.editor-wrap{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.editor-host{flex:1;min-height:0;overflow:hidden}.cm-editor{height:100%;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px}.cm-editor.cm-focused{outline:none}.cm-scroller{line-height:1.55}.cm-gutters{background:var(--bg);border-right:1px solid var(--line);color:var(--dim)}.cm-activeLineGutter{background:transparent;color:var(--tx-soft)}.cm-activeLine{background:#ffffff06}.cm-content{caret-color:var(--accent)}.cm-cursor{border-left-color:var(--accent)}.cm-selectionBackground,.cm-editor ::selection{background:#6ee7a82e!important}.lab-dock{flex:none;height:var(--dock-h);min-height:0;max-height:60vh;background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column}.dock-tabs{height:28px;flex:none;display:flex;align-items:stretch;border-bottom:1px solid var(--line)}.dock-tab{padding:0 12px;border:0;background:transparent;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:6px}.dock-tab:hover{color:var(--tx-soft)}.dock-tab.on{color:var(--tx);box-shadow:inset 0 -2px 0 var(--accent)}.dock-tab .n{font-size:10px;background:var(--line-2);color:var(--tx-soft);border-radius:8px;padding:0 5px}.dock-body{flex:1;overflow:auto;padding:8px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--tx-soft)}.dock-body .empty{color:var(--dim);font-family:Inter,sans-serif}.lab-right{grid-area:right;width:var(--right-w);background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.right-body{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}.field select,.field input{height:30px;padding:0 9px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx)}.field select:hover,.field input:hover{border-color:#3a414b}.cost{display:flex;align-items:baseline;justify-content:space-between;padding:9px 10px;border-radius:var(--r);background:var(--accent-bg);border:1px solid rgba(110,231,168,.22)}.cost .lbl{font-size:11px;color:var(--tx-soft)}.cost .val{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;color:var(--accent)}.cost .val small{font-size:10.5px;color:var(--accent-dim);font-weight:500;margin-left:3px}.btn{height:32px;padding:0 14px;border-radius:var(--r);border:1px solid transparent;font-size:12.5px;font-weight:550;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .12s,border-color .12s,color .12s}.btn-run{background:var(--accent);color:#06281a;border-color:var(--accent);font-weight:600}.btn-run:hover{background:#86efba;border-color:#86efba}.btn-run:disabled{opacity:.4;cursor:not-allowed}.btn-line{background:var(--panel-2);border-color:var(--line-2);color:var(--tx-soft)}.btn-line:hover{background:var(--elev);color:var(--tx)}.btn-block{width:100%}.chip{display:inline-flex;align-items:center;gap:5px;height:19px;padding:0 7px;border-radius:10px;font-size:10.5px;font-weight:600;letter-spacing:.02em;border:1px solid var(--line-2);color:var(--mu)}.chip .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.chip.avail{color:var(--ok);border-color:#6ee7a84d}.chip.busy{color:var(--warn);border-color:#f0c6744d}.chip.offline{color:var(--dim)}.lab-status{grid-area:status;display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--panel);border-top:1px solid var(--line);font-size:11px;color:var(--mu);-webkit-user-select:none;user-select:none}.lab-status .spacer{flex:1}.lab-status .k{color:var(--tx-soft)}.lab-status .kbd{font-family:JetBrains Mono,monospace;font-size:10px;border:1px solid var(--line-2);border-radius:3px;padding:0 4px;color:var(--tx-soft)}.lab-status .mono{font-size:11px;font-variant-numeric:tabular-nums;color:var(--tx-soft)}.lab-status .sb-btn{height:100%;display:inline-flex;align-items:center;gap:5px;padding:0 7px;font-size:11px;color:var(--mu);cursor:pointer;border-radius:0}.lab-status .sb-btn:hover{background:var(--panel-2);color:var(--tx)}.lab-status .sb-btn[aria-pressed=true]{color:var(--tx-soft)}.lab-status .sb-btn svg{width:12px;height:12px}.pal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:grid;place-items:start center;padding-top:12vh}.pal{width:min(620px,90vw);background:var(--elev);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--shadow-lg);overflow:hidden}.pal input{width:100%;height:44px;padding:0 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--tx);font-size:14px}.pal input:focus{outline:none;box-shadow:none}.pal input::placeholder{color:var(--dim)}.pal-list{max-height:46vh;overflow:auto;padding:5px}.pal-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--tx-soft);cursor:pointer;text-align:left}.pal-item.on{background:var(--accent-bg);color:var(--tx)}.pal-item svg{width:15px;height:15px;color:var(--dim);flex:none}.pal-item.on svg{color:var(--accent-dim)}.pal-item .hint{margin-left:auto;font-size:10.5px;color:var(--dim);font-family:JetBrains Mono,monospace}.pal-empty{padding:18px;text-align:center;color:var(--dim)}.blank{flex:1;display:grid;place-items:center;padding:24px}.blank .in{text-align:center;max-width:340px}.blank h2{font-size:15px;font-weight:600;color:var(--tx-soft);margin-bottom:6px}.blank p{color:var(--dim);font-size:12.5px;line-height:1.6}.blank .keys{margin-top:14px;display:flex;flex-direction:column;gap:6px;align-items:center}.blank .keyrow{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mu)}.gate{height:100%;display:grid;place-items:center;padding:24px;background:var(--bg)}.gate .ring{width:30px;height:30px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:labspin .8s linear infinite}@keyframes labspin{to{transform:rotate(360deg)}}.gate-card{width:min(460px,100%);display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:26px 28px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.gate-card h1{font-size:19px;font-weight:600;letter-spacing:-.02em}.gate-note{color:var(--tx-soft);line-height:1.6}.gate-fine{color:var(--dim);font-size:12px;line-height:1.55}.gate-form{display:flex;gap:8px}.gate-form input{flex:1;min-width:0;height:34px;padding:0 10px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx)}.gate-form input:focus{outline:none;border-color:var(--accent-dim)}.gate-fine .link{font-size:inherit}.explorer{display:flex;flex-direction:column}.row-wrap{position:relative;display:flex;align-items:center}.row-wrap .row{flex:1;min-width:0}.row-act{flex:none;width:22px;height:22px;margin-right:4px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--dim);cursor:pointer;display:none;place-items:center}.row-wrap:hover .row-act,.row-wrap:focus-within .row-act{display:grid}.side-head .row-act{display:grid}.side-acts{display:flex;align-items:center;gap:2px}.row-act:hover{background:var(--line-2);color:var(--tx)}.row-act.danger:hover{background:#f2777a29;color:var(--err)}.row .meta.warn{color:var(--warn)}.side-empty{padding:16px 12px;color:var(--dim);line-height:1.6}.side-note{padding:10px 12px;color:var(--dim);font-size:11.5px;line-height:1.55}.side-empty .link,.link{color:var(--accent-dim);cursor:pointer;background:none;border:0;padding:0;font:inherit}.link:hover{color:var(--accent);text-decoration:underline}.ctx{position:absolute;right:4px;top:22px;z-index:40;min-width:150px;padding:4px;background:var(--elev);border:1px solid var(--line-2);border-radius:7px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.ctx button{display:flex;align-items:center;gap:8px;padding:6px 9px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--tx-soft);cursor:pointer;text-align:left;white-space:nowrap}.ctx button:hover{background:var(--panel-2);color:var(--tx)}.ctx button.danger:hover{background:#f2777a24;color:var(--err)}.tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tabs-gap{flex:1}.tab-run{flex:none;margin-left:auto;height:20px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:var(--accent-dim);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11.5px;font-weight:600}.tab-run:hover{background:var(--accent-bg);color:var(--accent)}.tab-run.tab-stop{color:var(--warn)}.tab-run.tab-stop:hover{background:#f0c6741f;color:var(--warn)}.save-state{font-size:10.5px;color:var(--dim);letter-spacing:.02em}.save-state.dirty{color:var(--warn)}.conflict-bar{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#f0c6741a;border-bottom:1px solid rgba(240,198,116,.28);color:var(--warn);font-size:12px}.conflict-bar .spacer{flex:1}.conflict-bar button{font-size:11.5px;height:24px;padding:0 9px}.notice{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--accent-bg);border-bottom:1px solid rgba(110,231,168,.22);color:var(--tx-soft);font-size:12px}.notice .spacer{flex:1}.out{display:flex;flex-direction:column;gap:1px}.out-line{white-space:pre-wrap;word-break:break-word}.out-err{color:var(--err)}.out-run{margin:6px 0;padding:7px 9px;background:var(--panel-2);border-radius:var(--r);border:1px solid var(--line)}.out-run-head{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:11.5px;color:var(--mu);margin-bottom:5px}.counts{display:flex;flex-direction:column;gap:3px}.count-row{display:grid;grid-template-columns:74px 1fr 52px;align-items:center;gap:8px}.count-row .bar{height:6px;border-radius:3px;background:var(--accent-dim);min-width:2px}.count-row .pct{text-align:right;color:var(--mu);font-variant-numeric:tabular-nums}.right-note{color:var(--dim);font-size:11.5px;line-height:1.55}.right-warn{display:flex;gap:8px;padding:8px 10px;border-radius:var(--r);background:#f0c67417;border:1px solid rgba(240,198,116,.24);color:var(--warn);font-size:11.5px;line-height:1.5}.balance{color:var(--mu);font-size:11.5px}.dim{color:var(--dim)}.warn{color:var(--warn)}.danger-text{color:var(--err)}.runs-panel{display:flex;flex-direction:column}.runs-head{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--mu);font-size:11.5px}.runs-head .spacer{flex:1}.run-row{display:flex;align-items:center;gap:8px;padding:7px 12px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.run-row:hover{background:var(--panel-2)}.run-row.on{background:var(--accent-bg)}.run-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.run-machine{color:var(--tx-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-meta{color:var(--dim);font-size:11px}.run-when{color:var(--dim);font-size:11px;white-space:nowrap}.search-panel{display:flex;flex-direction:column;min-height:0}.search-head{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.search-input{width:100%;height:28px;padding:0 8px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2)}.search-flags{display:flex;gap:6px}.search-flags button{height:22px;padding:0 7px;border-radius:4px;border:1px solid var(--line-2);background:transparent;color:var(--mu);cursor:pointer;font-size:11px}.search-flags button.on{background:var(--accent-bg);border-color:#6ee7a84d;color:var(--accent)}.search-count{padding:0 12px 6px;color:var(--dim);font-size:11px}.search-results{flex:1;overflow:auto}.search-group{padding-bottom:4px}.search-file{padding:5px 12px;color:var(--tx-soft);font-size:11.5px}.search-hit{display:flex;gap:8px;padding:3px 12px 3px 22px;width:100%;border:0;background:transparent;color:var(--mu);cursor:pointer;text-align:left;font-size:11.5px}.search-hit:hover{background:var(--panel-2);color:var(--tx)}.search-hit .ln{color:var(--dim);min-width:30px;text-align:right}.search-hit .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-hit mark{background:#f0c67438;color:var(--warn);border-radius:2px}.lib{display:flex;flex-direction:column;min-height:0;height:100%}.lib-head{flex:none;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.lib-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lib select,.lib-domain{height:26px;padding:0 6px;border-radius:var(--r-sm);width:100%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx-soft);font-size:11.5px}.lib select:hover{border-color:#3a414b;color:var(--tx)}.lib-count{flex:none;display:flex;align-items:center;gap:8px;padding:2px 12px 6px;color:var(--dim);font-size:11px}.lib-count .ok{color:var(--accent-dim)}.lib-count .link{margin-left:auto;font-size:11px}.lib-list{flex:1;overflow:auto;padding-bottom:8px}.lib-row{display:flex;flex-direction:column;gap:2px;width:100%;padding:5px 12px;border:0;background:transparent;cursor:pointer;text-align:left;border-left:2px solid transparent}.lib-row:hover{background:var(--panel-2)}.lib-row.on{background:var(--accent-bg);border-left-color:var(--accent)}.lib-row-top{display:flex;align-items:center;gap:8px}.lib-title{color:var(--tx-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-row:hover .lib-title,.lib-row.on .lib-title{color:var(--tx)}.lib-row-sub{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:hidden}.lib-runs{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.lib-runs.browser{color:var(--accent-dim)}.lib-runs.read-only{color:var(--dim)}.lib-runs svg{width:11px;height:11px}.lib-tag{flex:none;padding:0 5px;height:15px;line-height:15px;border-radius:3px;font-size:10px;color:var(--mu);background:var(--panel-2);border:1px solid var(--line);white-space:nowrap}.lib-tag.dim{color:var(--dim)}.lib-tag.imported{color:var(--warn);border-color:#f0c67447}.lib-tag.hw{color:var(--accent-dim);border-color:#6ee7a847}.verdict{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line-2)}.verdict.runs{background:var(--accent-bg);border-color:#6ee7a83d}.verdict.reads{background:#f0c67412;border-color:#f0c67438}.verdict-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}.verdict.runs .verdict-head{color:var(--accent)}.verdict.reads .verdict-head{color:var(--warn)}.verdict-body{color:var(--tx-soft);font-size:12px;line-height:1.55}.verdict-observed{color:var(--dim);font-size:11.5px;line-height:1.5}.verdict-observed b{color:var(--tx-soft);font-weight:500}.companion{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 11px;border-radius:var(--r);cursor:pointer;background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx-soft);font-size:12px}.companion:hover{border-color:var(--accent-dim);color:var(--tx)}.companion svg{color:var(--accent-dim)}.companion span{flex:1}.lib-meta{display:flex;flex-wrap:wrap;gap:5px}.lib-section{display:flex;flex-direction:column;gap:6px}.lib-section h4{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mu)}.teaches{display:flex;flex-direction:column;gap:4px;padding-left:16px}.teaches li{color:var(--tx-soft);font-size:12.5px;line-height:1.5}.teaches li::marker{color:var(--accent-dim)}.lib-files{display:flex;flex-direction:column;gap:2px}.lib-file{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:var(--r-sm);background:var(--panel-2);color:var(--tx-soft);font-size:12px}.lib-file svg{color:var(--dim)}.lib-file-size{margin-left:auto;color:var(--dim);font-size:11px}.attribution{padding:11px 12px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2)}.attribution-path{color:var(--dim);font-size:11px;word-break:break-all}.attribution .link{display:inline-flex;align-items:center;gap:5px;font-size:11.5px}.stage-panel{padding:16px 12px;display:flex;flex-direction:column;gap:8px}.stage-badge{align-self:flex-start;padding:1px 7px;border-radius:9px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);border:1px solid var(--line-2)}.stage-panel p{color:var(--dim);line-height:1.6;font-size:12.5px}.stage-panel .then{color:var(--mu);font-size:11.5px}.dlg-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000080;display:grid;place-items:center;padding:24px}.dlg{width:min(520px,100%);background:var(--elev);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden}.dlg.wide{width:min(680px,100%)}.dlg-head{padding:14px 16px 0;font-size:14.5px;font-weight:600}.dlg-body{padding:12px 16px;display:flex;flex-direction:column;gap:11px}.dlg-text{color:var(--tx-soft);line-height:1.6}.dlg-help{color:var(--dim);font-size:11.5px;line-height:1.5}.dlg-err{color:var(--err);font-size:12px}.dlg-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--line)}.dlg-body input[type=text],.dlg-body input:not([type]){height:32px;padding:0 10px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx);width:100%}.tpl-list{display:flex;flex-direction:column;gap:6px}.tpl{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--panel-2);color:var(--tx-soft);cursor:pointer;text-align:left}.tpl:hover{border-color:#3a414b;color:var(--tx)}.tpl.on{border-color:var(--accent-dim);background:var(--accent-bg);color:var(--tx)}.tpl small{color:var(--dim);font-size:11.5px}.share-url{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2)}.share-url input{flex:1;min-width:0;background:transparent;border:0;color:var(--tx);font-family:JetBrains Mono,monospace;font-size:11.5px}.share-facts{display:flex;flex-direction:column;gap:4px;color:var(--dim);font-size:11.5px}.share-facts .flag{color:var(--tx-soft)}.proj-btn{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--tx-soft);cursor:pointer;font-size:12.5px}.proj-btn:hover{background:var(--panel-2);border-color:var(--line-2)}.share-page{height:100%;display:flex;flex-direction:column;background:var(--bg)}.share-top{height:42px;flex:none;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line)}.share-top .spacer{flex:1}.share-name{color:var(--tx);font-weight:550}.share-ro{padding:1px 7px;border-radius:9px;border:1px solid var(--line-2);color:var(--mu);font-size:10.5px}.share-body{flex:1;min-height:0;display:grid;grid-template-columns:230px 1fr 300px}.share-files{background:var(--panel);border-right:1px solid var(--line);overflow:auto}.share-code{min-width:0;display:flex;flex-direction:column}.share-path{height:28px;flex:none;display:flex;align-items:center;padding:0 14px;color:var(--mu);font-size:11.5px;border-bottom:1px solid var(--line)}.share-cta{background:var(--panel);border-left:1px solid var(--line);padding:14px;overflow:auto}.share-error{margin:24px auto;max-width:420px;color:var(--err);text-align:center}.cta-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:9px;background:var(--accent-bg);border:1px solid rgba(110,231,168,.24)}.cta-kicker{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-dim)}.cta-line{color:var(--tx-soft);line-height:1.6;font-size:12.5px}.cta-price{display:flex;align-items:baseline;justify-content:space-between}.cta-price .val{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;color:var(--accent)}.cta-note{color:var(--tx-soft);font-size:12px;line-height:1.55}.cta-fine{color:var(--dim);font-size:11px;line-height:1.5}.sk{border-radius:var(--r);background:linear-gradient(90deg,var(--panel) 25%,var(--panel-2) 50%,var(--panel) 75%);background-size:200% 100%;animation:skshine 1.3s ease-in-out infinite}@keyframes skshine{to{background-position:-200% 0}}.share-skeleton{flex:1;display:grid;grid-template-columns:230px 1fr;gap:1px}.sk-list{margin:12px;height:220px}.sk-code{margin:12px}.mono.files{color:var(--dim);font-size:11px}.mono.state{color:var(--mu);font-size:11px}.twist{transition:transform .12s ease}.twist.open{transform:rotate(90deg)}.nb{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.nb-bar{flex:none;display:flex;align-items:center;gap:2px;padding:4px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.nb-bar .spacer{flex:1}.nb-bar-sep{width:1px;height:14px;background:var(--line-2);margin:0 6px}.nb-tool{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-sm);color:var(--tx-soft);cursor:pointer;font-size:11.5px}.nb-tool:hover:not(:disabled){background:var(--panel-2);color:var(--tx)}.nb-tool:disabled{color:var(--dim);cursor:default}.nb-tool.nb-stop{color:var(--warn)}.nb-dim{color:var(--dim);font-size:11.5px}.nb-cells{flex:1;overflow:auto;padding:10px 14px 40vh}.nb-empty{padding:28px 8px;color:var(--dim)}.nb-empty .link{margin-top:6px}.nb-cell{position:relative;display:flex;gap:8px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.nb-cell:focus-within{border-color:var(--line-2)}.nb-cell.running{border-color:var(--accent-dim)}.nb-gutter{flex:none;width:46px;display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:7px}.nb-exec{width:22px;height:22px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--accent-dim);cursor:pointer}.nb-exec:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.nb-exec:disabled{color:var(--dim);cursor:default}.nb-exec-blank{height:22px}.nb-exec-n{font-size:10px;color:var(--dim)}.nb-spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent-bg);border-top-color:var(--accent);animation:nbspin .7s linear infinite}@keyframes nbspin{to{transform:rotate(360deg)}}.nb-body{flex:1;min-width:0;padding:6px 8px 6px 0}.nb-cm .cm-editor{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px}.nb-cm .cm-editor.cm-focused{outline:none}.nb-cm .cm-content{padding:4px 0;caret-color:var(--tx)}.nb-cm .cm-line{padding:0 4px}.nb-outputs{border-top:1px solid var(--line);margin-top:4px;padding:6px 4px 2px}.nb-pre{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--tx-soft);margin:2px 0}.nb-stderr{color:var(--warn)}.nb-raw{padding:12px;overflow:auto}.nb-img{max-width:100%;border-radius:var(--r-sm);background:#fff;margin:4px 0}.nb-err{margin:4px 0}.nb-err-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--err)}.nb-err-msg{color:var(--tx-soft)}.nb-runref{font-size:12px;color:var(--tx-soft);padding:4px 0}.nb-counts{margin:4px 0;max-width:460px}.nb-counts table{border-collapse:collapse;width:100%;font-size:12px}.nb-counts th{text-align:left;color:var(--mu);font-weight:500;padding:2px 10px 4px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.nb-counts td{padding:1px 10px 1px 0;color:var(--tx-soft)}.nb-barcol{width:40%}.nb-count-bar{height:7px;border-radius:3px;background:var(--accent-dim);min-width:2px}.nb-counts-total{margin-top:4px;font-size:11px}.nb-md{padding:6px 10px;line-height:1.6;color:var(--tx-soft);font-size:13px;cursor:text}.nb-md h1,.nb-md h2,.nb-md h3,.nb-md h4{color:var(--tx);margin:8px 0 4px;line-height:1.3}.nb-md h1{font-size:19px}.nb-md h2{font-size:16px}.nb-md h3{font-size:14px}.nb-md h4{font-size:13px}.nb-md p{margin:4px 0}.nb-md code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:0 4px}.nb-md pre{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;overflow:auto;margin:6px 0}.nb-md pre code{background:none;border:0;padding:0;font-size:12px}.nb-md ul,.nb-md ol{margin:4px 0 4px 20px}.nb-md blockquote{border-left:2px solid var(--line-2);margin:6px 0;padding:2px 10px;color:var(--mu)}.nb-md hr{border:0;border-top:1px solid var(--line);margin:10px 0}.nb-md a{color:var(--accent-dim)}.nb-md a:hover{color:var(--accent);text-decoration:underline}.nb-acts{position:absolute;top:-1px;right:6px;transform:translateY(-50%);display:none;align-items:center;gap:1px;padding:2px;background:var(--elev);border:1px solid var(--line-2);border-radius:6px;box-shadow:var(--shadow-lg)}.nb-cell:hover .nb-acts,.nb-cell:focus-within .nb-acts{display:flex}.nb-acts button{min-width:22px;height:22px;padding:0 4px;border-radius:4px;display:grid;place-items:center;color:var(--mu);cursor:pointer;font-size:11px}.nb-acts button:hover{background:var(--panel-2);color:var(--tx)}.nb-acts button.danger:hover{background:#f2777a29;color:var(--err)}.cv{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.cv-fail{padding:10px}.cv-palette{flex:none;display:flex;align-items:center;gap:3px;padding:5px 10px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--panel)}.cv-palette .spacer{flex:1}.cv-sep{width:1px;height:16px;background:var(--line-2);margin:0 5px;flex:none}.cv-chip{min-width:28px;height:24px;padding:0 6px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel-2);color:var(--tx-soft);cursor:grab;font-size:11.5px;font-weight:600;-webkit-user-select:none;user-select:none;touch-action:none}.cv-chip:hover:not(:disabled){border-color:var(--accent-dim);color:var(--tx)}.cv-chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.cv-chip:disabled{opacity:.5;cursor:default}.cv-tool{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:var(--r-sm);color:var(--tx-soft);cursor:pointer;font-size:11.5px}.cv-tool:hover:not(:disabled){background:var(--panel-2);color:var(--tx)}.cv-tool:disabled{color:var(--dim);cursor:default}.cv-note{flex:none;padding:4px 12px;font-size:11.5px;color:var(--accent-dim);border-bottom:1px solid var(--line);background:var(--panel)}.cv-scroll{flex:1;overflow:auto;padding:12px;-webkit-user-select:none;user-select:none}.cv-scroll:focus-visible{box-shadow:inset var(--ring)}.cv-canvas{position:relative}.cv-svg{display:block;touch-action:none}.cv-svg.dragging,.cv-svg.dragging *{cursor:grabbing}.cv-svg.dragging.bad,.cv-svg.dragging.bad *{cursor:not-allowed}.cv-gridline{stroke:var(--line);stroke-width:1;opacity:.45}.cv-gapcol{fill:var(--accent-bg);stroke:var(--accent-dim);stroke-dasharray:4 4}.cv-wlabel{fill:var(--mu);font-size:11px}.cv-wlabel.cw{fill:var(--dim)}.cv-ket{fill:var(--tx-soft);font-size:11px}.cv-wire{stroke:var(--line-2);stroke-width:2}.cv-wire.pending{stroke:var(--accent-dim)}.cv-cwire{stroke:var(--line-2);stroke-width:1}.cv-pendrow{fill:var(--accent-bg);pointer-events:none}.cv-cell{fill:transparent}.cv-cell.armable{cursor:copy}.cv-cell.armable:hover{fill:var(--accent-bg)}.cv-op .cv-span{fill:var(--accent);opacity:.07;pointer-events:none}.cv-selring{fill:none;stroke:var(--accent);stroke-width:1.5;pointer-events:none}.cv-op.dragged{opacity:.3}.cv-box{fill:var(--panel-2);stroke:var(--accent-dim);stroke-width:1.5}.cv-op:hover .cv-box,.cv-op.sel .cv-box{stroke:var(--accent)}.cv-glabel{fill:var(--tx);font-size:11.5px;font-weight:600;pointer-events:none}.cv-gangle{fill:var(--accent-dim);font-size:9px;pointer-events:none}.cv-anglegrp{cursor:pointer}.cv-anglegrp:hover .cv-gangle{fill:var(--accent)}.cv-ctrl{fill:var(--accent-dim)}.cv-op:hover .cv-ctrl,.cv-op.sel .cv-ctrl{fill:var(--accent)}.cv-conn{stroke:var(--accent-dim);stroke-width:2}.cv-op:hover .cv-conn,.cv-op.sel .cv-conn{stroke:var(--accent)}.cv-oplus{fill:var(--bg);stroke:var(--accent-dim);stroke-width:2}.cv-oplusl{stroke:var(--accent-dim);stroke-width:2}.cv-op:hover .cv-oplus,.cv-op.sel .cv-oplus,.cv-op:hover .cv-oplusl,.cv-op.sel .cv-oplusl{stroke:var(--accent)}.cv-swapx{stroke:var(--accent-dim);stroke-width:2.2;stroke-linecap:round}.cv-op:hover .cv-swapx,.cv-op.sel .cv-swapx{stroke:var(--accent)}.cv-barrier-line{stroke:var(--dim);stroke-width:2;stroke-dasharray:5 4}.cv-op:hover .cv-barrier-line,.cv-op.sel .cv-barrier-line{stroke:var(--tx)}.cv-handle{fill:var(--bg);stroke:var(--accent);stroke-width:1.5;cursor:grab}.cv-mbox{stroke:var(--warn)}.cv-op:hover .cv-mbox,.cv-op.sel .cv-mbox{stroke:var(--warn);filter:brightness(1.2)}.cv-meter{stroke:var(--warn);fill:none;stroke-width:1.6;pointer-events:none}.cv-mfeed{stroke:var(--warn);opacity:.55;stroke-width:1.6}.cv-marrow{fill:var(--warn);opacity:.75}.cv-mclbit{fill:var(--warn);font-size:8.5px;opacity:.9}.cv-hit{fill:transparent;cursor:pointer}.cv-hit.conn{stroke:transparent;stroke-width:14;fill:none;cursor:move}.cv-hit.dot{cursor:grab}.cv-hit.barrier{cursor:move}.cv-hit.angle{cursor:pointer}.cv-ghost{opacity:.6}.cv-ghost .cv-box{stroke-dasharray:3 3}.cv-ghost.bad .cv-box,.cv-ghost.bad .cv-mbox,.cv-ghost.bad .cv-oplus,.cv-ghost.bad .cv-oplusl,.cv-ghost.bad .cv-conn,.cv-ghost.bad .cv-swapx,.cv-ghost.bad .cv-barrier-line,.cv-ghost.bad .cv-meter,.cv-ghost.bad .cv-mfeed{stroke:var(--err)}.cv-ghost.bad .cv-ctrl,.cv-ghost.bad .cv-marrow,.cv-ghost.bad .cv-glabel{fill:var(--err)}.cv-status{flex:none;display:flex;align-items:center;gap:12px;padding:4px 12px;border-top:1px solid var(--line);background:var(--panel);font-size:11.5px;color:var(--tx-soft);min-height:26px;flex-wrap:wrap}.cv-status .spacer{flex:1}.cv-stat{white-space:nowrap}.cv-stat.dim{color:var(--dim)}.cv-stat.sel{color:var(--accent)}.cv-flash{font-size:11.5px}.cv-flash.err{color:var(--err)}.cv-flash.info{color:var(--accent)}.cv-hint{color:var(--dim);font-size:11px;white-space:nowrap}.cv-zoom{display:inline-flex;align-items:center;gap:1px}.cv-zoom button{min-width:22px;height:20px;padding:0 4px;border-radius:var(--r-sm);color:var(--tx-soft);cursor:pointer;font-size:12px;line-height:1}.cv-zoom button.pct{font-size:10.5px;min-width:38px;color:var(--mu)}.cv-zoom button:hover:not(:disabled){background:var(--panel-2);color:var(--tx)}.cv-zoom button:disabled{color:var(--dim);cursor:default}.cv-menu{position:fixed;z-index:80;min-width:200px;padding:4px;display:flex;flex-direction:column;background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow-lg)}.cv-menu button{text-align:left;padding:5px 10px;border-radius:var(--r-sm);font-size:12px;color:var(--tx-soft);cursor:pointer;white-space:nowrap}.cv-menu button:hover:not(:disabled){background:var(--panel-2);color:var(--tx)}.cv-menu button.danger:hover:not(:disabled){background:#f2777a29;color:var(--err)}.cv-menu button:disabled{color:var(--dim);cursor:default}.cv-menu .sep{height:1px;background:var(--line);margin:4px 6px}.cv-pop{position:absolute;z-index:70;transform:translate(-50%);width:216px;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow-lg)}.cv-pop-title{font-size:11px;color:var(--mu)}.cv-pop-row{display:flex;align-items:center;gap:6px}.cv-pop-row .th{color:var(--tx-soft);font-size:11px;width:16px;flex:none}.cv-pop-row input{flex:1;min-width:0;height:22px;padding:0 6px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx);font-size:11.5px}.cv-pop-row .ev{color:var(--dim);font-size:10px;width:52px;flex:none;text-align:right}.cv-pop-row .ev.bad{color:var(--warn)}.cv-pop-chips{display:flex;gap:3px;flex-wrap:wrap}.cv-pop-chips button{height:20px;padding:0 7px;border-radius:var(--r-sm);font-size:11px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--tx-soft);cursor:pointer}.cv-pop-chips button:hover{border-color:var(--accent-dim);color:var(--tx)}.cv-pop-acts{display:flex;align-items:center;gap:8px}.cv-pop-acts button{height:22px;padding:0 10px;border-radius:var(--r-sm);font-size:11.5px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--tx-soft);cursor:pointer}.cv-pop-acts button[type=submit]:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.cv-pop-acts button:disabled{color:var(--dim);cursor:default}.cv-pop-acts .bad{color:var(--warn);font-size:10.5px}.view-toggle{display:inline-flex;align-items:center;margin-right:8px;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;height:20px}.view-toggle button{height:100%;padding:0 9px;font-size:11px;color:var(--mu);cursor:pointer}.view-toggle button.on{background:var(--accent-bg);color:var(--accent)}.gh{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.gh-form{display:flex;gap:6px}.gh-form .search-input{flex:1;min-width:0}.gh-err{color:var(--err);font-size:12px;line-height:1.5}.gh-plan{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}.gh-plan-head{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--tx)}.gh-files{display:flex;flex-direction:column;gap:2px}.gh-file{font-size:11px;color:var(--tx-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-file.dim{color:var(--dim)}.gh-skipped-toggle{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mu);cursor:pointer;padding:2px 0;text-align:left}.gh-skipped-toggle:hover{color:var(--tx-soft)}.gh-import{justify-content:center}.gh-mode{align-self:flex-start;height:22px}.gh-connect{display:flex;flex-direction:column;gap:6px}.gh-connect .side-note{padding:0}.gh-connect-btn{display:inline-flex;align-items:center;gap:6px;justify-content:center}.gh-account{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--tx-soft);border-top:1px solid var(--line);padding-top:8px}.gh-account-login{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis}.gh-disconnect{margin-left:auto;font-size:11px;color:var(--mu);cursor:pointer}.gh-disconnect:hover{color:var(--err)}.gh-repos{display:flex;flex-direction:column;gap:8px}.gh-repo-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow:auto}.gh-repo{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;text-align:left;cursor:pointer;padding:5px 7px;border-radius:var(--r-sm);font-size:11.5px;color:var(--tx-soft)}.gh-repo:hover{background:var(--panel-2);color:var(--tx)}.gh-repo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.gh-private{font-size:10px;color:var(--warn);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 4px;line-height:1.5}.gh-repo-desc{flex-basis:100%;font-size:10.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-pick{display:flex;flex-direction:column;gap:8px}.gh-pick-head{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx)}.gh-back{display:inline-flex;align-items:center;cursor:pointer;color:var(--mu)}.gh-back:hover{color:var(--tx)}.gh-back svg{transform:rotate(180deg)}.gh-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--mu)}.gh-field .dim{color:var(--dim)}.cp{height:100%;display:flex;flex-direction:column;min-height:0}.cp-feed{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cp-empty{color:var(--mu);line-height:1.6;padding:14px 4px}.cp-empty-ico{width:22px;height:22px;color:var(--accent-dim);margin-bottom:8px}.cp-chips{display:flex;flex-direction:column;gap:5px;margin-top:12px}.cp-chips button{text-align:left;padding:7px 10px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--tx-soft);cursor:pointer;font-size:12px;background:var(--panel-2)}.cp-chips button:hover{border-color:var(--accent-dim);color:var(--tx)}.cp-msg{border-radius:var(--r);padding:7px 10px;font-size:12.5px;line-height:1.55}.cp-user{background:var(--accent-bg);color:var(--tx);align-self:flex-end;max-width:92%}.cp-ai{background:var(--panel-2);color:var(--tx-soft)}.cp-live{white-space:pre-wrap}.cp-err{background:#f2777a1f;color:var(--err)}.cp-activity{color:var(--dim);font-size:11.5px;padding-left:4px}.cp-cost{color:var(--dim);font-size:10.5px;text-align:right;font-variant-numeric:tabular-nums}.cp-busy{display:flex;align-items:center;gap:8px;color:var(--dim);font-size:12px}.cp-card{border:1px solid var(--accent-dim);border-radius:var(--r);background:var(--panel);padding:9px 10px}.cp-card-head{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tx);flex-wrap:wrap}.cp-card-sub{color:var(--mu);font-size:11.5px;margin:4px 0 6px;line-height:1.5}.cp-card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.cp-diff-stats{margin-left:auto;font-size:11px}.cp-add{color:var(--ok)}.cp-del{color:var(--err)}.cp-diff-toggle{color:var(--mu);font-size:11px;cursor:pointer;padding:0}.cp-diff-toggle:hover{color:var(--tx-soft)}.cp-diff-body{margin-top:6px;max-height:240px;overflow:auto;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.5;background:var(--bg);border-radius:var(--r-sm);padding:6px 8px}.cp-line{white-space:pre-wrap;word-break:break-all}.cp-line.add{color:var(--ok);background:#6ee7a812}.cp-line.del{color:var(--err);background:#f2777a12}.cp-line.same{color:var(--mu)}.cp-skip{color:var(--dim);padding:1px 0}.cp-foot{flex:none;border-top:1px solid var(--line);padding:6px 10px 10px}.cp-spend{font-size:10.5px;color:var(--mu);padding:0 2px 6px;font-variant-numeric:tabular-nums}.cp-spend .dim{color:var(--dim)}.cp-input{display:flex;gap:6px;align-items:flex-end}.cp-input textarea{flex:1;min-width:0;resize:none;padding:7px 9px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx);font-size:12.5px;line-height:1.45;font-family:inherit}.cp-input textarea:focus{outline:none;border-color:var(--accent-dim)}.proj-pal{width:min(560px,92vw)}.proj-row{display:flex;align-items:center;gap:2px;border-radius:var(--r-sm);padding-right:4px}.proj-row:hover{background:var(--panel-2)}.proj-row.on{background:var(--accent-bg)}.proj-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:7px 9px;cursor:pointer;color:var(--tx-soft);text-align:left;font-size:12.5px}.proj-row:hover .proj-main,.proj-row.on .proj-main{color:var(--tx)}.proj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-badge{flex:none;font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-bg);border-radius:3px;padding:1px 5px}.proj-meta{margin-left:auto;flex:none;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.proj-acts,.proj-confirm{display:none;align-items:center;gap:1px}.proj-row:hover .proj-acts,.proj-row:hover .proj-confirm,.proj-row:focus-within .proj-acts,.proj-row:focus-within .proj-confirm{display:flex}.proj-row .proj-confirm{display:flex}.proj-confirm .row-act.danger{width:auto;padding:0 7px;font-size:11px;color:var(--err)}.proj-rename{flex:1;display:flex;align-items:center;gap:4px;padding:4px 6px}.proj-rename input{flex:1;min-width:0;height:26px;padding:0 8px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--accent-dim);color:var(--tx);font-size:12.5px}.proj-err{margin:4px 10px}.proj-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:8px 10px}.proj-hint{font-size:11px;color:var(--dim)}.cp-sess{flex:none;display:flex;align-items:center;gap:4px;padding:6px 10px;border-bottom:1px solid var(--line)}.cp-sess select{flex:1;min-width:0;height:24px;padding:0 6px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2);color:var(--tx-soft);font-size:11.5px}.cp-sess .row-act{display:grid}.lab-handle{position:absolute;z-index:60;background:transparent;touch-action:none}.lab-handle.h-side,.lab-handle.h-right{top:34px;bottom:22px;width:7px;cursor:col-resize}.lab-handle.h-side{left:calc(var(--rail-w) + var(--side-w) - 3px)}.lab-handle.h-right{right:calc(var(--right-w) - 3px)}.lab-handle.h-side.collapsed{left:calc(var(--rail-w) - 3px)}.lab-handle.h-right.collapsed{right:0;width:5px}.lab-handle.h-dock{height:7px;cursor:row-resize;left:calc(var(--rail-w) + var(--side-w));right:var(--right-w);bottom:calc(19px + min(var(--dock-h),60vh))}.lab-handle:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transition:background .1s ease .15s}.lab-handle:hover:after,.lab-handle.dragging:after{background:#6ee7a847;transition-delay:0s}.lab-handle:focus-visible{box-shadow:none}.lab-handle:focus-visible:after{background:#6ee7a873}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.ctx-menu{position:fixed;min-width:176px;padding:4px;background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.ctx-menu button{text-align:left;padding:5px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--tx-soft);cursor:pointer}.ctx-menu button:hover:not(:disabled){background:var(--panel-2);color:var(--tx)}.ctx-menu button:focus-visible{box-shadow:var(--ring)}.ctx-menu button:disabled{color:var(--dim);cursor:default}.cm-tooltip.cm-tooltip-autocomplete{background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden}.cm-tooltip.cm-tooltip-autocomplete>ul{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;max-height:240px}.cm-tooltip.cm-tooltip-autocomplete>ul>li{padding:3px 8px;color:var(--tx-soft)}.cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--accent-bg);color:var(--tx)}.cm-completionIcon{opacity:.6}.cm-completionMatchedText{text-decoration:none;color:var(--accent)}.cm-tooltip.cm-completionInfo{background:var(--elev);border:1px solid var(--line-2);border-radius:var(--r);font-size:11.5px;color:var(--tx-soft);max-width:320px;padding:6px 8px}.side-head .rp-headfile{text-transform:none;letter-spacing:0;color:var(--tx-soft)}.i12{width:12px;height:12px}.mref-head{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}.mref-list{display:flex;flex-direction:column;gap:8px}.mref{display:flex;flex-direction:column;gap:5px;padding:8px 9px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2)}.mref-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mref-name{font-size:12.5px;font-weight:550;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mref-meta{font-size:11px;color:var(--dim)}.mref-code{display:flex;align-items:center;gap:6px;min-width:0}.mref-code code{font-size:11.5px;color:var(--accent-dim);background:#6ee7a812;border:1px solid rgba(110,231,168,.16);border-radius:var(--r-sm);padding:1px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-mini{flex:none;display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:transparent;font-size:10.5px;color:var(--mu);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.copy-mini:hover{background:var(--panel-2);color:var(--tx);border-color:#3a414b}.copy-mini:focus-visible{outline:none;box-shadow:var(--ring)}.copy-mini.done{color:var(--ok);border-color:#6ee7a84d}.run-snippet{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2)}.run-snippet code{flex:1;min-width:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--tx-soft);white-space:nowrap;overflow-x:auto}.right-note code.mono{font-size:11px;color:var(--tx-soft)}.orv-head-sp{flex:1}.orv-tl{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-family:Inter,sans-serif;font-size:11.5px;margin:2px 0 8px}.orv-stage{display:inline-flex;align-items:baseline;gap:5px;color:var(--mu)}.orv-stage+.orv-stage:before{content:"→";color:var(--dim);margin-right:5px}.orv-dot{width:7px;height:7px;border-radius:50%;align-self:center;background:var(--dim);flex:none}.orv-stage.st-done .orv-dot{background:var(--accent-dim)}.orv-stage.st-done{color:var(--tx-soft)}.orv-stage.st-current .orv-dot{background:var(--warn);animation:orv-pulse 1.4s ease-in-out infinite}.orv-stage.st-current{color:var(--tx)}.orv-stage.st-failed .orv-dot{background:var(--err)}.orv-stage.st-failed{color:var(--err)}.orv-stage.st-cancelled .orv-dot{background:var(--dim)}.orv-stage.st-cancelled{color:var(--mu)}.orv-stage.st-pending{color:var(--dim)}.orv-stage-label{font-weight:550}.orv-stage-sub{color:var(--dim);font-size:11px}@keyframes orv-pulse{0%,to{opacity:1}50%{opacity:.35}}.orv-errcard{margin:6px 0;padding:7px 9px;border-radius:var(--r);background:#f2777a12;border:1px solid rgba(242,119,122,.28);font-family:Inter,sans-serif;font-size:12px}.orv-errcard.muted{background:var(--panel);border-color:var(--line-2)}.orv-errline{display:flex;gap:7px;align-items:flex-start;color:var(--err);line-height:1.5}.orv-errcard.muted .orv-errline{color:var(--tx-soft)}.orv-errline svg{flex:none;margin-top:2px}.orv-errcard details,.orv-tbcard details{margin-top:5px}.orv-errcard summary,.orv-tbcard summary{cursor:pointer;color:var(--mu);font-size:11.5px;font-family:Inter,sans-serif;-webkit-user-select:none;user-select:none;width:fit-content}.orv-errcard summary:hover,.orv-tbcard summary:hover{color:var(--tx-soft)}.orv-errcard summary:focus-visible,.orv-tbcard summary:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}.orv-tbbody{margin:5px 0 1px;padding:6px 8px;border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;color:var(--tx-soft);font-size:11.5px;line-height:1.5;max-height:220px;overflow:auto}.orv-credit{font-family:Inter,sans-serif;font-size:11.5px;line-height:1.55;margin:4px 0 6px;color:var(--tx-soft)}.orv-credit.tone-ok{color:var(--ok)}.orv-credit.tone-warn{color:var(--warn)}.orv-credit.tone-dim,.orv-credit-detail{color:var(--mu)}.orv-credit.tone-ok .orv-credit-detail{color:var(--tx-soft)}.orv-hist{display:flex;flex-direction:column;gap:3px;margin-top:2px}.orv-hist-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:Inter,sans-serif;font-size:11.5px;color:var(--mu);margin-bottom:2px}.orv-row.count-row{grid-template-columns:minmax(74px,max-content) 1fr 56px 52px}.orv-row .state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.orv-row .bar{display:block;height:8px;border-radius:4px;min-width:0;background:var(--bg);border:1px solid var(--line);overflow:hidden}.orv-row .bar>span{display:block;height:100%;background:var(--accent-dim);min-width:1px}.orv-row .n{text-align:right;color:var(--tx-soft);font-variant-numeric:tabular-nums}.orv-more{align-self:flex-start;margin-top:3px;padding:2px 8px;border-radius:var(--r-sm);font-family:Inter,sans-serif;font-size:11.5px;color:var(--mu);border:1px solid var(--line-2);cursor:pointer}.orv-more:hover{color:var(--tx);background:var(--panel-2)}.orv-more:focus-visible{box-shadow:var(--ring)}.orv-logbar{display:flex;align-items:center;gap:8px;margin:6px 0 3px;font-family:Inter,sans-serif;font-size:11.5px;color:var(--mu)}.orv-logtitle{font-weight:550;color:var(--tx-soft)}.orv-logbar .mono{font-size:11px}.orv-logbar-sp{flex:1}.orv-copy,.orv-explain{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-family:Inter,sans-serif;font-size:11.5px;color:var(--mu);cursor:pointer;white-space:nowrap}.orv-copy:hover,.orv-explain:hover:not(:disabled){color:var(--tx);background:var(--panel-2)}.orv-copy:focus-visible,.orv-explain:focus-visible{box-shadow:var(--ring)}.orv-explain{color:var(--accent-dim);border-color:#6ee7a847}.orv-explain:hover:not(:disabled){color:var(--accent);background:var(--accent-bg)}.orv-explain:disabled{color:var(--dim);border-color:var(--line);cursor:default}.orv-tbcard{margin:4px 0;padding:6px 9px;border-radius:var(--r);background:#f2777a12;border:1px solid rgba(242,119,122,.28)}.orv-tbfinal{display:flex;gap:7px;align-items:flex-start;color:var(--err);line-height:1.5}.orv-tbfinal svg{flex:none;margin-top:2px}.orv-tbfinal .mono{word-break:break-word}.orv-ai{margin:6px 0;padding:7px 9px;border-radius:var(--r);background:var(--panel-2);border:1px solid rgba(110,231,168,.24)}.orv-ai-head{display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:11.5px;color:var(--accent-dim);font-weight:550}.orv-ai-head span{flex:none}.orv-ai-stop{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:1px 7px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-size:11px;color:var(--mu);cursor:pointer}.orv-ai-stop:hover{color:var(--tx);background:var(--panel)}.orv-ai-stop:focus-visible{box-shadow:var(--ring)}.orv-ai-live{font-family:Inter,sans-serif;font-size:12.5px;color:var(--tx-soft);line-height:1.6;white-space:pre-wrap;word-break:break-word;padding:4px 0 1px}.orv-ai .nb-md{padding:4px 0 1px;font-size:12.5px}.orv-ai-wait{display:flex;align-items:center;gap:7px;color:var(--mu);font-family:Inter,sans-serif;font-size:11.5px;padding:5px 0 2px}.orv-ai-note{color:var(--warn);font-family:Inter,sans-serif;font-size:11.5px;margin-top:4px;line-height:1.5}.orv-ai-cost{color:var(--mu);font-family:Inter,sans-serif;font-size:11px;margin-top:5px}.gal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#0507099e;display:grid;place-items:center;padding:clamp(10px,3vh,30px) clamp(10px,3vw,34px);animation:gal-fade .15s ease-out}.gal{display:flex;flex-direction:column;width:min(1280px,100%);height:100%;min-height:0;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;animation:gal-rise .18s cubic-bezier(.2,.8,.3,1)}@keyframes gal-fade{0%{opacity:0}}@keyframes gal-rise{0%{opacity:0;transform:translateY(10px) scale(.99)}}.gal-head{flex:none;display:flex;align-items:center;gap:14px;height:52px;padding:0 12px 0 18px;border-bottom:1px solid var(--line)}.gal-brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;white-space:nowrap}.gal-brand svg{color:var(--accent)}.gal-tally{color:var(--mu);font-size:12px;white-space:nowrap}.gal-tally b{color:var(--accent-dim);font-weight:500}.gal-search{flex:1;max-width:440px;min-width:160px;margin-left:auto;display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line-2)}.gal-search:focus-within{border-color:var(--accent-dim)}.gal-search svg{color:var(--dim)}.gal-search input{flex:1;min-width:0;background:none;border:0}.gal-search input:focus{outline:none;box-shadow:none}.gal-search input::placeholder{color:var(--dim)}.gal-kbd{flex:none;font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--dim);border:1px solid var(--line-2);border-radius:3px;padding:0 5px;line-height:16px}.gal-close{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);color:var(--mu);cursor:pointer}.gal-close:hover{background:var(--panel-2);color:var(--tx)}.gal-body{flex:1;min-height:0;overflow-y:auto;padding:2px 18px 26px}.gal-empty{padding:56px 24px;text-align:center;color:var(--dim);line-height:1.7}.gal-sec{margin-top:8px}.gal-sec-head{position:sticky;top:0;z-index:2;background:var(--panel);padding:14px 2px 10px;margin:0 -2px;border-bottom:1px solid var(--line)}.gal-sec-title{display:flex;align-items:baseline;gap:10px}.gal-sec-title h3{font-size:13.5px;font-weight:600;color:var(--tx);letter-spacing:.01em}.gal-sec-count{color:var(--accent-dim);font-size:11.5px;white-space:nowrap}.gal-sec-blurb{margin-top:3px;max-width:74ch;color:var(--mu);font-size:12px;line-height:1.55}.gal-grid{display:grid;gap:10px;padding:12px 0 6px;grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}.gal-card{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-height:122px;padding:12px 13px 11px;text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;transition:border-color .13s ease,background .13s ease,transform .13s ease}.gal-card:hover{background:var(--elev);border-color:var(--line-2);transform:translateY(-1px)}.gal-card.browser:hover{border-color:#6ee7a861}.gal-card:focus-visible{box-shadow:var(--ring);border-radius:8px}.gal-card.read-only{background:color-mix(in srgb,var(--panel-2) 96%,var(--warn) 4%)}.gal-card-top{display:flex;align-items:center;gap:8px;min-height:14px}.gal-runs{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.gal-runs svg{width:11px;height:11px}.gal-runs.browser{color:var(--accent-dim)}.gal-runs.read-only{color:var(--warn);opacity:.8}.gal-hw{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mu)}.gal-hw svg{width:11px;height:11px}.gal-card-title{font-size:13px;font-weight:600;color:var(--tx);line-height:1.35}.gal-card-hook{flex:1;color:var(--mu);font-size:11.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gal-card:hover .gal-card-hook{color:var(--tx-soft)}.gal-card-meta{display:flex;flex-wrap:wrap;gap:5px}.gal-foot{margin-top:30px;padding-top:14px;border-top:1px solid var(--line);max-width:86ch;color:var(--dim);font-size:11.5px;line-height:1.65}.lib-browse{display:flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:var(--r);background:var(--accent-bg);border:1px solid rgba(110,231,168,.28);color:var(--accent);font-size:12px;font-weight:550;cursor:pointer}.lib-browse:hover{background:#6ee7a82b;border-color:var(--accent-dim)}.lib-browse svg{color:var(--accent-dim)}.lib-browse-n{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--accent-dim)}.cv-emub.on{color:var(--accent);background:var(--accent-bg)}.cv-emucol{fill:var(--accent);opacity:.08;pointer-events:none}.cv-emu{flex:none;max-height:46%;overflow:auto;border-top:1px solid var(--line);background:var(--panel);padding:7px 12px 10px}.cv-emu-head{display:flex;align-items:baseline;gap:10px}.cv-emu-title{font-weight:600;font-size:11.5px;color:var(--tx-soft)}.cv-emu-honest{font-size:11px;color:var(--mu)}.cv-emu-msg{margin-top:5px;font-size:11.5px;color:var(--warn);line-height:1.5}.cv-emu-ctrl{display:flex;align-items:center;gap:5px;margin-top:6px}.cv-emu-btn{min-width:26px;height:22px;padding:0 6px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel-2);color:var(--tx-soft);cursor:pointer;font-size:10.5px}.cv-emu-btn:hover:not(:disabled){border-color:var(--accent-dim);color:var(--tx)}.cv-emu-btn:focus-visible{box-shadow:var(--ring)}.cv-emu-btn:disabled{color:var(--dim);cursor:default;opacity:.6}.cv-emu-btn.play{color:var(--accent);border-color:var(--accent-dim)}.cv-emu-range{flex:1;min-width:80px;height:22px;accent-color:var(--accent);cursor:pointer}.cv-emu-range:disabled{cursor:default}.cv-emu-pos{font-size:11px;color:var(--tx-soft);white-space:nowrap;min-width:78px;text-align:right}.cv-emu-body{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:8px}.cv-emu-sec{flex:1;min-width:220px;max-width:360px}.cv-emu-sec.amps{flex-basis:100%;max-width:none}.cv-emu-sect{font-size:10.5px;color:var(--mu);margin-bottom:4px}.cv-emu-row{display:flex;align-items:center;gap:7px;margin:2px 0}.cv-emu-row .lbl{font-size:10.5px;color:var(--tx-soft);min-width:46px}.cv-emu-row .pct{font-size:10.5px;color:var(--mu);min-width:44px;text-align:right}.cv-emu-bar{flex:1;height:9px;border-radius:3px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line)}.cv-emu-fill{height:100%;background:var(--accent-dim);transition:width .24s ease}.cv-emu-fill.hist{background:var(--accent);opacity:.8}.cv-emu-amps{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding:2px 1px 1px}.cv-emu-amp{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}.cv-emu-needle{width:2px;height:9px;border-radius:1px;background:var(--tx-soft)}.cv-emu-ampcol{width:18px;height:56px;border-radius:3px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end}.cv-emu-ampfill{width:100%;background:var(--line-2);transition:height .24s ease,background .24s ease}.cv-emu-amplbl{font-size:9px;color:var(--mu)}
