:root{color-scheme:dark;--bg: #0a0a0f;--surface: #14141f;--surface2: #1a1a28;--border: #2a2a3a;--text: #e8e8f0;--muted: #8888a0;--accent: #7c6cff;--accent-dim: #5a4fd4;--success: #34d399;--error: #f87171;--tool: #60a5fa;--running: #fbbf24;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;background:var(--bg);color:var(--text);overflow:hidden}#app{display:flex;flex-direction:column;max-width:100%;margin:0 auto}.header{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--surface);flex-shrink:0}.header-center{flex:1;min-width:0}.title{font-weight:600;font-size:1rem;white-space:nowrap}.ver{font-size:.68rem;color:var(--muted);font-weight:400;margin-left:4px}.repo-label{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{background:none;border:none;color:var(--text);font-size:1.2rem;padding:6px 8px;cursor:pointer;border-radius:8px}.icon-btn:active{background:var(--border)}.update-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#7c6cff1f;border-bottom:1px solid var(--border);flex-shrink:0}.update-banner.hidden{display:none}.update-text{display:flex;flex-direction:column;gap:2px;font-size:.85rem}.update-text strong{color:var(--accent)}.update-text span{color:var(--muted);font-size:.78rem}.update-actions{display:flex;gap:8px}.update-actions .btn{flex:none;padding:8px 14px;min-width:88px}.status{font-size:.7rem;padding:4px 10px;border-radius:999px;background:var(--border);white-space:nowrap;flex-shrink:0}.status.online{background:#34d39926;color:var(--success)}.status.running{background:#fbbf2426;color:var(--running)}.status.offline{color:var(--muted)}.settings{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;background:var(--surface);flex-shrink:0}.settings.hidden{display:none}.settings-hint{font-size:.8rem;color:var(--error);padding:6px 8px;background:#f871711a;border-radius:6px}.settings-hint.hidden{display:none}.settings label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted)}.paired-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface);font-size:.82rem;color:var(--muted);flex-shrink:0}.paired-bar.hidden,body.embedded-remote .paired-bar #changeTokenBtn{display:none}.workspace{flex:1;display:flex;min-height:0;position:relative}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:20}.drawer-overlay.hidden{display:none}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);background:var(--surface);border-right:1px solid var(--border);z-index:30;transform:translate(-100%);transition:transform .2s ease;display:flex;flex-direction:column;padding:12px;gap:12px;overflow-y:auto;padding-top:calc(56px + env(safe-area-inset-top))}.drawer.open{transform:translate(0)}.drawer-section{display:flex;flex-direction:column;gap:6px}.drawer-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.row-between{display:flex;justify-content:space-between;align-items:center}.repo-select{display:block;min-height:42px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:.9rem;width:100%;-webkit-appearance:menulist;-moz-appearance:auto;appearance:auto}.repo-select:disabled{opacity:.65;color:var(--muted)}.drawer-section.hidden{display:none}.drawer-new{flex:none;padding:10px}.session-list{list-style:none;display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.session-item{border-radius:8px;display:flex;align-items:stretch;gap:2px;border:1px solid transparent}.session-item:active,.session-item.active{background:#7c6cff1f;border-color:#7c6cff40}.session-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 8px 10px 12px;background:none;border:none;color:inherit;text-align:left;cursor:pointer}.session-actions{display:flex;flex-shrink:0;align-items:center;padding-right:4px;gap:2px}.session-action-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.session-action-btn:active{background:#ffffff14;color:var(--text)}.session-action-btn.danger:active{background:#f8717126;color:var(--error)}.session-title{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-time{font-size:.72rem;color:var(--muted)}.session-empty{font-size:.82rem;color:var(--muted);padding:8px}.main-panel{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.run-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;background:#fbbf2414;border-bottom:1px solid var(--border);flex-shrink:0}.run-bar.hidden{display:none}.task-dock{flex-shrink:0;border-bottom:1px solid var(--border);background:#7c6cff0f;padding:8px 12px 10px}.task-dock.hidden{display:none}.task-dock-head{margin-bottom:6px}.task-dock-title{font-size:.75rem;color:var(--running);font-weight:600}.task-dock-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.task-card{flex:0 0 min(240px,78vw);border:1px solid var(--border);border-radius:10px;background:var(--surface2);overflow:hidden}.task-card-active{border-color:#7c6cff73}.task-card-main{display:flex;flex-direction:column;gap:4px;width:100%;padding:8px 10px;background:none;border:none;color:var(--text);text-align:left;cursor:pointer}.task-status{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.task-status-started,.task-status-running{color:var(--running)}.task-status-queued{color:var(--muted)}.task-status-done{color:var(--success)}.task-status-error,.task-status-cancelled{color:var(--error)}.task-prompt{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-actions{display:flex;gap:4px;padding:0 8px 6px;border-top:1px solid var(--border)}.task-actions .btn{flex:none;font-size:.75rem;padding:2px 6px}.session-item.running .session-dot{color:var(--running);font-size:.65rem}.session-queue{color:var(--muted);font-size:.75rem;margin-left:2px}.queue-hint{margin:0;font-size:.78rem;color:var(--running);line-height:1.35}.queue-hint.hidden{display:none}.bubble.tool{align-self:stretch;font-size:.75rem;color:var(--tool);background:#60a5fa14;padding:6px 12px;max-width:100%;font-family:ui-monospace,monospace}.bubble.tool.tool-compacted:not(.tool-summary){display:none}.bubble.tool.tool-summary{display:block;width:100%;text-align:left;border:1px dashed rgba(96,165,250,.35);cursor:pointer;background:#60a5fa1f;font:inherit;color:inherit;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.bubble.assistant .msg-body{word-break:break-word}.bubble.assistant .msg-body h1,.bubble.assistant .msg-body h2,.bubble.assistant .msg-body h3{margin:.6em 0 .35em;font-size:1em;font-weight:700;line-height:1.35}.bubble.assistant .msg-body h1{font-size:1.08em}.bubble.assistant .msg-body h2{font-size:1.04em}.bubble.assistant .msg-body p{margin:.35em 0;line-height:1.5}.bubble.assistant .msg-body ul{margin:.35em 0;padding-left:1.2em}.bubble.assistant .msg-body li{margin:.2em 0}.bubble.assistant .msg-body code{font-family:ui-monospace,monospace;font-size:.88em;background:#00000040;padding:.1em .35em;border-radius:4px}.bubble.assistant .msg-body strong{font-weight:700}.bubble.assistant.msg-folded{cursor:pointer;overflow:visible}.bubble.assistant.msg-folded .msg-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;line-height:1.5;min-height:3em;max-height:6.5em;white-space:normal}.bubble.assistant.msg-folded .msg-expand-hint{display:block;padding-top:4px}.msg-expand-hint{margin-top:6px;font-size:.78rem;color:var(--accent)}.chat-load-more{align-self:center;margin:4px 0 8px;padding:8px 14px;border-radius:8px;border:1px dashed var(--border);background:var(--surface2);color:var(--accent);font-size:.85rem;cursor:pointer}.btn.link{background:none;border:none;color:var(--accent);padding:4px 8px;min-width:auto;font-size:.82rem;cursor:pointer}.btn.link:active{opacity:.7}.settings input,.composer textarea,.composer select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:.95rem}.row{display:flex;gap:8px}.btn{flex:1;padding:10px;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff}.btn.primary:active:not(:disabled){background:var(--accent-dim)}.btn.secondary{background:var(--border);color:var(--text)}.chat{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.bubble{max-width:92%;padding:10px 14px;border-radius:12px;font-size:.92rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--surface2);border:1px solid var(--border);border-bottom-left-radius:4px;white-space:pre-wrap;word-break:break-word}.bubble.assistant.streaming:after{content:"▍";display:inline-block;margin-left:2px;color:var(--accent);animation:stream-cursor .85s step-end infinite}@keyframes stream-cursor{50%{opacity:0}}.bubble.error{align-self:center;color:var(--error);font-size:.85rem}.bubble.system{align-self:center;color:var(--muted);font-size:.8rem}.composer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.composer textarea{resize:none;width:100%}.composer select{width:100%}@media(min-width:768px){#app{max-width:960px}.drawer{position:relative;transform:none;width:260px;flex-shrink:0;padding-top:12px}.drawer-overlay{display:none!important}.icon-btn{display:none}}
