:root{color-scheme:dark;--bg: #12100e;--bg-panel: #181613;--bg-elevated: #211e1a;--bg-hover: #2a2621;--bg-input: #1c1916;--border: #2d2924;--border-strong: #3e3830;--text: #d8d0c3;--text-dim: #9b9183;--text-strong: #f2ebdf;--accent: #f0a830;--accent-tint: rgba(240, 168, 48, .13);--primary: #f0a830;--primary-hover: #f6bb55;--primary-text: #1b1407;--primary-tint: rgba(240, 168, 48, .16);--status-idle: #9b9183;--status-working: #6cb8d6;--status-blocked: #ff7b70;--status-done: #93c36b;--status-working-tint: rgba(108, 184, 214, .14);--status-blocked-tint: rgba(255, 123, 112, .14);--status-done-tint: rgba(147, 195, 107, .14);--danger-tint: rgba(255, 123, 112, .12);--danger-text: #ffd9d4;--scrim: rgba(8, 6, 4, .55);--shadow-drawer: 0 0 40px rgba(0, 0, 0, .6);--shadow-pop: 0 16px 48px rgba(0, 0, 0, .55), 0 0 0 1px var(--border);--shadow-card: 0 4px 16px rgba(0, 0, 0, .35);--term-bg: #181613;--term-fg: #d8d0c3;--term-cursor: #f0a830;--term-selection: #4a3d26;--font-ui: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", "Malgun Gothic", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "D2Coding", monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-input: 16px;--lh-tight: 1.2;--lh-base: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--tracking-tight: -.01em;--tracking-caps: .06em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--header-h: 52px;--sidebar-w: 320px;--control-h: 34px;--touch-target: 40px;--keybar-h: 48px;--row-h: 56px;--chip-h: 20px;--icon-size: 18px;--mark-size: 22px;--avatar-size: 32px;--dot-size: 7px;--rail-w: 3px;--hairline: 1px;--content-w: 820px;--palette-w: 640px;--palette-top: 12vh;--ring: 2px solid var(--accent);--ring-offset: 2px;--dur-fast: .12s;--dur-base: .18s;--dur-pulse: 1.6s;--ease-out: cubic-bezier(.2, 0, 0, 1);--z-banner: 5;--z-popover: 10;--z-scrim: 15;--z-drawer: 20;--z-modal: 30}[data-theme=light]{color-scheme:light;--bg: #eeeae2;--bg-panel: #faf8f3;--bg-elevated: #f2eee6;--bg-hover: #e8e2d6;--bg-input: #fffdf9;--border: #dcd4c6;--border-strong: #c5baa8;--text: #2a251f;--text-dim: #685e52;--text-strong: #16120d;--accent: #8c5000;--accent-tint: rgba(140, 80, 0, .1);--primary: #c57d12;--primary-hover: #d48c1f;--primary-text: #1b1407;--primary-tint: rgba(197, 125, 18, .14);--status-idle: #685e52;--status-working: #155a72;--status-blocked: #a82323;--status-done: #2f6317;--status-working-tint: rgba(21, 90, 114, .12);--status-blocked-tint: rgba(168, 35, 35, .12);--status-done-tint: rgba(47, 99, 23, .12);--danger-tint: rgba(168, 35, 35, .1);--danger-text: #8f1d1d;--scrim: rgba(40, 32, 22, .35);--shadow-drawer: 0 0 40px rgba(40, 32, 22, .22);--shadow-pop: 0 16px 48px rgba(40, 32, 22, .16), 0 0 0 1px var(--border);--shadow-card: 0 4px 16px rgba(40, 32, 22, .07);--term-bg: #faf8f3;--term-fg: #2a251f;--term-cursor: #8c5000;--term-selection: #f0d9ae}[data-density=compact]{--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 17px;--lh-base: 1.45;--header-h: 46px;--sidebar-w: 300px;--control-h: 32px;--row-h: 44px;--chip-h: 18px;--avatar-size: 26px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}:focus-visible{outline:var(--ring);outline-offset:var(--ring-offset)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{display:flex;flex-direction:column;height:100%;height:var(--app-height, 100dvh)}.app-header{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) calc(var(--space-3) + env(safe-area-inset-right,0px)) 0 calc(var(--space-3) + env(safe-area-inset-left,0px));background:var(--bg-panel);border-bottom:var(--hairline) solid var(--border)}.app-body{display:flex;flex:1 1 auto;min-height:0}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);min-height:0;background:var(--bg-panel);border-right:var(--hairline) solid var(--border);padding-left:env(safe-area-inset-left,0px)}.app.sidebar-collapsed .sidebar,.scrim{display:none}.terminal-host{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:var(--bg-panel);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.terminal-host:has(.composer){padding-bottom:0}.brand{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--text-strong);white-space:nowrap}.brand-mark{display:block;width:var(--mark-size);height:var(--mark-size)}.brand-sub{color:var(--text-dim);font-weight:var(--fw-medium)}.context{display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;min-width:0;line-height:var(--lh-tight)}.context-title{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight)}.context-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-sub{display:flex;align-items:center;gap:var(--space-1);min-width:0;margin-top:2px;font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.context-sub>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.context-sep{flex:0 0 auto}.header-meta{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;margin-left:auto;font-size:var(--fs-xs)}.conn{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--chip-h);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-dim)}.conn-dot{width:var(--dot-size);height:var(--dot-size);border-radius:var(--radius-pill);background:var(--status-done)}.conn-reconnecting{color:var(--status-working)}.conn-reconnecting .conn-dot{background:var(--status-working);animation:pulse var(--dur-pulse) var(--ease-out) infinite}.bell-button.is-on{color:var(--accent);border-color:var(--accent)}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--control-h);height:var(--control-h);padding:0;background:transparent;border:var(--hairline) solid transparent;border-radius:var(--radius-md);color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.icon-button.is-outlined{border-color:var(--border)}.icon-button:disabled{opacity:.7;cursor:default}.icon-button svg{width:var(--icon-size);height:var(--icon-size)}.icon-button:hover:not(:disabled){background:var(--bg-hover)}.icon-button:active,.icon-button[aria-expanded=true]{background:var(--bg-elevated);border-color:var(--accent);color:var(--text-strong)}.drawer-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-3);background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn svg{width:16px;height:16px}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger-tint);border-color:var(--status-blocked);color:var(--danger-text)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:transparent}@media(pointer:coarse){.icon-button{width:var(--touch-target);height:var(--touch-target)}.btn,.error-retry{height:var(--touch-target)}}.pill{display:inline-flex;align-items:center;height:var(--chip-h);padding:0 var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-dim);white-space:nowrap}.pill-offline{color:var(--status-blocked);border-color:var(--status-blocked);background:var(--danger-tint)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--chip-h);padding:0 var(--space-2);border:var(--hairline) solid transparent;border-radius:var(--radius-sm);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;white-space:nowrap}.badge-idle{color:var(--text-dim);background:var(--bg-elevated)}.badge-working{color:var(--status-working);background:var(--status-working-tint)}.badge-working:before{content:"";width:5px;height:5px;border-radius:var(--radius-pill);background:currentColor;animation:pulse var(--dur-pulse) var(--ease-out) infinite}.badge-blocked{color:var(--status-blocked);background:var(--status-blocked-tint)}.badge-done{color:var(--status-done);background:var(--status-done-tint)}.badge-unknown{color:var(--text-dim);border-color:var(--border);border-style:dashed}.segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.segmented>button{display:inline-flex;align-items:center;gap:var(--space-1);height:calc(var(--control-h) - 6px);padding:0 var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.segmented>button svg{width:15px;height:15px}.segmented>button[aria-pressed=true]{background:var(--bg-hover);color:var(--text-strong)}.segmented>button[aria-pressed=true] svg{color:var(--accent)}.kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border:var(--hairline) solid var(--border-strong);border-bottom-width:2px;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--scrim)}.modal{display:flex;flex-direction:column;width:min(100%,560px);max-height:min(100%,720px);background:var(--bg-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);overflow:hidden}.modal-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:var(--hairline) solid var(--border)}.modal-title{flex:1 1 auto;margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:var(--hairline) solid var(--border)}@media(max-width:640px){.modal-scrim{align-items:flex-end;padding:0}.modal{width:100%;max-height:92%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-dim);letter-spacing:var(--tracking-caps);text-transform:uppercase}.field-hint{font-size:var(--fs-xs);color:var(--text-dim)}.input,.select{height:var(--control-h);padding:0 var(--space-3);background:var(--bg-input);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);color:var(--text-strong);font:inherit;font-size:var(--fs-input)}.input:focus,.select:focus,.input:focus-visible,.select:focus-visible{border-color:var(--accent);outline:none}@media(min-width:641px){.input,.select{font-size:var(--fs-sm)}}.menu{display:flex;flex-direction:column;padding:var(--space-1);background:var(--bg-panel);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden}.menu-item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:var(--space-1) var(--space-2);background:transparent;border:0;border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.menu-item svg{width:16px;height:16px;flex:0 0 auto;color:var(--text-dim)}.menu-item[aria-selected=true],.menu-item:hover{background:var(--bg-hover);color:var(--text-strong)}.menu-item-main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-hint{flex:0 0 auto;font-size:var(--fs-xs);color:var(--text-dim)}.menu-heading{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-dim)}.error-state{margin:var(--space-2);padding:var(--space-3);border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-md);background:var(--danger-tint)}.error-message{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--danger-text);overflow-wrap:anywhere}.error-retry{height:var(--control-h);padding:0 var(--space-3);background:transparent;border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-sm);color:var(--danger-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.error-retry:hover{background:var(--danger-tint)}@media(max-width:768px){.drawer-toggle{display:inline-flex}.app.sidebar-collapsed .sidebar{display:flex}.sidebar{position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top,0px));bottom:0;left:0;z-index:var(--z-drawer);width:min(88vw,var(--sidebar-w));transform:translate(-100%);visibility:hidden;box-shadow:var(--shadow-drawer);transition:transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base)}.sidebar.is-open{transform:translate(0);visibility:visible;transition-delay:0s}.scrim{display:block;position:fixed;inset:calc(var(--header-h) + env(safe-area-inset-top,0px)) 0 0 0;z-index:var(--z-scrim);background:var(--scrim)}.context-title{font-size:var(--fs-md)}}@media(pointer:coarse),(max-width:768px){.terminal-host:has(.key-bar){padding-bottom:0}}@media(max-width:480px){.conn{padding:0 var(--space-1);background:transparent}.pill-version,.pill-offline,.brand-name,.conn-text,.header-desktop-only{display:none}}@media(max-width:480px){.context-sub>span:not(.machine-context-name){display:none}}@media(prefers-reduced-motion:reduce){.sidebar,.icon-button,.btn,.error-retry{transition:none}.badge-working:before,.conn-reconnecting .conn-dot{animation:none}}@media(max-width:480px){.files-button{display:none}}.sidebar-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-panel)}.sidebar-topbar{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-bottom:var(--hairline) solid var(--border)}.sidebar-new-session{width:100%;border-style:dashed}.sidebar-topbar-row{flex-direction:row}.sidebar-topbar-row .sidebar-new-session{flex:1 1 auto;width:auto;min-width:0}.sidebar-add-pc{flex:0 0 auto}.sidebar-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-3)}.tree-state{margin:0;padding:var(--space-2);color:var(--text-dim);font-size:var(--fs-sm)}.tree-state-empty{margin:var(--space-2) 0;padding:var(--space-4);border:var(--hairline) dashed var(--border);border-radius:var(--radius-md);text-align:center}.workspace{display:flex;flex-direction:column;margin-bottom:var(--space-2);border-radius:var(--radius-md);transition:opacity var(--dur-fast) var(--ease-out)}.workspace.is-dragging{opacity:.55}.workspace-header{position:relative;display:flex;align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-1) 0 var(--space-4);border-radius:var(--radius-md)}.workspace-header:hover,.workspace-header:focus-within{background:var(--bg-hover)}.workspace-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:var(--chip-h);height:var(--chip-h);padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-2xs)}.workspace-label{flex:1 1 auto;min-width:0;padding:0;overflow:hidden;background:transparent;border:0;color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text}.workspace-rename-input{flex:1 1 auto;min-width:0;height:calc(var(--control-h) - var(--space-1));padding:0 var(--space-2)}.workspace-header .badge{flex:0 0 auto}.workspace-rename{opacity:0}.workspace-header:hover .workspace-rename,.workspace-header:focus-within .workspace-rename{opacity:1}.sidebar-drag-handle,.sidebar-row-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--control-h);height:var(--control-h);padding:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer}.sidebar-drag-handle{position:absolute;top:50%;left:0;width:var(--space-4);height:var(--control-h);transform:translateY(-50%);opacity:0;cursor:grab;transition:opacity var(--dur-fast) var(--ease-out)}.pane-item:hover .sidebar-drag-handle,.pane-item:focus-within .sidebar-drag-handle,.workspace-header:hover .sidebar-drag-handle,.workspace-header:focus-within .sidebar-drag-handle{opacity:1}.sidebar-drag-handle:active{cursor:grabbing}.sidebar-drag-handle:hover,.sidebar-row-action:hover,.sidebar-row-action:focus-visible{color:var(--text-strong)}.sidebar-row-action:hover,.sidebar-row-action:focus-visible{background:var(--bg-elevated)}.sidebar-drag-handle svg,.sidebar-row-action svg{width:var(--icon-size);height:var(--icon-size)}.pane-list{margin:0;padding:0;list-style:none}.pane-item{position:relative;border-radius:var(--radius-md)}.pane-row{position:relative;display:flex;align-items:center;min-width:0;height:var(--row-h);padding-left:var(--space-4);border-radius:var(--radius-md);transition:background-color var(--dur-fast) var(--ease-out)}.pane-item:hover .pane-row,.pane-item:focus-within .pane-row,.pane-item.is-selected .pane-row{background:var(--bg-hover)}.pane-item.is-selected .pane-row:before{content:"";position:absolute;top:var(--space-3);bottom:var(--space-3);left:calc(-1 * var(--space-3) + 2px);width:var(--rail-w);border-radius:var(--radius-pill);background:var(--accent)}.pane-select{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;align-self:stretch;min-width:0;padding:var(--space-2);background:transparent;border:0;border-radius:var(--radius-md);color:var(--text);text-align:left;cursor:pointer}.agent-mark-holder{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--avatar-size);width:var(--avatar-size);height:var(--avatar-size);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-strong)}.pane-item.is-selected .agent-mark-holder{border-color:var(--accent);background:var(--accent-tint)}.agent-mark-holder.is-shell{background:var(--bg-elevated);color:var(--text-dim)}.agent-mark-holder svg{display:block;width:var(--mark-size);height:var(--mark-size)}.pane-copy{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;min-width:0;gap:var(--space-1)}.pane-primary{display:flex;align-items:center;gap:var(--space-2);min-width:0}.pane-title{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap}.pane-meta{display:flex;align-items:center;gap:var(--space-2);min-width:0}.pane-meta .badge{flex:0 0 auto;height:calc(var(--chip-h) - 2px);padding:0 var(--space-1)}.pane-subtitle{min-width:0;overflow:hidden;color:var(--text-dim);font-size:var(--fs-xs);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap}.pane-rename-input{flex:1 1 auto;min-width:0;height:var(--chip-h);padding:0 var(--space-1);font-size:var(--fs-sm)}.pane-actions{display:flex;align-items:center;flex:0 0 auto;padding-right:var(--space-1);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.pane-item:hover .pane-actions,.pane-item:focus-within .pane-actions,.pane-actions:has(.is-armed){opacity:1}.pane-close.is-armed{width:auto;min-width:var(--control-h);padding:0 var(--space-2);background:var(--danger-tint);color:var(--status-blocked);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.sidebar-inline-error{margin:0;padding:var(--space-1) var(--space-3) var(--space-2);color:var(--status-blocked);font-size:var(--fs-xs);overflow-wrap:anywhere}.sidebar-footer{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom,0px));border-top:var(--hairline) solid var(--border)}.sidebar-footer-action{justify-content:flex-start;width:100%}.sidebar-install-help{margin:0;padding:0 var(--space-2) var(--space-1);color:var(--text-dim);font-size:var(--fs-xs)}.sidebar-brandline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-1) 0}.sidebar-app-name{overflow:hidden;color:var(--text-dim);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}@media(pointer:coarse){.sidebar-row-action{width:var(--touch-target);height:var(--touch-target)}.sidebar-drag-handle,.pane-actions,.workspace-rename{opacity:1}}@media(prefers-reduced-motion:reduce){.workspace,.pane-row,.pane-actions{transition:none}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.terminal-stack{display:flex;flex-direction:column;height:100%}.pane-terminal{flex:1 1 auto;min-height:0;width:100%;overflow:hidden;touch-action:none;overscroll-behavior:contain}.pane-terminal .xterm{padding:var(--space-2) var(--space-2) 0}.terminal-surface{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.pane-terminal.is-idle{visibility:hidden}.pane-terminal .xterm-viewport{scrollbar-width:none}.pane-terminal .xterm-viewport::-webkit-scrollbar{display:none}.terminal-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-banner);display:grid;place-items:center;color:var(--text-dim);font-size:var(--fs-md);pointer-events:none}.terminal-placeholder-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.terminal-placeholder svg{width:var(--space-6);height:var(--space-6)}.terminal-banners{position:absolute;top:var(--space-2);right:var(--space-3);z-index:var(--z-banner);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);max-width:calc(100% - 2 * var(--space-3));pointer-events:none}.terminal-banner{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--chip-h);padding:0 var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);background:var(--bg-elevated);font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.terminal-banner-warning{border-color:var(--status-working);color:var(--status-working)}.terminal-banner-output-error{max-width:100%;white-space:normal;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);pointer-events:auto}.terminal-banner-observe{border-color:var(--accent);color:var(--accent);background:linear-gradient(var(--accent-tint),var(--accent-tint)) var(--bg-elevated)}.terminal-banner-draft{height:auto;min-height:calc(var(--control-h) + 2 * var(--space-1));padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);max-width:100%;pointer-events:auto}.draft-held{max-width:32ch;overflow:hidden;text-overflow:ellipsis}.terminal-banner-draft .draft-label{color:var(--status-working)}.terminal-banner-draft .draft-text{max-width:32ch;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);color:var(--text)}.terminal-banner-draft .draft-dropped{color:var(--text-dim)}.terminal-banner-draft .draft-actions{display:inline-flex;gap:var(--space-1)}.terminal-banner-draft .draft-actions button{height:var(--control-h);padding:0 var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);font-size:var(--fs-xs);font-family:inherit;color:var(--text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.terminal-banner-draft .draft-actions button:hover:not(:disabled){border-color:var(--accent)}.terminal-banner-draft .draft-actions button:active{background:var(--bg-elevated)}.terminal-banner-draft .draft-actions button:disabled{opacity:.7;cursor:default}.terminal-banner-draft .draft-actions button:focus-visible{outline:var(--ring);outline-offset:var(--ring-offset)}@media(max-width:480px){.terminal-banner{white-space:normal}.terminal-banner-observe,.terminal-banner-warning{max-width:min(36ch,100%);text-align:right;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}}@media(prefers-reduced-motion:reduce){.terminal-banner-draft .draft-actions button{transition:none}}@media(pointer:coarse){.pane-terminal .xterm-rows{pointer-events:none}}.terminal-stack.is-chat .pane-terminal{content-visibility:hidden}.key-bar{display:none;flex:none;align-items:center;gap:var(--space-1);height:calc(var(--keybar-h) + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);border-top:var(--hairline) solid var(--border);background:var(--bg-panel);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.key-bar::-webkit-scrollbar{display:none}.key{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:var(--touch-target);height:var(--touch-target);padding:0 var(--space-1);background:transparent;border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.key svg{width:var(--icon-size);height:var(--icon-size)}@media(hover:hover){.key:hover{background:var(--bg-hover)}}.key:active,.key.is-armed{background:var(--bg-elevated);border-color:var(--accent);color:var(--text-strong)}@media(pointer:coarse),(max-width:768px){.key-bar{display:flex}}@media(prefers-reduced-motion:reduce){.key{transition:none}}.chat-view{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow-y:auto;padding:var(--space-4) var(--space-4) var(--space-5);background:var(--bg);--chat-fs-2xs: calc(var(--fs-2xs) * var(--chat-scale, 1));--chat-fs-xs: calc(var(--fs-xs) * var(--chat-scale, 1));--chat-fs-sm: calc(var(--fs-sm) * var(--chat-scale, 1));--chat-fs-md: calc(var(--fs-md) * var(--chat-scale, 1));--chat-fs-lg: calc(var(--fs-lg) * var(--chat-scale, 1));--chat-fs-xl: calc(var(--fs-xl) * var(--chat-scale, 1))}.chat-transcript{--fs-2xs: var(--chat-fs-2xs);--fs-xs: var(--chat-fs-xs);--fs-sm: var(--chat-fs-sm);--fs-md: var(--chat-fs-md);--fs-lg: var(--chat-fs-lg);--fs-xl: var(--chat-fs-xl);width:min(100%,var(--content-w));min-height:100%;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--fs-md)}.chat-turn{width:100%}.chat-terminal-fallback{color:var(--text-dim);font-size:var(--fs-sm)}.chat-terminal-fallback summary{cursor:pointer}.chat-terminal-fallback pre{white-space:pre-wrap;overflow-wrap:anywhere}.chat-turn-user{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);padding-top:var(--space-4);border-top:var(--hairline) solid var(--border)}.chat-turn-user:first-child{padding-top:0;border-top:0}.chat-bubble{max-width:80%;padding:var(--space-3) var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--bg-elevated);color:var(--text-strong);overflow-wrap:anywhere}.chat-turn-meta{min-height:var(--chip-h);display:flex;align-items:center;gap:var(--space-1);color:var(--text-dim);font-size:var(--fs-2xs);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.chat-turn:hover .chat-turn-meta,.chat-turn:focus-within .chat-turn-meta{opacity:1}.chat-copy{width:var(--chip-h);height:var(--chip-h);min-width:var(--chip-h)}.chat-copy svg,.chat-meta-btn svg,.markdown-code-copy svg{width:var(--fs-sm);height:var(--fs-sm)}.chat-turn-agent{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);color:var(--text)}.chat-agent-meta{gap:var(--space-2)}.chat-agent-meta time{margin-left:var(--space-1)}.chat-meta-btn{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--chip-h);padding:0 var(--space-1);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);cursor:pointer}.chat-meta-btn:hover{background:var(--bg-hover);color:var(--text-strong)}.markdown{width:100%;font-size:var(--fs-md);line-height:var(--lh-base);overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown h1,.markdown h2,.markdown h3,.markdown blockquote,.markdown-list{margin:0 0 var(--space-3)}.markdown h1{font-size:var(--fs-xl)}.markdown h2{font-size:var(--fs-lg)}.markdown h3{font-size:var(--fs-md)}.markdown h1,.markdown h2,.markdown h3{color:inherit;font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.markdown-list{padding-left:var(--space-5)}.markdown-list .markdown-list{margin:var(--space-1) 0 0}.markdown blockquote{padding-left:var(--space-3);border-left:var(--rail-w) solid var(--border-strong);color:var(--text-dim)}.markdown :not(pre)>code{padding-inline:var(--space-1);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-strong);font-family:var(--font-mono);font-size:var(--fs-xs)}.chat-bubble .markdown :not(pre)>code{background:var(--bg-hover)}.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:var(--space-1)}.chat-bubble .markdown pre,.chat-bubble .markdown-code{background:var(--bg-panel)}.markdown hr{margin:var(--space-4) 0;border:0;border-top:var(--hairline) solid var(--border)}.markdown-code{width:100%;margin-bottom:var(--space-3);overflow:hidden;border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text)}.markdown-code-header{min-height:var(--control-h);padding-inline:var(--space-3);display:flex;align-items:center;justify-content:space-between;border-bottom:var(--hairline) solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-2xs)}.markdown-code pre{margin:0;padding:var(--space-3);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-base);white-space:pre}.markdown-code-more{width:100%;min-height:var(--control-h);padding:0 var(--space-3);border:0;border-top:var(--hairline) solid var(--border);background:transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-2xs);text-align:left;cursor:pointer}.markdown-code-more:hover{background:var(--bg-hover);color:var(--text)}.markdown-table-wrap{width:100%;margin-bottom:var(--space-3);overflow-x:auto}.markdown table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.markdown th,.markdown td{padding:var(--space-2);border:var(--hairline) solid var(--border);text-align:left}.markdown th{background:var(--bg-elevated);color:var(--text-strong);font-weight:var(--fw-semibold)}.work-block{width:100%;display:flex;flex-direction:column;gap:var(--space-1)}.work-block-head,.work-row-head{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h);padding:0 var(--space-1);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font-size:var(--fs-sm);text-align:left;cursor:pointer}.work-block-head:hover,.work-row-head:hover{background:var(--bg-hover)}.work-row-caret{flex:none;display:inline-flex;width:var(--fs-md);height:var(--fs-md);color:var(--text-dim)}.work-row-caret svg{width:100%;height:100%}.work-block-title{flex:none;color:var(--text);font-weight:var(--fw-medium)}.work-block.is-live .work-block-title{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--status-working)}.work-block.is-live .work-block-title:before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;animation:pulse var(--dur-pulse) var(--ease-out) infinite}.work-block-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-block-rows{display:flex;flex-direction:column;padding-left:var(--space-5)}.work-row{display:flex;flex-direction:column}.work-row-head{min-height:calc(var(--control-h) - var(--space-2));font-family:var(--font-mono);font-size:var(--fs-xs)}.work-row-icon{flex:none;width:var(--fs-sm);height:var(--fs-sm)}.work-row-name{flex:none;color:var(--text);font-weight:var(--fw-medium)}.work-row-sep{flex:none}.work-row-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-row-head[aria-expanded=true] .work-row-summary{white-space:normal;overflow-wrap:anywhere}.work-row-thinking .work-row-name{font-style:italic;color:var(--text-dim)}.work-narration{padding:var(--space-1) var(--space-1) var(--space-2);color:var(--text-dim)}.work-narration .markdown{font-size:var(--fs-sm)}.work-row-detail{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-1) 0 var(--space-2) calc(var(--fs-md) + var(--space-2));padding-left:var(--space-3);border-left:var(--hairline) solid var(--border)}.work-thinking-text{color:var(--text-dim);font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere}.chat-tool-io{width:100%;max-height:calc(var(--row-h) * 5);margin:0;padding:var(--space-2) var(--space-3);overflow:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-base);white-space:pre-wrap;overflow-wrap:anywhere}.chat-tool-io pre,.chat-tool-io p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-tool-io>:not(:first-child){margin-top:var(--space-2)}.chat-tool-file{color:var(--text-strong)}.chat-tool-io-meta{color:var(--text-dim);font-size:var(--fs-2xs)}.chat-diff{display:block;white-space:pre;overflow-x:auto}.chat-diff-add{color:var(--status-done)}.chat-diff-del{color:var(--status-blocked)}.chat-diff-head{color:var(--text-dim);font-weight:var(--fw-semibold)}.chat-tool-output{width:100%}.chat-tool-output h4{margin:0 0 var(--space-1);color:var(--text-dim);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.chat-checklist{margin:0;padding:var(--space-2) var(--space-3);list-style:none;font-size:var(--fs-xs)}.chat-checklist-box{display:inline-block;width:var(--space-4);color:var(--text-dim)}.chat-checklist li.is-done{color:var(--text-dim);text-decoration:line-through}.chat-checklist li.is-active .chat-checklist-box{color:var(--status-working)}.chat-checklist-phase{margin-top:var(--space-2);color:var(--text-dim);font-weight:var(--fw-semibold)}.chat-older{align-self:center;min-height:var(--control-h);color:var(--text-dim);font-size:var(--fs-xs)}.chat-inline-state,.chat-endcap{align-self:center;margin:0;color:var(--text-dim);font-size:var(--fs-xs)}.chat-inline-error{color:var(--status-blocked)}.chat-endcap{width:100%;display:flex;align-items:center;gap:var(--space-2)}.chat-endcap:before,.chat-endcap:after{content:"";flex:1 1 auto;border-top:var(--hairline) solid var(--border)}.chat-empty{flex:1 1 auto;min-height:calc(var(--row-h) * 4);display:grid;place-content:center;justify-items:center;gap:var(--space-3);color:var(--text-dim);text-align:center}.chat-empty p{margin:0;font-size:var(--fs-sm)}.chat-new-messages{position:sticky;z-index:var(--z-popover);bottom:var(--space-2);left:50%;min-height:var(--control-h);transform:translate(-50%);box-shadow:var(--shadow-pop)}.chat-new-messages svg{width:var(--icon-size);height:var(--icon-size)}.terminal-stack.is-chat{background:var(--bg)}.terminal-stack.is-chat .composer{background:transparent}@media(pointer:coarse){.work-block-head,.work-row-head,.chat-copy,.markdown-code-copy,.markdown-code-more{min-height:var(--touch-target)}.chat-copy,.markdown-code-copy{width:var(--touch-target)}.chat-turn-meta{opacity:1}}@media(max-width:480px){.chat-view{padding-inline:var(--space-3)}.chat-bubble{max-width:92%}}@media(prefers-reduced-motion:reduce){.chat-turn-meta{transition:none}.work-block.is-live .work-block-title:before{animation:none}}.todo-panel{position:sticky;z-index:var(--z-popover);bottom:0;margin-top:var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-pop)}.todo-panel-head{width:100%;min-height:var(--control-h);padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--chat-fs-sm);text-align:left;cursor:pointer}.todo-panel-icon,.todo-panel-caret{flex:none;width:var(--icon-size);height:var(--icon-size);color:var(--text-dim)}.todo-panel-count{flex:none;color:var(--text-strong);font-family:var(--font-mono);font-size:var(--chat-fs-xs);font-variant-numeric:tabular-nums}.todo-panel-now{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.todo-panel-body{max-height:min(40vh,calc(var(--control-h) * 10));padding:0 var(--space-3) var(--space-2);overflow-y:auto;overscroll-behavior:contain;border-top:var(--hairline) solid var(--border)}.todo-list ul{margin:0;padding:0;list-style:none}.todo-phase{margin:var(--space-2) 0 var(--space-1);color:var(--text-dim);font-size:var(--chat-fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.todo-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--chat-fs-sm);line-height:var(--lh-base)}.todo-icon{flex:none;width:calc(var(--icon-size) * .9);height:calc(var(--icon-size) * .9);margin-top:.15em;color:var(--text-dim)}.todo-label{min-width:0;overflow-wrap:anywhere}.todo-note{display:block;color:var(--text-dim);font-size:var(--chat-fs-xs)}.todo-item.is-completed{color:var(--text-dim)}.todo-item.is-completed .todo-icon{color:var(--status-done)}.todo-item.is-in_progress{color:var(--text-strong);font-weight:var(--fw-medium)}.todo-item.is-in_progress .todo-icon{color:var(--status-working)}.todo-item.is-blocked .todo-icon{color:var(--status-blocked)}.todo-item.is-dropped{color:var(--text-dim);text-decoration:line-through}.work-row-detail .todo-list{padding:var(--space-1) var(--space-3)}.todo-list .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(pointer:coarse){.todo-panel-head{min-height:var(--touch-target)}}.markdown-file{display:inline;padding:0;border:0;background:none;color:var(--accent);font:inherit;text-align:inherit;text-decoration:underline dotted;text-underline-offset:var(--space-1);overflow-wrap:anywhere;cursor:pointer}.markdown-file.is-code,.markdown-code-link{text-decoration:none}.markdown-code-link code{color:var(--accent);text-decoration:underline dotted;text-underline-offset:.2em}.markdown-code-link:hover code{text-decoration-style:solid}.markdown-file.is-code code{color:var(--accent);text-decoration:underline dotted;text-underline-offset:.2em}.markdown-file:hover,.markdown-file:hover code{text-decoration-style:solid}.prompt-card{position:sticky;bottom:var(--space-2);z-index:var(--z-popover);width:100%;margin-top:var(--space-5);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-xl);background:var(--bg-panel);box-shadow:var(--shadow-pop)}.prompt-card-header{display:flex;align-items:center;gap:var(--space-2)}.prompt-card-header h2,.prompt-card-question,.prompt-card-error{margin:0}.prompt-card-header h2{color:var(--text-strong);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.prompt-card-question{color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-base)}.prompt-card-hint{color:var(--text-dim);font-size:var(--fs-xs);line-height:var(--lh-base)}.prompt-card-body{max-height:10rem;margin:0;padding:var(--space-2) var(--space-3);overflow:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-base);white-space:pre-wrap;overflow-wrap:anywhere}.prompt-card-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.prompt-card-options .btn{height:auto;min-height:var(--control-h);max-width:100%;flex-direction:column;align-items:flex-start;padding-block:var(--space-1);white-space:normal;overflow-wrap:anywhere;text-align:left}.prompt-card-options .btn.is-typed{outline:var(--ring);outline-offset:var(--ring-offset)}.prompt-card-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--accent);border-radius:var(--radius-md);color:var(--text-strong);font-size:var(--fs-sm)}.prompt-card-confirm span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.prompt-card-number{color:var(--text-dim);font-family:var(--font-mono);font-weight:var(--fw-regular)}.btn-primary .prompt-card-number{color:inherit;opacity:.72}.prompt-card-options small,.prompt-card-check small{display:block;color:var(--text-dim);font-size:var(--fs-2xs);font-weight:var(--fw-regular)}.prompt-card-check{min-height:var(--control-h);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-xs);cursor:pointer}.prompt-card-check input{accent-color:var(--primary)}.prompt-card-submit{align-self:flex-start}.prompt-card-custom{display:flex;gap:var(--space-2)}.prompt-card-custom .input{flex:1 1 auto;min-width:0}.prompt-card-custom .btn svg{width:var(--icon-size);height:var(--icon-size)}.prompt-card-error{color:var(--status-blocked);font-size:var(--fs-xs)}@media(pointer:coarse){.prompt-card-options .btn,.prompt-card-check,.prompt-card-custom .btn{min-height:var(--touch-target)}}@media(max-width:480px){.prompt-card{padding:var(--space-3)}.prompt-card-options,.prompt-card-options .btn,.prompt-card-check{width:100%}.prompt-card-custom{flex-direction:column}}.composer{position:relative;flex:none;width:100%;padding:0 var(--space-4) max(var(--space-4),env(safe-area-inset-bottom,0px));background:var(--bg-panel)}[data-keyboard] .composer{padding-bottom:var(--space-2)}.composer-status,.composer-surface,.composer-note{width:min(100%,var(--content-w));margin-inline:auto}.composer-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-height:var(--chip-h);padding:0 var(--space-2) var(--space-1);color:var(--text-dim);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden}.composer-model-info{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0;max-width:100%}.composer-model{min-width:0;overflow-wrap:anywhere;white-space:normal;color:var(--text)}.composer-reasoning{flex:none;padding-inline:var(--space-1);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm)}.composer-status .agent-mark{display:inline-flex;flex:none}.composer-status strong{flex:none;color:var(--text-strong);font-size:var(--fs-xs);letter-spacing:var(--tracking-caps)}.composer-status[data-status=working] strong{color:var(--status-working)}.composer-status[data-status=blocked] strong{color:var(--status-blocked)}.composer-status[data-status=done] strong{color:var(--status-done)}.composer-status-hint{min-width:0;overflow:hidden;text-overflow:ellipsis}.composer-keys-hint{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;margin-left:auto;color:var(--text-dim);font-size:var(--fs-2xs)}.composer-keys-hint .kbd{margin-left:var(--space-1)}.composer-surface{--composer-control-h: var(--control-h);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"attachments attachments attachments" "left text right";align-items:end;background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.composer-surface:focus-within{border-color:var(--accent);box-shadow:var(--shadow-card),0 0 0 var(--hairline) var(--accent-tint)}.composer-surface.is-dragging{border-color:var(--accent);box-shadow:0 0 0 var(--hairline) var(--accent)}.composer-resize{position:absolute;bottom:100%;left:50%;z-index:1;display:grid;place-items:end center;width:48px;height:12px;transform:translate(-50%);cursor:ns-resize;touch-action:none}.composer-resize:before{content:"";width:var(--space-8);height:4px;border-radius:var(--radius-pill);background:var(--border-strong);transform:translateY(2px);pointer-events:none;transition:background-color var(--dur-fast) var(--ease-out)}.composer-resize:hover:before,.composer-resize:active:before,.composer-resize:focus-visible:before{background:var(--accent)}.composer-resize:focus-visible{outline-offset:0;border-radius:var(--radius-sm)}.composer-text{grid-area:text;width:100%;min-width:0;min-height:calc(var(--composer-control-h) + var(--space-2));max-height:10lh;padding:calc((var(--composer-control-h) + var(--space-2) - 1lh) / 2) var(--space-1);resize:none;overflow-y:auto;background:transparent;border:0;outline:0;color:var(--text-strong);font-family:var(--font-ui);font-size:var(--fs-input);line-height:var(--lh-base)}.composer-text:focus-visible{outline:0}.composer-text.is-sized{max-height:min(50vh,480px);max-height:min(calc(var(--app-height, 100dvh) / 2),480px)}.composer-text::placeholder{color:var(--text-dim)}.composer-text:disabled{opacity:.7;cursor:not-allowed}.composer-controls{display:flex;align-items:center;gap:var(--space-1);min-height:var(--control-h)}.composer-controls-left{grid-area:left;padding:var(--space-1) 0 var(--space-1) var(--space-2)}.composer-controls-right{grid-area:right;padding:var(--space-1) var(--space-2) var(--space-1) 0}.composer-controls .icon-button,.composer-action,.composer-attachment button{flex:none;cursor:pointer}.composer-controls .icon-button{color:var(--text-dim);border-radius:var(--radius-pill)}.composer-action{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);padding:0;border:var(--hairline) solid transparent;border-radius:var(--radius-pill);color:var(--primary-text)}.composer-action svg,.composer-queue-button svg,.composer-attachment button svg{width:var(--icon-size);height:var(--icon-size)}.composer-send{background:var(--primary);border-color:var(--primary)}.composer-stop{background:var(--status-blocked-tint);border-color:var(--status-blocked);color:var(--status-blocked)}.composer-queue-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-2);background:var(--primary-tint);border:var(--hairline) solid var(--primary);border-radius:var(--radius-pill);color:var(--text-strong);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer}.composer-action:disabled,.composer-queue-button:disabled,.composer-controls .icon-button:disabled{opacity:.7;cursor:default}@media(hover:hover){.composer-send:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.composer-stop:hover:not(:disabled){background:var(--danger-tint)}.composer-queue-button:hover:not(:disabled),.composer-controls .icon-button:hover:not(:disabled){background:var(--bg-hover)}}.composer-menu{position:absolute;right:0;bottom:calc(100% + var(--space-2));left:0;z-index:var(--z-popover);max-height:calc(var(--row-h) * 5);overflow-y:auto}.composer-menu-group{display:contents}.composer-menu .menu-item{width:100%;text-align:left}.composer-menu .menu-item-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-menu .menu-item-hint{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachments{grid-area:attachments;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3) 0;overflow-x:auto}.composer-attachment{position:relative;flex:0 0 auto;width:calc(var(--control-h) * 2);height:calc(var(--control-h) * 2);overflow:visible;border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.composer-attachment img{width:100%;height:100%;border-radius:inherit}.composer-attachment-state{position:absolute;inset:auto var(--space-1) var(--space-1);padding:var(--hairline) var(--space-1);overflow:hidden;border-radius:var(--radius-pill);background:var(--bg-panel);color:var(--text-strong);font-size:var(--fs-2xs);line-height:var(--lh-tight);text-align:center;text-overflow:ellipsis;white-space:nowrap}.composer-attachment.is-error{border-color:var(--status-blocked)}.composer-attachment button{position:absolute;top:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));display:inline-flex;align-items:center;justify-content:center;width:var(--chip-h);height:var(--chip-h);padding:0;background:var(--bg-panel);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-strong)}.composer-note{margin-top:var(--space-1);padding:0 var(--space-2);color:var(--danger-text);font-size:var(--fs-xs)}@media(max-width:480px){.composer{padding-inline:var(--space-2)}.composer-agent-label,.composer-status-separator,.composer-status-hint,.composer-keys-hint{display:none}}@media(pointer:coarse){.composer-surface{--composer-control-h: var(--touch-target)}.composer-keys-hint{display:none}.composer-controls .icon-button,.composer-action,.composer-queue-button,.composer-attachment button{min-width:var(--touch-target);min-height:var(--touch-target)}.composer-resize{width:64px;height:20px}}@media(prefers-reduced-motion:reduce){.composer-surface,.composer-resize:before{transition:none}}.composer-queue{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:var(--hairline) solid var(--border);background:var(--accent-tint)}.terminal-stack.is-chat .composer-queue{width:min(100%,var(--content-w));margin:0 auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.composer-queue-label{color:var(--text-dim);font-size:var(--fs-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase}.composer-queue-text{min-height:2lh;padding:var(--space-1) var(--space-2);resize:none;border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text-strong);font:inherit;font-size:var(--fs-sm)}.composer-queue-text:focus-visible{border-color:var(--accent);outline:none}.composer-queue-actions{display:flex;gap:var(--space-2)}.composer-queue-send,.composer-queue-discard{min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium)}.composer-queue-send{border:var(--hairline) solid var(--border);background:var(--bg-elevated);color:var(--text)}.composer-queue-discard{background:transparent;border:0;color:var(--text-dim)}.composer-attachment-file{width:100%;height:100%;padding:var(--space-1) var(--space-1) calc(var(--space-1) + var(--fs-2xs) * 1.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);overflow:hidden;color:var(--text-dim);font-size:var(--fs-2xs);line-height:var(--lh-tight);text-align:center}.composer-attachment-file svg{flex:none;width:var(--icon-size);height:var(--icon-size)}.composer-attachment-file span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-gate-screen{display:grid;place-items:center;min-height:100%;min-height:100dvh;min-height:var(--app-height, 100dvh);padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) calc(var(--space-4) + env(safe-area-inset-right,0px)) calc(var(--space-4) + env(safe-area-inset-bottom,0px)) calc(var(--space-4) + env(safe-area-inset-left,0px));background:var(--bg)}.access-gate{display:flex;flex-direction:column;align-items:stretch;width:min(100%,calc(var(--sidebar-w) + 2 * var(--space-6)));margin:0;padding:var(--space-6);background:var(--bg-panel);border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.access-gate-mark{display:block;width:calc(var(--mark-size) * 2);height:calc(var(--mark-size) * 2);margin-bottom:var(--space-4)}.access-gate-title{margin:0 0 var(--space-1);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--text-strong)}.access-gate-copy{margin:0 0 var(--space-5);font-size:var(--fs-md);color:var(--text-dim)}.access-gate-label{margin-bottom:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}.access-gate-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--control-h);padding:0 var(--space-3);background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);color:var(--text-strong);font:inherit;font-size:var(--fs-input);transition:border-color var(--dur-fast) var(--ease-out)}.access-gate-input[aria-invalid=true]{border-color:var(--status-blocked)}.access-gate-submit{margin-top:var(--space-3);height:var(--control-h);padding:0 var(--space-4);background:var(--accent);border:var(--hairline) solid var(--accent);border-radius:var(--radius-sm);color:var(--bg);font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.access-gate-submit:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text-strong));border-color:color-mix(in srgb,var(--accent) 88%,var(--text-strong))}.access-gate-submit:active{background:color-mix(in srgb,var(--accent) 80%,var(--bg));border-color:color-mix(in srgb,var(--accent) 80%,var(--bg))}.access-gate-submit:disabled{opacity:.6;cursor:progress}.access-gate-error{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-sm);background:var(--danger-tint);font-size:var(--fs-sm);color:var(--danger-text);overflow-wrap:anywhere}@media(pointer:coarse){.access-gate-input,.access-gate-submit{height:var(--touch-target)}}@media(prefers-reduced-motion:reduce){.access-gate-input,.access-gate-submit{transition:none}}.access-gate-input[inputmode=numeric]{font-family:var(--font-mono);font-size:var(--fs-xl);letter-spacing:.25em;text-align:center}.access-gate-alt{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--text-dim)}.access-gate-alt summary{cursor:pointer;color:var(--text)}.access-gate-alt .access-gate-label{display:block;margin-top:var(--space-3)}.access-gate-refused{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);font-size:var(--fs-sm);color:var(--text)}.new-session-modal{width:min(100%,calc(var(--sidebar-w) + var(--content-w) / 4))}.new-session-modal .modal-body{padding-bottom:var(--space-2)}.new-session-note,.new-session-error{margin:0 0 var(--space-3)}.new-session-note{color:var(--text-dim);font-size:var(--fs-sm)}.new-session-error{color:var(--status-blocked);overflow-wrap:anywhere}.new-session-cwd{display:flex;gap:var(--space-2)}.new-session-cwd .input{flex:1 1 auto;min-width:0}.new-session-cwd .btn{flex:none}@media(pointer:coarse){.new-session-modal .input,.new-session-modal .select,.new-session-modal .btn{height:var(--touch-target)}}.dir-browser{display:flex;flex-direction:column;border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.dir-browser-bar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);border-bottom:var(--hairline) solid var(--border)}.dir-browser-path{flex:1 1 auto;min-width:0;padding-inline:var(--space-1);overflow:hidden;direction:rtl;text-align:left;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-family:var(--font-mono);font-size:var(--fs-xs)}.dir-browser-list{max-height:calc(var(--control-h) * 7);margin:0;padding:var(--space-1) 0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.dir-browser-item{width:100%;min-height:var(--control-h);padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer}.dir-browser-item:hover:not(:disabled),.dir-browser-item:focus-visible{background:var(--bg-hover);color:var(--text-strong)}.dir-browser-item svg{flex:none;width:var(--icon-size);height:var(--icon-size);color:var(--accent)}.dir-browser-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-browser-note{margin:0;padding:var(--space-2) var(--space-3);color:var(--text-dim);font-size:var(--fs-sm)}.dir-browser-error{color:var(--status-blocked)}.dir-browser-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border-top:var(--hairline) solid var(--border)}.dir-browser-hidden{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer}.dir-browser-size{flex:none;margin-left:auto;color:var(--text-dim);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.dir-browser-item.is-file svg{color:var(--text-dim)}@media(pointer:coarse){.dir-browser-item{min-height:var(--touch-target)}.dir-browser-bar .icon-button{width:var(--touch-target);height:var(--touch-target)}}.files-dialog{width:min(100%,560px)}.files-dialog .dir-browser-list{max-height:min(60vh,calc(var(--control-h) * 14))}.settings-dialog{width:min(100%,var(--content-w))}.settings-dialog .icon-button svg{width:var(--icon-size);height:var(--icon-size)}.settings-body{display:flex;flex-direction:column;gap:var(--space-6)}.settings-section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-section h3{margin:0;color:var(--text-dim);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-target)}.settings-row>div:first-child{display:flex;flex:1 1 auto;min-width:0;flex-direction:column}.settings-label{color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.settings-description,.settings-hint{color:var(--text-dim);font-size:var(--fs-xs)}.settings-hint,.settings-about p{margin:0}.settings-stepper{display:flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.settings-stepper output{min-width:var(--touch-target);color:var(--text-strong);font-family:var(--font-mono);font-size:var(--fs-sm);text-align:center}.settings-toggle{position:relative;flex:0 0 auto;width:calc(var(--touch-target) + var(--space-2));height:var(--touch-target);padding:var(--space-2) var(--space-1);background:transparent;border:0;cursor:pointer}.settings-toggle:before{position:absolute;inset:var(--space-3) var(--space-1);content:"";background:var(--bg-elevated);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-pill);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.settings-toggle-thumb{position:absolute;top:var(--space-3);left:var(--space-1);width:var(--space-4);height:var(--space-4);background:var(--text-dim);border-radius:var(--radius-pill);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.settings-toggle[aria-checked=true]:before{background:var(--primary-tint);border-color:var(--primary)}.settings-toggle[aria-checked=true] .settings-toggle-thumb{background:var(--primary);transform:translate(var(--space-5))}.settings-shortcuts{width:100%;border-collapse:collapse}.settings-shortcuts th,.settings-shortcuts td{padding:var(--space-2) 0;border-bottom:var(--hairline) solid var(--border);font-size:var(--fs-sm)}.settings-shortcuts th{color:var(--text);font-weight:var(--fw-regular);text-align:left}.settings-shortcuts td{text-align:right;white-space:nowrap}.settings-shortcuts td .kbd+.kbd{margin-left:var(--space-1)}.settings-about a:not(.btn){color:var(--accent);font-size:var(--fs-sm);overflow-wrap:anywhere}@media(max-width:640px){.settings-row{align-items:flex-start;flex-direction:column}.settings-row>.segmented,.settings-row>.settings-stepper{align-self:stretch;justify-content:center}.settings-row:has(>.settings-toggle){align-items:center;flex-direction:row}}@media(prefers-reduced-motion:reduce){.settings-toggle:before,.settings-toggle-thumb{transition:none}}.devices-panel{display:flex;flex-direction:column;gap:var(--space-3)}.devices-list{margin:0;padding:0;list-style:none;border-top:var(--hairline) solid var(--border)}.devices-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--row-h);padding:var(--space-2) 0;border-bottom:var(--hairline) solid var(--border)}.devices-name{display:flex;flex:1 1 auto;min-width:0;flex-direction:column}.devices-current{margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;vertical-align:middle}.devices-actions,.devices-rename{display:flex;align-items:center;gap:var(--space-1)}.devices-rename{flex:1 1 auto}.devices-rename .input{flex:1 1 auto;min-width:0}.devices-pairing{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-left:var(--rail-w) solid var(--accent);border-radius:var(--radius-md)}.devices-pairing .settings-label{display:block}.devices-code{margin:var(--space-1) 0 var(--space-2);font-family:var(--font-mono);font-size:32px;font-weight:var(--fw-semibold);letter-spacing:.12em;color:var(--text-strong)}.devices-pairing .phone-actions{margin-top:var(--space-3)}@media(max-width:640px){.devices-pairing{flex-direction:column}}.devices-open{padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--danger-text)}.devices-link{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere}.devices-link a{color:var(--accent)}.qr{display:block;flex:0 0 auto;border-radius:var(--radius-md)}.phone-address{display:flex;align-items:flex-start;gap:var(--space-4)}.phone-address .settings-label{display:block}.phone-url{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.phone-panel{display:flex;flex-direction:column;gap:var(--space-3)}.phone-panel a{color:var(--accent)}.phone-command{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--bg-input);border:var(--hairline) solid var(--border);border-left:var(--rail-w) solid var(--accent);border-radius:var(--radius-md)}.phone-command code{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-strong);scrollbar-width:none}.phone-command code::-webkit-scrollbar{display:none}.phone-actions{display:flex;gap:var(--space-2)}@media(max-width:640px){.phone-address{flex-direction:column}}.update-actions,.update-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.settings-updates .settings-hint{overflow-wrap:anywhere}.update-notice{flex:0 0 auto;justify-content:space-between;padding:var(--space-2) var(--space-4);color:var(--text-strong);background:var(--bg-elevated);border-bottom:var(--hairline) solid var(--border);font-size:var(--fs-xs)}.palette-scrim{align-items:flex-start;padding-top:var(--palette-top)}.command-palette{width:min(100%,var(--palette-w));max-height:calc(100% - var(--palette-top) - var(--space-4));padding:0}.palette-search{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border-bottom:var(--hairline) solid var(--border)}.palette-search .input{flex:1 1 auto;min-width:0}.palette-search .icon-button svg{width:var(--icon-size);height:var(--icon-size)}.palette-results{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-1)}.command-palette .menu-item{width:100%}.palette-pane{min-height:var(--row-h)}.palette-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--avatar-size);height:var(--avatar-size);color:var(--text-dim);background:var(--bg-elevated);border-radius:var(--radius-md)}.palette-row-title,.palette-row-subtitle{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row-title{gap:var(--space-2);color:var(--text-strong);font-weight:var(--fw-medium)}.palette-row-subtitle{margin-top:var(--space-1);color:var(--text-dim);font-size:var(--fs-xs)}.palette-selected{flex:0 0 auto;color:var(--accent);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.palette-shortcut{display:inline-flex;flex:0 0 auto;gap:var(--space-1);margin-left:auto}.palette-empty{margin:var(--space-6) var(--space-3);color:var(--text-dim);font-size:var(--fs-sm);text-align:center}@media(pointer:coarse){.command-palette .menu-item{min-height:var(--touch-target)}}@media(max-width:640px){.palette-scrim{align-items:flex-end;padding-top:0}.command-palette{width:100%;max-height:calc(100% - var(--space-8));padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.palette-search{position:sticky;top:0;z-index:var(--z-popover);padding-top:var(--space-4)}}.machine-list{flex:1;min-height:0;overflow-y:auto}.machine-group{--machine-indent: calc(var(--space-3) + 16px + var(--space-2) + 16px + var(--space-2));padding-bottom:var(--space-2);border-bottom:var(--hairline) solid var(--border)}.machine-header{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2) 0 var(--space-3)}.machine-toggle{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;min-height:var(--touch-target);padding:0;background:transparent;border:0;color:var(--text-strong);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:left;cursor:pointer}.machine-caret,.machine-icon{flex:none;width:16px;height:16px;color:var(--text-dim)}.machine-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-kind{flex:none;color:var(--text-dim);font-size:var(--fs-xs);font-weight:var(--fw-regular)}.machine-dot{flex:none;width:var(--dot-size);height:var(--dot-size);border-radius:var(--radius-pill);background:var(--status-idle)}.machine-dot.is-connected{background:var(--status-done)}.machine-dot.is-error{background:var(--status-blocked)}.machine-dot.is-connecting,.machine-dot.is-reconnecting{background:var(--status-working);animation:pulse var(--dur-pulse) var(--ease-out) infinite}.machine-state{display:flex;flex-direction:column;gap:2px;margin:0;padding:0 var(--space-3) var(--space-2) var(--machine-indent);font-size:var(--fs-xs);line-height:var(--lh-tight)}.machine-state-word{color:var(--text-dim);font-weight:var(--fw-medium)}.machine-state.is-error .machine-state-word{color:var(--status-blocked)}.machine-state.is-connecting .machine-state-word,.machine-state.is-reconnecting .machine-state-word{color:var(--status-working)}.machine-state-detail{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-dim);overflow-wrap:anywhere}.machine-empty{padding:0 var(--space-3) var(--space-2) var(--machine-indent)}.machine-workspaces .sidebar-list{overflow:visible}.machine-offline{opacity:.5}.machine-controls{display:grid;gap:var(--space-2);margin:0 var(--space-3) var(--space-2);padding:var(--space-3);background:var(--bg-elevated);border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.machine-controls form,.machine-control-buttons{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-2)}.machine-controls .field{flex:1;min-width:0;margin-bottom:0}.machine-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:var(--hairline) solid var(--border-strong);color:var(--text)}.machine-dialog::backdrop{background:var(--scrim)}.machine-dialog .modal-title{display:flex;align-items:center;gap:var(--space-2)}.machine-dialog form,.machine-advanced{display:grid;gap:var(--space-3)}.machine-advanced{padding-top:var(--space-3)}.machine-dialog summary{padding:var(--space-2) 0;cursor:pointer}.machine-challenge pre{font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere}.machine-progress{padding:var(--space-3);background:var(--bg-hover);border-radius:var(--radius-md);overflow-wrap:anywhere}.machine-install-list{padding-left:var(--space-5);line-height:1.7}.machine-error{margin:0;color:var(--status-blocked);font-size:var(--fs-xs);overflow-wrap:anywhere}.machine-group>.machine-error{padding:0 var(--space-3) var(--space-2) var(--machine-indent)}.machine-context-name{max-width:140px;overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.machine-dot.is-connecting,.machine-dot.is-reconnecting{animation:none}}.machine-action{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin:0 var(--space-3) var(--space-2) var(--machine-indent);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--status-blocked);border-radius:var(--radius-md);background:var(--bg-elevated);font-size:var(--fs-xs);line-height:var(--lh-tight)}.machine-action-text{display:flex;flex-direction:column;gap:2px;margin:0;color:var(--text-dim)}.machine-action-text strong{color:var(--status-blocked);font-weight:var(--fw-medium)}.machine-action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.machine-action-reason{overflow-wrap:anywhere}.machine-action.is-updating{border-color:var(--border);width:calc(100% - var(--space-3) - var(--machine-indent))}.bridge-progress{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.bridge-progress-step{display:flex;justify-content:space-between;gap:var(--space-2);margin:0;color:var(--text-strong)}.bridge-progress-count,.bridge-progress-detail{color:var(--text-dim);font-variant-numeric:tabular-nums}.bridge-progress-detail{margin:0}.bridge-progress-bar{position:relative;height:6px;overflow:hidden;border-radius:999px;background:var(--bg)}.bridge-progress-bar span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--status-working);transition:width .3s ease}.bridge-progress-bar span.is-indeterminate{width:35%;animation:bridge-progress-slide 1.4s ease-in-out infinite}@keyframes bridge-progress-slide{0%{left:-35%}to{left:100%}}@media(prefers-reduced-motion:reduce){.bridge-progress-bar span{transition:none}.bridge-progress-bar span.is-indeterminate{left:0;width:100%;animation:none;opacity:.5}}.machine-action.is-updating .machine-action-text strong{color:var(--status-working)}.file-viewer-scrim{z-index:calc(var(--z-modal) + 1)}.file-viewer{width:min(96vw,1100px);max-height:92vh;display:flex;flex-direction:column}.file-viewer-header{gap:var(--space-1)}.file-viewer-title{flex:1 1 auto;min-width:0}.file-viewer-title .modal-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-viewer-meta{margin:0;display:flex;gap:var(--space-2);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-2xs);white-space:nowrap}.file-viewer-size{flex:none}.file-viewer-path{min-width:0;overflow:hidden;direction:rtl;text-align:left;text-overflow:ellipsis}.file-viewer-header a.icon-button{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim)}.file-viewer-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;padding:var(--space-3);background:var(--bg)}.file-viewer-media{max-width:100%;max-height:78vh;border-radius:var(--radius-md);object-fit:contain}.file-viewer-audio{width:min(100%,480px)}.file-viewer-pdf{width:100%;height:78vh;border:0;border-radius:var(--radius-md);background:#fff}.file-viewer-text{align-self:stretch;margin:0;padding:var(--space-3);overflow:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-base);white-space:pre-wrap;overflow-wrap:anywhere}.file-viewer-note{margin:var(--space-3) 0 0;color:var(--text-dim);font-size:var(--fs-sm);text-align:center}@media(pointer:coarse){.file-viewer{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.file-viewer-header .icon-button{width:var(--touch-target);height:var(--touch-target)}.file-viewer-media{max-height:calc(100dvh - 120px)}.file-viewer-pdf{height:calc(100dvh - 120px)}}.file-viewer-choices ul{margin:var(--space-3) 0 0;padding:0;list-style:none}.file-viewer-choices .btn{max-width:100%;height:auto;min-height:var(--control-h);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:left;overflow-wrap:anywhere}
