:root,[data-theme=light]{--gray-canvas:#e7ebee;--gray-panel:#fff;--gray-raised:#fff;--gray-hover:#dce2e7;--gray-line:#c3ccd4;--gray-line-strong:#798996;--bg:var(--gray-canvas);--surface:var(--gray-raised);--border:var(--gray-line);--border-strong:var(--gray-line-strong);--panel:var(--gray-panel);--bg2:var(--gray-hover);--text:#111820;--fg:#111820;--muted:#586470;--accent:#17556e;--on-accent:#fff;--on-scrim:#ffffff;--primary-fill:#17556e;--on-primary:#fff;--signal-move:#e5b21f;--on-signal:#1a1508;--mode-build:#1f6aa5;--mode-plan:#a85400;--danger:#b4271c;--on-danger:#fff;--warn:#8a5a00;--status-ok:#2e7fa6;--status-work:#8a6300;--status-wait:#b4271c;--status-done:#6a7682;--status-err:#b4271c;--user-bubble:#d6e3eb;--scrim:rgba(17,24,32,.92);--scrim-soft:rgba(17,24,32,.4);--shadow-overlay:0 18px 48px rgba(23,40,55,.18);--banner-danger-bg:rgba(180,39,28,.1);--banner-warn-bg:rgba(229,178,31,.22);--diff-add-bg:rgba(46,127,166,.26);--diff-add-fg:#0e3f56;--diff-del-bg:rgba(180,39,28,.22);--diff-del-fg:#75160f;--diff-void-bg:rgba(17,24,32,.05);--qr-bg:#fff;--preview-bg:#fff}[data-theme=dark]{--gray-canvas:#101418;--gray-panel:#151a1f;--gray-raised:#1b2127;--gray-hover:#222931;--gray-line:#2e3741;--gray-line-strong:#5b6c7d;--text:#e4e9ed;--fg:#e4e9ed;--muted:#8c98a3;--accent:#8fc9e4;--on-accent:#0b1418;--on-scrim:#ffffff;--primary-fill:#31414e;--on-primary:#e8f1f6;--signal-move:#efc03a;--on-signal:#16191c;--mode-build:#5aa9e6;--mode-plan:#ef8a3c;--danger:#f4776a;--on-danger:#1a0b09;--warn:#e8a33d;--status-ok:#6fb6d9;--status-work:#efc03a;--status-wait:#f4776a;--status-done:#7e8b96;--status-err:#f4776a;--user-bubble:#232d36;--scrim:rgba(6,9,12,.94);--scrim-soft:rgba(6,9,12,.45);--shadow-overlay:0 18px 48px rgba(0,0,0,.5);--banner-danger-bg:rgba(244,119,106,.12);--banner-warn-bg:rgba(239,192,58,.14);--diff-add-bg:rgba(111,182,217,.26);--diff-add-fg:#bfe2f3;--diff-del-bg:rgba(244,119,106,.26);--diff-del-fg:#ffbfb6;--diff-void-bg:rgba(255,255,255,.03)}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-size-xs:.72rem;--font-size-sm:.85rem;--font-size-md:.95rem;--font-size-body:var(--font-size-md);--font-size-lg:1.15rem;--line-height-body:1.6;--line-height-tight:1.3;--font-ui:Go,"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Go Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--font-weight-medium:500;--motion-fast:.15s;--motion-slow:.3s;--ease-out:cubic-bezier(.22,1,.36,1);--reading-max:46rem;--rail:1px;--rail-x:15px;--clamp:7px;--radius-sm:3px;--radius-md:4px;--radius-lg:5px;--radius-pill:999px;font-family:var(--font-ui)}.status-dot{width:9px;height:9px;border-radius:var(--radius-pill);flex-shrink:0;display:inline-block}.status-dot.ok{background:var(--status-ok)}.status-dot.wait{background:var(--status-wait)}.status-dot.err{background:var(--status-err)}.status-dot.idle{background:var(--border)}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html,body,#root{height:100%;height:100dvh;margin:0;background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-font-smoothing:antialiased}body{-webkit-tap-highlight-color:transparent}button{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;cursor:pointer;touch-action:manipulation;transition:transform var(--motion-fast) var(--ease-out),opacity var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}button:active{border-color:var(--accent);transform:scale(.96)}button.primary:active{transform:scale(.97);opacity:.85}button.primary{background:var(--primary-fill);color:var(--on-primary);border:none;font-weight:600}button.danger{color:var(--danger);border-color:var(--danger)}input,textarea{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px;width:100%}.screen{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:12px;animation:screen-in var(--motion-fast) var(--ease-out)}@keyframes screen-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}[data-nav=back] .screen{animation-name:screen-in-back}@keyframes screen-in-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}.app-root.dragging .screen{animation:none;transform:translate(var(--drag-x, 0px))}.app-root:not(.dragging) .screen{transition:transform var(--motion-fast) var(--ease-out)}.session-card{transition:transform var(--motion-fast) var(--ease-out)}.session-card:active{transform:scale(.97)}.has-tabbar .screen{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:50;max-width:720px;margin:0 auto}.tabbar button{background:none;border:none;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.62rem;color:var(--muted);padding:4px 14px}.tabbar button.active{color:var(--accent)}.screen>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.muted{color:var(--muted);font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.artifact-icon{display:inline-flex;color:var(--muted);flex-shrink:0}.artifact-icon svg{width:18px;height:18px}.list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.session-card{cursor:pointer;display:flex;align-items:center;gap:8px}.session-card h3{margin:0 0 4px;font-size:.95rem}.card.session-card{flex-direction:column;gap:var(--space-1);min-height:84px}.session-head{display:flex;align-items:center;gap:6px}.session-title{flex:1;min-width:0;font-weight:600;font-size:var(--font-size-sm);line-height:var(--line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-snippet{flex:1;min-height:0;font-size:.75rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.session-meta{font-size:var(--font-size-xs)}.session-when{font-size:.68rem;color:var(--muted);flex-shrink:0}.session-actions{display:flex;gap:var(--space-1)}.session-grid{display:flex;flex-direction:column;gap:0}select{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px}.chat{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;max-width:100%}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px;overscroll-behavior:contain;overflow-anchor:none;min-width:0;max-width:100%}.chat-empty{margin:auto;text-align:center;padding:16px;max-width:320px;color:var(--muted);animation:msg-in var(--motion-fast) var(--ease-out)}.chat-empty-icon{color:var(--muted);display:block;margin-bottom:6px}.chat-empty-icon svg{width:2.2rem;height:2.2rem}.chat-empty-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text)}.chat-empty-hint{margin:0;font-size:.85rem;line-height:1.45}.msg{padding:10px 12px;border-radius:var(--radius-lg);max-width:92%;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:var(--font-size-body);line-height:var(--line-height-body);animation:msg-in var(--motion-fast) var(--ease-out);contain:content}.msg pre{max-width:100%;min-width:0;overflow-x:auto}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.caret{display:inline-block;width:3px;height:1em;margin-left:2px;background:var(--accent);vertical-align:text-bottom;animation:caret-blink .8s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.thinking{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;max-width:100%;margin-bottom:8px}.thinking-head{display:flex;align-items:center;gap:6px;width:100%;padding:5px 9px;border:none;background:transparent;color:var(--muted);font-size:var(--font-size-xs);font-weight:500;text-align:left;cursor:pointer;border-radius:inherit}.thinking-head:hover{color:var(--text)}.thinking-head:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.thinking-chevron{flex-shrink:0;transition:transform var(--motion-fast) var(--ease-out)}.thinking.open .thinking-chevron{transform:rotate(90deg)}.thinking-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--motion-slow) var(--ease-out),opacity var(--motion-fast) var(--ease-out)}.thinking.open .thinking-body{grid-template-rows:1fr;opacity:1}.thinking-inner{overflow:hidden;min-height:0;min-width:0;padding:0 10px;font-size:var(--font-size-sm);line-height:1.55;color:var(--muted);white-space:pre-wrap;word-break:break-word}.thinking.open .thinking-inner{padding-bottom:9px}.skel{background:linear-gradient(90deg,var(--surface) 25%,color-mix(in srgb,var(--border) 60%,var(--surface)) 50%,var(--surface) 75%);background-size:200% 100%;animation:skel-shimmer 1.2s linear infinite;border-radius:var(--radius-md)}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.msg.pending{opacity:.55}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.msg code{font-family:var(--font-mono);font-size:var(--font-size-sm)}.unread-badge{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-pill);padding:2px 8px;font-size:.75rem;font-weight:700;min-width:20px;text-align:center;flex-shrink:0}.chip{padding:4px 12px;border-radius:var(--radius-pill);font-size:.8rem;color:var(--muted);white-space:nowrap}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.msg.user{align-self:flex-end;background:var(--user-bubble)}.msg.assistant{align-self:stretch;max-width:100%;background:transparent;border:none;padding:4px 0}.composer{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2px 4px 6px;transition:border-color var(--motion-fast) var(--ease-out)}.composer:focus-within{border-color:var(--border-strong)}.ctx-gauge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:0 2px}.ctx-gauge-bar{display:inline-block;width:44px;height:4px;border-radius:var(--radius-pill);background:var(--gray-hover);overflow:hidden}.ctx-gauge-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--muted);transition:width var(--motion-fast) var(--ease-out)}.ctx-gauge[data-level=warn] .ctx-gauge-fill{background:var(--warn)}.ctx-gauge[data-level=danger] .ctx-gauge-fill{background:var(--danger)}.ctx-gauge-label{font-family:var(--font-mono);font-size:.62rem;color:var(--muted);min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.chat-recap{display:flex;align-items:baseline;gap:8px;min-width:0;padding:5px 12px 6px;border-top:1px solid var(--border)}.chat-recap-label{flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chat-recap-text{flex:1;min-width:0;font-size:var(--font-size-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-atts{display:flex;gap:6px;flex-wrap:wrap;padding:8px 8px 0}.composer-att{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:4px 6px 4px 4px}.composer-att-thumb{width:26px;height:26px;object-fit:cover;border-radius:7px;flex-shrink:0}.composer-att-name{font-size:var(--font-size-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.composer-att-x{border:none;background:transparent;color:var(--muted);font-size:.9rem;line-height:1;padding:2px 4px;cursor:pointer;border-radius:6px;min-width:18px;min-height:18px}.composer-att-x:hover{color:var(--danger)}.composer-text{border:none;border-radius:0;background:transparent;color:var(--text);font-size:var(--font-size-md);line-height:1.45;padding:10px 10px 2px;resize:none;outline:none;max-height:145px;overflow-y:auto;min-height:34px}.composer-text::placeholder{color:var(--muted)}.composer-bar{display:flex;gap:2px;align-items:center;padding:2px 2px 0}.composer-btn{background:transparent;border:none;color:var(--muted);padding:7px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.composer-btn:hover:not(:disabled){background:var(--bg2);color:var(--text)}.composer-btn:disabled{opacity:.45;cursor:not-allowed}.composer-btn:active:not(:disabled){transform:none}.chat-btn{background:transparent;border:none;color:var(--muted);padding:7px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.chat-btn:hover:not(:disabled){background:var(--bg2);color:var(--text)}.chat-btn:disabled{opacity:.45;cursor:not-allowed}.chat-btn:active:not(:disabled){transform:none}.chat-btn[data-active]{color:var(--accent);background:var(--bg2)}.daemon-down svg,.daemon-reconnecting svg,.msg-older svg{vertical-align:-3px}.composer-mic-rec{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:mic-pulse 1.2s ease-in-out infinite}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.35}}.composer-tts-on:not(.composer-tts-speaking){color:var(--accent)}.composer-tts-speaking{color:var(--accent);animation:mic-pulse 1.2s ease-in-out infinite}.composer-spacer{flex:1;min-width:0}.composer-model{position:relative;min-width:0}.composer-model-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--muted);font-size:var(--font-size-xs);padding:6px 8px;border-radius:8px;cursor:pointer;max-width:220px;min-width:0}.composer-model-btn:hover{background:var(--bg2);color:var(--text)}.composer-model-btn:active{transform:none}.composer-model-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:30;min-width:200px;max-width:min(320px,calc(100vw - 24px));max-height:min(60vh,360px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-overlay);padding:6px;display:flex;flex-direction:column;gap:1px}.composer-menu-head{flex-shrink:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 8px 3px}.composer-menu-item{flex-shrink:0;background:transparent;border:none;color:var(--text);font-size:var(--font-size-sm);text-align:left;padding:7px 9px;border-radius:8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.composer-menu-item:hover{background:var(--bg2)}.composer-menu-item:active{transform:none}.composer-menu-item.selected{color:var(--accent)}.composer-send{width:32px;height:32px;min-width:32px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.approval{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.events{max-height:120px;overflow-y:auto;font-size:.72rem;color:var(--muted)}.desk{--sidebar-w: 280px;display:flex;height:100%;width:100%;overflow:hidden}.desk-side{display:flex;flex-direction:column;width:var(--sidebar-w);min-width:var(--sidebar-w);height:100%;border-right:1px solid var(--border);background:var(--panel)}.desk-side-top{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--border)}.desk-new{width:100%;flex-shrink:0}.desk-side-scroll{flex:1;overflow-y:auto;min-height:0}.desk-side .screen{width:100%;margin:0;max-width:none;padding:10px;height:auto;min-height:0}.desk-nav{display:flex;gap:6px;padding:0}.desk-nav button{flex:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);font-size:.9rem;padding:6px 0;cursor:pointer}.desk-nav button svg{width:18px;height:18px;flex-shrink:0;opacity:.9}.desk-nav button.active{color:var(--fg);border-color:var(--border);background:var(--bg2)}.desk-chat{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.desk-chat .screen{max-width:var(--reading-max);margin:0 auto;height:100%}.desk-pane{width:clamp(360px,36vw,520px);min-width:360px;height:100%;border-left:1px solid var(--border);background:var(--bg);position:relative;overflow:hidden;animation:pane-slide-in var(--motion-slow) var(--ease-out)}.pane-view{height:100%;animation:pane-view-in var(--motion-fast) var(--ease-out)}@keyframes pane-view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.desk-pane .screen{max-width:none;height:100%}.desk-pane.maximized{width:80vw;min-width:0}.browser-pane{display:flex;flex-direction:column;height:100%;background:var(--bg)}.browser-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--panel)}.browser-header h1{font-size:1rem;font-weight:600;margin:0;flex:1}.browser-header button{padding:4px 10px;line-height:1.2}.browser-bar{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border)}.browser-bar input{flex:1;font-size:.85rem}.browser-bar button{padding:6px 10px}.browser-error{margin:0;padding:8px 10px;color:var(--danger);font-size:.85rem}.browser-frame{flex:1;min-height:0;position:relative;background:var(--surface)}.browser-frame webview{width:100%;height:100%;border:0;display:flex}.browser-loading{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:.6;animation:browser-loading-slide 1s linear infinite}@keyframes browser-loading-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.desk-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.desk-empty h2{color:var(--fg);margin:0 0 6px}.desk-empty p{margin:0}.desk .tabbar,.desk .has-tabbar{display:none}.desk-side .session-grid{display:flex;flex-direction:column;gap:0}.desk-side .card.session-card{overflow:hidden;background:transparent;border:none;border-radius:var(--radius-sm);padding:var(--space-2) 10px;min-height:0;gap:2px}.desk-side .card.session-card:hover{background:var(--bg2)}.desk-side .session-meta,.desk-side .session-actions{display:none}.desk-side .session-head{overflow:hidden}.desk-side .session-title{display:block;font-weight:450;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk-side .session-snippet{display:block;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem}.desk-side .list input{background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:6px 2px;font-size:.9rem}.desk-side .chip{background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:.7rem;padding:2px 10px;color:var(--muted)}.desk-side .chip[aria-pressed=true]{color:var(--fg);border-color:var(--fg)}.desk-nav{flex-direction:column;gap:1px;padding:0}.desk-nav button{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;font-size:.9rem;color:var(--muted);background:transparent;border:none;border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}.desk-nav button:hover,.desk-nav button.active{color:var(--fg);background:var(--bg2)}.desk-account{flex-shrink:0;border-top:1px solid var(--border);background:var(--panel);padding:var(--space-2)}.desk-account-btn{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;border-radius:var(--radius-sm);padding:6px 8px;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-out)}.desk-account-btn:hover{background:var(--bg2)}.desk-account-avatar{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--bg2);color:var(--fg);font-size:var(--font-size-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.desk-account-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.desk-account-plan{font-size:var(--font-size-xs);color:var(--muted);flex-shrink:0}.desk-account-btn .status-dot{margin-left:auto}.desk-empty h2{font-family:ui-serif,Georgia,Times New Roman,serif;font-size:2.4rem;font-weight:var(--font-weight-medium);letter-spacing:-.01em}.desk-greet-mark{display:inline-flex;color:var(--accent);margin-bottom:10px}.desk-empty p{margin-top:8px;font-size:.95rem}.desk-empty-compose{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:9px 18px;font-size:.9rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill)}.desk-empty-compose:hover:not(:disabled){color:var(--fg);border-color:var(--accent)}.desk-empty-compose:disabled{opacity:.6}.sess-rows{display:flex;flex-direction:column;gap:1px}.sess-group-head{margin:10px 10px 3px;font-size:var(--font-size-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sess-row{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;min-width:0;transition:background var(--motion-fast) var(--ease-out)}.sess-row:hover{background:var(--bg2)}.sess-row.active{background:var(--bg2);box-shadow:inset 2px 0 0 var(--accent)}.sess-row.active .sess-title{color:var(--fg);font-weight:600}.sess-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:450;color:var(--fg)}.sess-when{flex-shrink:0;font-size:.68rem;color:var(--muted)}.row-actions{display:none;flex-shrink:0;align-items:center;gap:2px}.sess-row:hover .row-actions,.sess-row:focus-within .row-actions{display:flex}.sess-row:hover .sess-when,.sess-row:focus-within .sess-when{display:none}.row-actions button{display:inline-flex;align-items:center;padding:3px;border:none;background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}.row-actions button:hover{color:var(--fg);background:var(--border)}.sess-mobile-head{padding:2px 2px 8px;border-bottom:1px solid var(--border)}.sess-machine-overline{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 2px;cursor:pointer;color:var(--muted)}.sess-machine-overline:active{transform:none}.sess-overline{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sess-head-actions{display:flex;gap:2px}.sess-head-actions button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--muted);padding:7px;border-radius:var(--radius-sm)}.sess-head-actions button:hover{color:var(--fg);background:var(--bg2)}.sess-head-actions button.danger:hover{color:var(--danger)}.sess-search-row{position:relative;display:flex;gap:6px}.sess-search-row input{flex:1;min-width:0}.sess-filter-btn{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;color:var(--muted)}.sess-filter-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent)}.sess-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.sess-filter-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:31;min-width:170px;padding:4px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000002e}.sess-filter-item{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 10px;font-size:.85rem;text-align:left;color:var(--fg);border-radius:var(--radius-sm)}.sess-filter-item:hover{background:var(--bg2)}.sess-filter-item[aria-checked=true]{color:var(--accent)}.sess-filter-check{width:14px;display:inline-flex;justify-content:center;flex-shrink:0}@media(min-width:1024px){.chat-back,.chat-handoff{display:none}.desk-side .list{display:flex;flex-direction:column}}.pair-remote-entry{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit}.pair-remote-entry:hover{background:var(--surface)}.pair-remote-entry:disabled{opacity:.6;cursor:default}.pair-remote-entry .muted{font-size:.75rem;font-weight:400}.pair-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px}.pair-overlay-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:420px;padding:28px;border-radius:16px;border:1px solid var(--border);background:var(--panel)}.pair-overlay-card h2{margin:0;font-size:1.15rem}.pair-overlay-card p{margin:0;font-size:.85rem}.pair-overlay-qr{border-radius:var(--radius-lg);background:var(--qr-bg);padding:10px}.pair-overlay-later{background:transparent;border:none;padding:6px 10px;color:var(--muted);font-size:.8rem;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--muted) 55%,transparent)}.pair-overlay-later:hover{color:var(--text)}.splash-logo{border-radius:10px}.splash-wordmark{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.01em}.splash-value{color:var(--text);opacity:.92;max-width:34ch;line-height:1.45}.splash-steps{margin:0;padding:0;list-style:none;counter-reset:splash-step;display:flex;flex-direction:column;gap:6px;text-align:left;width:100%}.splash-steps li{counter-increment:splash-step;display:flex;align-items:baseline;gap:10px;font-size:.85rem;line-height:1.4}.splash-steps li:before{content:counter(splash-step);flex:none;width:20px;height:20px;border-radius:10px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--text);opacity:.8;transform:translateY(3px)}.splash-under{margin:0;font-size:.78rem;color:var(--text);opacity:.75}.daemon-down{position:fixed;top:0;left:0;right:0;z-index:60;padding:9px 14px;text-align:center;font-size:.85rem;color:var(--danger);background:var(--banner-danger-bg);border-bottom:1px solid var(--danger)}.daemon-reconnecting,.daemon-version-mismatch,.daemon-first-contact{position:fixed;top:0;left:0;right:0;z-index:60;padding:9px 14px;text-align:center;font-size:.85rem;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-bottom:1px solid var(--warn)}.daemon-reconnect-btn{margin-left:8px;padding:1px 10px;font-size:.8rem;font-weight:600;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-pill);cursor:pointer}.daemon-reconnect-btn:hover{background:var(--banner-danger-bg)}.has-daemon-down{padding-top:38px}.pair-wrap{height:100%}.pair-wrap .pair-screen{max-width:420px;justify-content:center;padding-left:20px;padding-right:20px}.pair-section{display:flex;flex-direction:column;gap:10px;width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.pair-section-title{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pair-or{align-self:center;margin:0;font-size:.78rem}.pair-error{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--banner-danger-bg);text-align:left}.pair-error-msg{margin:0;font-weight:600;color:var(--danger)}.pair-error-hint{margin:0;font-size:var(--font-size-sm);color:var(--text);opacity:.8;overflow-wrap:anywhere}.pair-error-retry{margin-top:8px;align-self:flex-start;padding:6px 12px;font-size:var(--font-size-sm);color:var(--danger);border-color:var(--danger);background:transparent}.degraded{justify-content:center}.degraded-status{display:flex;align-items:flex-start;gap:12px;text-align:left}.degraded-dot{width:10px;height:10px;margin-top:6px;flex:none;border-radius:50%;background:var(--status-wait);animation:degraded-pulse 2s var(--ease-out) infinite}.degraded-dot.err{background:var(--status-err);animation:none}@keyframes degraded-pulse{0%,to{opacity:1}50%{opacity:.35}}.degraded-status h2{margin:0 0 4px;font-size:1.05rem;line-height:var(--line-height-tight);color:var(--fg)}.degraded-status p{margin:0;max-width:34rem}.degraded-retry{margin:-4px 0 0;padding-left:22px;font-size:var(--font-size-sm);color:var(--status-wait);text-align:left}.degraded-actions{display:flex;justify-content:flex-start;padding-left:22px}.degraded-reconnect-btn{color:var(--warn);border-color:var(--warn)}.degraded-reconnect-btn:hover{background:color-mix(in srgb,var(--warn) 12%,transparent)}.degraded-local{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface)}.degraded-local h3{margin:0 0 4px;font-size:var(--font-size-md);color:var(--fg)}.degraded-local p{margin:0 0 8px;font-size:var(--font-size-sm)}.degraded-manual{background:transparent;border:none;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.degraded-manual:hover{color:var(--text)}.reconnect-spin{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:reconnect-rotate .8s linear infinite}@keyframes reconnect-rotate{to{transform:rotate(360deg)}}.ocr-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:70;max-width:min(90vw,30rem);padding:9px 16px;font-size:var(--font-size-sm);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);animation:screen-in var(--motion-fast) var(--ease-out)}.msg-wrap{position:relative;flex:1;min-height:0;min-width:0;max-width:100%;display:flex}.jump-end{position:absolute;right:14px;bottom:12px;z-index:5;width:34px;height:34px;padding:0;border-radius:var(--radius-pill);box-shadow:0 2px 10px #00000038;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.conn-banner{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 14px;font-size:.8rem;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-bottom:1px solid var(--warn)}.conn-banner-spin{display:inline-block;animation:conn-spin 1.2s linear infinite}@keyframes conn-spin{to{transform:rotate(360deg)}}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;flex-direction:column;padding:12px;gap:8px}.modal-scrim:focus{outline:none}.chat-row{display:flex;flex:1;min-height:0}.screen.artifact-split,.desk-pane .screen.artifact-split{max-width:none}.split-divider{flex:0 0 9px;display:flex;justify-content:center;cursor:col-resize;touch-action:none}.split-divider span{width:1px;background:var(--border)}.split-divider:hover span,.split-divider.dragging span{width:2px;background:var(--accent)}.artifact-pane{min-width:0;max-width:100%;display:flex;flex-direction:column;animation:pane-slide-in var(--motion-slow) var(--ease-out)}.artifact-pane.out{animation:pane-slide-out var(--motion-fast) var(--ease-out) forwards;pointer-events:none}.screen.artifact-split .chat-row{overflow:hidden}@keyframes pane-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes pane-slide-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(24px)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.artifact-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--scrim-soft);animation:scrim-in var(--motion-slow) var(--ease-out)}.artifact-backdrop.out{animation:scrim-out var(--motion-fast) var(--ease-out) forwards;pointer-events:none}.artifact-overlay{position:absolute;top:0;right:0;bottom:0;width:min(92vw,780px);background:var(--bg);display:flex;flex-direction:column;box-shadow:var(--shadow-overlay);animation:pane-slide-in var(--motion-slow) var(--ease-out)}.artifact-overlay.out{animation:pane-slide-out var(--motion-fast) var(--ease-out) forwards;pointer-events:none}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:color-mix(in srgb,var(--bg) 55%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 0}.palette{width:100%;max-width:560px;max-height:60vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);overflow:hidden}.palette-input{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:12px 14px;font-size:.95rem;color:var(--fg);outline:none}.palette-input::placeholder{color:var(--muted)}.palette-list{overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--fg);font-size:.9rem;border-radius:var(--radius-sm);cursor:pointer}.palette-item.active{background:var(--bg2)}.palette-item.has-sub{align-items:flex-start}.palette-item.has-sub .palette-ico{margin-top:2px}.palette-ico{color:var(--muted);display:inline-flex;flex-shrink:0}.palette-item.active .palette-ico{color:var(--fg)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;gap:1px;text-align:left}.palette-label-main{overflow:hidden;text-overflow:ellipsis}.palette-sub{overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:400;color:var(--muted)}.palette-kind{flex-shrink:0;font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.palette-empty{padding:14px;font-size:.85rem;color:var(--muted)}.mission{display:flex;flex-direction:column;height:100%;max-width:none;padding:0}.mission-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:0}.mission-cards{border-right:1px solid var(--border);overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.mission-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;font:inherit;color:var(--text);transition:border-color var(--motion-fast) var(--ease-out)}.mission-card:hover{border-color:var(--border-strong)}.mission-card.sel{border-color:var(--accent)}.mission-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mission-id{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted)}.mission-st{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border)}.mission-st.st-running{color:var(--status-work);border-color:var(--status-work)}.mission-st.st-merged{color:var(--status-ok);border-color:var(--status-ok)}.mission-st.st-failed{color:var(--status-err);border-color:var(--status-err)}.mission-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:6px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mission-bar{height:3px;border-radius:2px;background:var(--border);overflow:hidden}.mission-bar i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width var(--motion-slow) var(--ease-out)}.mission-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;font-size:.7rem;color:var(--muted)}.mission-bad{color:var(--status-err)}.mission-detail{overflow-y:auto;padding:var(--space-3) var(--space-4);min-width:0}.mission-tbar{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.mission-tbar strong{font-family:var(--font-mono);font-size:.8rem}.mission-filters{display:flex;gap:4px;flex:1;flex-wrap:wrap}.mission-filters button{background:none;border:1px solid var(--border);color:var(--muted);font-size:.7rem;padding:3px 10px;border-radius:var(--radius-pill);cursor:pointer}.mission-filters button.on{border-color:var(--accent);color:var(--accent)}.mission-takeover{background:var(--surface);border:1px solid var(--border);color:var(--fg);font-size:.72rem;font-weight:600;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.mission-takeover:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mission-takeover:disabled{opacity:.5;cursor:default}.mission-taken{margin:var(--space-2) 0 0;font-size:.75rem;color:var(--status-ok)}.mission-timeline{padding-top:var(--space-2)}.mission-ev{display:flex;align-items:flex-start;gap:10px;padding:4px 0}.mission-ev-ts{flex-shrink:0;font-family:var(--font-mono);font-size:.66rem;color:var(--muted);padding-top:3px;width:58px;text-align:right}.mission-ev-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--muted)}.ev-phase .mission-ev-dot{background:var(--status-work)}.ev-decision .mission-ev-dot{background:var(--accent)}.ev-review .mission-ev-dot{background:var(--status-wait)}.ev-gate .mission-ev-dot{background:var(--status-err)}.ev-deploy .mission-ev-dot{background:var(--status-ok)}.ev-result .mission-ev-dot{background:var(--fg)}.ev-scribe .mission-ev-dot{background:var(--status-done)}.mission-ev-body{min-width:0;font-size:.78rem;line-height:1.45}.ev-gate .mission-ev-text{color:var(--status-err)}.ev-result .mission-ev-text{font-weight:var(--font-weight-medium)}.mission-ev-tail{margin:4px 0 0;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.66rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.mission-shots{margin-top:var(--space-4)}.mission-shots-label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--space-2)}.mission-shots-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2)}.mission-shot{height:68px;width:auto;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:zoom-in;flex-shrink:0}.mission-shot-open{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;place-items:center;z-index:60;cursor:zoom-out}.mission-shot-open img{max-width:92vw;max-height:88vh;border-radius:var(--radius-md)}.mission-error{color:var(--status-err);font-size:.75rem;padding:0 var(--space-4)}@media(max-width:1023px){.mission-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}.mission-cards{border-right:none;border-bottom:1px solid var(--border);max-height:40%}}.sess-content-hits{display:flex;flex-direction:column;gap:6px;margin-top:14px}.sess-content-hits-head{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 2px 2px}.sess-content-hit{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 11px;cursor:pointer;color:var(--text)}.sess-content-hit:hover{background:var(--bg2)}.sess-content-hit-title{font-size:var(--font-size-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sess-content-hit-snippet{font-size:.74rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.msg-foot{display:flex;align-items:center;gap:8px;margin-top:3px;justify-content:flex-end}.msg.user .msg-foot{justify-content:flex-start;flex-direction:row-reverse}.msg-time{font-size:.62rem;color:var(--muted);opacity:.75;font-variant-numeric:tabular-nums}.msg-copy{font-size:.6rem;padding:1px 6px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--muted);opacity:.55;cursor:pointer;line-height:1.6}.msg-copy:hover,.msg-copy:focus-visible{opacity:1}.agent-stalled{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.tool-lines{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px}.tool-line{display:flex;gap:6px;align-items:baseline;font-size:.7rem;line-height:1.45;color:var(--muted);border-left:2px solid var(--border);padding-left:7px}.tool-line[data-status=running]{border-left-color:var(--status-work, var(--accent))}.tool-line[data-status=error]{border-left-color:var(--danger)}.tool-line-name{flex-shrink:0;font-weight:600;font-family:var(--font-mono)}.tool-line-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.tool-line[data-status=waiting]{border-left-color:var(--status-wait, var(--danger))}.tool-line-wait{flex-shrink:0;font-style:italic}.thinking.silent{margin:2px 0 6px}.thinking-head-static{font-size:.72rem;color:var(--muted);font-style:italic}.tool-line[data-status=abandoned]{border-left-color:var(--border);opacity:.7}.tool-line-wrap{display:flex;flex-direction:column}.tool-line-btn{width:100%;text-align:left;background:none;cursor:pointer;font:inherit;color:inherit;border-top:0;border-right:0;border-bottom:0}.tool-line-caret{flex-shrink:0;opacity:.6;font-family:var(--font-mono)}.tool-detail{margin:2px 0 6px 9px;border-left:2px solid var(--border);padding-left:7px}.tool-detail-label{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 2px}.tool-pre,.tool-diff{margin:0;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.68rem;line-height:1.5;font-family:var(--font-mono);overflow-x:auto;max-height:60vh;overflow-y:auto;white-space:pre}.diff-line{white-space:pre-wrap;overflow-wrap:anywhere;text-indent:-1.6ch;padding-left:1.6ch}.diff-line[data-kind=add]{color:var(--status-done, #1a7f37)}.diff-line[data-kind=del]{color:var(--danger)}.diff-line[data-kind=hunk],.diff-line[data-kind=meta]{color:var(--muted)}.diff-toggle{font-size:.6rem;padding:1px 7px;margin-bottom:4px;border-radius:5px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.diff-scroll{padding:0;white-space:normal;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.diff-split{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;width:auto}.diff-row{display:contents}.diff-num{text-align:right;padding:0 5px;color:var(--muted);opacity:.55;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;align-self:start}.diff-num-r{border-left:2px solid var(--border-strong)}.diff-side{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 6px 0 2px;text-indent:-1.6ch;padding-left:1.8ch}.diff-row[data-kind=changed] .diff-l,.diff-row[data-kind=removed] .diff-l{background:var(--diff-del-bg);color:var(--diff-del-fg)}.diff-row[data-kind=changed] .diff-r,.diff-row[data-kind=added] .diff-r{background:var(--diff-add-bg);color:var(--diff-add-fg)}.diff-row[data-kind=removed] .diff-r,.diff-row[data-kind=added] .diff-l{background:var(--diff-void-bg)}.diff-hunk{grid-column:1 / -1;color:var(--muted);padding:5px 6px 3px;border-top:1px solid var(--border);margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}.rival-tui{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.72rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 8px;margin-bottom:6px}.md-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;margin:6px 0}.md-table{border-collapse:collapse;font-size:.76rem;line-height:1.45;min-width:max-content}.md-table th,.md-table td{border:1px solid var(--border);padding:4px 8px;vertical-align:top}.md-table th{background:var(--surface);font-weight:600;white-space:nowrap}.todo-btn{display:inline-flex;align-items:center;gap:3px}.todo-count{font-size:.66rem;font-variant-numeric:tabular-nums}.todo-pane{position:fixed;top:calc(env(safe-area-inset-top,0px) + 52px);right:calc(env(safe-area-inset-right,0px) + 8px);z-index:60;width:min(320px,calc(100vw - 24px));max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-overlay);padding:8px 10px}.todo-pane-head{display:flex;align-items:center;gap:8px;font-size:.8rem;margin-bottom:6px}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.todo-item{display:flex;gap:7px;align-items:baseline;font-size:.76rem;line-height:1.4}.todo-mark{flex-shrink:0;width:1em;font-family:var(--font-mono)}.todo-item[data-status=completed]{color:var(--accent)}.todo-item[data-status=in_progress]{font-weight:600;color:var(--status-work)}.todo-item[data-status=cancelled]{color:var(--muted);opacity:.6}.todo-item[data-status=cancelled] .todo-text{text-decoration:line-through}.q-body{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}.q-body.open{display:block;max-height:40vh;overflow-y:auto;overscroll-behavior:contain;-webkit-line-clamp:none;line-clamp:none;padding-right:4px}.q-more{margin:0 0 8px;font-size:.68rem}.q-answers{max-height:45vh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:4px 0 6px}.q-option{margin-bottom:10px}.q-option:last-child{margin-bottom:0}.q-desc{margin:2px 0 0 22px;font-size:.76rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.q-past-head{font-weight:600;font-size:.8rem;margin-bottom:3px}.q-past .q-body{font-size:.78rem;margin-bottom:6px}.q-past .q-option{display:flex;gap:7px;align-items:baseline;color:var(--muted)}.q-past .q-option[data-chosen]{color:var(--text);font-weight:600}.q-past .q-option[data-chosen] .q-desc{font-weight:400}.q-past-mark{flex-shrink:0;font-size:.7rem}.q-past .q-desc{margin-left:0}.sso-code{font-family:var(--font-mono);font-size:1.5rem;letter-spacing:.14em;font-weight:600;text-align:center;padding:10px 6px;border:1px dashed var(--border);border-radius:8px;-webkit-user-select:all;user-select:all}.sso-open{display:inline-block;margin-top:8px;text-decoration:none}.sso-url{margin:8px 0 0;font-family:var(--font-mono);font-size:.7rem;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--muted)}.sso-inline-code{font-family:var(--font-mono);letter-spacing:.1em;-webkit-user-select:all;user-select:all}.rival-tui[data-warn]{border-color:var(--warn);color:var(--text)}.turn-error{margin-top:4px;padding:6px 8px;border:1px solid var(--danger);border-radius:6px;background:color-mix(in srgb,var(--danger) 10%,transparent);font-size:.8rem}.turn-error.aborted{border:none;background:none;padding:2px 0;color:var(--muted);font-size:.72rem;font-style:italic}.turn-error-head{display:flex;gap:6px;align-items:baseline;color:var(--danger)}.turn-error-title{flex:1;overflow-wrap:anywhere}.turn-error-act,.turn-error-more{margin-top:6px;margin-right:6px;padding:3px 10px;font-size:.75rem;border-radius:5px}.turn-error-act{border:1px solid var(--danger);color:var(--danger)}.turn-error-detail{margin-top:6px;max-height:40vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.72rem;color:var(--muted)}.composer-menu-search{position:sticky;top:0;z-index:1;flex-shrink:0;box-shadow:0 -6px 0 var(--surface);width:100%;box-sizing:border-box;margin-bottom:4px;padding:7px 10px;font-size:.85rem;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text)}.composer-menu-search:focus{outline:none;border-color:var(--accent)}.composer-menu-empty{flex-shrink:0;padding:10px;text-align:center;color:var(--muted);font-size:.8rem}.line{height:2px;flex-shrink:0;background:var(--border-strong)}.line[data-state=reconnecting]{background:none;background-image:repeating-linear-gradient(90deg,var(--signal-move) 0 9px,transparent 9px 16px);animation:line-run .9s linear infinite}.line[data-state=down]{background:var(--danger)}@keyframes line-run{to{background-position:16px 0}}@media(prefers-reduced-motion:reduce){.line[data-state=reconnecting]{animation:none}}.moving{flex-shrink:0;display:flex;align-items:center;gap:9px;padding:8px 14px 8px 12px;background:var(--bg);border-top:var(--rail) solid var(--border)}.moving[data-mode=build]{--mode: var(--mode-build)}.moving[data-mode=plan]{--mode: var(--mode-plan)}.moving-label{font-family:var(--font-mono);font-size:11.5px;color:var(--text);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moving .spacer{flex:1;min-width:0}.moving-stop{font:inherit;font-family:var(--font-mono);font-size:12px;background:none;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);padding:7px 14px;cursor:pointer;flex-shrink:0;min-height:36px}.wave{display:flex;align-items:center;gap:4px;flex-shrink:0;height:22px}.wave i{display:block;width:3px;height:20px;border-radius:1.5px;background:var(--mode);transform:scaleY(.26);transform-origin:center;animation-name:var(--wave-name);animation-timing-function:linear;animation-iteration-count:infinite}@keyframes wv-0{0%{transform:scaleY(1)}29.17%{transform:scaleY(.995)}30.56%{transform:scaleY(.95)}31.94%{transform:scaleY(.863)}37.5%{transform:scaleY(.368)}38.89%{transform:scaleY(.292)}40.28%{transform:scaleY(.261)}88.89%{transform:scaleY(.268)}90.28%{transform:scaleY(.32)}91.67%{transform:scaleY(.413)}97.22%{transform:scaleY(.905)}98.61%{transform:scaleY(.975)}to{transform:scaleY(1)}}@keyframes wv-1{0%{transform:scaleY(.63)}27.78%{transform:scaleY(.63)}29.17%{transform:scaleY(.688)}30.56%{transform:scaleY(.815)}31.94%{transform:scaleY(.918)}33.33%{transform:scaleY(.982)}34.72%{transform:scaleY(.999)}36.11%{transform:scaleY(.968)}37.5%{transform:scaleY(.892)}43.06%{transform:scaleY(.397)}44.44%{transform:scaleY(.31)}45.83%{transform:scaleY(.265)}83.33%{transform:scaleY(.278)}84.72%{transform:scaleY(.342)}86.11%{transform:scaleY(.445)}90.28%{transform:scaleY(.832)}91.67%{transform:scaleY(.929)}93.06%{transform:scaleY(.987)}94.44%{transform:scaleY(.998)}95.83%{transform:scaleY(.96)}97.22%{transform:scaleY(.878)}to{transform:scaleY(.63)}}@keyframes wv-2{0%{transform:scaleY(.26)}29.17%{transform:scaleY(.265)}30.56%{transform:scaleY(.31)}31.94%{transform:scaleY(.397)}37.5%{transform:scaleY(.892)}38.89%{transform:scaleY(.968)}40.28%{transform:scaleY(.999)}41.67%{transform:scaleY(.982)}43.06%{transform:scaleY(.918)}44.44%{transform:scaleY(.815)}48.61%{transform:scaleY(.428)}50%{transform:scaleY(.331)}51.39%{transform:scaleY(.273)}76.39%{transform:scaleY(.261)}77.78%{transform:scaleY(.292)}79.17%{transform:scaleY(.368)}84.72%{transform:scaleY(.863)}86.11%{transform:scaleY(.95)}87.5%{transform:scaleY(.995)}88.89%{transform:scaleY(.992)}90.28%{transform:scaleY(.94)}91.67%{transform:scaleY(.847)}97.22%{transform:scaleY(.355)}98.61%{transform:scaleY(.285)}to{transform:scaleY(.26)}}@keyframes wv-3{0%{transform:scaleY(.26)}34.72%{transform:scaleY(.261)}36.11%{transform:scaleY(.292)}37.5%{transform:scaleY(.368)}43.06%{transform:scaleY(.863)}44.44%{transform:scaleY(.95)}45.83%{transform:scaleY(.995)}47.22%{transform:scaleY(.992)}48.61%{transform:scaleY(.94)}50%{transform:scaleY(.847)}55.56%{transform:scaleY(.355)}56.94%{transform:scaleY(.285)}58.33%{transform:scaleY(.26)}70.83%{transform:scaleY(.265)}72.22%{transform:scaleY(.31)}73.61%{transform:scaleY(.397)}79.17%{transform:scaleY(.892)}80.56%{transform:scaleY(.968)}81.94%{transform:scaleY(.999)}83.33%{transform:scaleY(.982)}84.72%{transform:scaleY(.918)}86.11%{transform:scaleY(.815)}90.28%{transform:scaleY(.428)}91.67%{transform:scaleY(.331)}93.06%{transform:scaleY(.273)}to{transform:scaleY(.26)}}@keyframes wv-4{0%{transform:scaleY(.26)}41.67%{transform:scaleY(.278)}43.06%{transform:scaleY(.342)}44.44%{transform:scaleY(.445)}48.61%{transform:scaleY(.832)}50%{transform:scaleY(.929)}51.39%{transform:scaleY(.987)}52.78%{transform:scaleY(.998)}54.17%{transform:scaleY(.96)}55.56%{transform:scaleY(.878)}61.11%{transform:scaleY(.382)}62.5%{transform:scaleY(.3)}63.89%{transform:scaleY(.262)}65.28%{transform:scaleY(.273)}66.67%{transform:scaleY(.331)}68.06%{transform:scaleY(.428)}72.22%{transform:scaleY(.815)}73.61%{transform:scaleY(.918)}75%{transform:scaleY(.982)}76.39%{transform:scaleY(.999)}77.78%{transform:scaleY(.968)}79.17%{transform:scaleY(.892)}84.72%{transform:scaleY(.397)}86.11%{transform:scaleY(.31)}87.5%{transform:scaleY(.265)}to{transform:scaleY(.26)}}@keyframes wv-5{0%{transform:scaleY(.26)}47.22%{transform:scaleY(.268)}48.61%{transform:scaleY(.32)}50%{transform:scaleY(.413)}55.56%{transform:scaleY(.905)}56.94%{transform:scaleY(.975)}58.33%{transform:scaleY(1)}59.72%{transform:scaleY(.975)}61.11%{transform:scaleY(.905)}63.89%{transform:scaleY(.669)}65.28%{transform:scaleY(.726)}66.67%{transform:scaleY(.847)}68.06%{transform:scaleY(.94)}69.44%{transform:scaleY(.992)}70.83%{transform:scaleY(.995)}72.22%{transform:scaleY(.95)}73.61%{transform:scaleY(.863)}79.17%{transform:scaleY(.368)}80.56%{transform:scaleY(.292)}81.94%{transform:scaleY(.261)}to{transform:scaleY(.26)}}@keyframes wv-6{0%{transform:scaleY(.26)}52.78%{transform:scaleY(.262)}54.17%{transform:scaleY(.3)}55.56%{transform:scaleY(.382)}61.11%{transform:scaleY(.878)}62.5%{transform:scaleY(.96)}63.89%{transform:scaleY(.998)}65.28%{transform:scaleY(.987)}66.67%{transform:scaleY(.929)}68.06%{transform:scaleY(.832)}72.22%{transform:scaleY(.445)}73.61%{transform:scaleY(.342)}75%{transform:scaleY(.278)}to{transform:scaleY(.26)}}.wave i{animation-duration:2.4s}.wave i:nth-child(1){--wave-name:wv-0}.wave i:nth-child(2){--wave-name:wv-1}.wave i:nth-child(3){--wave-name:wv-2}.wave i:nth-child(4){--wave-name:wv-3}.wave i:nth-child(5){--wave-name:wv-4}.wave i:nth-child(6){--wave-name:wv-5}.wave i:nth-child(7){--wave-name:wv-6}@media(prefers-reduced-motion:reduce){.wave i{animation:none!important;transform:scaleY(.55)!important;opacity:.75}.wave i:nth-child(4){transform:scaleY(1)!important;opacity:1}.wave i:nth-child(3),.wave i:nth-child(5){transform:scaleY(.8)!important;opacity:.9}}.row{display:flex;gap:11px;align-items:flex-start;padding:13px 14px 13px 11px;width:100%;box-sizing:border-box;text-align:left;background:none;border:0;border-bottom:var(--rail) solid var(--border);cursor:pointer;color:inherit;font:inherit;min-height:68px}.row:hover{background:var(--bg2)}.row-clamp{flex-shrink:0;width:var(--clamp);height:var(--clamp);margin-top:4px;background:var(--bg);border:var(--rail) solid var(--border-strong)}.row-clamp[data-s=work]{background:var(--signal-move);border-color:var(--signal-move)}.row-clamp[data-s=wait]{border:2px solid var(--danger)}.row-clamp[data-s=err]{background:var(--danger);border-color:var(--danger)}.row-main{flex:1;min-width:0}.row-t{display:flex;gap:8px;align-items:baseline}.row-title{flex:1;min-width:0;font-size:14.5px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-when{flex-shrink:0;font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.row-sub{display:block;margin-top:3px;font-family:var(--font-mono);font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub em{font-style:normal;color:var(--signal-move)}.row-sub s{text-decoration:none;color:var(--danger)}.row-actions{display:flex;gap:4px;flex-shrink:0;align-self:center}.row-actions button{padding:4px 8px}.tool-groups{display:flex;flex-direction:column;gap:2px;margin:4px 0}.tool-group{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px 7px 6px;background:none;border:0;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--muted);font-size:.78rem}.tool-group:hover{background:var(--bg2)}.tool-group-clamp{flex-shrink:0;width:var(--clamp);height:var(--clamp);background:var(--bg);border:var(--rail) solid var(--border-strong)}.tool-group[data-s=work] .tool-group-clamp{background:var(--signal-move);border-color:var(--signal-move)}.tool-group[data-s=wait] .tool-group-clamp{border:2px solid var(--danger)}.tool-group[data-s=err] .tool-group-clamp{background:var(--danger);border-color:var(--danger)}.tool-group-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.tool-group-wait{flex-shrink:0;color:var(--danger);font-size:.7rem}.tool-group-caret{flex-shrink:0;opacity:.5}.tool-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#00000073}.tool-sheet{display:flex;flex-direction:column;width:min(560px,100%);max-height:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-overlay)}.tool-sheet-head{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600}.tool-sheet-close{background:none;border:0;padding:2px 6px;font-size:1rem;color:var(--muted);cursor:pointer}.tool-sheet-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 10px 12px}.sheet-call+.sheet-call{border-top:1px solid var(--border)}.sheet-call-head{display:flex;align-items:center;gap:9px;width:100%;padding:11px 4px;background:none;border:0;text-align:left;color:inherit;font:inherit;font-size:.82rem;cursor:pointer}.sheet-call-head:disabled{cursor:default}.sheet-call-state{flex-shrink:0;width:var(--clamp);height:var(--clamp);background:var(--bg);border:var(--rail) solid var(--border-strong)}.sheet-call-state[data-s=running],.sheet-call-state[data-s=pending]{background:var(--signal-move);border-color:var(--signal-move)}.sheet-call-state[data-s=error]{background:var(--danger);border-color:var(--danger)}.sheet-call-label{flex:1;min-width:0;overflow-wrap:anywhere}.sheet-call-caret{flex-shrink:0;font-family:var(--font-mono);color:var(--muted)}.app-update{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text)}.msg.tools-only{padding-top:2px;padding-bottom:2px}.msg.tools-only .tool-groups{margin:0}.msg.tools-only .msg-foot{margin-top:0}
