: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%}.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}.tab:hover{color:var(--tx-soft)}.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;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)}.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-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-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}.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:14px}.cv-grid{position:relative;min-width:100%}.cv-wire{position:absolute;left:0;right:0;height:40px}.cv-wire-label{position:absolute;left:0;top:12px;width:60px;font-size:11px;color:var(--mu);text-align:right;padding-right:8px}.cv-wire-line{position:absolute;left:70px;right:0;top:19px;height:2px;background:var(--line-2)}.cv-wire-line.double{height:1px;box-shadow:0 3px 0 var(--line-2)}.cv-cwire .cv-wire-label{color:var(--dim)}.cv-slot{position:absolute;top:0;width:44px;height:40px;cursor:default;background:transparent;border-radius:var(--r-sm)}.cv-slot.armable{cursor:copy}.cv-slot.armable:hover{background:var(--accent-bg)}.cv-wire .cv-slot.pending{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-dim)}.cv-gate{position:absolute;z-index:2;min-width:30px;height:26px;padding:0 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--accent-dim);border-radius:var(--r-sm);background:var(--panel);color:var(--tx);font-size:11px;font-weight:600;cursor:pointer;line-height:1.05}.cv-gate:hover{border-color:var(--accent)}.cv-gate.sel{box-shadow:var(--ring);border-color:var(--accent)}.cv-gate .cv-angle{font-size:8.5px;font-weight:500;color:var(--accent-dim);max-width:52px;overflow:hidden;text-overflow:ellipsis}.cv-measure{border-color:var(--warn);color:var(--warn)}.cv-mline{position:absolute;z-index:1;width:2px;background:var(--warn);opacity:.5}.cv-vline{position:absolute;z-index:1;width:2px;background:var(--accent-dim)}.cv-dot{position:absolute;z-index:2;width:10px;height:10px;border-radius:50%;background:var(--accent-dim);cursor:pointer;border:0}.cv-dot:hover,.cv-dot.sel{background:var(--accent);box-shadow:var(--ring)}.cv-oplus{position:absolute;z-index:2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--accent-dim);color:var(--accent-dim);background:var(--bg);font-size:14px;cursor:pointer;line-height:1}.cv-oplus:hover,.cv-oplus.sel{border-color:var(--accent);color:var(--accent)}.cv-swapx{position:absolute;z-index:2;width:16px;height:16px;display:grid;place-items:center;color:var(--accent-dim);font-size:15px;font-weight:700;cursor:pointer;background:var(--bg)}.cv-swapx:hover,.cv-swapx.sel{color:var(--accent)}.cv-barrier{position:absolute;z-index:1;width:12px;cursor:pointer;background:transparent;border:0}.cv-barrier:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:repeating-linear-gradient(var(--dim) 0 5px,transparent 5px 9px)}.cv-barrier.sel:before{background:repeating-linear-gradient(var(--tx) 0 5px,transparent 5px 9px)}.cv-inspect{flex:none;border-top:1px solid var(--line);background:var(--panel);padding:6px 12px}.cv-inspect-row{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--tx-soft);flex-wrap:wrap}.cv-inspect-hint{color:var(--dim);font-size:11px;margin-left:auto}.cv-angle-form{display:inline-flex;align-items:center;gap:6px}.cv-angle-form input{width:90px;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-angle-bad{color:var(--warn);font-size:11px}.cv-fail{padding:10px}.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}.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-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)}
