*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;touch-action:manipulation}:root{--bg: #1c2128;--bg-panel: #22272e;--bg-hover: #2d333b;--bg-active: #2d333b;--border: #373e47;--border-hi: #444c56;--accent: #58a6ff;--accent-dim: #388bfd;--accent-glow: rgba(88, 166, 255, .12);--green: #3fb950;--green-dim: #2ea043;--green-glow: rgba(63, 185, 80, .12);--amber: #d29922;--amber-dim: #9e6a03;--red: #f85149;--blue: #58a6ff;--purple: #bc8cff;--cyan: #79c0ff;--text: #adbac7;--text-dim: #768390;--text-hi: #cdd9e5;--text-green: #56d364;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font: "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--header-h: 44px;--sidebar-w: 260px;--input-h: 48px;--z-modal: 100;--z-dropdown: 300;--z-fab: 200;--z-backdrop: 999;--z-composer: 1000;--mobile-tab-bar-h: 52px;--mobile-fab-h: 52px}html,body{height:100%;background:var(--bg-panel);color:var(--text);font-family:var(--font-ui);font-size:13px;overflow:hidden}.session-list,.archived-list,.events-list,.files-list,.preview-logs,.git-diff-panel,.git-log-view,.git-file-list,.git-branches-view,.resp-modal-body,.dir-list{-webkit-overflow-scrolling:touch}#root{height:100%}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes toolFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes toolDot{0%,to{opacity:1}50%{opacity:.2}}.app{display:grid;grid-template-rows:var(--header-h) 1fr var(--input-h);grid-template-columns:var(--sidebar-w) 1fr;height:100vh;padding-top:env(safe-area-inset-top);transition:grid-template-columns .22s ease}.app.sidebar-collapsed{grid-template-columns:0 1fr}.app.sidebar-collapsed .sidebar{border-right:none;overflow:hidden}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 0;border-bottom:1px solid var(--border);background:var(--bg-panel)}.logo{display:flex;align-items:center;gap:0;font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--text-dim);-webkit-user-select:none;user-select:none;height:var(--header-h)}.logo-prefix{display:flex;align-items:center;height:100%;padding:0 14px;color:var(--accent-dim);font-size:10px;letter-spacing:.5px;font-family:var(--font-ui);font-weight:600}.logo-slash{color:var(--border-hi);margin:0 6px}.logo-name{color:var(--accent);font-weight:700;font-size:13px;font-family:var(--font-ui)}.header-right{display:flex;align-items:center;gap:12px}.ws-badge{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-dim);letter-spacing:.5px}.ws-dot{width:5px;height:5px;border-radius:50%;background:var(--text-dim);flex-shrink:0;transition:background .3s,box-shadow .3s}.ws-dot.ok{background:var(--green);box-shadow:0 0 5px var(--green);animation:blink 2.5s ease-in-out infinite}.ws-dot.busy{background:var(--amber);box-shadow:0 0 5px var(--amber);animation:blink .7s ease-in-out infinite}.ws-dot.err{background:var(--red);box-shadow:0 0 5px var(--red)}.btn-sm{background:transparent;border:1px solid var(--border-hi);border-radius:6px;color:var(--text-dim);font-family:var(--font-ui);font-size:11px;padding:4px 12px;cursor:pointer;transition:border-color .15s,color .15s}.btn-sm:hover{border-color:var(--accent-dim);color:var(--accent)}.stats-bar{display:flex;align-items:center;gap:16px;padding:0 14px}.stat-item{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--text-dim)}.stat-val{color:var(--text-hi);font-weight:500}.sidebar{border-right:1px solid var(--border);background:var(--bg-panel);display:flex;flex-direction:column;overflow:hidden;position:relative}.sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10;transition:background .15s}.sidebar-resize-handle:hover{background:var(--accent-dim);opacity:.5}@media (max-width: 768px){.sidebar-resize-handle{display:none}}.sb-new-btn-wrap{flex-shrink:0;padding:6px 10px}.sb-new-btn{width:100%;background:var(--accent);border:none;color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:6px;transition:opacity .15s}.sb-new-btn:hover{opacity:.85}.session-list{flex:1;overflow-y:auto;padding:2px 0}.session-list::-webkit-scrollbar{width:2px}.session-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.session-empty{padding:20px 12px;color:var(--text-dim);font-size:12px;font-family:var(--font-ui);line-height:2;text-align:center}.session-item{padding:8px 12px;cursor:pointer;border-left:3px solid transparent;transition:background .1s,border-color .1s;position:relative}.session-item:hover{background:var(--bg-hover)}.session-item.active{background:var(--bg-active);border-left-color:var(--accent)}.session-item.archived{opacity:.55}.session-item.has-error{border-left-color:var(--red)!important}.session-item.has-error .si-dir-title{color:var(--red)}.si-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.si-id{font-size:10px;font-weight:500;color:var(--text-hi);font-family:var(--font)}.si-dir-title{font-size:11px;font-family:var(--font);font-weight:400;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.si-dir-title .dir-tilde{color:var(--accent-dim);font-weight:400}.si-agent{font-size:13px;font-family:var(--font-ui);font-weight:600;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.si-row2{display:flex;align-items:center;gap:5px;margin-bottom:3px}.si-row2 .si-id{font-size:9.5px;color:var(--text-dim);font-weight:400}.si-actions-row{display:flex;align-items:center;gap:4px;margin-top:6px;opacity:0;max-height:0;overflow:hidden;transition:opacity .15s,max-height .15s}.session-item:hover .si-actions-row,.session-item.active .si-actions-row{opacity:1;max-height:24px}.si-btn{background:none;border:1px solid var(--border-hi);border-radius:4px;color:var(--text-dim);font-family:var(--font-ui);font-size:10px;cursor:pointer;padding:2px 8px;transition:color .15s,border-color .15s,background .15s}.si-btn:hover{color:var(--text-hi);border-color:var(--text-dim)}.si-btn.copied{color:var(--accent)!important;border-color:var(--accent)!important}.si-btn.si-btn-danger{color:var(--text-dim)}.si-btn.si-btn-danger:hover{color:var(--red)!important;border-color:var(--red)!important}.si-confirm-label{font-size:8px;color:var(--amber);margin-right:2px}.si-tokens{font-size:9px;color:var(--text-dim)}.si-preview-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.si-preview-running{background:var(--green);box-shadow:0 0 4px var(--green)}.si-preview-starting{background:var(--amber);animation:blink 1s ease-in-out infinite}.si-preview-error{background:var(--red)}.si-dir{font-size:9.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:138px;margin-bottom:4px}.si-dir .dir-tilde{color:var(--accent-dim)}.si-meta{display:flex;align-items:center;gap:6px}.state-badge{font-size:10px;font-family:var(--font-ui);font-weight:500;padding:1px 8px;border-radius:12px;border:1px solid}.state-IDLE{color:var(--green);border-color:var(--green-dim);background:#3fb9501a}.state-WORKING{color:var(--amber);border-color:var(--amber-dim);background:#d299221a;animation:blink 1s ease-in-out infinite}.state-TOOL_USE{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-glow)}.state-DONE{color:var(--text-dim);border-color:var(--border);background:transparent}.si-skill{font-size:8.5px;color:var(--purple);opacity:.7}.si-project{font-size:8.5px;color:var(--accent-dim);opacity:.8}.sb-search{padding:8px 10px;flex-shrink:0;position:relative}.sb-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;padding:4px}.sb-search-clear:hover{color:var(--text-hi)}.sb-search input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);font-size:12px;padding:6px 32px 6px 12px;outline:none;border-radius:6px;transition:border-color .15s}.sb-search input:focus{border-color:var(--accent-dim);outline:none}.sb-search input::placeholder{color:var(--text-dim)}.sb-project-filter{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 8px;flex-shrink:0}.sb-project-chip{background:var(--bg-hover);border:1px solid var(--border);border-radius:20px;color:var(--text-dim);font-family:var(--font-ui);font-size:11px;padding:3px 10px;cursor:pointer;transition:border-color .15s,color .15s}.sb-project-chip:hover{color:var(--text);border-color:#444}.sb-project-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.sb-archived-toggle{padding:6px 10px;font-size:11px;font-family:var(--font-ui);color:var(--text-dim);cursor:pointer;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;-webkit-user-select:none;user-select:none}.sb-archived-toggle:hover{color:var(--text)}.archived-list{flex-shrink:0;max-height:180px;overflow-y:auto}.main{display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--bg);padding:0 10px}.no-session{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text-dim)}.no-session-icon{font-size:28px;opacity:.12;margin-bottom:4px}.no-session-text{font-size:13px;font-family:var(--font-ui)}.tab-bar{display:flex;align-items:center;padding:0 0 0 4px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;height:36px;gap:0}.tab{display:flex;align-items:center;gap:6px;padding:0 14px;height:100%;font-size:12px;font-family:var(--font-ui);color:var(--text-dim);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.session-info-strip{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;font-size:10px;overflow:hidden;min-width:0}.strip-agent{color:var(--text-hi);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;flex-shrink:0}.strip-sep{color:var(--border-hi)}.strip-dir{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.strip-branch{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-size:10px;white-space:nowrap;flex-shrink:0}.strip-tokens,.strip-duration{font-size:9px;color:var(--text-dim);flex-shrink:0}.strip-clickable{cursor:pointer;position:relative}.strip-clickable:hover{background:var(--bg-active)}.strip-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.strip-menu-chevron{color:var(--text-dim);transition:transform .15s;flex-shrink:0}.strip-menu-chevron.open{transform:rotate(180deg)}.strip-dropdown{position:fixed;background:var(--bg-panel);border-bottom:1px solid var(--border-hi);z-index:var(--z-dropdown);box-shadow:0 4px 16px #0006}.strip-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;padding:10px 16px;cursor:pointer;transition:background .1s,color .1s}.strip-dropdown-item:hover{background:var(--bg-active);color:var(--red)}.tab-panels{flex:1;position:relative;overflow:hidden}.term-view,.events-view,.files-view,.preview-view,.git-view{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;pointer-events:none;overflow:hidden}.term-view.active,.events-view.active,.files-view.active,.preview-view.active,.git-view.active{visibility:visible;pointer-events:auto}.term-view{background:#0a0a0a}.term-container{width:100%;height:100%;padding:4px}.mobile-term-shell{display:none}.xterm-viewport{-webkit-overflow-scrolling:touch}.xterm-viewport::-webkit-scrollbar{width:4px}.xterm-viewport::-webkit-scrollbar-thumb{background:var(--border-hi)}.xterm-viewport::-webkit-scrollbar-track{background:var(--bg)}.tool-badge{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));right:12px;display:flex;align-items:center;gap:6px;background:#0d0d0de0;border:1px solid var(--border-hi);color:var(--cyan);font-family:var(--font);font-size:9px;letter-spacing:1px;padding:4px 9px 4px 7px;pointer-events:none;animation:toolFadeIn .15s ease-out}.tool-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);flex-shrink:0;animation:toolDot .8s ease-in-out infinite}.search-bar{display:none;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;position:sticky;top:0;z-index:50}.search-bar.open{display:flex}.search-input-el{flex:1;background:var(--bg);border:1px solid var(--border-hi);color:var(--text);font-family:var(--font);font-size:11px;padding:3px 8px;outline:none}.search-input-el:focus{border-color:var(--accent-dim)}.search-btn{background:none;border:1px solid var(--border-hi);border-radius:4px;color:var(--text-dim);font-size:11px;font-family:var(--font-ui);padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s}.search-btn:hover{color:var(--text);border-color:var(--text-dim)}.search-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.search-close:hover{color:var(--text-hi)}.events-view{display:flex;flex-direction:column}.events-list{flex:1;overflow-y:auto;padding:0;font-size:11px;font-family:var(--font)}.events-list{overscroll-behavior:contain}.events-list::-webkit-scrollbar{width:3px}.events-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.ev-empty{padding:24px 16px;color:var(--text-dim);font-size:10px;text-align:center}.ev-row{display:grid;grid-template-columns:68px 80px 1fr;align-items:baseline;padding:4px 12px;border-bottom:1px solid var(--border);gap:0;transition:background .1s}.ev-row:hover{background:var(--bg-hover)}.ev-row.clickable{cursor:pointer}.ev-ts{font-size:9.5px;color:var(--text-dim);letter-spacing:.3px;font-style:italic}.ev-state{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.ev-state-IDLE{color:var(--green)}.ev-state-WORKING{color:var(--amber)}.ev-state-TOOL_USE{color:var(--cyan)}.ev-state-ERROR{color:var(--red)}.ev-body{color:var(--text);line-height:1.5;font-size:11px;overflow:hidden}.ev-response{color:var(--text-green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(600px,calc(100% - 40px))}.ev-tool{color:var(--cyan);font-style:italic}.ev-tool-input{color:var(--text-dim);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(400px,calc(100% - 40px))}.ev-error{color:var(--red)}.files-view{display:flex;flex-direction:row}.files-pane{display:flex;flex-direction:column;width:100%;flex-shrink:0;overflow:hidden;transition:width .2s ease}.files-pane.viewer-open{width:280px;border-right:1px solid var(--border)}.files-toolbar{display:flex;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0}.files-upload-btn{flex-shrink:0;background:none;border:none;border-left:1px solid var(--border);color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:100%;min-height:30px;font-size:10px}.files-upload-btn:hover{color:var(--cyan);background:var(--surface2)}.files-upload-btn:disabled{opacity:.4;cursor:default}.files-upload-modal{background:var(--surface2);border-bottom:1px solid var(--border);padding:10px 12px;flex-shrink:0}.files-upload-modal-title{font-size:10px;font-weight:600;color:var(--text-hi);margin-bottom:4px}.files-upload-modal-desc{font-size:9.5px;color:var(--text-dim);margin-bottom:8px;word-break:break-all}.files-upload-modal-actions{display:flex;gap:6px;flex-wrap:wrap}.files-upload-error{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:10px;color:var(--red);background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.files-upload-error button{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex}.files-search-bar{display:flex;align-items:center;gap:6px;padding:5px 10px;flex-shrink:0}.files-search-icon{color:var(--text-dim);flex-shrink:0}.files-search-input{flex:1;background:none;border:none;outline:none;font-family:var(--font-ui);font-size:12px;color:var(--text);padding:2px 0}.files-search-input::placeholder{color:var(--text-dim)}.files-search-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex;padding:2px}.files-search-clear:hover{color:var(--text)}.files-nav-bar{display:flex;gap:6px;padding:6px 10px;border-top:1px solid var(--border);flex-shrink:0}.files-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-dim);font-family:var(--font-ui);font-size:12px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.files-nav-btn:hover{color:var(--text);border-color:var(--border-hi)}.file-viewer-img-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:#0a0a0a}.file-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.files-list{flex:1;overflow-y:auto;font-size:11px;font-family:var(--font)}.files-list::-webkit-scrollbar{width:3px}.files-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.file-row{display:flex;align-items:center;gap:8px;padding:5px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;position:relative}.file-row:hover{background:var(--bg-hover)}.file-row.selected{background:var(--bg-active);border-left:2px solid var(--cyan)}.file-icon{font-size:11px;width:14px;flex-shrink:0;color:var(--text-dim)}.file-name{flex:1;color:var(--text-hi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name.is-dir{color:var(--blue)}.file-size{font-size:9.5px;color:var(--text-dim);flex-shrink:0}.file-dl-btn{background:none;border:1px solid var(--border-hi);color:var(--text-dim);font-size:10px;cursor:pointer;padding:1px 5px;flex-shrink:0;line-height:1.4;transition:color .15s,border-color .15s}.file-dl-btn:hover{color:var(--cyan);border-color:var(--cyan)}.file-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.file-action-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px;border-radius:4px;transition:color .15s,background .15s}.file-action-btn:hover{color:var(--text);background:var(--surface2)}.file-action-btn.danger:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.files-toolbar-btn{flex-shrink:0;background:none;border:none;border-left:1px solid var(--border);color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:100%;min-height:30px}.files-toolbar-btn:hover{color:var(--cyan);background:var(--surface2)}.files-toolbar-btn:disabled{opacity:.4;cursor:default}.files-crud-error{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:10px;color:var(--red);background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.files-crud-error button{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex}.file-breadcrumb{padding:5px 12px;border-bottom:1px solid var(--border);font-size:10px;color:var(--text-dim);background:var(--bg-panel);display:flex;align-items:center;gap:4px;flex-shrink:0;overflow:hidden}.file-breadcrumb span{cursor:pointer;white-space:nowrap}.file-breadcrumb span:hover{color:var(--blue)}.file-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);min-width:0}.file-viewer-header{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.file-viewer-back{background:none;border:1px solid var(--border-hi);color:var(--text-dim);font-family:var(--font);font-size:9px;letter-spacing:1px;padding:2px 8px;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}.file-viewer-back:hover{color:var(--text-hi);border-color:var(--text-dim)}.file-viewer-name{flex:1;font-size:10px;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-viewer-dl{background:none;border:1px solid var(--border-hi);color:var(--text-dim);font-size:11px;cursor:pointer;padding:2px 7px;flex-shrink:0;transition:color .15s,border-color .15s;line-height:1.4}.file-viewer-dl:hover{color:var(--cyan);border-color:var(--cyan)}.file-viewer-body{flex:1;overflow:auto;padding:0}.file-viewer-pre{margin:0;padding:14px 16px;font-family:var(--font);font-size:11px;line-height:1.6;white-space:pre;-moz-tab-size:2;tab-size:2;color:var(--text)}.file-viewer-pre code{font-family:inherit;font-size:inherit}.file-viewer-truncated{padding:4px 16px;font-size:9.5px;color:var(--amber);background:#ffaa000f;border-bottom:1px solid var(--border)}.hljs-keyword,.hljs-selector-tag{color:var(--purple)}.hljs-string,.hljs-attr{color:var(--text-green)}.hljs-number,.hljs-literal{color:var(--amber)}.hljs-comment{color:var(--text-dim);font-style:italic}.hljs-function,.hljs-title{color:var(--cyan)}.hljs-variable,.hljs-name{color:var(--text-hi)}.hljs-type,.hljs-class{color:var(--blue)}.hljs-built_in{color:var(--green)}.hljs-tag{color:var(--purple)}.hljs-attribute{color:var(--cyan)}.hljs-meta{color:var(--text-dim)}.hljs-symbol,.hljs-bullet,.hljs-deletion{color:var(--red)}.hljs-addition{color:var(--green)}@media (max-width: 768px){.files-pane.viewer-open{display:none}.file-viewer{position:absolute;top:0;right:0;bottom:0;left:0}}.preview-view{display:flex;flex-direction:column;gap:0}.preview-header{padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;display:flex;flex-direction:column;gap:8px}.preview-detect-row{display:flex;align-items:center;gap:8px;font-size:10px}.preview-type-badge{font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 7px;border:1px solid var(--border-hi);color:var(--cyan);border-color:#00d4ff4d;background:#00d4ff12}.preview-image-label{font-size:9.5px;color:var(--text-dim)}.preview-cmd-row{display:flex;gap:6px;align-items:center}.preview-cmd-input{flex:1;background:var(--bg);border:1px solid var(--border-hi);color:var(--text-hi);font-family:var(--font);font-size:10px;padding:5px 10px;outline:none;transition:border-color .15s}.preview-cmd-input:focus{border-color:var(--cyan)}.preview-cmd-input::placeholder{color:var(--text-dim)}.preview-start-btn{background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);color:var(--cyan);font-family:var(--font-ui);font-size:12px;padding:5px 14px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.preview-start-btn:hover{background:#00d4ff2e;border-color:var(--cyan)}.preview-start-btn:disabled{opacity:.4;cursor:not-allowed}.preview-stop-btn{background:#ff33551a;border:1px solid rgba(255,51,85,.3);color:var(--red);font-family:var(--font-ui);font-size:12px;padding:5px 14px;cursor:pointer;white-space:nowrap;transition:background .15s}.preview-stop-btn:hover{background:#ff33552e}.preview-status-bar{padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex;align-items:center;gap:10px;font-size:10px;flex-shrink:0}.preview-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.preview-status-dot.stopped{background:var(--text-dim)}.preview-status-dot.starting{background:var(--amber);animation:blink .8s infinite}.preview-status-dot.running{background:var(--green);box-shadow:0 0 5px var(--green)}.preview-status-dot.error{background:var(--red)}.preview-docker-info{font-size:12px;color:var(--text-dim);background:var(--bg);border:1px solid var(--border-hi);padding:1px 7px;border-radius:2px;font-family:var(--font-ui)}.preview-link{color:var(--cyan);text-decoration:none;font-size:10px;margin-left:auto}.preview-link:hover{text-decoration:underline}.preview-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.preview-iframe{flex:1;border:none;background:#fff}.preview-logs{flex:1;overflow-y:auto;padding:10px 14px;font-size:10.5px;line-height:1.6;color:var(--text-dim);white-space:pre-wrap;background:var(--bg);display:none}.preview-logs.show{display:block}.preview-expand-btn{padding:2px 5px;margin-left:0}.preview-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column}.preview-fullscreen-iframe{flex:1;border:none;width:100%;height:100%}.preview-fullscreen-close{position:absolute;top:12px;right:12px;z-index:1001;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .15s}.preview-fullscreen-close:hover{background:#000c}.preview-no-project{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-dim);font-size:10.5px}.preview-fix-btn{background:var(--purple, #a855f7);color:#fff;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-family:var(--font-ui)}.git-view{display:flex;flex-direction:column}.git-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;gap:8px;min-height:40px}.git-branch-wrap{display:flex;align-items:center;gap:6px}.git-branch-icon{color:var(--cyan)}.git-branch-custom-btn{display:flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border-hi);color:var(--text-hi);font-family:var(--font-ui);font-size:12px;padding:3px 7px;border-radius:5px;cursor:pointer;max-width:180px}.git-branch-custom-btn:hover{border-color:var(--cyan)}.git-branch-custom-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.git-branch-custom-chevron{flex-shrink:0;color:var(--text-dim);transition:transform .15s}.git-branch-custom-chevron.open{transform:rotate(180deg)}.git-branch-dropdown{background:var(--bg2);border:1px solid var(--border-hi);border-radius:7px;overflow-y:auto;max-height:200px;box-shadow:0 4px 16px #00000080;min-width:140px}.git-branch-option{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 12px;font-family:var(--font-ui);font-size:12px;color:var(--text);cursor:pointer;white-space:nowrap}.git-branch-option:hover{background:var(--bg3, #1a1a1a)}.git-branch-option.active{color:var(--cyan)}.git-toolbar-right{display:flex;align-items:center;gap:6px}.git-ab{font-size:9px;color:var(--text-dim)}.git-ab .ab-up{color:var(--green)}.git-ab .ab-down{color:var(--amber)}.git-sub-tabs{display:flex;flex-shrink:0;background:var(--bg);border-bottom:1px solid var(--border);padding:0 8px;gap:2px}.git-sub-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-ui);font-size:12px;padding:10px 14px 8px;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px;white-space:nowrap}.git-sub-tab:hover{color:var(--text)}.git-sub-tab.active{color:var(--text-hi);border-bottom-color:var(--cyan)}.git-count{background:var(--border-hi);color:var(--text-dim);font-size:9px;padding:1px 5px;border-radius:8px;min-width:14px;text-align:center}.git-count.has-changes{background:var(--amber-dim);color:var(--amber)}.git-changes-view{flex:1;display:flex;overflow:hidden}.git-file-list{width:200px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;transition:width .18s ease}.git-file-list.collapsed{width:0;overflow:hidden;border-right:none}.git-file-list::-webkit-scrollbar{width:3px}.git-file-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.git-diff-toolbar{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;min-height:30px}.git-diff-back-btn{background:none;border:1px solid var(--border-hi);color:var(--text-dim);font-family:var(--font-ui);font-size:12px;padding:2px 7px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.git-diff-back-btn:hover{color:var(--text-hi);border-color:var(--text-dim)}.git-diff-file-label{font-size:10px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-diff-collapse-btn{background:none;border:1px solid var(--border-hi);color:var(--text-dim);font-family:var(--font-ui);font-size:12px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}.git-diff-collapse-btn:hover{color:var(--text-hi);border-color:var(--text-dim)}.git-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.git-link-btn{background:none;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:12px;cursor:pointer;padding:0;transition:color .15s}.git-link-btn:hover{color:var(--cyan)}.git-file-row{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;font-size:10px}.git-file-row:hover{background:var(--bg-hover)}.git-file-row.selected{background:var(--bg-active);border-left:2px solid var(--cyan);padding-left:6px}.git-status-M{color:var(--amber);font-size:9px;font-weight:700;width:10px;flex-shrink:0}.git-status-A{color:var(--green);font-size:9px;font-weight:700;width:10px;flex-shrink:0}.git-status-D{color:var(--red);font-size:9px;font-weight:700;width:10px;flex-shrink:0}.git-status-q{color:var(--text-dim);font-size:9px;font-weight:700;width:10px;flex-shrink:0}.git-file-name{flex:1;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.git-file-action{background:none;border:1px solid transparent;color:var(--text-dim);font-family:var(--font-ui);font-size:12px;padding:1px 4px;cursor:pointer;transition:all .1s;flex-shrink:0}.git-file-action:hover{border-color:var(--border-hi);color:var(--text)}.git-empty{padding:10px 8px;font-size:9.5px;color:var(--text-dim);font-style:italic}.git-diff-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font);font-size:11px;line-height:1.6}.git-diff-panel-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.git-diff-panel-scroll::-webkit-scrollbar{width:3px}.git-diff-panel-scroll::-webkit-scrollbar-thumb{background:var(--border-hi)}.git-diff-placeholder{padding:20px;color:var(--text-dim);font-size:10px;font-style:italic}.git-diff-file-header{padding:6px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border);font-size:9.5px;color:var(--cyan);position:sticky;top:0;flex-shrink:0}.git-diff-hunk{padding:0;font-size:10.5px}.git-diff-line{padding:0 10px;white-space:pre;line-height:1.5}.git-diff-line.add{background:#00e87a14;color:var(--green)}.git-diff-line.del{background:#ff335514;color:var(--red)}.git-diff-line.hunk{color:var(--cyan);background:#00d4ff0d;font-size:9.5px}.git-diff-line.ctx{color:var(--text-dim)}.git-log-view{flex:1;overflow-y:auto}.git-log-view::-webkit-scrollbar{width:3px}.git-log-view::-webkit-scrollbar-thumb{background:var(--border-hi)}.git-log-row{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border);transition:background .1s}.git-log-row{cursor:pointer}.git-log-row:hover{background:var(--bg-hover)}.git-log-row.expanded{background:var(--bg-active)}.git-log-hash{color:var(--amber);font-size:9.5px;flex-shrink:0;width:48px}.git-log-subject{flex:1;color:var(--text);font-size:10.5px}.git-log-meta{font-size:9px;color:var(--text-dim);flex-shrink:0}.git-log-detail{border-bottom:1px solid var(--border);background:var(--bg)}.git-log-detail-loading{padding:10px 14px;font-size:10px;color:var(--text-dim)}.git-log-detail-files{padding:6px 14px;display:flex;flex-direction:column;gap:2px}.git-log-detail-file{font-size:10px;font-family:var(--font);display:flex;align-items:center;gap:8px;padding:2px 0}.git-log-detail-status{width:14px;font-size:9px;font-weight:700;flex-shrink:0;text-align:center}.git-log-detail-file.status-A .git-log-detail-status{color:var(--green)}.git-log-detail-file.status-M .git-log-detail-status{color:var(--amber)}.git-log-detail-file.status-D .git-log-detail-status{color:var(--red)}.git-log-detail-file.status-R .git-log-detail-status{color:var(--cyan)}.git-log-detail-diff{margin:0;padding:8px 14px;font-family:var(--font);font-size:10px;line-height:1.5;color:var(--text-dim);overflow-x:auto;border-top:1px solid var(--border);max-height:400px;overflow-y:auto}.diff-line{min-height:1em}.diff-line.diff-add{color:var(--green);background:#00e87a12}.diff-line.diff-del{color:var(--red);background:#ff505012}.diff-line.diff-hunk{color:var(--cyan);opacity:.7}.git-conflicts-section{border-bottom:1px solid var(--border);margin-bottom:2px}.git-section-hdr--conflict{color:var(--red)!important;border-bottom-color:color-mix(in srgb,var(--red) 25%,transparent)!important}.git-status-conflict{font-size:9px;font-weight:700;color:var(--red);flex-shrink:0;width:18px}.git-conflict-row{display:flex;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--red) 5%,transparent)}.git-resolve-btn{margin-left:auto;flex-shrink:0;background:none;border:1px solid var(--red);border-radius:6px;color:var(--red);font-family:var(--font-ui);font-size:12px;cursor:pointer;padding:2px 7px;transition:background .15s;white-space:nowrap}.git-resolve-btn:hover:not(:disabled){background:color-mix(in srgb,var(--red) 15%,transparent)}.git-resolve-btn:disabled{opacity:.5;cursor:default}.git-branches-view{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.git-section-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden}.git-section-card-hdr{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.git-section-card-title{font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.git-card-action-btn{display:inline-flex;align-items:center;gap:3px;background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-ui);font-size:12px;padding:3px 8px;cursor:pointer;border-radius:6px;transition:background .15s,color .15s;white-space:nowrap;text-decoration:none}.git-card-action-btn:hover{background:var(--surface2);color:var(--text)}.git-card-action-btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.git-card-action-btn.danger:hover{background:color-mix(in srgb,var(--red) 10%,transparent)}.git-card-action-btn:disabled{opacity:.35;cursor:default}.git-branch-card{border-bottom:1px solid var(--border)}.git-branch-card:last-child{border-bottom:none}.git-branch-card.nested{border-bottom:none;border-top:1px solid var(--border);margin:0 8px}.git-branch-card-row{display:flex;align-items:center;gap:7px;padding:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;min-height:40px;box-sizing:border-box}.git-branch-card-row:hover{background:var(--surface2)}.git-branch-card.current .git-branch-card-row{background:color-mix(in srgb,var(--cyan) 5%,transparent)}.git-branch-card-dot{font-size:9px;flex-shrink:0;color:var(--text-dim)}.git-branch-card.current .git-branch-card-dot{color:var(--cyan)}.git-branch-card-name{font-size:11px;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-branch-card-meta{display:flex;align-items:center;gap:5px;flex-shrink:0}.git-branch-current-label{font-size:8px;background:color-mix(in srgb,var(--cyan) 15%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent);padding:1px 5px;border-radius:3px;letter-spacing:.5px}.git-branch-card-chevron{color:var(--text-dim);flex-shrink:0;transition:transform .15s}.git-branch-card-chevron.open{transform:rotate(180deg)}.git-branch-card-actions{display:flex;flex-direction:column;gap:1px;padding:4px 8px 8px;background:var(--bg-panel)}.git-action-row-btn{display:block;width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);font-size:12px;text-align:left;cursor:pointer;border-radius:6px;transition:background .15s;text-decoration:none}.git-action-row-btn:hover{background:var(--surface2)}.git-action-row-btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.git-action-row-btn.danger:hover{background:color-mix(in srgb,var(--red) 8%,transparent)}.git-action-row-btn.preview{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 30%,transparent)}.git-action-row-btn.preview:hover{background:color-mix(in srgb,var(--cyan) 8%,transparent)}.git-action-row-btn.green{color:var(--green);border-color:color-mix(in srgb,var(--green) 30%,transparent)}.git-action-row-btn.green:hover{background:color-mix(in srgb,var(--green) 8%,transparent)}.git-action-row-btn.secondary{color:var(--text-dim)}.git-action-row-btn:disabled{opacity:.35;cursor:default}.git-remote-info-row{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.git-remote-info-url{flex:1;font-size:10px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-remote-branch-row{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid var(--border);min-height:36px}.git-remote-branch-row:last-child{border-bottom:none}.git-remote-empty-state{display:flex;flex-direction:column;gap:6px;padding:10px 8px}.git-flow-type-block{border-bottom:1px solid var(--border);padding:8px 10px}.git-flow-type-block:last-child{border-bottom:none}.git-flow-type-block-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.git-flow-type-label{font-size:10px;color:var(--text-dim);font-style:italic}.git-flow-type-empty{font-size:10px;color:var(--text-dim);opacity:.5;padding:3px 0}.spin{animation:spin 1s linear infinite;display:inline-block}.git-commit-open-btn{background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);color:var(--cyan);font-family:var(--font-ui);font-size:12px;padding:2px 10px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.git-commit-open-btn:hover{background:#00d4ff2e;border-color:var(--cyan)}.git-identity-input{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-ui);font-size:13px;padding:5px 10px;outline:none;transition:border-color .15s,color .15s}.git-identity-input:focus{border-color:var(--border-hi);color:var(--text)}.git-identity-input::placeholder{color:var(--text-dim);opacity:.5}.git-commit-input{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--border-hi);color:var(--text-hi);resize:vertical;font-family:var(--font-ui);font-size:13px;padding:5px 10px;outline:none;transition:border-color .15s}.git-commit-input:focus{border-color:var(--cyan)}.git-commit-input::placeholder{color:var(--text-dim)}.git-commit-btn{background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);color:var(--cyan);font-family:var(--font-ui);font-size:13px;font-weight:600;padding:5px 12px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.git-commit-btn:hover{background:#00d4ff2e;border-color:var(--cyan)}.git-commit-btn:disabled{opacity:.35;cursor:default}.git-toast{position:fixed;bottom:60px;right:16px;background:var(--bg-panel);border:1px solid var(--border-hi);color:var(--text);font-size:12px;padding:7px 14px;z-index:var(--z-dropdown);pointer-events:none;opacity:0;transition:opacity .2s;font-family:var(--font-ui)}.git-toast.ok{border-color:var(--green-dim);color:var(--green)}.git-toast.err{border-color:var(--red);color:var(--red)}.git-toast.show{opacity:1}.input-bar{grid-column:2;display:flex;align-items:center;border-top:1px solid var(--border);background:var(--bg-panel);padding:0 14px 0 0;height:var(--input-h);gap:8px}.input-prompt{display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--accent-dim);font-size:11px;border-right:1px solid var(--border);flex-shrink:0;height:100%}.input-prompt-arrow{color:var(--accent);font-size:14px}.prompt-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-hi);font-family:var(--font-ui);font-size:14px;padding:0 14px;height:100%;caret-color:var(--accent)}.prompt-input::placeholder{color:var(--text);opacity:.5}.prompt-input:disabled{opacity:.35;cursor:not-allowed}.btn-send{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:0;width:40px;height:40px;border-radius:50%;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.btn-send:hover:not(:disabled){opacity:.85}.btn-send:disabled{opacity:.3;cursor:not-allowed}.prompt-fab,.prompt-overlay-backdrop,.prompt-expanded{display:none}@media (max-width: 768px){.prompt-overlay-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-backdrop)}.prompt-expanded{display:flex;flex-direction:column;gap:10px;position:fixed;left:0;right:0;bottom:64px;z-index:var(--z-composer);background:var(--bg-panel);border-top:1px solid var(--border-hi);padding:12px 14px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prompt-textarea{width:100%;background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text-hi);font-family:var(--font);font-size:14px;line-height:1.5;padding:10px 12px;resize:none;outline:none;caret-color:var(--accent)}.prompt-textarea:focus{border-color:var(--accent)}.prompt-textarea::placeholder{color:var(--text-dim)}.prompt-expanded-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.prompt-expanded-actions .btn-send{width:44px;height:44px;border-radius:50%}.prompt-expanded-actions .btn-record{width:44px;height:44px}}@keyframes spin{to{transform:rotate(360deg)}}.btn-record-spinner{display:block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes recording-pulse{0%,to{box-shadow:0 0 #dc323280}50%{box-shadow:0 0 0 8px #dc323200}}.btn-record{background:#000;border:none;color:var(--text-dim);border-radius:50%;padding:0;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-record:hover:not(:disabled){color:var(--text)}.btn-record.recording{background:var(--red);color:#fff;animation:recording-pulse 1.4s ease-in-out infinite}.btn-record.transcribing{background:var(--cyan);color:#000;cursor:wait}.btn-record:disabled{opacity:.3;cursor:not-allowed}.btn-record-wrap{position:relative;display:inline-flex;flex-shrink:0;overflow:visible}.btn-record-gemini-badge{position:absolute;bottom:-2px;right:-3px;background:#4285f4;color:#fff;font-family:var(--font-ui);font-size:7px;font-weight:700;width:12px;height:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1;z-index:2}.btn-record-large{width:52px!important;height:52px!important;border-radius:50%!important;flex-shrink:0}.btn-send-large{width:52px;height:52px;border-radius:50%;flex-shrink:0}.btn-clear-prompt{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-right:auto}.btn-clear-prompt:hover{background:var(--surface2);color:var(--text)}.prompt-transcribe-error{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#dc32321a;border:1px solid rgba(220,50,50,.3);border-radius:8px;font-size:10px;color:var(--red)}.prompt-recording-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#dc32321f;border:1px solid rgba(220,50,50,.3);border-radius:8px;font-size:10px;color:var(--red);position:sticky;top:0;z-index:10}.prompt-recording-banner.transcribing{color:var(--cyan);background:#00c8c814;border-color:#00c8c840}.prompt-recording-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:recording-pulse 1s ease-in-out infinite;flex-shrink:0}.prompt-transcribing-spinner{display:block;width:10px;height:10px;border:2px solid rgba(0,200,200,.3);border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.prompt-textarea-wrap{position:relative}.prompt-interim-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:10px 12px;font-family:var(--font-ui);font-size:13px;line-height:1.5;color:transparent;pointer-events:none;white-space:pre-wrap;overflow:hidden}.prompt-interim-text{color:var(--text-dim)}.modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:var(--z-modal);align-items:center;justify-content:center}.modal-bg.open{display:flex}.modal{background:var(--bg-panel);border:1px solid var(--border-hi);width:min(480px,90vw);padding:0;border-radius:12px;box-shadow:0 8px 40px #000000b3;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border)}.modal-title{font-size:13px;font-weight:600;letter-spacing:0;color:var(--text-hi)}.modal-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;transition:color .15s;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-hi)}.modal-body{padding:14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:calc(90vh - 96px);overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:3px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-hi)}.form-row{display:flex;flex-direction:column;gap:4px}.form-label{font-size:11px;font-weight:500;letter-spacing:0;color:var(--text-dim)}.form-input,.form-select{background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text-hi);font-family:var(--font-ui);font-size:13px;padding:8px 10px;outline:none;transition:border-color .15s;width:100%}.form-input:focus,.form-select:focus{border-color:var(--accent)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:var(--bg)}.modal-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.btn-cancel{background:transparent;border:1px solid var(--border-hi);border-radius:6px;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;letter-spacing:0;padding:6px 14px;cursor:pointer;transition:border-color .15s,color .15s}.btn-cancel:hover{border-color:var(--text-dim);color:var(--text)}.btn-create{background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:0;padding:6px 16px;cursor:pointer;transition:opacity .15s}.btn-create:hover{opacity:.85}.btn-danger{background:#ff335514;border:1px solid var(--red);border-radius:6px;color:var(--red);font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:0;padding:6px 16px;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#ff33552e}.dir-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;margin-top:4px}.dir-list::-webkit-scrollbar{width:3px}.dir-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.dir-option{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:border-color .12s,background .12s;margin-top:4px}.dir-option:hover{background:var(--bg-hover);border-color:var(--border-hi)}.dir-option.selected{border-color:var(--accent-dim);background:var(--accent-glow)}.dir-icon{color:var(--text-dim);font-size:13px;flex-shrink:0;width:16px;text-align:center}.dir-option.selected .dir-icon{color:var(--accent)}.dir-name{font-size:11px;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dir-sub{font-size:9px;color:var(--text-dim);margin-top:1px}.modal-section-label{font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--text-dim);display:flex;align-items:center;gap:8px;margin-top:2px}.modal-section-label:after{content:"";flex:1;height:1px;background:var(--border)}.modal-hint{color:var(--text-dim);font-size:10px;padding:4px 0}.modal-error{color:var(--red);font-size:10px;margin-top:2px}.session-source-tabs{display:flex;gap:5px}.session-source-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border:1px solid var(--border);background:none;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.session-source-tab:hover{border-color:var(--border-hi);color:var(--text)}.session-source-tab.active{border-color:var(--accent-dim);background:var(--accent-glow);color:var(--accent)}.clone-section{display:flex;flex-direction:column;gap:8px}.form-row-inline{display:flex;gap:8px}.header-nav{display:flex;align-items:center;gap:2px}.header-nav-link{color:var(--text-dim);text-decoration:none;font-family:var(--font-ui);font-size:12px;padding:4px 8px;border-radius:4px;letter-spacing:.3px}.header-nav-link:hover{color:var(--text)}.header-nav-link.active{color:var(--accent)}.settings-page{display:flex;flex-direction:column;height:100dvh;background:var(--bg);overflow:hidden;padding-top:env(safe-area-inset-top)}.settings-page-header{display:flex;align-items:center;gap:12px;padding:0 20px;height:48px;border-bottom:1px solid var(--border);flex-shrink:0}.settings-back-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:4px 8px;border-radius:4px}.settings-back-btn:hover{color:var(--text);background:var(--bg2)}.settings-page-title{flex:1;font-size:12px;font-weight:600;color:var(--text-hi);letter-spacing:.5px}.settings-page-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;max-width:640px;width:100%;margin:0 auto}.settings-section-label{font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);padding-bottom:6px;border-bottom:1px solid var(--border)}.settings-section-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.settings-section-row{display:flex;gap:12px;align-items:flex-start}.settings-section-info{flex:1}.settings-section-title{font-size:12px;font-weight:500;color:var(--text-hi);margin-bottom:4px}.settings-section-desc{font-size:10px;color:var(--text-dim);line-height:1.55}.settings-key-status{margin-top:6px;font-size:9.5px;color:var(--text-dim)}.settings-key-status.active{color:var(--green)}.settings-key-input-row{display:flex;gap:8px;align-items:center}.settings-key-wrap{flex:1;position:relative;display:flex;align-items:center}.settings-key-input{flex:1;padding-right:32px!important;font-family:monospace!important;font-size:11px!important;letter-spacing:.5px}.settings-key-eye{position:absolute;right:8px;background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex;padding:2px}.settings-key-eye:hover{color:var(--text)}.settings-section-hint{font-size:9px;color:var(--text-dim);line-height:1.5}.settings-empty-state{color:var(--text-dim);font-size:10px;padding:24px 0;text-align:center}.settings-cards{display:flex;flex-direction:column;gap:6px}.settings-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg2)}.settings-card.editing{border-color:var(--accent-dim)}.settings-card-body{flex:1;min-width:0}.settings-card-name{font-size:12px;font-weight:500;color:var(--text-hi);margin-bottom:4px}.settings-card-desc{font-size:10px;color:var(--text-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.settings-card-meta{margin-top:4px;font-size:9px;color:var(--accent-dim)}.settings-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.settings-card-action-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg3, #111);color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:12px;white-space:nowrap;transition:color .15s,border-color .15s}.settings-card-action-btn:hover{color:var(--text);border-color:var(--border-hi)}.settings-card-action-btn.danger{color:var(--red);border-color:transparent}.settings-card-action-btn.danger:hover{border-color:var(--red)}.settings-search-wrap{position:relative;display:flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:0 10px;flex-shrink:0}.settings-search-icon{color:var(--text-dim);flex-shrink:0}.settings-search-input{flex:1;background:none;border:none;outline:none;font-family:var(--font-ui);font-size:13px;color:var(--text);padding:8px 0}.settings-search-input::placeholder{color:var(--text-dim)}.settings-search-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;display:flex}.settings-search-clear:hover{color:var(--text)}.page-form{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.page-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.page-form-title{font-size:11px;font-weight:600;color:var(--text-hi)}.page-form-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.project-selector{position:relative;padding:0 10px 6px;flex-shrink:0}.project-selector-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:#000;border:none;border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:7px 10px;gap:6px}.project-selector-btn:hover{background:#111}.project-selector-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-chevron{flex-shrink:0;color:var(--text-dim);transition:transform .15s}.project-selector-chevron.open{transform:rotate(180deg)}.project-selector-dropdown{background:var(--bg2, #1a1a1a);border:1px solid var(--border-hi);border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #00000080;min-width:180px}.project-selector-search{padding:8px 8px 4px;border-bottom:1px solid var(--border)}.project-selector-search input{width:100%;background:#000;border:none;color:var(--text);font-family:var(--font-ui);font-size:13px;padding:5px 8px;border-radius:6px;outline:none}.project-selector-search input::placeholder{color:var(--text-dim)}.project-selector-list{max-height:180px;overflow-y:auto;padding:4px}.project-selector-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;background:none;border:none;border-radius:5px;color:var(--text);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:6px 8px;text-align:left;gap:2px}.project-selector-option:hover{background:var(--bg3, #1a1a1a)}.project-selector-option.active{color:var(--accent)}.project-selector-option-desc{font-size:8.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.project-selector-empty{color:var(--text-dim);font-size:9px;padding:8px;text-align:center}.settings-list{display:flex;flex-direction:column;gap:4px}.settings-empty{color:var(--text-dim);font-size:10px;padding:8px 0}.settings-add-btn{display:flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:6px 10px;margin-bottom:4px;align-self:flex-start}.settings-add-btn:hover{color:var(--text);border-color:var(--border-hi)}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.settings-item-main{flex:1;min-width:0}.settings-item-name{color:var(--text);font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-item-sub{color:var(--text-dim);font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-item-mcp-count{color:var(--accent-dim);font-size:9px;margin-top:2px}.settings-item-actions{display:flex;gap:4px;flex-shrink:0}.settings-icon-btn{display:flex;align-items:center;gap:3px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:9px;padding:4px 6px;border-radius:4px}.settings-icon-btn:hover{color:var(--text);background:var(--bg2)}.settings-icon-btn.danger:hover{color:#f46}.settings-icon-btn.danger.confirm{color:#f46;background:#ff44661a}.settings-form{display:flex;flex-direction:column;gap:12px}.settings-textarea{resize:vertical;min-height:60px;font-family:var(--font);font-size:10px;line-height:1.5}.settings-form-actions{display:flex;justify-content:flex-end;gap:8px}.settings-add-mcp{display:flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:9px;padding:3px 8px}.settings-add-mcp:hover{color:var(--text);border-color:var(--border-hi)}.mcp-row{display:flex;gap:4px;margin-bottom:4px;align-items:center}.mcp-input-name{flex:0 0 100px}.mcp-input-cmd{flex:0 0 110px}.mcp-input-args{flex:1}.settings-mcp-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;flex-shrink:0}.settings-mcp-remove:hover{color:#f46}.gh-auth-box{border:1px solid var(--border);padding:10px 12px;background:var(--bg);display:flex;flex-direction:column;gap:10px}.gh-auth-row{display:flex;align-items:center;gap:8px}.gh-auth-text{font-size:10px;color:var(--text-dim)}.gh-auth-text strong{color:var(--text);font-weight:500}.gh-dot{width:6px;height:6px;border-radius:50%;background:var(--border-hi);flex-shrink:0}.gh-dot.connected{background:var(--green);box-shadow:0 0 5px var(--green)}.gh-disconnect{margin-left:auto;background:none;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.gh-disconnect:hover{color:var(--red)}.gh-auth-options{display:flex;flex-direction:column;gap:6px}.btn-gh-oauth{display:flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid var(--border-hi);border-radius:6px;color:var(--text);font-family:var(--font-ui);font-size:13px;text-decoration:none;transition:border-color .12s,background .12s,color .12s}.btn-gh-oauth:hover{border-color:var(--accent-dim);background:var(--accent-glow);color:var(--accent)}.gh-or{text-align:center;font-size:9px;color:var(--text-dim);letter-spacing:1px}.gh-pat-row{display:flex;gap:6px;align-items:center}.gh-pat-row .form-input{flex:1}.gh-pat-save{padding:6px 10px;flex-shrink:0}.gh-repo-search-wrap{position:relative;display:flex;align-items:center}.gh-repo-search-icon{position:absolute;left:9px;color:var(--text-dim);pointer-events:none}.gh-repo-search-input{padding-left:28px!important}.gh-repo-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.gh-repo-list::-webkit-scrollbar{width:3px}.gh-repo-list::-webkit-scrollbar-thumb{background:var(--border-hi)}.gh-repo-option{padding:7px 10px;border:1px solid var(--border);cursor:pointer;transition:border-color .12s,background .12s}.gh-repo-option:hover{border-color:var(--border-hi);background:var(--bg-hover)}.gh-repo-option.selected{border-color:var(--accent-dim);background:var(--accent-glow)}.gh-repo-name{font-size:11px;color:var(--text-hi);display:flex;align-items:center}.gh-repo-option.selected .gh-repo-name{color:var(--accent)}.gh-repo-desc{font-size:9px;color:var(--text-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-selected-url{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--accent-dim);padding:4px 2px;overflow:hidden}.gh-selected-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--bg);display:flex;align-items:center;justify-content:center}.connection-splash-inner{display:flex;flex-direction:column;align-items:center;gap:16px}.connection-splash-logo{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim)}.connection-splash-dot{width:8px;height:8px;border-radius:50%;background:var(--border-hi)}.connection-splash-dot.connecting{background:var(--accent-dim);animation:splash-pulse 1.4s ease-in-out infinite}.connection-splash-dot.reconnecting{background:var(--red);animation:splash-pulse 1s ease-in-out infinite}@keyframes splash-pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}.connection-splash-msg{font-size:10px;color:var(--text-dim);letter-spacing:.5px}.connection-splash-btn{display:flex;align-items:center;gap:6px;margin-top:4px;padding:6px 16px;border:1px solid var(--border-hi);background:none;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.connection-splash-btn:hover{border-color:var(--text-dim);color:var(--text)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.auth-box{border:1px solid var(--border-hi);background:var(--bg-panel);padding:24px 28px;width:340px;display:flex;flex-direction:column;gap:14px}.auth-title{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.auth-sub{font-size:10px;color:var(--text-dim)}.auth-input{background:var(--bg);border:1px solid var(--border-hi);color:var(--text-hi);font-family:var(--font-ui);font-size:13px;padding:8px 10px;outline:none;width:100%;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-error{color:var(--red);font-size:10px}.btn-auth{background:var(--accent-glow);border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-ui);font-size:13px;padding:8px;cursor:pointer;width:100%;transition:background .15s}.btn-auth:hover{background:#58a6ff33}.resp-modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:150;align-items:center;justify-content:center}.resp-modal-bg.open{display:flex}.resp-modal{background:var(--bg-panel);border:1px solid var(--border-hi);width:min(700px,90vw);max-height:75vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #000c}.resp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.resp-modal-title{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.resp-modal-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;transition:color .15s}.resp-modal-close:hover{color:var(--text-hi)}.resp-modal-body{flex:1;overflow-y:auto;padding:16px;white-space:pre-wrap;font-size:12px;line-height:1.7;color:var(--text-green);font-family:var(--font)}.resp-modal-footer{padding:8px 14px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:50}.hamburger{display:flex;background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0 10px;height:var(--header-h);align-items:center;transition:color .15s}.hamburger:hover{color:var(--text-hi)}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(52px + env(safe-area-inset-bottom,0px));background:var(--bg-panel);border-top:1px solid var(--border);z-index:40;align-items:flex-end;justify-content:center;gap:4px;padding:0 8px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6px)}@media (max-width: 768px){input,select,textarea{font-size:16px!important}:root{--sidebar-w: 100vw;--input-h: 56px}.app{grid-template-columns:1fr;grid-template-rows:var(--header-h) 1fr;padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:60;transform:translate(-100%);transition:transform .25s ease;padding-top:env(safe-area-inset-top)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.sb-search{padding:4px 10px}.sb-search input{padding:5px 28px 5px 10px;border-radius:12px}.project-selector-dropdown{z-index:300!important}.header{grid-column:1;position:relative;z-index:30}.main{grid-column:1;grid-row:2;padding:0}.tab-bar,.input-bar{display:none!important}.prompt-fab{display:flex;position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0px));right:16px;z-index:var(--z-fab);width:52px;height:52px;border-radius:50%;border:none;background:var(--accent);color:#fff;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .15s ease,box-shadow .15s ease}.prompt-fab:active{transform:scale(.92);box-shadow:0 2px 6px #0000004d}.input-prompt,.input-prompt-arrow,.input-agent-label{display:none}.prompt-input{padding:0 16px;font-size:14px;background:transparent;border:none;border-radius:0;height:40px}.prompt-input:focus{outline:none}.prompt-input::placeholder{font-size:13px}.app.mobile-term-focus .input-prompt{display:none}.app.mobile-term-focus .prompt-input{padding-left:12px}.btn-send{padding:0;width:40px;height:40px;border-radius:50%}.btn-record{width:40px;height:40px}.mobile-tab-bar{display:flex}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:none;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:9px;cursor:pointer;padding:4px 3px 0;min-height:44px}.mobile-tab.active,.mobile-tab.active .mobile-tab-icon{color:var(--accent)}.mobile-tab:hover{color:var(--text-hi)}.mobile-tab-icon{display:flex;align-items:center;justify-content:center}.stats-bar{display:none}.session-info-strip{font-size:10.5px;padding:7px 12px;gap:8px}.strip-tokens,.strip-duration{display:none}.term-container{padding:0}.desktop-term-container{display:none}.mobile-term-shell{display:block;position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0a}.mobile-term-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 10px calc(var(--mobile-tab-bar-h, 56px) + var(--mobile-fab-h, 52px) + 32px)}.mobile-term-pre{margin:0;color:#c8c8c8;font-family:var(--font);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.mobile-term-jump{position:absolute;left:16px;bottom:calc(var(--mobile-tab-bar-h, 56px) + var(--mobile-fab-h, 52px) + 12px);z-index:22;background:#0d0d0deb;border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-ui);font-size:9px;border-radius:999px;padding:8px 10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tool-badge{display:none}.search-bar{padding:8px 10px;gap:6px}.search-input-el{min-width:0;font-size:13px}.search-btn{padding:8px 12px;font-size:12px}.git-sub-tab{padding:12px 14px;font-size:12px;min-height:44px}.git-changes-view{flex-direction:column}.git-file-list{width:100%!important;border-right:none;border-bottom:1px solid var(--border);max-height:45%;flex-shrink:0}.git-changes-view.mobile-diff-open .git-file-list,.git-changes-view .git-diff-panel{display:none}.git-changes-view.mobile-diff-open .git-diff-panel{display:flex;flex:1}.git-diff-collapse-btn{display:none}.git-file-row,.git-conflict-row{min-height:44px}.git-log-meta{white-space:normal}.session-item{padding:10px 12px}.si-top{min-width:0}.si-agent{font-size:13px;max-width:calc(100vw - 80px)}.si-dir-title{font-size:10px;max-width:none}.si-actions-row{opacity:1;max-height:30px;margin-top:8px}.si-btn{min-height:32px;padding:5px 12px;font-size:11px}.sidebar{width:min(85vw,320px)}.btn-sm{min-height:32px;padding:0 12px;font-size:9px;display:inline-flex;align-items:center;justify-content:center}.git-branch-action-btn{min-height:30px;padding:4px 8px;font-size:10px}.git-file-action{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.git-link-btn{min-height:28px}.settings-card{flex-direction:column}.settings-card-actions{flex-direction:row;width:100%}.settings-card-action-btn{flex:1;justify-content:center;min-height:40px;font-size:12px}.file-row{min-height:44px}.file-breadcrumb{font-size:11px;padding:8px 12px}.files-upload-btn{width:44px;min-height:44px}.file-breadcrumb{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.strip-agent{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-dir{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-branch{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-footer{flex-direction:column-reverse;gap:6px}.modal-footer .btn-cancel,.modal-footer .btn-create,.modal-footer .git-commit-btn{width:100%;min-height:44px;justify-content:center}.ev-row{grid-template-columns:44px 52px 1fr;gap:4px;padding:8px;min-height:40px}.ev-ts,.ev-state{font-size:10px}.events-list{font-size:12px}.ev-response,.ev-tool-input{max-width:100%;word-break:break-word}.git-diff-line{word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap}.git-diff-panel-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y}.git-log-row{flex-wrap:wrap;gap:2px}.git-log-meta{width:100%;font-size:9px;opacity:.7}.git-log-detail-file{min-height:32px;padding:4px 8px}.git-log-detail-diff{font-size:10px;white-space:pre-wrap;word-break:break-word}.git-file-row{min-height:44px}.git-file-action{min-width:40px;min-height:40px}.search-btn{min-height:40px;padding:8px 10px}.mobile-tab{font-size:11px;gap:3px;font-family:var(--font-ui)}.mobile-tab:active{transform:scale(.93);opacity:.75;transition:transform .1s,opacity .1s}.session-item:active,.file-row:active,.git-branch-card-row:active,.ev-row:active{opacity:.75}button:active:not(:disabled){transform:scale(.96)}.files-upload-modal-actions{flex-direction:column;gap:6px}.files-upload-modal-actions button{width:100%;min-height:44px}.mcp-row{flex-direction:column;gap:4px}.mobile-tab,.session-item,.file-row,.git-branch-card-row,.ev-row{-webkit-user-select:none;user-select:none}}@media (max-width: 480px){.preview-cmd-row{flex-direction:column;gap:4px}.preview-cmd-input{width:100%}.preview-start-btn,.preview-stop-btn,.preview-fix-btn{width:100%;justify-content:center}.file-viewer-img-wrap{padding:8px}.resp-modal{width:100vw;max-height:90vh;margin:0;border-radius:0}.resp-modal-body{padding:10px 12px;font-size:11px}}@media (max-width: 600px){.preview-status-bar{flex-wrap:wrap;gap:6px}}@media (max-width: 375px){.input-agent-label{display:none}}@media (min-width: 769px){.si-dir-title{font-size:11px}.si-tokens{font-size:10px}.strip-dir,.strip-branch,.strip-tokens,.strip-duration{font-size:11px}.ev-body{font-size:12px}.ev-ts{font-size:10.5px}.file-viewer-pre{font-size:12px}.preview-cmd-input{font-size:11px}.preview-logs{font-size:11.5px}.files-list::-webkit-scrollbar{width:5px}.file-viewer-img-wrap{padding:32px}}@media (min-width: 1400px){.files-pane.viewer-open{width:340px}}.mobile-keyboard-bar{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-panel);border-top:1px solid var(--border);flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-keyboard-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);font-size:16px;width:34px;height:34px;border-radius:4px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mobile-keyboard-toggle.active{color:var(--cyan);border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,transparent)}.mobile-keyboard-keys{display:flex;gap:4px;flex-shrink:0}.mobile-keyboard-key{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);font-size:11px;padding:0 10px;height:34px;border-radius:4px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .1s}.mobile-keyboard-key:active{background:var(--surface2);transform:scale(.95)}.modal.modal-soft{border-radius:16px;border:1px solid var(--border-hi);background:#161616;box-shadow:0 24px 64px #000c,0 0 0 1px #ffffff08}.soft-modal-header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.soft-modal-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-glow);border:1px solid rgba(88,166,255,.18);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.soft-modal-icon.danger{background:#ff335514;border-color:#ff33552e;color:var(--red)}.soft-modal-title-wrap{flex:1;min-width:0;padding-top:2px}.soft-modal-title{font-size:15px;font-weight:600;color:var(--text-hi);line-height:1.2;margin-bottom:4px}.soft-modal-subtitle{font-size:11px;color:var(--text-dim);line-height:1.4}.soft-modal-close{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s;flex-shrink:0}.soft-modal-close:hover{color:var(--text-hi);background:var(--bg-hover)}.soft-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(90vh - 148px);overscroll-behavior:contain}.soft-modal-body::-webkit-scrollbar{width:3px}.soft-modal-body::-webkit-scrollbar-thumb{background:var(--border-hi)}.soft-form-row{display:flex;flex-direction:column;gap:6px}.soft-form-row-header{display:flex;align-items:center;justify-content:space-between}.soft-form-label{font-size:12px;font-weight:500;color:var(--text-dim)}.form-input.soft-input{border-radius:8px;padding:9px 12px;font-size:13px;border-color:var(--border-hi)}.form-input.soft-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px #58a6ff14}.soft-add-btn{display:flex;align-items:center;gap:5px;font-size:11px;font-family:var(--font-ui);color:var(--accent-dim);background:none;border:1px solid rgba(88,166,255,.2);border-radius:6px;padding:4px 10px;cursor:pointer;transition:color .15s,border-color .15s}.soft-add-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.soft-empty-hint{font-size:11px;color:var(--text-dim);padding:10px 0 2px;font-style:italic}.soft-confirm-text{font-size:13px;color:var(--text-dim);line-height:1.55;margin:0}.soft-confirm-text strong{color:var(--text-hi);font-weight:600}.soft-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.soft-btn-cancel{background:transparent;border:1px solid var(--border-hi);border-radius:8px;color:var(--text-dim);font-family:var(--font-ui);font-size:13px;padding:8px 16px;cursor:pointer;transition:border-color .15s,color .15s}.soft-btn-cancel:hover{border-color:var(--text-dim);color:var(--text)}.soft-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.soft-btn-save{background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;padding:8px 18px;cursor:pointer;transition:background .15s,opacity .15s}.soft-btn-save:hover{opacity:.85}.soft-btn-save:disabled{opacity:.5;cursor:not-allowed}.soft-btn-save.danger{background:var(--red);border-color:var(--red);color:#fff}.soft-btn-save.danger:hover{opacity:.85}.entity-page-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;border-bottom:1px solid var(--border);flex-shrink:0}.entity-back-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:6px 10px;border-radius:6px;transition:color .15s,background .15s}.entity-back-btn:hover{color:var(--text);background:var(--bg-hover)}.entity-new-btn{display:flex;align-items:center;gap:6px;background:var(--accent-glow);border:1px solid var(--accent-dim);border-radius:8px;color:var(--accent);font-family:var(--font-ui);font-size:13px;padding:6px 14px;cursor:pointer;transition:background .15s,border-color .15s}.entity-new-btn:hover{background:#58a6ff33;border-color:var(--accent)}.entity-page-hero{display:flex;gap:16px;align-items:flex-start;padding:8px 0 4px}.entity-page-hero-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-glow);border:1px solid rgba(88,166,255,.15);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.entity-page-hero-title{font-size:18px;font-weight:700;color:var(--text-hi);line-height:1.2;margin-bottom:6px}.entity-page-hero-desc{font-size:12px;color:var(--text-dim);line-height:1.6;max-width:520px}.entity-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px;gap:12px}.entity-empty-icon{width:64px;height:64px;border-radius:16px;background:var(--accent-glow);border:1px solid rgba(88,166,255,.1);color:var(--text-dim);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.entity-empty-title{font-size:15px;font-weight:600;color:var(--text)}.entity-empty-desc{font-size:12px;color:var(--text-dim);line-height:1.6;max-width:360px}.entity-empty-cta{display:flex;align-items:center;gap:6px;margin-top:4px;background:var(--accent);border:none;border-radius:10px;color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;padding:10px 20px;cursor:pointer;transition:opacity .15s}.entity-empty-cta:hover{opacity:.85}.entity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.entity-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s}.entity-card:hover{border-color:var(--border-hi)}.entity-card-top{display:flex;align-items:center;justify-content:space-between}.entity-card-icon{width:30px;height:30px;border-radius:8px;background:var(--accent-glow);border:1px solid rgba(88,166,255,.12);color:var(--accent-dim);display:flex;align-items:center;justify-content:center}.entity-card-menu{display:flex;gap:4px;opacity:0;transition:opacity .15s}.entity-card:hover .entity-card-menu{opacity:1}.entity-card-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.entity-card-btn:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border)}.entity-card-btn.danger:hover{color:var(--red);border-color:#ff33554d}.entity-card-name{font-size:14px;font-weight:600;color:var(--text-hi);line-height:1.3}.entity-card-desc{font-size:11px;color:var(--text-dim);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.entity-card-footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.entity-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--accent-dim);background:var(--accent-glow);border:1px solid rgba(88,166,255,.14);border-radius:20px;padding:2px 8px}.entity-badge.muted{color:var(--text-dim);background:transparent;border-color:var(--border)}@media (max-width: 600px){.entity-grid{grid-template-columns:1fr}.entity-card-menu{opacity:1}.entity-page-hero{gap:12px}.entity-page-hero-icon{width:40px;height:40px;border-radius:10px}.entity-page-hero-title{font-size:16px}.soft-modal-footer{flex-direction:column-reverse;gap:8px}.soft-btn-cancel,.soft-btn-save{width:100%;min-height:44px;justify-content:center;border-radius:10px}.soft-modal-body{max-height:calc(90vh - 180px)}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
