@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap";:root{--bg-primary: #09090e;--bg-secondary: #0f0f16;--bg-tertiary: #16161f;--bg-elevated: #1d1d29;--bg-hover: #232330;--bg-active: #2a2a3a;--border: #1e1e2c;--border-subtle: #171722;--border-active: #3a3a50;--text-primary: #e4e4ef;--text-secondary: #8c8ca6;--text-muted: #55556e;--text-dim: #3d3d52;--accent: #a78bfa;--accent-bright: #c4b5fd;--accent-dim: #7c3aed;--accent-deep: #5b21b6;--accent-glow: rgba(167, 139, 250, .08);--accent-glow-strong: rgba(167, 139, 250, .15);--success: #34d399;--success-dim: rgba(52, 211, 153, .12);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .12);--danger: #f87171;--danger-dim: rgba(248, 113, 113, .1);--blue: #60a5fa;--blue-dim: rgba(96, 165, 250, .12);--orange: #fb923c;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", "Fira Code", monospace;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--sidebar-width: 280px;--projects-width: 320px;--radius: 8px;--radius-lg: 12px;--transition: .2s cubic-bezier(.25, .46, .45, .94)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center}.login-logo{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--accent);letter-spacing:-.03em;margin-bottom:.25rem}.login-subtitle{color:var(--text-muted);font-size:.82rem;margin-bottom:2.5rem;letter-spacing:.02em}.login-form{width:100%;display:flex;flex-direction:column;gap:.8rem}.login-input{width:100%;padding:.8rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;outline:none;transition:border-color var(--transition)}.login-input:focus{border-color:var(--accent-dim)}.login-input::placeholder{color:var(--text-dim)}.login-btn{margin-top:.4rem;padding:.8rem;background:var(--accent-dim);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.login-btn:hover{background:var(--accent-deep)}.login-btn:active{background:var(--accent)}.login-btn:disabled{opacity:.5}.login-error{color:var(--danger);font-size:.82rem;text-align:center;padding:.3rem 0}.app-layout{display:flex;height:100%;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:none;flex-direction:column;flex-shrink:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.sidebar-logo{font-family:var(--font-mono);font-weight:700;font-size:.9rem;color:var(--accent);letter-spacing:-.02em}.sidebar-new-btn{padding:.3rem .7rem;background:var(--accent-glow-strong);color:var(--accent);border:1px solid rgba(167,139,250,.2);border-radius:6px;font-family:var(--font-sans);font-weight:600;font-size:.75rem;cursor:pointer;transition:all var(--transition)}.sidebar-new-btn:hover{background:#a78bfa40}.sidebar-sections{flex:1;overflow-y:auto;padding:.4rem}.sidebar-section-title{padding:.6rem .7rem .3rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.sidebar-footer{padding:.7rem 1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.conn-indicator{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--text-muted)}.conn-dot{width:6px;height:6px;border-radius:50%}.conn-dot.on{background:var(--success)}.conn-dot.off{background:var(--danger)}.sidebar-logout{padding:.25rem .6rem;background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:.7rem;cursor:pointer}.sidebar-logout:hover{border-color:var(--border-active);color:var(--text-secondary)}.session-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);position:relative}.session-item:hover{background:var(--bg-hover)}.session-item.active{background:var(--bg-active)}.session-item.archived{opacity:.55}.session-item.archived:hover{opacity:.85}.s-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.s-dot.running{background:var(--success);animation:pulse 2s infinite}.s-dot.awaiting_input{background:var(--warning);animation:pulse 1s infinite}.s-dot.exited{background:var(--danger)}.s-dot.idle{background:var(--text-dim)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.s-info{flex:1;min-width:0}.s-name{font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-dir{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.s-kill{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-dim);font-size:.85rem;cursor:pointer;border-radius:5px;opacity:0;transition:opacity var(--transition)}.session-item:hover .s-kill{opacity:1}.s-kill:hover{background:var(--danger-dim);color:var(--danger)}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.top-bar{display:flex;align-items:center;padding:0 .8rem;min-height:46px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:.6rem;flex-shrink:0}.hamburger{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);font-size:1rem;cursor:pointer}.hamburger:active{background:var(--bg-tertiary)}.top-session-name{flex:1;font-family:var(--font-mono);font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-status{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-muted)}.top-projects-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);font-size:.95rem;cursor:pointer}.top-projects-btn:active,.top-projects-btn.active{background:var(--accent-glow);border-color:#a78bfa4d;color:var(--accent)}.terminal-area,.chat-area{flex:1;overflow:hidden;position:relative;background:var(--bg-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.2rem;color:var(--text-muted)}.empty-state-icon{font-size:2.5rem;opacity:.3}.empty-state-text{font-size:.9rem}.empty-state-btn{padding:.65rem 1.4rem;background:var(--accent-dim);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-sans);font-weight:600;font-size:.88rem;cursor:pointer}.empty-state-btn:hover{background:var(--accent-deep)}.quick-actions{display:flex;gap:.4rem;padding:.45rem .8rem;background:var(--bg-secondary);border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.q-btn{padding:.4rem .85rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-family:var(--font-mono);font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .12s}.q-btn:hover{background:var(--bg-hover);border-color:var(--border-active)}.q-btn:active{background:var(--bg-active)}.q-btn.accent{background:var(--accent-glow-strong);border-color:#a78bfa40;color:var(--accent-bright)}.q-btn.danger{background:var(--danger-dim);border-color:#f8717133;color:var(--danger)}.q-btn.dim{opacity:.55;font-size:.7rem;padding:.3rem .65rem}.q-btn.dim:hover{opacity:.85}.input-bar{display:flex;gap:.45rem;padding:.5rem .8rem .55rem;background:var(--bg-secondary);flex-shrink:0;padding-bottom:calc(.55rem + var(--safe-bottom))}.input-field{flex:1;padding:.6rem .8rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-mono);font-size:.88rem;outline:none;transition:border-color var(--transition)}.input-field:focus{border-color:var(--accent-dim)}.input-field::placeholder{color:var(--text-dim)}.send-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:none;border-radius:var(--radius);color:#fff;font-size:1rem;cursor:pointer}.send-btn:hover{background:var(--accent-deep)}.projects-panel{width:var(--projects-width);background:var(--bg-secondary);border-left:1px solid var(--border);display:none;flex-direction:column;flex-shrink:0;overflow:hidden}.projects-panel.visible{display:flex}.pp-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.pp-title{font-family:var(--font-mono);font-weight:700;font-size:.88rem;color:var(--text-primary)}.pp-refresh{padding:.25rem .6rem;background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:.7rem;cursor:pointer}.pp-refresh:hover{border-color:var(--border-active);color:var(--text-secondary)}.pp-list{flex:1;overflow-y:auto;padding:.5rem}.pp-search{margin:.4rem .5rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:.82rem;outline:none;width:calc(100% - 1rem)}.pp-search:focus{border-color:var(--accent-dim)}.pp-search::placeholder{color:var(--text-dim)}.project-card{padding:.7rem;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);margin-bottom:2px}.project-card:hover{background:var(--bg-hover)}.project-card:active{background:var(--bg-active)}.pc-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.pc-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.8rem;flex-shrink:0;font-weight:600}.pc-icon.node{background:var(--success-dim);color:var(--success)}.pc-icon.typescript{background:var(--blue-dim);color:var(--blue)}.pc-icon.next{background:#ffffff0f;color:var(--text-primary)}.pc-icon.vite{background:#a78bfa1a;color:var(--accent)}.pc-icon.python{background:var(--warning-dim);color:var(--warning)}.pc-icon.rust{background:#fb923c1f;color:var(--orange)}.pc-icon.go{background:var(--blue-dim);color:var(--blue)}.pc-icon.unknown{background:var(--bg-elevated);color:var(--text-muted)}.pc-name{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.pc-claude{font-size:.6rem;padding:1px 5px;background:var(--accent-glow-strong);color:var(--accent);border-radius:4px;font-weight:600;letter-spacing:.02em}.pc-desc{font-size:.72rem;color:var(--text-muted);margin-bottom:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:2.2rem}.pc-git{display:flex;align-items:center;gap:.5rem;padding-left:2.2rem;flex-wrap:wrap}.pc-git-item{display:flex;align-items:center;gap:.2rem;font-size:.68rem;color:var(--text-muted);font-family:var(--font-mono)}.pc-git-branch{background:var(--bg-elevated);padding:1px 6px;border-radius:4px;font-size:.68rem;font-family:var(--font-mono);color:var(--text-secondary)}.pc-git-remote{font-size:.68rem;color:var(--accent);text-decoration:none}.pc-git-remote:hover{text-decoration:underline}.pc-git-dirty{color:var(--warning);font-size:.65rem;font-weight:600}.pc-git-sync{font-size:.65rem}.pc-git-ahead{color:var(--success)}.pc-git-behind{color:var(--danger)}.pc-path{font-size:.65rem;color:var(--text-dim);padding-left:2.2rem;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;opacity:0;pointer-events:none;transition:opacity .25s}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(88vw,340px);background:var(--bg-secondary);z-index:101;transform:translate(-100%);transition:transform .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;padding-top:var(--safe-top)}.drawer.open{transform:translate(0)}.projects-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;opacity:0;pointer-events:none;transition:opacity .25s}.projects-sheet-overlay.open{opacity:1;pointer-events:auto}.projects-sheet{position:fixed;left:0;right:0;bottom:0;max-height:85vh;background:var(--bg-secondary);border-radius:16px 16px 0 0;z-index:101;transform:translateY(100%);transition:transform .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;padding-bottom:var(--safe-bottom)}.projects-sheet.open{transform:translateY(0)}.sheet-handle{width:36px;height:4px;background:var(--border-active);border-radius:2px;margin:10px auto 6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{width:100%;max-width:420px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.modal-title{font-family:var(--font-mono);font-weight:700;font-size:1rem}.modal input{padding:.75rem .9rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;outline:none}.modal input:focus{border-color:var(--accent-dim)}.modal input::placeholder{color:var(--text-dim)}.modal-actions{display:flex;gap:.6rem}.modal-actions button{flex:1;padding:.75rem;border:none;border-radius:var(--radius);font-family:var(--font-sans);font-weight:600;font-size:.92rem;cursor:pointer}.modal-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.modal-cancel:hover{background:var(--bg-elevated)}.modal-confirm{background:var(--accent-dim);color:#fff}.modal-confirm:hover{background:var(--accent-deep)}@media (min-width: 1024px){.sidebar{display:flex}.hamburger{display:none}.drawer-overlay,.drawer{display:none!important}.projects-panel.visible{display:flex}.projects-sheet-overlay,.projects-sheet{display:none!important}.input-bar{padding-bottom:.55rem}.split-view{flex-direction:row}.split-divider{width:3px;height:auto;cursor:col-resize}}@media (min-width: 1280px){:root{--sidebar-width: 300px;--projects-width: 360px}}@media (min-width: 1536px){:root{--projects-width: 400px}}@media (min-width: 768px) and (max-width: 1023px){.quick-actions{padding:.5rem 1rem;gap:.5rem}.q-btn{padding:.45rem 1rem;font-size:.78rem}}.bv-container{display:flex;flex-direction:column;background:var(--bg-primary);height:100%;border-top:1px solid var(--border)}.bv-navbar{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.bv-nav-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:.85rem;cursor:pointer;flex-shrink:0}.bv-nav-btn:hover{border-color:var(--border-active);color:var(--text-secondary)}.bv-url-bar{flex:1;display:flex;gap:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.bv-url-input{flex:1;padding:.3rem .6rem;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:.72rem;outline:none}.bv-url-input::placeholder{color:var(--text-dim)}.bv-go-btn{padding:0 .5rem;background:var(--bg-tertiary);border:none;border-left:1px solid var(--border);color:var(--text-muted);font-size:.85rem;cursor:pointer}.bv-go-btn:hover{color:var(--accent)}.bv-viewport{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#000}.bv-screenshot{width:100%;height:auto;object-fit:contain;image-rendering:auto}.bv-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.8rem;color:var(--text-dim);font-size:.8rem}.bv-footer{display:flex;align-items:center;justify-content:space-between;padding:.25rem .6rem;background:var(--bg-secondary);border-top:1px solid var(--border);font-size:.65rem;color:var(--text-dim);flex-shrink:0}.bv-footer-status{display:flex;align-items:center;gap:.3rem}.bv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.6rem;padding:2rem}.bv-empty-icon{font-size:2rem;opacity:.25}.bv-empty-text{font-size:.9rem;color:var(--text-muted)}.bv-empty-sub{font-size:.78rem;color:var(--text-dim);text-align:center;max-width:260px}.bv-error{color:var(--danger);font-size:.78rem;text-align:center;max-width:300px}.bv-launch-btn{margin-top:.5rem;padding:.55rem 1.3rem;background:var(--accent-dim);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-sans);font-weight:600;font-size:.85rem;cursor:pointer}.bv-launch-btn:hover{background:var(--accent-deep)}.bv-launch-btn:disabled{opacity:.5}.bv-deps-note{margin-top:.3rem;font-size:.68rem;color:var(--text-dim)}.split-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.split-view.horizontal{flex-direction:row}.split-terminal,.split-browser{flex:1;overflow:hidden;min-height:0;min-width:0}.split-divider{flex-shrink:0;background:var(--border);cursor:row-resize}.split-view.horizontal .split-divider{width:3px;cursor:col-resize}.split-divider:not(.horizontal){height:3px}.split-divider:hover{background:var(--accent-dim)}.top-browser-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);font-size:.9rem;cursor:pointer}.top-browser-btn.active{background:var(--accent-glow);border-color:#a78bfa4d;color:var(--accent)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-track{background:transparent}.chat-view{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.8rem;color:var(--text-muted)}.chat-empty-icon{font-size:2.5rem;opacity:.3}.chat-empty-text{font-size:.9rem}.session-info-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:var(--bg-tertiary);border-radius:var(--radius);font-size:.72rem;color:var(--text-muted)}.session-info-model{font-family:var(--font-mono);font-weight:600;color:var(--accent)}.session-info-cwd{font-family:var(--font-mono);opacity:.7}.cli-status-banner{display:flex;align-items:center;gap:.4rem;padding:.4rem .7rem;background:var(--danger-dim);border:1px solid rgba(248,113,113,.2);border-radius:var(--radius);font-size:.75rem;color:var(--danger)}.cli-status-banner.compacting{background:var(--blue-dim);border-color:#60a5fa33;color:var(--blue)}.message-bubble{max-width:95%;border-radius:var(--radius-lg);padding:.7rem .85rem;word-break:break-word;overflow-wrap:break-word}.msg-user{align-self:flex-end;background:var(--accent-glow-strong);border:1px solid rgba(167,139,250,.2);max-width:85%}.msg-user .msg-content{font-size:.88rem;color:var(--text-primary);white-space:pre-wrap;user-select:text;-webkit-user-select:text}.msg-assistant{align-self:flex-start;background:var(--bg-elevated);border:1px solid var(--border)}.msg-system{align-self:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);font-size:.78rem;color:var(--text-muted)}.markdown-content{font-size:.88rem;line-height:1.55;color:var(--text-primary);user-select:text;-webkit-user-select:text}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content p{margin:.4em 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:.8em 0 .3em;font-family:var(--font-sans);color:var(--text-primary)}.markdown-content h1{font-size:1.15rem}.markdown-content h2{font-size:1.05rem}.markdown-content h3{font-size:.95rem}.markdown-content ul,.markdown-content ol{padding-left:1.3em;margin:.4em 0}.markdown-content li{margin:.15em 0}.markdown-content a{color:var(--accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content blockquote{border-left:3px solid var(--accent-dim);padding-left:.8rem;margin:.5em 0;color:var(--text-secondary)}.markdown-content code{font-family:var(--font-mono);font-size:.82em;background:var(--bg-primary);padding:.15em .35em;border-radius:4px;color:var(--accent-bright)}.markdown-content pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;margin:.5em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-content pre code{background:none;padding:0;font-size:.8rem;color:var(--text-primary);line-height:1.45}.markdown-content table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.82rem}.markdown-content th,.markdown-content td{border:1px solid var(--border);padding:.35rem .55rem;text-align:left}.markdown-content th{background:var(--bg-tertiary);font-weight:600}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.streaming-cursor{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-left:4px;vertical-align:middle;animation:blink .8s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.tool-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);margin:.35rem 0;overflow:hidden}.tool-card.error{border-color:#f871714d}.tool-card-header{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .65rem;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.78rem;text-align:left;transition:background var(--transition)}.tool-card-header:hover{background:var(--bg-hover)}.tool-card-chevron{color:var(--text-dim);font-size:.7rem;flex-shrink:0;width:.8rem}.tool-card-name{font-family:var(--font-mono);font-weight:600;color:var(--accent);flex-shrink:0}.tool-card-summary{flex:1;color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-card-done{color:var(--success);font-size:.75rem;flex-shrink:0}.tool-card-error-icon{color:var(--danger);font-size:.75rem;flex-shrink:0}.tool-card-body{padding:.5rem .65rem;border-top:1px solid var(--border)}.tool-card-section{margin-bottom:.4rem}.tool-card-section:last-child{margin-bottom:0}.tool-card-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.25rem}.tool-card-pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;margin:0}.tool-result-error .tool-card-pre{color:var(--danger);border-color:#f8717133}.tool-progress{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--text-muted);font-family:var(--font-mono);flex-shrink:0}.spinner.small{width:12px;height:12px;border-width:1.5px}.plan-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent-dim);border-radius:var(--radius);overflow:hidden;margin:.3rem 0}.plan-card-header{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;background:color-mix(in srgb,var(--accent-dim) 10%,var(--bg-tertiary));border-bottom:1px solid var(--border)}.plan-card-icon{font-size:.9rem}.plan-card-title{font-size:.82rem;font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-card-badge{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-bright);background:color-mix(in srgb,var(--accent-dim) 25%,transparent);padding:2px 7px;border-radius:4px;flex-shrink:0}.plan-card-body{padding:.7rem .85rem}.plan-card-body .markdown-content{font-size:.85rem}.todo-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:.3rem 0}.todo-card-header{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.todo-card-icon{font-size:.9rem}.todo-card-title{font-size:.82rem;font-weight:600;color:var(--text-primary);flex:1}.todo-card-progress{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.todo-list{list-style:none;margin:0;padding:0}.todo-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .7rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.todo-item:last-child{border-bottom:none}.todo-item-icon{flex-shrink:0;width:1.1rem;text-align:center;font-size:.8rem;line-height:1.5}.todo-item--completed .todo-item-icon{color:var(--success)}.todo-item--in-progress .todo-item-icon{color:var(--accent-bright)}.todo-item--pending .todo-item-icon{color:var(--text-muted)}.todo-item-text{flex:1;font-size:.82rem;line-height:1.5;color:var(--text-primary)}.todo-item--completed .todo-item-text{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:var(--text-muted)}.todo-item-badge{flex-shrink:0;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-bright);background:color-mix(in srgb,var(--accent-dim) 20%,transparent);padding:2px 7px;border-radius:4px;align-self:center}.plan-mode-indicator{display:flex;align-items:center;gap:.4rem;padding:.3rem .7rem;margin:.2rem 0;font-size:.72rem;color:var(--text-muted);border-left:2px solid var(--border)}.plan-mode-indicator.enter{border-left-color:var(--accent);color:var(--text-secondary)}.plan-mode-indicator-icon{font-size:.6rem}.plan-mode-indicator-text{font-style:italic}.permission-card{background:var(--bg-elevated);border:1px solid rgba(251,191,36,.3);border-left:4px solid var(--warning);border-radius:var(--radius);padding:.7rem .85rem;margin:.3rem 0}.permission-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.permission-icon{font-size:.85rem}.permission-title{font-size:.78rem;font-weight:600;color:var(--warning)}.permission-tool{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);padding:1px 6px;border-radius:4px}.permission-desc{font-size:.78rem;color:var(--text-secondary);margin-bottom:.4rem}.permission-detail{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0 0 .5rem;max-height:200px;overflow-y:auto}.permission-actions{display:flex;gap:.5rem}.permission-btn{flex:1;padding:.5rem;border:none;border-radius:7px;font-family:var(--font-sans);font-weight:600;font-size:.82rem;cursor:pointer;touch-action:manipulation;transition:background .12s}.permission-btn.allow{background:var(--success-dim);color:var(--success);border:1px solid rgba(52,211,153,.25)}.permission-btn.allow:hover{background:#34d39933}.permission-btn.allow:active{background:#34d3994d}.permission-btn.deny{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(248,113,113,.2)}.permission-btn.deny:hover{background:#f871712e}.permission-btn.deny:active{background:#f8717147}.permission-btn:disabled{opacity:.4;cursor:not-allowed}.question-card{background:var(--bg-elevated);border:1px solid rgba(96,165,250,.3);border-left:4px solid var(--blue);border-radius:var(--radius);padding:.7rem .85rem;margin:.3rem 0}.question-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.question-card-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--blue-dim);color:var(--blue);border-radius:50%;font-size:.72rem;font-weight:700;flex-shrink:0}.question-card-title{font-size:.78rem;font-weight:600;color:var(--blue)}.question-block{margin-bottom:.6rem}.question-block:last-of-type{margin-bottom:.5rem}.question-header-tag{display:inline-block;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);background:var(--bg-tertiary);padding:1px 6px;border-radius:4px;margin-bottom:.3rem}.question-text{font-size:.85rem;color:var(--text-primary);margin-bottom:.45rem;line-height:1.4}.question-options{display:flex;flex-direction:column;gap:.3rem}.question-option{display:flex;align-items:flex-start;gap:.45rem;width:100%;padding:.5rem .65rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;text-align:left;font-size:.82rem;transition:all .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.question-option:hover{background:var(--bg-hover);border-color:var(--border-active)}.question-option.selected{background:var(--accent-glow-strong);border-color:#a78bfa66}.question-option-indicator{flex-shrink:0;font-size:.82rem;color:var(--text-dim);width:1rem;text-align:center;line-height:1.3}.question-option.selected .question-option-indicator{color:var(--accent)}.question-option-content{display:flex;flex-direction:column;gap:.1rem;min-width:0}.question-option-label{font-weight:600;font-size:.82rem;color:var(--text-primary)}.question-option-desc{font-size:.72rem;color:var(--text-muted);line-height:1.35}.question-other-input{width:100%;padding:.5rem .65rem;background:var(--bg-primary);border:1px solid var(--accent-dim);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:.82rem;outline:none;margin-top:.15rem;transition:border-color var(--transition)}.question-other-input:focus{border-color:var(--accent)}.question-other-input::placeholder{color:var(--text-dim)}.question-actions{display:flex;gap:.5rem;margin-top:.1rem}.thinking-block{margin:.3rem 0;border-radius:6px;overflow:hidden}.thinking-header{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:var(--bg-tertiary);border:none;border-radius:6px;color:var(--text-dim);font-size:.72rem;cursor:pointer;width:100%;text-align:left}.thinking-header:hover{color:var(--text-muted);background:var(--bg-hover)}.thinking-chevron{font-size:.65rem;width:.7rem}.thinking-label{font-style:italic}.thinking-content{padding:.5rem .65rem;background:var(--bg-tertiary);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-dim);line-height:1.45;white-space:pre-wrap;max-height:300px;overflow-y:auto}.q-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;font-family:var(--font-mono);font-size:.68rem;font-weight:500;border-radius:5px;white-space:nowrap}.q-model-badge{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(167,139,250,.15)}.q-cost-badge{background:var(--success-dim);color:var(--success);border:1px solid rgba(52,211,153,.15)}.code-block-wrapper{position:relative;margin:.5em 0}.code-copy-btn{position:absolute;top:6px;right:6px;padding:.2rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-family:var(--font-sans);font-size:.65rem;font-weight:600;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;z-index:1}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.code-copy-btn:active{background:var(--bg-active)}@media (hover: none){.code-copy-btn{opacity:.7}}.input-bar-container{background:var(--bg-secondary);flex-shrink:0}.attach-preview{display:flex;gap:.4rem;padding:.4rem .8rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.attach-thumb{position:relative;width:44px;height:44px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--border)}.attach-thumb img{width:100%;height:100%;object-fit:cover}.attach-chip{display:flex;align-items:center;gap:.3rem;padding:.3rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;flex-shrink:0;max-width:160px}.attach-chip-name{font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-remove{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:50%;color:#fff;font-size:.6rem;cursor:pointer;position:absolute;top:2px;right:2px;line-height:1}.attach-chip .attach-remove{position:static;background:var(--bg-hover);color:var(--text-muted)}.attach-remove:hover{background:var(--danger-dim);color:var(--danger)}.input-attach-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;cursor:pointer;flex-shrink:0;transition:border-color var(--transition)}.input-attach-btn:hover{border-color:var(--border-active)}.input-attach-btn:active{background:var(--bg-tertiary)}.msg-images{display:flex;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}.msg-image-thumb{max-width:120px;max-height:80px;border-radius:6px;object-fit:cover;border:1px solid rgba(167,139,250,.2)}.q-context-badge{gap:.4rem;background:var(--bg-tertiary);border:1px solid var(--border)}.q-context-badge.warn{background:var(--warning-dim);border-color:#fbbf2440;color:var(--warning)}.q-context-badge.critical{background:var(--danger-dim);border-color:#f8717140;color:var(--danger)}.context-bar-track{display:inline-block;width:40px;height:5px;background:var(--bg-primary);border-radius:3px;overflow:hidden;vertical-align:middle}.context-bar-fill{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease,background .3s ease}.q-context-badge.warn .context-bar-fill{background:var(--warning)}.q-context-badge.critical .context-bar-fill{background:var(--danger)}.msg-files{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.4rem}.file-attachment{border-radius:6px;overflow:hidden;border:1px solid rgba(167,139,250,.15);background:#00000026}.file-attachment-header{display:flex;align-items:center;gap:.35rem;width:100%;padding:.4rem .55rem;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.75rem;text-align:left;transition:background var(--transition)}.file-attachment-header:hover{background:#ffffff0a}.file-attachment-chevron{color:var(--text-dim);font-size:.65rem;flex-shrink:0;width:.7rem}.file-attachment-icon{flex-shrink:0;font-size:.8rem}.file-attachment-name{font-family:var(--font-mono);font-weight:600;font-size:.72rem;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.file-attachment-size{font-family:var(--font-mono);font-size:.62rem;color:var(--text-dim);flex-shrink:0}.file-attachment-content{margin:0;padding:.5rem .65rem;border-top:1px solid rgba(167,139,250,.1);background:var(--bg-primary);font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);line-height:1.45;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}
