:root{--activitybar: #18191b;--sidebar: #1e1f22;--editor: #222327;--panel: #26272b;--panel-raised: #2c2e33;--input: #1a1b1e;--hover: #2a2c31;--border: #33353b;--border-strong: #464950;--border-subtle: #2a2c30;--text: #d9dce1;--text-2: #a6abb4;--text-3: #787e88;--text-4: #5b616b;--accent: #4a9eff;--accent-bright: #74b8ff;--accent-dim: #0e639c;--accent-soft: rgba(74, 158, 255, .11);--accent-line: rgba(74, 158, 255, .38);--ok: #4ec9b0;--warn: #d7ba7d;--err: #e06c6c;--mint: var(--accent-bright);--blue: var(--accent);--violet: var(--accent);--amber: var(--warn);--rose: var(--err);--gold: var(--accent-bright);--bg: var(--activitybar);--panel-old: var(--panel);--line: var(--border);--line-strong: var(--border-strong);--mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--activitybar);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}b,strong{font-weight:650}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a3d44;border-radius:0;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#50545c;background-clip:padding-box}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none;height:52px;display:flex;align-items:center;gap:18px;padding:0 14px;border-bottom:1px solid var(--border);background:var(--activitybar)}.app-body{flex:1;min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 424px}.brand{display:flex;align-items:center;gap:9px;min-width:248px}.brand-mark{width:28px;height:28px;border-radius:4px;display:grid;place-items:center;color:var(--accent-bright);background:var(--panel-raised);border:1px solid var(--border-strong)}.brand-name{font-size:13px;font-weight:640;letter-spacing:.02em;line-height:1.2}.brand-sub{font-size:8px;letter-spacing:.13em;color:var(--text-4);margin-top:2px;white-space:nowrap}.brand-version{margin-left:2px;padding:2px 6px;border-radius:2px;font-size:9px;color:var(--text-3);font-family:var(--mono);border:1px solid var(--border);background:var(--panel);white-space:nowrap}.topbar-center{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.project-switch{display:flex;align-items:center;gap:8px;height:28px;padding:0 9px;border-radius:3px;border:1px solid var(--border);background:var(--panel);transition:border-color .15s,background .15s;max-width:420px}.project-switch:hover{border-color:var(--border-strong);background:var(--hover)}.project-switch-icon{color:var(--accent);display:flex}.project-switch-name{font-size:11.5px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-switch-code{font-size:10px;color:var(--text-4);font-family:var(--mono);white-space:nowrap}.muted-icon{color:var(--text-4);flex:none}.phase-chip{font-size:10px;color:var(--accent-bright);white-space:nowrap;padding:2px 8px;border-radius:2px;background:var(--accent-soft);border:1px solid var(--accent-line)}.topbar-right{display:flex;align-items:center;gap:4px}.demo-badge{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-2);padding:3px 8px;border-radius:2px;border:1px solid var(--border);background:var(--panel);white-space:nowrap;margin-right:6px}.demo-dot{width:6px;height:6px;border-radius:50%;background:var(--warn)}.icon-btn{width:27px;height:27px;border-radius:3px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--text-3);transition:color .15s,background .15s}.icon-btn:hover{color:var(--text);background:var(--hover)}.avatar{width:25px;height:25px;border-radius:3px;margin-left:6px;display:grid;place-items:center;font-size:11px;font-weight:650;color:#eaf3ff;background:var(--accent-dim)}.sidebar{min-height:0;overflow-y:auto;border-right:1px solid var(--border);background:var(--sidebar);padding:12px 8px;display:flex;flex-direction:column;gap:14px}.side-project{padding:11px 11px 10px;border-radius:4px;border:1px solid var(--border);background:var(--panel)}.side-project-top{display:flex;justify-content:space-between;align-items:center}.side-project-label{font-size:9px;letter-spacing:.1em;color:var(--text-4)}.side-project-status{font-size:9px;padding:1px 6px;border-radius:2px;color:var(--accent-bright);background:var(--accent-soft)}.side-project-name{font-size:12.5px;font-weight:620;margin-top:8px;line-height:1.4}.side-project-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:10px;color:var(--text-3);font-family:var(--mono)}.side-project-meta i{width:3px;height:3px;border-radius:50%;background:var(--text-4)}.side-progress{height:3px;background:#3a3d44;margin-top:12px}.side-progress-fill{height:100%;background:var(--accent)}.side-progress-caption{display:flex;justify-content:space-between;margin-top:6px;font-size:9.5px;color:var(--text-4)}.side-progress-caption b{color:var(--accent-bright);font-family:var(--mono)}.side-group{display:flex;flex-direction:column;gap:1px}.side-group-title{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.12em;color:var(--text-4);padding:0 8px 6px;text-transform:uppercase}.side-group-count{color:var(--text-3);letter-spacing:0;font-family:var(--mono)}.side-item{position:relative;width:100%;height:29px;display:flex;align-items:center;gap:9px;padding:0 9px;border-radius:2px;border:1px solid transparent;background:transparent;color:var(--text-2);font-size:11.5px;text-align:left;transition:background .14s,color .14s}.side-item>svg{flex:none;color:var(--text-3)}.side-item>span:nth-child(2){flex:1}.side-item:hover{background:var(--hover);color:var(--text)}.side-item.is-active{background:var(--accent-soft);color:var(--text);border-color:var(--accent-line);font-weight:550}.side-item.is-active:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--accent)}.side-item.is-active>svg{color:var(--accent-bright)}.side-item-arrow{color:var(--text-4)}.side-stage{gap:8px}.side-stage-no{font-size:9px;color:var(--text-4);font-family:var(--mono)}.side-stage-name{flex:1;white-space:nowrap}.side-stage-gain{font-size:9.5px;color:var(--accent-bright);font-family:var(--mono)}.side-asset-count{font-size:10px;color:var(--text-4);font-family:var(--mono)}.side-recent{display:flex;align-items:center;gap:9px;height:26px;padding:0 9px;border:none;background:transparent;color:var(--text-3);font-size:10.5px;text-align:left;border-radius:2px;transition:background .14s,color .14s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-recent:hover{background:var(--hover);color:var(--text-2)}.side-recent-dot{width:4px;height:4px;background:var(--text-4);flex:none}.side-foot{margin-top:auto;padding-top:4px}.side-runtime{padding:9px 10px;border-radius:3px;border:1px solid var(--border);background:var(--panel)}.side-runtime-top{display:flex;align-items:center;gap:7px;font-size:10.5px}.runtime-pulse{width:6px;height:6px;border-radius:50%;background:var(--ok)}.runtime-version{margin-left:auto;font-size:9px;color:var(--text-4);font-family:var(--mono)}.side-runtime p{margin:6px 0 0;font-size:9.5px;color:var(--text-4)}.workspace{min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--editor)}.tab-bar{flex:none;display:flex;align-items:stretch;height:32px;padding:0 6px;background:var(--sidebar);border-bottom:1px solid var(--border)}.tab-meta{display:flex;align-items:center;padding:0 10px;font-size:9.5px;color:var(--text-4);font-family:var(--mono)}.pane-switch{flex:none;display:flex;align-items:center;gap:2px;padding:0 4px}.pane-switch button{width:25px;height:20px;border-radius:2px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--text-3);transition:color .14s,background .14s,border-color .14s}.pane-switch button:hover{color:var(--text);background:var(--hover)}.pane-switch button.is-active{color:var(--accent-bright);background:var(--accent-soft);border-color:var(--accent-line)}.linkbar{flex:none;display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-bottom:1px solid var(--border);background:var(--panel)}.conn-btn{display:flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:2px;font-size:10px;border:1px solid var(--border-strong);background:var(--panel-raised);color:var(--text-2)}.conn-btn.is-on{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.conn-btn.is-off{color:var(--err);border-color:var(--err-line);background:var(--err-soft)}.link-chip{font-size:9.5px;color:var(--text-3);padding:2px 6px;border-radius:2px;border:1px solid var(--border);background:var(--input);white-space:nowrap}.link-chip.mono{font-family:var(--mono)}.link-sep{width:1px;height:14px;background:var(--border-strong);margin:0 2px}.link-toggle{display:flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--text-3);font-size:10px;white-space:nowrap}.link-toggle:hover{color:var(--text);background:var(--hover)}.link-toggle.is-on{color:var(--accent-bright);border-color:var(--accent-line)}.linkbar-right{margin-left:auto;display:flex;gap:6px}.btn-ghost{display:flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:2px;border:1px solid var(--border-strong);background:var(--panel-raised);color:var(--text-2);font-size:10.5px;transition:all .15s;white-space:nowrap}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.stagerail{flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--sidebar)}.stage-cell{position:relative;display:grid;grid-template-columns:18px 14px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:6px;row-gap:2px;height:48px;padding:6px 10px;border:none;border-right:1px solid var(--border-subtle);background:transparent;text-align:left;color:var(--text-3);transition:background .14s}.stage-cell:hover{background:var(--hover)}.stage-cell.is-active{background:var(--accent-soft);color:var(--text)}.stage-cell.is-active:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}.stage-cell-no{grid-column:1;grid-row:1 / 3;font-family:var(--mono);font-size:9px;color:var(--text-4)}.stage-cell-icon{grid-column:2;grid-row:1 / 3;color:var(--text-3)}.stage-cell.is-active .stage-cell-icon{color:var(--accent-bright)}.stage-cell-name{grid-column:3;grid-row:1;font-size:11.5px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-cell-state{grid-column:4;grid-row:1;justify-self:end;display:flex;align-items:center;gap:3px;font-size:9px}.stage-cell-state[data-state=done]{color:var(--ok)}.stage-cell-state[data-state=active]{color:var(--accent-bright)}.stage-cell-state[data-state=todo]{color:var(--text-4)}.stage-cell-state em{font-style:normal}.stage-cell-state i{width:5px;height:5px;border-radius:50%;border:1px solid currentColor}.stage-cell-state[data-state=active] i{background:currentColor;animation:stage-pulse 1.8s ease-in-out infinite}@keyframes stage-pulse{50%{opacity:.35}}.stage-cell-count{grid-column:3 / 5;grid-row:2;font-size:9px;color:var(--text-4)}.stage-state-dot{width:6px;height:6px;flex:none;border-radius:50%;border:1px solid var(--text-4)}.stage-state-dot[data-state=done]{background:var(--ok);border-color:var(--ok)}.stage-state-dot[data-state=active]{background:var(--accent);border-color:var(--accent);animation:stage-pulse 1.8s ease-in-out infinite}.stage-state-dot[data-state=todo]{background:transparent}.side-stage-count{font-size:9.5px;color:var(--text-4);font-family:var(--mono)}.pane-host{flex:1;min-height:0;display:flex}.pane-host>*{flex:1;min-width:0}.pane-toolbar{flex:none;display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-bottom:1px solid var(--border-subtle);background:var(--editor)}.toolbar-spacer{flex:1}.toolbar-meta{font-size:9.5px;color:var(--text-4);font-family:var(--mono);white-space:nowrap}.search-box{display:flex;align-items:center;gap:6px;height:24px;padding:0 8px;width:234px;border:1px solid var(--border);border-radius:2px;background:var(--input);color:var(--text-4)}.search-box:focus-within{border-color:var(--accent-line)}.search-box input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:11px}.search-box input::placeholder{color:var(--text-4)}.search-clear{width:16px;height:16px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-4);padding:0}.search-clear:hover{color:var(--text)}.type-filter{display:flex;gap:1px}.type-filter button{height:22px;padding:0 8px;border-radius:2px;border:1px solid transparent;background:transparent;color:var(--text-3);font-size:10px;white-space:nowrap;transition:color .14s,background .14s,border-color .14s}.type-filter button:hover{color:var(--text);background:var(--hover)}.type-filter button.is-active{color:var(--accent-bright);background:var(--accent-soft);border-color:var(--accent-line)}.mini-btn{display:flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:2px;border:1px solid var(--border-strong);background:var(--panel-raised);color:var(--text-2);font-size:10px;white-space:nowrap;transition:color .14s,border-color .14s,background .14s}.mini-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--hover)}.mini-btn:disabled{opacity:.4;cursor:not-allowed}.points-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-split{flex:1;min-height:0;display:flex}.pane-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.ptable{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ptable-head,.ptable-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 32px 44px 100px 64px 56px;align-items:center;column-gap:10px;padding:0 10px}.ptable-head{flex:none;height:26px;border-bottom:1px solid var(--border);background:var(--panel);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.ptable-body{flex:1;min-height:0;overflow-y:auto}.ptable-row{height:29px;border-bottom:1px solid var(--border-subtle);font-size:11px;color:var(--text-2);cursor:default;outline:none}.ptable-row:hover{background:var(--hover)}.ptable-row:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-line)}.ptable-row.is-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.ptable-empty{padding:28px;text-align:center;font-size:11px;color:var(--text-4)}.ptable-head span,.atable-head span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ptable-head .col-value{text-align:right}.ptable-row .col-name,.atable-row .col-name{display:flex;align-items:center;gap:7px;min-width:0}.col-name b{font-weight:520;color:var(--text);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.col-name em{font-style:normal;font-size:9px;color:var(--text-4);flex:none}.point-dot{width:5px;height:5px;flex:none;border-radius:50%;background:var(--text-4)}.point-dot[data-type=AI]{background:var(--ok)}.point-dot[data-type=AO]{background:var(--accent)}.point-dot[data-type=DI]{background:var(--text-3)}.point-dot[data-type=DO]{background:var(--warn)}.col-addr,.col-fc{color:var(--text-3);font-size:10px}.type-pill{display:inline-block;padding:1px 5px;border-radius:2px;font-size:9px;font-family:var(--mono);border:1px solid var(--border);color:var(--text-3);background:var(--panel-raised)}.type-pill[data-type=AO]{color:var(--accent-bright);border-color:var(--accent-line);background:var(--accent-soft)}.type-pill[data-type=DO]{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.ptable-row .col-value{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-size:11px}.col-value em{font-style:normal;font-size:9px;color:var(--text-4)}.ptable-row .col-quality{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-3)}.quality-dot{width:5px;height:5px;border-radius:50%}.quality-dot[data-q=good]{background:var(--ok)}.quality-dot[data-q=stale]{background:var(--warn)}.quality-dot[data-q=bad]{background:var(--err)}.col-ts{font-size:10px;color:var(--text-4)}.inspector{flex:none;width:274px;border-left:1px solid var(--border);background:var(--sidebar);display:flex;flex-direction:column;overflow-y:auto}.inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-4);font-size:11px;text-align:center;padding:20px}.inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.inspector-title{min-width:0}.inspector-tag{display:inline-block;padding:1px 5px;border-radius:2px;font-size:9px;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-line)}.inspector-title b{display:block;margin-top:7px;font-size:12px;line-height:1.45}.inspector-title em{display:block;margin-top:3px;font-style:normal;font-size:9.5px;color:var(--text-4)}.quality-badge{flex:none;font-size:9px;padding:1px 6px;border-radius:2px;border:1px solid var(--border);color:var(--text-3)}.quality-badge[data-q=good]{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.quality-badge[data-q=stale]{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.quality-badge[data-q=bad]{color:var(--err);border-color:var(--err-line);background:var(--err-soft)}.inspector-value{padding:12px;border-bottom:1px solid var(--border-subtle)}.inspector-value-main{display:flex;align-items:baseline;gap:6px}.inspector-value-main b{font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.inspector-value-main span{font-size:10px;color:var(--text-4)}.inspector-value-meta{margin-top:5px;font-size:9px;color:var(--text-4)}.inspector-section{padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.inspector-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-4)}.inspector-lock{margin-left:auto;font-size:9px;color:var(--warn);letter-spacing:0;text-transform:none}.prop-list{margin:0;display:flex;flex-direction:column;gap:5px}.prop-row{display:flex;justify-content:space-between;gap:10px;font-size:10.5px}.prop-row dt{color:var(--text-4)}.prop-row dd{margin:0;color:var(--text-2)}.write-row{display:flex;gap:6px}.write-input{flex:1;min-width:0;height:26px;padding:0 8px;border:1px solid var(--border-strong);border-radius:2px;background:var(--input);color:var(--text);font-size:11px;outline:none}.write-input:focus{border-color:var(--accent)}.write-input:disabled{opacity:.5}.write-btn{height:26px;padding:0 11px;border-radius:2px;border:1px solid var(--accent-hover);background:var(--accent-dim);color:#fff;font-size:10.5px}.write-btn:disabled{opacity:.4;cursor:not-allowed}.write-hint{margin-top:6px;font-size:9px;color:var(--text-4)}.inspector-actions{display:flex;flex-wrap:wrap;gap:5px;padding:10px 12px}.inspector-frame{padding:10px 12px;border-top:1px solid var(--border-subtle)}.inspector-frame-body{font-size:10px;line-height:1.65;color:var(--text-2);word-break:break-all;background:var(--input);border:1px solid var(--border);border-radius:2px;padding:6px 7px}.inspector-frame-note{margin-top:3px;font-size:9px;color:var(--text-4)}.dock{flex:none;height:172px;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--panel)}.dock.is-collapsed{height:28px}.dock-head{flex:none;display:flex;align-items:center;gap:10px;height:28px;padding:0 8px;border-bottom:1px solid var(--border-subtle)}.dock-toggle{display:flex;align-items:center;gap:5px;height:22px;padding:0 4px;border:none;background:transparent;color:var(--text-2);font-size:10.5px}.dock-toggle:hover{color:var(--text)}.dock-toggle svg.is-flipped{transform:rotate(-90deg)}.dock-count{font-size:9px;color:var(--text-4)}.dock-hint{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--text-4)}.framelog{flex:1;min-height:0;overflow-y:auto;padding:3px 0}.framelog-empty{padding:16px;text-align:center;font-size:10px;color:var(--text-4)}.frame-row{display:grid;grid-template-columns:62px 32px minmax(180px,300px) minmax(0,1fr);align-items:center;gap:8px;height:22px;padding:0 10px;font-size:10px;color:var(--text-3)}.frame-row:hover{background:var(--hover)}.frame-t{font-size:9px;color:var(--text-4)}.frame-dir{font-size:8.5px;font-weight:650;letter-spacing:.06em;text-align:center;padding:1px 0;border-radius:2px;color:var(--text-3);background:var(--panel-raised)}.frame-row[data-dir=TX] .frame-dir{color:var(--accent-bright);background:var(--accent-soft)}.frame-row[data-dir=RX] .frame-dir{color:var(--ok);background:var(--ok-soft)}.frame-row[data-dir=ERR] .frame-dir{color:var(--err);background:var(--err-soft)}.frame-raw{font-size:10px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame-note{color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-pane{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:0}.filetree{border-right:1px solid var(--border);background:var(--sidebar);overflow-y:auto;padding:8px 0}.filetree-head{display:flex;align-items:center;gap:6px;padding:0 10px 8px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-4)}.filetree-head em{margin-left:auto;font-style:normal;font-size:9px}.filetree-group{margin-bottom:4px}.filetree-dir{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:10.5px;color:var(--text-3)}.filetree-file{display:flex;align-items:center;gap:6px;width:100%;padding:4px 10px 4px 22px;border:none;background:transparent;color:var(--text-2);font-size:10.5px;text-align:left}.filetree-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filetree-file:hover{background:var(--hover)}.filetree-file.is-active{background:var(--accent-soft);color:var(--text)}.filetree-file.is-active svg{color:var(--accent-bright)}.file-badge{width:4px;height:4px;flex:none;margin-left:auto;border-radius:50%;background:var(--accent)}.code-view{display:flex;flex-direction:column;min-width:0;min-height:0}.code-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;height:32px;padding:0 10px;border-bottom:1px solid var(--border);background:var(--panel)}.code-head-left{display:flex;align-items:center;gap:7px;min-width:0;font-size:10.5px;color:var(--text-2)}.code-head-left .mono{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-badge{display:flex;align-items:center;gap:3px;flex:none;padding:1px 5px;border-radius:2px;font-size:9px;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-line)}.code-head-right{display:flex;align-items:center;gap:8px;flex:none;font-size:9px;color:var(--text-4)}.code-body{flex:1;min-height:0;overflow:auto;padding:8px 0 24px;background:var(--editor)}.code-line{display:flex;line-height:19px}.code-ln{flex:none;width:42px;padding-right:12px;text-align:right;font-size:10px;color:var(--text-4);-webkit-user-select:none;user-select:none}.code-txt{white-space:pre;font-size:11.5px;color:var(--text-2)}.c-com{color:var(--code-com)}.c-str{color:var(--code-str)}.c-kw{color:var(--code-kw)}.c-num{color:var(--code-num)}.console-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.console-stats{flex:none;display:flex;align-items:center;gap:22px;height:46px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--panel)}.stat{display:flex;flex-direction:column;gap:3px}.stat span{font-size:9.5px;color:var(--text-3)}.stat b{font-size:12px;font-weight:570;color:var(--text)}.console-stats-right{margin-left:auto}.console-cmd{flex:none;padding:8px 10px;border-top:1px solid var(--border);background:var(--panel)}.cmd-row{display:flex;align-items:center;gap:7px}.cmd-row+.cmd-row{margin-top:7px}.cmd-prompt{color:var(--accent);font-size:12px}.cmd-input{flex:1;min-width:0;height:26px;padding:0 8px;border:1px solid var(--border-strong);border-radius:2px;background:var(--input);color:var(--text);font-size:11px;outline:none}.cmd-input:focus{border-color:var(--accent)}.cmd-send{height:26px;padding:0 13px;border-radius:2px;border:1px solid var(--accent-hover);background:var(--accent-dim);color:#fff;font-size:11px}.cmd-send:disabled{opacity:.4;cursor:not-allowed}.cmd-label{font-size:9px;color:var(--text-4);letter-spacing:.06em}.cmd-select,.cmd-value{height:26px;padding:0 6px;border-radius:2px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:10.5px;outline:none}.cmd-select{max-width:260px;min-width:0}.cmd-value{width:96px}.cmd-value:disabled{opacity:.5}.cmd-meta{margin-left:auto;font-size:9px;color:var(--text-4)}.artifacts-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-flash{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:10.5px;color:var(--ok);background:var(--ok-soft);border-bottom:1px solid var(--ok-line)}.atable{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.atable-head,.atable-row{display:grid;grid-template-columns:minmax(0,1fr) 54px 52px 66px 92px 64px 84px;align-items:center;column-gap:10px;padding:0 10px}.atable-head{flex:none;height:26px;border-bottom:1px solid var(--border);background:var(--panel);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.atable-body{flex:1;min-height:0;overflow-y:auto}.atable-row{height:32px;border-bottom:1px solid var(--border-subtle);font-size:11px;color:var(--text-2)}.atable-row:hover{background:var(--hover)}.atable-row .col-name{gap:8px}.atable-row .col-name svg{color:var(--text-4);flex:none}.atable-row .col-name b{font-weight:520}.derived-tag{flex:none;font-style:normal;font-size:8.5px;padding:1px 5px;border-radius:2px;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-line)}.col-kind,.col-ver,.col-size,.col-upd{font-size:10px;color:var(--text-3)}.status-pill{display:inline-block;padding:1px 6px;border-radius:2px;font-size:9px;border:1px solid var(--border);color:var(--text-3)}.status-pill[data-s=ready]{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.status-pill[data-s=pending]{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.row-action{display:flex;align-items:center;gap:4px;height:21px;padding:0 6px;border-radius:2px;border:1px solid transparent;background:transparent;color:var(--text-3);font-size:9.5px}.row-action:hover{color:var(--accent-bright);border-color:var(--accent-line);background:var(--accent-soft)}.artifacts-foot{flex:none;display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 12px;border-top:1px solid var(--border);font-size:9.5px;color:var(--text-4)}.artifacts-foot span{display:flex;align-items:center;gap:5px}.ws-foot{flex:none;display:flex;align-items:center;gap:16px;flex-wrap:wrap;height:26px;padding:0 12px;border-top:1px solid var(--border);background:var(--sidebar);font-size:9.5px;color:var(--text-4)}.ws-foot span{display:flex;align-items:center;gap:5px}.ws-foot-right{margin-left:auto}.status-bar{flex:none;height:23px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#161719;border-top:1px solid var(--border);font-size:9.5px;color:var(--text-3)}.status-left,.status-right{display:flex;align-items:center;gap:14px}.status-left span,.status-right span{display:flex;align-items:center;gap:5px;white-space:nowrap}.status-branch{background:var(--accent-dim);color:#eaf3ff;padding:1px 7px;border-radius:2px}.status-runtime .runtime-pulse{width:5px;height:5px}.status-mono{font-family:var(--mono)}.chat-panel{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--sidebar)}.chat-head{flex:none;height:52px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.chat-head-left{display:flex;align-items:center;gap:9px}.chat-head-icon{width:28px;height:28px;border-radius:3px;display:grid;place-items:center;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-line)}.chat-title{font-size:12.5px;font-weight:640}.chat-sub{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:9.5px;color:var(--text-4)}.online-dot{width:5px;height:5px;border-radius:50%;background:var(--ok)}.new-thread{display:flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:3px;font-size:10.5px;color:var(--text-2);border:1px solid var(--border-strong);background:var(--panel);transition:color .15s,border-color .15s,background .15s}.new-thread:hover{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.chat-context{flex:none;display:flex;align-items:center;gap:9px;height:32px;padding:0 14px;width:100%;border:none;border-bottom:1px solid var(--border);background:var(--panel);text-align:left;transition:background .14s}.chat-context:hover{background:var(--hover)}.context-kicker{font-size:9px;color:var(--text-4);letter-spacing:.05em}.context-value{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:570;color:var(--accent-bright);font-family:var(--mono)}.context-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.context-go{margin-left:auto;display:flex;align-items:center;gap:2px;font-size:9.5px;color:var(--text-4)}.thread-root{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.thread-viewport{flex:1;min-height:0;overflow-y:auto;padding:16px 14px 8px}.welcome{padding:14px 4px 10px;text-align:center}.welcome-glyph{position:relative;width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;color:var(--accent-bright)}.welcome-glyph-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px dashed var(--border-strong)}.welcome-glyph:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;border:1px solid var(--border)}.welcome-eyebrow{font-size:9px;letter-spacing:.16em;color:var(--text-4);font-family:var(--mono)}.welcome h3{margin:9px 0 7px;font-size:18px;font-weight:640}.welcome-desc{margin:0 auto;max-width:320px;font-size:11px;line-height:1.75;color:var(--text-3)}.welcome-desc b{color:var(--accent-bright);font-weight:570}.welcome-label{margin:22px 0 8px;text-align:left;font-size:9px;letter-spacing:.1em;color:var(--text-4);font-family:var(--mono)}.welcome-asks{display:flex;flex-direction:column;gap:5px}.welcome-ask{display:flex;align-items:center;gap:9px;width:100%;height:35px;padding:0 10px;border-radius:3px;border:1px solid var(--border);background:var(--panel);font-size:11px;color:var(--text-2);text-align:left;transition:border-color .15s,background .15s,color .15s}.welcome-ask:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.welcome-ask-dot{width:5px;height:5px;flex:none;background:var(--accent)}.welcome-ask-text{flex:1}.welcome-ask svg{color:var(--text-4)}.welcome-foot{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;font-size:9.5px;color:var(--text-4)}.welcome-foot svg{color:var(--warn)}.msg-row{display:flex;gap:8px;margin-bottom:18px}.msg-user{justify-content:flex-end}.user-bubble{max-width:84%;padding:8px 12px;border-radius:3px 3px 3px 10px;background:#2a3542;border:1px solid #3d4f63}.user-text{font-size:11.5px;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word}.msg-avatar{width:24px;height:24px;border-radius:3px;flex:none;display:grid;place-items:center;color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent-line)}.msg-main{min-width:0;flex:1}.msg-meta{display:flex;align-items:center;gap:7px;margin-bottom:6px}.msg-author{font-size:10.5px;font-weight:620}.msg-badge{font-size:9px;color:var(--text-4);padding:1px 5px;border-radius:2px;border:1px solid var(--border)}.msg-card{padding:11px 12px;border-radius:3px 3px 10px 10px;background:var(--panel);border:1px solid var(--border)}.msg-body{font-size:11.5px}.rt-heading{font-size:11px;font-weight:640;color:var(--accent-bright);margin:11px 0 6px}.rt-heading:first-child{margin-top:0}.rt-para{margin:0 0 6px;line-height:1.75;color:var(--text-2);word-break:break-word}.rt-list{list-style:none;padding:0;margin:4px 0 9px;display:flex;flex-direction:column;gap:5px}.rt-list li{position:relative;padding-left:13px;line-height:1.65;color:var(--text-2)}.rt-list li:before{content:"";position:absolute;left:2px;top:8px;width:4px;height:4px;background:var(--accent)}.rt-note{margin-top:9px;padding:6px 9px;border-left:2px solid var(--warn);background:#d7ba7d0e;font-size:10px;line-height:1.6;color:var(--text-3)}.typing-caret{display:inline-block;width:5px;height:12px;margin-left:2px;vertical-align:-2px;background:var(--accent);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.action-bar{display:flex;align-items:center;gap:3px;margin-top:6px}.action-btn{display:flex;align-items:center;gap:5px;height:22px;padding:0 6px;border-radius:2px;border:1px solid transparent;background:transparent;font-size:9.5px;color:var(--text-4);transition:color .15s,background .15s}.action-btn:hover{color:var(--text-2);background:var(--hover)}.action-btn:disabled{opacity:.35;cursor:default}.action-btn .icon-copied{display:none;color:var(--accent-bright)}.action-btn[data-copied=true] .icon-default{display:none}.action-btn[data-copied=true] .icon-copied{display:block}.scroll-bottom{position:absolute;right:16px;bottom:124px;z-index:3;width:28px;height:28px;border-radius:3px;display:grid;place-items:center;border:1px solid var(--border-strong);background:var(--panel-raised);color:var(--text-2);box-shadow:0 4px 12px #00000059}.scroll-bottom:hover{color:var(--text);border-color:var(--accent-line)}.scroll-bottom:disabled{display:none}.composer-wrap{flex:none;padding:10px 12px 11px;border-top:1px solid var(--border);background:var(--sidebar)}.composer{border:1px solid var(--border-strong);border-radius:3px;background:var(--input);padding:8px 9px 7px;transition:border-color .15s}.composer:focus-within{border-color:var(--accent)}.composer-input{display:block;width:100%;min-height:44px;max-height:130px;padding:2px 2px 5px;border:none;outline:none;resize:none;background:transparent;color:var(--text);font-size:11.5px;line-height:1.6}.composer-input::placeholder{color:var(--text-4)}.composer-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-tools{display:flex;align-items:center;gap:6px;min-width:0}.tool-btn{width:23px;height:23px;border-radius:2px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-4)}.tool-btn:hover{color:var(--text-2);background:var(--hover)}.tool-sep{width:1px;height:13px;background:var(--border-strong)}.composer-mode{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-mode svg{color:var(--accent);flex:none}.composer-actions{flex:none}.send-btn{width:27px;height:27px;border-radius:3px;border:1px solid #1177bb;display:grid;place-items:center;color:#fff;background:var(--accent-dim);transition:background .15s}.send-btn:hover:not(:disabled){background:#17b}.send-btn:disabled{opacity:.35;cursor:default}.send-btn.is-stop{background:var(--panel-raised);color:var(--err);border-color:#e06c6c66}.composer-hint{margin-top:7px;text-align:center;font-size:9px;color:var(--text-4)}.composer-hint kbd{font:inherit;padding:1px 4px;border-radius:2px;border:1px solid var(--border);background:var(--panel);font-family:var(--mono)}@media(max-width:1500px){.inspector{width:246px}.col-name em,.stage-cell-state em{display:none}.ptable-head,.ptable-row{grid-template-columns:minmax(0,1fr) 68px 30px 40px 94px 60px 54px}.atable-head,.atable-row{grid-template-columns:minmax(0,1fr) 50px 48px 62px 84px 58px 74px}.frame-row{grid-template-columns:56px 30px minmax(150px,220px) minmax(0,1fr)}}@media(max-width:1600px){.app-body{grid-template-columns:230px minmax(0,1fr) 390px}.brand{min-width:230px}.stage-cell-count{display:none}}@media(max-width:1360px){.app-body{grid-template-columns:210px minmax(0,1fr) 350px}.brand{min-width:210px}.brand-version,.phase-chip{display:none}.inspector{width:232px}.ptable-head,.ptable-row{grid-template-columns:minmax(0,1fr) 64px 30px 40px 90px 58px}.col-ts{display:none}.frame-row{grid-template-columns:56px 30px minmax(150px,220px) minmax(0,1fr)}.atable-head,.atable-row{grid-template-columns:minmax(0,1fr) 52px 50px 64px 86px 60px 78px}}@media(max-width:1080px){.app-body{grid-template-columns:190px minmax(0,1fr)}.chat-panel{display:none}.status-right span:nth-child(-n+2){display:none}.stage-cell-state{display:none}.inspector{width:228px}}:root{--stage-1: #74b8ff;--stage-2: #5ea8f5;--stage-3: #4a9eff;--stage-4: #3d8adc;--stage-5: #3478bd;--track: #2a2c31;--track-ghost: #3d4047;--scrollbar: #3a3d44;--scrollbar-hover: #50545c;--statusbar: #161719;--user-bubble: #2a3542;--user-bubble-border: #3d4f63;--accent-hover: #1177bb;--bar-edge: rgba(255, 255, 255, .5);--shadow: rgba(0, 0, 0, .35);--pain-bg: rgba(224, 108, 108, .055);--pain-border: rgba(224, 108, 108, .2);--note-bg: rgba(215, 186, 125, .055);--stop-border: rgba(224, 108, 108, .4);--ok-soft: rgba(78, 201, 176, .12);--ok-line: rgba(78, 201, 176, .38);--warn-soft: rgba(215, 186, 125, .13);--warn-line: rgba(215, 186, 125, .36);--err-soft: rgba(224, 108, 108, .13);--err-line: rgba(224, 108, 108, .4);--code-com: #6a9955;--code-str: #ce9178;--code-kw: #569cd6;--code-num: #b5cea8}:root[data-theme=light]{color-scheme:light;--activitybar: #f3f4f6;--sidebar: #f6f7f8;--editor: #ffffff;--panel: #fbfbfc;--panel-raised: #f0f1f3;--input: #ffffff;--hover: #e9ebee;--border: #d9dce1;--border-strong: #b9bfc7;--border-subtle: #e4e7eb;--text: #1f2328;--text-2: #4a5058;--text-3: #6e7681;--text-4: #8b939d;--accent: #0969da;--accent-bright: #0969da;--accent-dim: #0969da;--accent-soft: rgba(9, 105, 218, .08);--accent-line: rgba(9, 105, 218, .32);--accent-hover: #0857b4;--ok: #1a7f37;--warn: #9a6700;--err: #cf222e;--stage-1: #0b5cb8;--stage-2: #0e63c4;--stage-3: #1169cf;--stage-4: #1a72d6;--stage-5: #2479d4;--track: #e9ebee;--track-ghost: #c7cdd5;--scrollbar: #c8cdd4;--scrollbar-hover: #a8afb8;--statusbar: #eceef1;--user-bubble: #e8f1fc;--user-bubble-border: #bcd6f5;--bar-edge: rgba(255, 255, 255, .72);--shadow: rgba(16, 22, 26, .16);--pain-bg: rgba(207, 34, 46, .05);--pain-border: rgba(207, 34, 46, .2);--note-bg: rgba(154, 103, 0, .06);--stop-border: rgba(207, 34, 46, .38);--ok-soft: rgba(26, 127, 55, .09);--ok-line: rgba(26, 127, 55, .32);--warn-soft: rgba(154, 103, 0, .1);--warn-line: rgba(154, 103, 0, .32);--err-soft: rgba(207, 34, 46, .08);--err-line: rgba(207, 34, 46, .3);--code-com: #4c7a3f;--code-str: #a31515;--code-kw: #0b5cb8;--code-num: #098658}::-webkit-scrollbar-thumb{background:var(--scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.side-progress{background:var(--track-ghost)}.user-bubble{background:var(--user-bubble);border-color:var(--user-bubble-border)}.rt-note{background:var(--note-bg)}.cta{border-color:var(--accent-hover)}.cta:hover{background:var(--accent-hover)}.send-btn{border-color:var(--accent-hover)}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn.is-stop{border-color:var(--stop-border)}.status-bar{background:var(--statusbar)}.scroll-bottom{box-shadow:0 4px 12px var(--shadow)}.topbar{position:relative;z-index:20}.settings-wrap{position:relative;display:flex}.icon-btn.is-open{color:var(--accent-bright);background:var(--accent-soft)}.settings-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:262px;border-radius:4px;border:1px solid var(--border-strong);background:var(--panel-raised);box-shadow:0 10px 28px var(--shadow);overflow:hidden}.settings-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 12px;border-bottom:1px solid var(--border)}.settings-head-title{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:620}.settings-close{width:22px;height:22px;border:none;border-radius:2px;display:grid;place-items:center;background:transparent;color:var(--text-4)}.settings-close:hover{color:var(--text);background:var(--hover)}.settings-section{padding:12px}.settings-label{font-size:9.5px;letter-spacing:.11em;color:var(--text-4);text-transform:uppercase;font-family:var(--mono)}.settings-desc{margin-top:5px;font-size:10.5px;color:var(--text-3)}.theme-options{display:flex;flex-direction:column;gap:6px;margin-top:11px}.theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:3px;text-align:left;border:1px solid var(--border);background:var(--panel);transition:border-color .15s,background .15s}.theme-option:hover{border-color:var(--accent-line);background:var(--accent-soft)}.theme-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.theme-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.theme-option-text b{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600}.theme-option-text em{font-style:normal;font-size:9.5px;color:var(--text-4);font-family:var(--mono)}.theme-check{color:var(--accent-bright);flex:none}.theme-swatch{width:42px;height:28px;flex:none;display:flex;border-radius:2px;overflow:hidden;border:1px solid var(--border-strong)}.swatch-side{width:34%;background:#1e1f22}.swatch-editor{flex:1;position:relative;background:#222327}.swatch-accent{position:absolute;left:0;right:0;top:0;height:3px;background:#4a9eff}.swatch-line{position:absolute;left:4px;right:4px;top:9px;height:2px;border-radius:1px;background:#ffffff47}.swatch-line.short{top:15px;right:14px}.theme-swatch[data-variant=light] .swatch-side{background:#f0f1f3}.theme-swatch[data-variant=light] .swatch-editor{background:#fff}.theme-swatch[data-variant=light] .swatch-accent{background:#0969da}.theme-swatch[data-variant=light] .swatch-line{background:#141e2838}.settings-foot{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--border);font-size:9.5px;color:var(--text-4)}.phase-chip,.tab-meta{flex:none}.project-switch-wrap{position:relative;display:flex;min-width:0}.project-switch.is-open{border-color:var(--accent-line);background:var(--accent-soft)}.project-switch-count{flex:none;font-size:9.5px;color:var(--text-3);font-family:var(--mono);padding:1px 6px;border:1px solid var(--border);border-radius:2px;background:var(--input);white-space:nowrap}.project-menu-layer{position:fixed;z-index:60;width:336px}.project-menu{width:100%;border-radius:4px;border:1px solid var(--border-strong);background:var(--panel-raised);box-shadow:0 12px 30px var(--shadow);overflow:hidden}.project-menu-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-bottom:1px solid var(--border);font-size:11px;font-weight:620}.project-menu-head span{display:flex;align-items:center;gap:6px}.project-menu-head em{font-style:normal;font-size:9.5px;color:var(--text-4);font-family:var(--mono)}.project-menu-scroll{max-height:336px;overflow-y:auto;padding:5px 0}.project-menu-label{padding:7px 12px 4px;font-size:9px;letter-spacing:.1em;color:var(--text-4);text-transform:uppercase;font-family:var(--mono)}.project-menu-item{display:flex;align-items:center;gap:2px;margin:1px 6px;border-radius:3px;border:1px solid transparent}.project-menu-item:hover{background:var(--hover)}.project-menu-item.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.project-menu-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px;border:none;background:transparent;text-align:left;color:var(--text-2)}.project-menu-icon{flex:none;display:flex;color:var(--text-4)}.project-menu-item.is-active .project-menu-icon{color:var(--accent-bright)}.project-menu-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-menu-text b{font-size:11px;font-weight:560;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-menu-text em{font-style:normal;font-size:9px;color:var(--text-4);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-menu-current{flex:none;font-size:9px;color:var(--accent-bright);border:1px solid var(--accent-line);border-radius:2px;padding:1px 5px}.project-menu-open{flex:none;display:flex;align-items:center;gap:2px;font-size:9.5px;color:var(--accent-bright);opacity:0;transition:opacity .15s}.project-menu-item:hover .project-menu-open{opacity:1}.project-menu-close{flex:none;width:22px;height:26px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-4)}.project-menu-close:hover:not(:disabled){color:var(--err);background:var(--hover)}.project-menu-close:disabled{opacity:.25;cursor:not-allowed}.project-menu-foot{display:flex;align-items:center;gap:6px;padding:8px 11px;border-top:1px solid var(--border);font-size:9.5px;color:var(--text-4)}.tab-strip{flex:1;min-width:0;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.tab-strip::-webkit-scrollbar{height:4px}.tab-strip::-webkit-scrollbar-track{background:transparent}.tab-strip::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.proj-tab{position:relative;flex:none;display:flex;align-items:stretch;border-right:1px solid var(--border);color:var(--text-3);background:transparent}.proj-tab.is-active{background:var(--editor);color:var(--text)}.proj-tab.is-active:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}.proj-tab-main{display:flex;align-items:center;gap:6px;max-width:272px;padding:0 4px 0 10px;border:none;background:transparent;color:inherit;font-size:11px;white-space:nowrap}.proj-tab-main:hover{color:var(--text)}.proj-tab-idx{flex:none;font-family:var(--mono);font-size:9px;color:var(--text-4)}.proj-tab.is-active .proj-tab-idx{color:var(--accent-bright)}.proj-tab-main svg{flex:none;color:var(--text-4)}.proj-tab.is-active .proj-tab-main svg{color:var(--accent-bright)}.proj-tab-name{overflow:hidden;text-overflow:ellipsis}.proj-tab-code{flex:none;font-family:var(--mono);font-size:9px;color:var(--text-4)}.proj-tab-close{flex:none;width:22px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-4)}.proj-tab-close:hover:not(:disabled){color:var(--text);background:var(--hover)}.proj-tab-close:disabled{opacity:.22;cursor:not-allowed}.tab-add-wrap{position:relative;flex:none;display:flex;align-items:stretch;border-right:1px solid var(--border)}.tab-add{width:30px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-3)}.tab-add:hover,.tab-add.is-open{color:var(--accent-bright);background:var(--hover)}.view-switch{flex:none;display:flex;align-items:center;gap:3px;padding:0 8px}.view-switch button{height:19px;padding:0 8px;border-radius:2px;border:1px solid var(--border);background:var(--panel);color:var(--text-3);font-size:9.5px;white-space:nowrap}.view-switch button:hover{color:var(--text);border-color:var(--border-strong)}.view-switch button.is-active{color:var(--accent-bright);border-color:var(--accent-line);background:var(--accent-soft)}.chat-slots{min-width:0;min-height:0;display:flex}.chat-slot{display:none;flex:1;min-width:0;min-height:0}.chat-slot.is-active{display:flex}.chat-slot .chat-panel{flex:1;min-width:0}
