:root{--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color-scheme:dark;--brand-50: #ecfeff;--brand-500: #06b6d4;--brand-700: #155e75;--brand-text: color-mix(in srgb, var(--brand-500) 70%, white);--brand-hover: color-mix(in srgb, var(--brand-500) 80%, white);--brand-strong: color-mix(in srgb, var(--brand-500) 30%, var(--brand-700));--on-accent: #000000;--on-brand-strong: #ffffff;--on-amber: #1f1300;--bg-dark: #0a0e17;--bg-panel: #111827;--bg-card: #1f2937;--bg-elevated: #0f172a;--bg-elevated-hover: #131d35;--bg-header: #0f172a;--bg-bar: #0b1120;--bg-subtle: #0d1527;--bg-input: #090e17;--bg-editor: #070b12;--bg-console: #05080e;--bg-muted: #1e293b;--bg-muted-strong: #334155;--border: #374151;--border-subtle: #1e293b;--border-strong: #475569;--text-strong: #ffffff;--text-main: #f9fafb;--text-soft: #e2e8f0;--text-body: #cbd5e1;--text-sub: #9ca3af;--text-muted: #94a3b8;--text-dim: #64748b;--text-faint: #475569;--emerald: #10b981;--emerald-text: #34d399;--amber: #f59e0b;--amber-text: #f59e0b;--rose: #f43f5e;--blue: #3b82f6;--blue-text: #60a5fa;--yellow: #eab308;--yellow-text: #facc15;--purple: #8b5cf6;--purple-text: #c084fc;--tint-weak: rgba(255, 255, 255, .05);--tint: rgba(255, 255, 255, .1);--overlay: rgba(0, 0, 0, .7);--overlay-strong: rgba(2, 6, 23, .92);--shadow-soft: rgba(0, 0, 0, .15);--shadow-color: rgba(0, 0, 0, .4);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-bottom-slim: max(0px, calc(var(--safe-bottom) - 11px));--term-black: #1e293b;--term-red: #ef4444;--term-green: #10b981;--term-yellow: #f59e0b;--term-blue: #3b82f6;--term-magenta: #a855f7;--term-cyan: #06b6d4;--term-white: #f8fafc;--term-bright-black: #64748b;--term-bright-red: #f87171;--term-bright-green: #34d399;--term-bright-yellow: #fbbf24;--term-bright-blue: #60a5fa;--term-bright-magenta: #c084fc;--term-bright-cyan: #22d3ee;--term-bright-white: #ffffff}:root[data-theme-mode=light]{color-scheme:light;--brand-text: color-mix(in srgb, var(--brand-500) 25%, var(--brand-700));--brand-hover: color-mix(in srgb, var(--brand-500) 85%, black);--bg-dark: #f1f5f9;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-elevated-hover: #f8fafc;--bg-header: #f8fafc;--bg-bar: #f8fafc;--bg-subtle: #f1f5f9;--bg-input: #ffffff;--bg-editor: #ffffff;--bg-console: #f8fafc;--bg-muted: #e9eef4;--bg-muted-strong: #dbe3ec;--border: #cbd5e1;--border-subtle: #e2e8f0;--border-strong: #94a3b8;--text-strong: #020617;--text-main: #0f172a;--text-soft: #1e293b;--text-body: #334155;--text-sub: #475569;--text-muted: #526072;--text-dim: #64748b;--text-faint: #94a3b8;--emerald: #059669;--emerald-text: #047857;--amber: #d97706;--amber-text: #b45309;--rose: #e11d48;--blue: #2563eb;--blue-text: #1d4ed8;--yellow: #ca8a04;--yellow-text: #a16207;--purple: #7c3aed;--purple-text: #6d28d9;--tint-weak: rgba(15, 23, 42, .04);--tint: rgba(15, 23, 42, .08);--overlay: rgba(15, 23, 42, .45);--shadow-soft: rgba(15, 23, 42, .06);--shadow-color: rgba(15, 23, 42, .14);--term-black: #0f172a;--term-red: #dc2626;--term-green: #059669;--term-yellow: #d97706;--term-blue: #2563eb;--term-magenta: #9333ea;--term-cyan: #0891b2;--term-white: #e2e8f0;--term-bright-black: #475569;--term-bright-red: #b91c1c;--term-bright-green: #047857;--term-bright-yellow: #b45309;--term-bright-blue: #1d4ed8;--term-bright-magenta: #7e22ce;--term-bright-cyan: #0e7490;--term-bright-white: #0f172a}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg-bar);height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--bg-dark);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;width:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}#app{position:fixed;top:var(--visual-viewport-top, 0px);left:0;right:0;bottom:0;width:100%;height:100%;height:var(--visual-viewport-height, 100%);max-height:var(--visual-viewport-height, 100%);display:flex;flex-direction:column;overflow:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right)}.studio-header{min-height:52px;background:var(--bg-panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:var(--safe-top) 16px 0;z-index:10;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.btn-hamburger{background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-hamburger:hover{background:var(--bg-muted);border-color:var(--brand-text);color:var(--brand-text);transform:scale(1.05)}.btn-hamburger.is-main{border-color:color-mix(in srgb,var(--blue-text) 50%,transparent);background:color-mix(in srgb,var(--blue) 8%,transparent)}.btn-hamburger.is-main:hover{border-color:var(--blue-text);background:color-mix(in srgb,var(--blue) 18%,transparent)}.btn-hamburger.is-next{border-style:dashed;border-color:color-mix(in srgb,var(--emerald-text) 50%,transparent);background:color-mix(in srgb,var(--emerald) 8%,transparent)}.btn-hamburger.is-next:hover{border-color:var(--emerald-text);background:color-mix(in srgb,var(--emerald) 18%,transparent)}.btn-hamburger.is-idea{border-style:dotted;border-color:color-mix(in srgb,var(--yellow-text) 60%,transparent);background:color-mix(in srgb,var(--yellow) 8%,transparent)}.btn-hamburger.is-idea:hover{border-color:var(--yellow-text);background:color-mix(in srgb,var(--yellow) 18%,transparent)}.hamburger-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:16px}.btn-hamburger.has-runs{position:relative}.btn-hamburger.has-runs:after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--brand-500);animation:runDotPulse 1.4s ease-in-out infinite}.btn-reload-app .reload-icon{display:inline-block;line-height:1}.btn-reload-app.spinning .reload-icon{animation:ptr-spin .7s linear infinite}.ptr-indicator{position:fixed;left:50%;top:0;width:38px;height:38px;margin-left:-19px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);color:var(--text-sub);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 12px var(--shadow-color);opacity:0;pointer-events:none;z-index:1001;transition:opacity .15s ease}.ptr-indicator .ptr-icon{display:inline-block;line-height:1}.ptr-indicator.visible{opacity:1}.ptr-indicator.ready{color:var(--brand-text);border-color:var(--brand-text)}.ptr-indicator.refreshing{color:var(--emerald);border-color:var(--emerald)}.ptr-indicator.refreshing .ptr-icon{animation:ptr-spin .7s linear infinite}.ptr-indicator.settling{transition:opacity .15s ease,transform .2s ease}@keyframes ptr-spin{to{transform:rotate(360deg)}}.header-brand{display:flex;align-items:center;gap:8px}.brand-logo{display:block;flex-shrink:0}.badge-vite[hidden]{display:none}.badge-vite{font-size:11px;color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 12%,transparent);padding:2px 6px;border-radius:4px}.active-project-badge{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--brand-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand-500) 30%,transparent);padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;flex-shrink:1;min-width:0;max-width:clamp(160px,36vw,360px);overflow:hidden}.active-project-badge:hover{background:color-mix(in srgb,var(--brand-500) 20%,transparent);border-color:var(--brand-text)}.active-project-badge.is-main{background:color-mix(in srgb,var(--blue) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--blue-text) 50%,transparent)}.active-project-badge.is-main:hover{background:color-mix(in srgb,var(--blue) 22%,transparent);border-color:var(--blue-text)}.active-project-badge.is-main .badge-project-title{color:var(--blue-text)}.active-project-badge.is-next{background:color-mix(in srgb,var(--emerald) 12%,transparent);border:1.5px dashed color-mix(in srgb,var(--emerald-text) 50%,transparent)}.active-project-badge.is-next:hover{background:color-mix(in srgb,var(--emerald) 22%,transparent);border-color:var(--emerald-text)}.active-project-badge.is-next .badge-project-title{color:var(--emerald-text)}.active-project-badge.is-idea{background:color-mix(in srgb,var(--yellow) 12%,transparent);border:1.5px dotted color-mix(in srgb,var(--yellow-text) 60%,transparent)}.active-project-badge.is-idea:hover{background:color-mix(in srgb,var(--yellow) 22%,transparent);border-color:var(--yellow-text)}.active-project-badge.is-idea .badge-project-title{color:var(--yellow-text)}.badge-project-title{font-size:12px;font-weight:700;color:var(--brand-text);font-family:var(--font-mono);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-tabs{display:flex;flex-wrap:wrap;gap:4px}.drawer-project-item .branch-tabs,.project-card-item .branch-tabs{justify-content:flex-end}.branch-tab{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-sub);cursor:pointer;transition:all .15s ease}.branch-tab:hover{border-color:var(--brand-text);color:var(--text-main)}.branch-tab.is-emoji-only{padding:3px 7px;font-size:13px;line-height:1}.branch-tab.active{background:color-mix(in srgb,var(--brand-500) 18%,transparent);border-color:var(--brand-text);color:var(--brand-text)}.branch-tab.is-main{border-style:solid}.branch-tab.is-main:hover{border-color:var(--blue-text);color:var(--text-main)}.branch-tab.is-main.active{background:color-mix(in srgb,var(--blue) 16%,transparent);border-color:var(--blue-text);color:var(--blue-text)}.branch-tab.is-next{border-style:dashed}.branch-tab.is-next:hover{border-color:var(--emerald-text);color:var(--text-main)}.branch-tab.is-next.active{background:color-mix(in srgb,var(--emerald) 16%,transparent);border-color:var(--emerald-text);color:var(--emerald-text)}.branch-tab.is-idea{border-style:dotted}.branch-tab.is-idea:hover{border-color:var(--yellow-text);color:var(--text-main)}.branch-tab.is-idea.active{background:color-mix(in srgb,var(--yellow) 16%,transparent);border-color:var(--yellow-text);color:var(--yellow-text)}@media(pointer:coarse){.branch-tab{padding:6px 12px;min-height:32px}}.branch-tab.is-ghost{background:transparent;color:var(--text-muted);border-color:var(--border);opacity:.85}.branch-tab.is-ghost:hover{opacity:1}.branch-tab-act{font-size:10px;line-height:1;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);border:1px solid var(--brand-text)}.branch-tab-act:hover{background:color-mix(in srgb,var(--brand-500) 32%,transparent)}.branch-others{align-self:center;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);padding:0 4px}.modal-dialog.worktree-dialog{max-width:520px}.worktree-body{padding:14px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.worktree-lead{font-size:13px;line-height:1.55;color:var(--text-main);overflow-wrap:anywhere}.worktree-lead code,.worktree-facts code{font-family:var(--font-mono);font-size:12px;color:var(--brand-text);overflow-wrap:anywhere}.worktree-facts{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-sub)}.worktree-cmd{margin:0;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-main);font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.worktree-status{min-height:18px;font-family:var(--font-mono);font-size:12px;color:var(--text-sub);overflow-wrap:anywhere}.badge-branch{flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text)}.active-project-badge.is-main .badge-branch{background:color-mix(in srgb,var(--blue) 22%,transparent);color:var(--blue-text)}.active-project-badge.is-next .badge-branch{background:color-mix(in srgb,var(--emerald) 22%,transparent);color:var(--emerald-text)}.active-project-badge.is-idea .badge-branch{background:color-mix(in srgb,var(--yellow) 22%,transparent);color:var(--yellow-text)}.badge-git-sync{flex-shrink:0;font-family:var(--font-mono);font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;line-height:1.2}.badge-git-sync.is-ahead{color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 22%,transparent)}.badge-git-sync.is-behind{color:var(--rose);background:color-mix(in srgb,var(--rose) 22%,transparent)}.badge-git-sync.is-synced{color:var(--emerald-text);background:color-mix(in srgb,var(--emerald) 22%,transparent)}.badge-git-sync[hidden]{display:none}.header-branch-switch{display:flex;align-items:center;flex-shrink:0;position:relative;min-width:38px;min-height:28px}.badge-branch[hidden],.header-branch-switch[hidden]{display:none}.header-left:has(.header-branch-switch:not([hidden])) .badge-branch{display:none}.header-branch-switch .branch-tab:not(.active){display:none}.header-branch-switch.is-open .branch-tabs{position:absolute;top:0;left:0;z-index:100;flex-direction:column;flex-wrap:nowrap;padding:4px;border:1px solid var(--border);border-radius:16px;background:var(--bg-panel);box-shadow:0 8px 24px var(--shadow-color)}.header-branch-switch.is-open .branch-tab{display:inline-flex}.header-branch-switch.is-open .branch-tab.active{order:-1}.header-branch-switch .branch-tab.is-emoji-only{width:36px;height:36px;min-height:0;padding:0;justify-content:center;border-radius:50%;font-size:15px}.header-controls{display:flex;align-items:center;gap:10px;position:relative}.btn-header-menu{background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-header-menu[hidden]{display:none!important}.btn-header-menu:hover{background:var(--bg-muted);border-color:var(--brand-text);color:var(--brand-text)}.btn-header-menu[aria-expanded=true]{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-text);color:var(--brand-text)}.btn-header-menu.btn-app-update{position:relative;background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent)}.btn-header-menu.btn-app-update:hover{background:var(--brand-700);border-color:var(--brand-700);color:var(--on-accent)}.btn-app-update[hidden]{display:none}.btn-app-update:after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--amber);animation:runDotPulse 1.4s ease-in-out infinite}.btn-app-update .btn-icon{display:inline-block;line-height:1}.btn-app-update .btn-icon.spinning{animation:ptr-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.btn-app-update:after,.btn-app-update .btn-icon.spinning{animation:none}}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px var(--shadow-color);z-index:100;padding:5px;display:flex;flex-direction:column;gap:2px}.dropdown-menu[hidden]{display:none}.dropdown-divider{border:none;border-top:1px solid var(--border);margin:4px 0}.header-quick-grid{display:flex;gap:6px;padding:6px 2px 2px}.header-quick-grid:empty,.header-quick-grid:empty+.header-quick-divider{display:none}:root[data-quick-boot] .header-controls>:is(#btnTools,#btnNotes,#btnQueue,#btnTasks){display:none!important}.header-tabs-grid,.header-tabs-only{display:none}.header-tabs-grid .btn-header-menu{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 0;width:auto;padding:0 10px;font-size:13px}.header-tabs-grid .btn-header-menu.is-pending{border-color:var(--brand-500);color:var(--brand-text)}.btn-header-new-session{display:none}@media(max-width:900px){.header-dropdown-menu .dropdown-item.header-tabs-only{display:flex}:is(.work-tabs,.header-tabs)>.work-tabs-menu{display:none}}@media(max-width:640px){.header-tabs-grid{display:flex;padding-bottom:0}.btn-header-new-session:not([hidden]){display:inline-flex}:is(.work-tabs,.header-tabs)>:is(.work-tabs-new,.work-tabs-sessions){display:none}}.header-quick-grid .btn-header-menu{flex:1 1 40px;width:auto;height:42px}#btnHeaderMenu{position:relative}.header-controls:has(.header-quick-grid :is(.queue-count,.qc-toggle-count:not([hidden]))) #btnHeaderMenu:after{content:"";position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--brand-500)}.header-dropdown-menu{min-width:230px}.header-dropdown-menu .dropdown-item .item-label{white-space:nowrap}@media(max-width:640px){.header-dropdown-menu{min-width:min(280px,calc(100vw - 16px))}.header-dropdown-menu .dropdown-item{padding:11px 14px;font-size:14px}.header-quick-grid .btn-header-menu{height:46px}}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-main);font-size:13px;text-align:left;border-radius:5px;cursor:pointer;transition:background .12s ease,color .12s ease;font-family:inherit}.dropdown-item .item-icon{font-size:15px;flex-shrink:0;width:18px;display:inline-flex;justify-content:center;line-height:1}.dropdown-item .item-label{flex:1 1 auto}.dropdown-item:hover:not(:disabled),.dropdown-item:focus-visible:not(:disabled){background:var(--bg-card);color:var(--brand-text)}.dropdown-item:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.dropdown-item-danger{color:var(--rose)}.dropdown-item-danger:hover:not(:disabled),.dropdown-item-danger:focus-visible:not(:disabled){background:color-mix(in srgb,var(--rose) 12%,transparent);color:var(--rose)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 6px var(--emerald);flex-shrink:0}.kata-select{color:var(--text-main);outline:none;font-size:12px;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);padding:5px 10px;border-radius:6px}.composer-toolbar{display:flex;gap:6px;margin-top:-1px;padding:5px 0;overflow-x:auto;scrollbar-width:none}.composer-toolbar::-webkit-scrollbar{display:none}.composer-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;min-height:30px;padding:2px 10px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-sub);font-size:12px;cursor:pointer}.composer-attach{cursor:pointer;color:var(--text-main);font-size:15px;border:1px solid var(--border);width:var(--composer-btn);height:var(--composer-btn);min-height:var(--composer-btn);padding:0;justify-content:center;flex-shrink:0}.composer-attach{position:sticky;right:calc(var(--composer-btn) + 17px);z-index:1;margin-left:auto;background:var(--bg-card);box-shadow:-6px 0 6px -2px var(--bg-dark)}.composer-attach:hover{border-color:var(--brand-text)}.composer-decisions{cursor:pointer;color:var(--text-main);font-size:15px;width:var(--composer-btn);height:var(--composer-btn);min-height:var(--composer-btn);padding:0;justify-content:center;flex-shrink:0;position:sticky;right:0;z-index:1;margin-right:11px;background:var(--bg-card);box-shadow:-6px 0 6px -2px var(--bg-dark)}.composer-decisions:hover{border-color:var(--brand-text)}.composer-decisions[data-count]{border-color:color-mix(in srgb,var(--brand-500) 60%,transparent)}.composer-decisions[data-count]:after{content:attr(data-count);position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 3px;border:1px solid var(--bg-bar);border-radius:999px;color:var(--on-accent);background:var(--brand-500);font:700 10px/15px var(--font-mono);text-align:center}.composer-chip select{background:transparent;border:none;outline:none;color:var(--text-main);font-size:12px;font-family:inherit;cursor:pointer;max-width:180px;field-sizing:content}.composer-chip select option,.composer-chip select optgroup{background:var(--bg-panel);color:var(--text-main)}.composer-chip.composer-model{flex-shrink:1;min-width:0;overflow:hidden;max-width:100%}.composer-model select{flex:1 1 auto;min-width:0;text-overflow:ellipsis}.composer-chip:focus-within{border-color:color-mix(in srgb,var(--brand-500) 50%,transparent)}.composer-chip.is-disabled{opacity:.45;cursor:not-allowed}.composer-chip.is-disabled select{cursor:not-allowed}.composer-chip.composer-mode{width:var(--composer-btn);height:var(--composer-btn);min-height:var(--composer-btn);padding:0;justify-content:center;flex-shrink:0}.composer-chip.composer-mode select{flex:0 0 auto;width:100%;height:100%;max-width:none;field-sizing:fixed;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:none;padding:0 0 0 7px;font-size:15px;text-align-last:left;text-overflow:clip;clip-path:inset(0 5px 0 0)}.composer-mode.mode-bypass{background:color-mix(in srgb,var(--amber) 10%,transparent);border-color:color-mix(in srgb,var(--amber) 50%,transparent)}.composer-mode.mode-bypass select{color:var(--amber)}.composer-chip[hidden]{display:none}.composer-chip.composer-profile{cursor:pointer;width:var(--composer-btn);height:var(--composer-btn);min-height:var(--composer-btn);padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-main);transition:background .15s ease,border-color .15s ease}.composer-chip.composer-profile:hover{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-500)}.composer-chip.composer-profile.is-locked{background:color-mix(in srgb,var(--brand-500) 12%,transparent);border-color:color-mix(in srgb,var(--brand-500) 40%,transparent);color:var(--brand-text)}.quota-badge{flex-shrink:0;font-size:11px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .15s ease,color .15s ease}.quota-badge:hover{background:var(--bg-elevated-hover);color:var(--brand-text)}.quota-refresh-icon{display:inline-block;font-size:11px;opacity:.6;transition:transform .2s ease,opacity .2s ease}.quota-badge:hover .quota-refresh-icon{opacity:1;transform:rotate(45deg)}.quota-badge.is-refreshing .quota-refresh-icon{opacity:1;animation:quota-spin .8s linear infinite}@keyframes quota-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quota-badge[hidden]{display:none}.quota-badge.quota-low{color:var(--amber-text)}.quota-badge.quota-out{color:var(--rose);font-weight:600}.model-popover{position:absolute;min-width:300px;max-width:420px;max-height:min(70vh,620px);overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);z-index:100;padding:6px 0;display:flex;flex-direction:column}.model-popover[hidden]{display:none}.model-group-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px 6px;font-size:.75rem;font-weight:600;color:var(--text-muted);border-top:1px solid var(--border-subtle);position:sticky;top:-6px;z-index:1;background:var(--bg-elevated)}.engine-title{flex-shrink:0;white-space:nowrap}.model-group:first-child .model-group-header{border-top:none}.engine-account{font-size:.7rem;color:var(--brand-text);font-weight:500;opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engine-version-badge{flex-shrink:0;font-size:.68rem;font-weight:500;padding:1px 5px;border-radius:4px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);margin-left:auto}.engine-version-badge.is-unverified{color:var(--amber-text);border-color:color-mix(in srgb,var(--amber) 40%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.model-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .15s ease;font-size:.85rem;color:var(--text-main);-webkit-user-select:none;user-select:none}.model-item:hover:not(.disabled){background:var(--bg-elevated-hover)}.model-item.active{background:var(--bg-elevated-hover);border-left:3px solid var(--brand-500);font-weight:600}.model-item.active .model-check{color:var(--brand-text);visibility:visible}.model-item.disabled{opacity:.5;cursor:not-allowed}.model-check{width:14px;font-size:13px;font-weight:700;color:var(--brand-text);visibility:hidden;display:inline-flex;align-items:center;justify-content:center}.model-check:empty{visibility:hidden}.model-quota-tags{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.model-item{flex-wrap:wrap;row-gap:2px}.model-quota-note,.model-quota-reset{color:var(--text-muted);font-size:.65rem;font-weight:400;line-height:1.5}.model-quota-note{padding:0 12px 6px}.model-quota-reset{flex-basis:100%;text-align:right;white-space:normal}.quota-tag{font-size:.7rem;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--bg-dark) 80%,transparent);font-family:var(--font-mono);white-space:nowrap}.quota-tag.quota-safe{color:var(--emerald)}.quota-tag.quota-warn{color:var(--amber)}.quota-tag.quota-danger{color:var(--rose)}.quota-tag.quota-ready{color:var(--text-muted)}.model-select-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0;border:none}.model-display-label{font-size:12px;color:var(--text-main);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.parallel-note{position:sticky;right:calc(var(--composer-btn) * 2 + 23px);z-index:1;width:var(--composer-btn);height:var(--composer-btn);flex:0 0 var(--composer-btn);margin-left:auto;padding:0;border:1px solid color-mix(in srgb,var(--amber) 52%,transparent);border-radius:6px;font:700 15px/1 var(--font-mono);color:var(--amber-text);background:color-mix(in srgb,var(--amber) 12%,var(--bg-card));box-shadow:-6px 0 6px -2px var(--bg-dark);cursor:pointer}.parallel-note:not([hidden])+.composer-attach{margin-left:0}.parallel-note:hover{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 22%,var(--bg-card))}.parallel-note:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}.parallel-note[data-run-count]:after{content:attr(data-run-count);position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 3px;border:1px solid var(--bg-bar);border-radius:999px;color:var(--on-accent);background:var(--amber);font:700 10px/15px var(--font-mono);text-align:center}.parallel-note[hidden]{display:none}.modal-dialog.parallel-dialog{max-width:520px}.parallel-modal-body{display:flex;flex-direction:column;gap:14px;padding:16px 20px}.parallel-modal-lead{margin:0;color:var(--text-body);font-size:13px;line-height:1.5}.parallel-run-section{display:flex;flex-direction:column;gap:8px}.parallel-run-label{color:var(--brand-text);font-size:12px;font-weight:700}.parallel-run-list{display:flex;flex-direction:column;gap:8px}.parallel-run-card{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.parallel-run-head{display:flex;align-items:start;gap:8px}.parallel-run-title{flex:1;min-width:0;color:var(--text-main);font-size:13px;font-weight:700;overflow-wrap:anywhere}.parallel-run-meta{color:var(--text-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.parallel-run-open{flex:0 0 auto;padding:4px 9px}.retry-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.btn-retry{background:color-mix(in srgb,var(--brand-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand-500) 50%,transparent);color:var(--brand-text);font-size:12px;font-family:inherit;min-height:30px;padding:4px 10px;border-radius:6px;cursor:pointer}.btn-retry:hover:not(:disabled){border-color:var(--brand-500)}.btn-retry:disabled{opacity:.45;cursor:not-allowed}.btn-retry-icon{min-width:30px;padding:4px 8px;font-size:14px;line-height:1}.btn-retry-glyph{display:inline-block}.btn-retry.is-checking{cursor:progress}.btn-retry.is-checking .btn-retry-glyph{animation:ptr-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.btn-retry.is-checking .btn-retry-glyph{animation:none}}.btn-retry.is-suggested{background:color-mix(in srgb,var(--brand-500) 22%,transparent);border-color:var(--brand-500);font-weight:600}.btn-retry.is-flash{animation:retry-flash 1s ease-out}@keyframes retry-flash{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500) 55%,transparent)}to{box-shadow:0 0 0 0 transparent}}.btn-run{background:var(--emerald);color:var(--on-accent);border:none;font-weight:700;font-size:12px;padding:6px 14px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:transform .1s}.btn-run:hover{transform:scale(1.02)}.studio-main{flex:1 1 0%;min-height:0;display:grid;grid-template-columns:calc((100% - var(--splitter-w, 4px)) * var(--split-ratio, .45)) var(--splitter-w, 4px) minmax(0,1fr);overflow:hidden}.studio-main>#chatPane{grid-column:1}.studio-main>#codePane{grid-column:3}.studio-main.split-chat-hidden>#chatPane,.studio-main.split-code-hidden>#codePane{display:none}.pane-splitter{--split-hit: 12px;grid-column:2;position:relative;z-index:6;min-height:0;background:var(--border);cursor:col-resize;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;transition:background-color .15s}.pane-splitter:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:max(100%,var(--split-hit));transform:translate(-50%)}.pane-splitter:before{content:"";position:absolute;top:50%;left:50%;width:max(4px,calc(var(--splitter-w, 4px) - 4px));height:40px;border-radius:999px;transform:translate(-50%,-50%);background:var(--text-faint);transition:background-color .15s,width .15s,height .15s}.pane-splitter:hover,.pane-splitter:focus-visible,.pane-splitter.is-dragging{background:var(--brand-500)}.pane-splitter:hover:before,.pane-splitter:focus-visible:before,.pane-splitter.is-dragging:before{background:var(--on-accent)}.split-chat-hidden>.pane-splitter:before,.split-code-hidden>.pane-splitter:before,.ws-splitter.is-left-hidden:before,.ws-splitter.is-right-hidden:before{width:14px;height:56px;background:var(--brand-500);box-shadow:0 2px 8px var(--shadow-color)}.split-chat-hidden>.pane-splitter:before,.ws-splitter.is-left-hidden:before{left:0;transform:translateY(-50%);border-radius:0 8px 8px 0}.split-code-hidden>.pane-splitter:before,.ws-splitter.is-right-hidden:before{left:auto;right:0;transform:translateY(-50%);border-radius:8px 0 0 8px}@media(pointer:coarse){.pane-splitter{--split-hit: 24px}.split-chat-hidden>.pane-splitter:before,.split-code-hidden>.pane-splitter:before,.ws-splitter.is-left-hidden:before,.ws-splitter.is-right-hidden:before{width:18px;height:72px}}body.is-pane-resizing{cursor:col-resize;user-select:none;-webkit-user-select:none}body.is-pane-resizing iframe{pointer-events:none}.ws-columns{flex:1 1 0%;min-height:0;display:flex;overflow:hidden}.ws-col{flex:1 1 0%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.ws-col.is-collapsed{display:none}.ws-col.is-flash{box-shadow:inset 0 0 0 2px var(--brand-500)}.ws-splitter{flex:0 0 var(--splitter-w, 4px);grid-column:auto}.ws-col-header{padding:0 6px 0 12px}.ws-col-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-family:var(--font-mono);color:var(--brand-text)}.ws-col-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.ws-col-btn{min-width:28px;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-sub);font-size:15px;line-height:1;cursor:pointer}.ws-col-btn:hover{background:var(--tint);color:var(--text-main)}.ws-col-btn:focus-visible{outline:2px solid var(--brand-text);outline-offset:-2px}#codePane.ws-multi #workspaceModeTag,.ws-detached .explorer-title{display:none}.ws-detached .explorer-controls{justify-content:flex-start}.pane{display:flex;flex-direction:column;background:var(--bg-dark);height:100%;min-height:0;overflow:hidden}.pane-chat{height:100%;min-height:0;overflow:hidden}.pane-header{height:40px;background:var(--bg-header);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:8px;flex-shrink:0}.pane-header h2{font-size:13px;font-weight:600;color:var(--text-sub);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-icon-sm{background:transparent;border:1px solid var(--border);border-radius:4px;width:28px;height:24px;font-size:12px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-icon-sm:hover:not(:disabled){border-color:var(--brand-text)}.btn-icon-sm[aria-expanded=true]{border-color:var(--brand-text);color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 15%,transparent)}.btn-icon-sm:disabled{opacity:.35;cursor:not-allowed}.btn-sm{background:transparent;border:1px solid var(--border);color:var(--text-sub);font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer}.work-tabs{flex-shrink:0;display:flex;--work-tabs-gap: 6px;gap:var(--work-tabs-gap);padding:4px 16px;overflow-x:auto;scrollbar-width:none;background:var(--bg-bar);border-bottom:1px solid var(--border)}@media(max-width:900px){.work-tabs{padding-inline:8px}}@media(min-width:821px)and (max-width:900px){.work-tabs{--work-tabs-gap: 10px}}.work-tabs::-webkit-scrollbar{display:none}.work-tabs[hidden],.work-tabs.is-collapsed{display:none}.header-left{flex:1 1 0%}.header-tabs{flex:1 1 0%;align-self:stretch;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;border-radius:8px}.header-tabs .work-tab{flex:0 0 auto;max-width:220px}.header-tabs .work-tab>button{min-height:30px}.header-tabs>:is(.work-tabs-new,.work-tabs-sessions,.work-tabs-pull){height:32px}.header-tabs>.work-tabs-menu{align-self:stretch}.header-tabs .work-tab.is-new-view{margin-left:auto;flex:0 0 auto}.work-tab.is-new-view .work-tab-icon-short{display:none}@media(max-width:900px){.work-tab.is-new-view .work-tab-icon-full,.work-tab.is-new-view .work-tab-name{display:none}.work-tab.is-new-view .work-tab-icon-short{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}.work-tab.is-new-view>button{padding:3px 8px;min-width:28px;justify-content:center}}.header-tabs.is-drop-ready{outline:1px dashed color-mix(in srgb,var(--brand-500) 55%,transparent);outline-offset:-6px}.header-tabs.is-drop-over,.work-tabs.is-drop-over{outline:2px dashed var(--brand-500);outline-offset:-4px}.header-tabs.is-drop-over{background:color-mix(in srgb,var(--brand-500) 10%,transparent)}.btn-rail-fill{font-size:16px;line-height:1}.btn-rail-fill.is-on{color:var(--brand-text);border-color:color-mix(in srgb,var(--brand-500) 60%,transparent);background:color-mix(in srgb,var(--brand-500) 14%,transparent)}.btn-rail-fill.is-loading{animation:work-tabs-spin .6s linear infinite}:is(.work-tabs,.header-tabs) .work-tab.is-loading{border-color:var(--brand-strong);background:color-mix(in srgb,var(--brand-strong) 75%,transparent);color:var(--on-brand-strong)}.work-tab.is-loading>button[role=tab]{cursor:progress}.work-tab.is-loading>button[role=tab]:after{content:"";flex:0 0 auto;width:11px;height:11px;margin-left:4px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:work-tab-spin .8s linear infinite}:root.tab-loading :is(.work-tabs,.header-tabs) .work-tab.is-active:not(.is-loading){border-color:var(--border);background:transparent;color:var(--text-sub)}:root.tab-loading .studio-header{position:relative}:root.tab-loading .studio-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--brand-500),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:header-loading 1.1s ease-in-out infinite}@keyframes header-loading{0%{background-position:-40% 0}to{background-position:140% 0}}@media(prefers-reduced-motion:reduce){.work-tab.is-loading>button[role=tab]:after{animation:none;border-right-color:currentColor;opacity:.6}:root.tab-loading .studio-header:after{animation:none;background:var(--brand-500);opacity:.6}}.work-tabs.is-wrap{align-items:center;overflow:hidden}.work-tabs.is-wrap:is([hidden],.is-collapsed){display:none}.work-tabs-grid{--work-tab-row-h: 30px;flex:1 1 0;min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-auto-rows:var(--work-tab-row-h);gap:var(--work-tabs-gap);align-content:start;max-height:calc(var(--work-tabs-rows, 2) * var(--work-tab-row-h) + (var(--work-tabs-rows, 2) - 1) * var(--work-tabs-gap));overflow-y:auto;scrollbar-width:thin;padding-inline:3px;margin-inline:-3px}.work-tabs-grid .work-tab{flex:none;max-width:none;min-width:0}.work-tabs-grid .work-tabs-divider{display:none}.work-tabs.is-wrap>:is(.work-tabs-filter,.work-tabs-new,.work-tabs-sessions,.work-tabs-pull,.work-tabs-menu){align-self:center}.work-tabs.is-wrap>.work-tabs-menu{align-self:stretch;margin-left:0;border-radius:6px}.work-tab>button[role=tab]{flex:1 1 auto;min-width:0}.work-tab{flex:1 0 180px;display:flex;align-items:stretch;min-width:0;max-width:max-content;border:1px solid var(--border);border-radius:6px;overflow:hidden;color:var(--text-sub);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.work-tab.is-dragging{opacity:.45;cursor:grabbing}.work-tab.drag-over-before{box-shadow:-3px 0 0 0 var(--brand-500)}.work-tab.drag-over-after{box-shadow:3px 0 0 0 var(--brand-500)}.work-tab-pin{flex-shrink:0;font-size:11px;line-height:1}.work-tab-wait{display:inline-flex;align-items:center;flex-shrink:0;font-size:11px;line-height:1;padding:2px 5px;border-radius:4px;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-text);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);margin-left:3px;white-space:nowrap}.work-tab-wait.is-overdue{background:color-mix(in srgb,var(--rose) 18%,transparent);color:var(--rose);border-color:color-mix(in srgb,var(--rose) 35%,transparent)}.work-tabs-divider{flex:0 0 1px;align-self:stretch;margin:3px 0;background:var(--border)}.work-tabs-filter{position:sticky;left:0;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-bar);color:var(--text-muted);font:inherit;font-size:13px;line-height:1;cursor:pointer}.work-tabs-filter:hover:not(:disabled){color:var(--text-main);border-color:var(--brand-text)}.work-tabs-filter.is-on{border-color:color-mix(in srgb,var(--brand-500) 60%,transparent);background:color-mix(in srgb,var(--brand-500) 14%,var(--bg-bar));color:var(--brand-text)}.work-tabs-filter:disabled{opacity:.5;cursor:default}@media(max-width:900px){.work-tabs-filter{min-width:38px;height:38px}}#headerTabFilter{position:static;width:28px;min-width:28px;height:28px;padding:0;font-size:13px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}#headerTabFilter:hover:not(:disabled){color:var(--text-main);border-color:var(--brand-text)}#headerTabFilter.is-on{border-color:color-mix(in srgb,var(--brand-500) 60%,transparent);background:color-mix(in srgb,var(--brand-500) 14%,var(--bg-card));color:var(--brand-text)}#headerTabFilter[hidden]{display:none}.work-tab>button{display:flex;align-items:center;gap:5px;min-width:0;padding:3px 10px;background:transparent;border:none;color:inherit;font:inherit;font-size:12px;cursor:pointer}.work-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-tab-project,.work-tab-branch{flex:0 0 auto;white-space:nowrap}.work-tab-name{min-width:0}.project-icon-preview{padding:12px;border:1px solid var(--border);border-radius:12px;color:var(--text-main);background:var(--bg-card)}#projectIconError{color:var(--rose)}.project-app-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:var(--text-muted);font-size:13px}.project-app-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main)}.project-app-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-app-actions{display:flex;gap:4px;flex-shrink:0}.project-app-actions .btn-secondary{padding:4px 9px}.project-app-ok{color:var(--emerald-text);font-weight:600}.project-app-bad{color:var(--rose);font-weight:600}.project-app-warn{margin:0 0 8px;color:var(--amber-text);font-size:13px}.project-app-warn:empty,#projectAppError:empty{display:none}.project-app-preview{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:13px}.project-app-preview div{display:flex;gap:8px}.project-app-preview span{min-width:72px;color:var(--text-muted)}.project-app-preview strong{color:var(--text-main);font-weight:600;overflow-wrap:anywhere}#projectAppError{color:var(--rose)}.project-app-range{margin-bottom:16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.project-app-range h4,.project-app-range p{margin:0 0 8px}.project-app-range small{color:var(--text-muted)}.project-app-registered{overflow-x:auto;margin-bottom:8px}.project-app-registered table{width:100%;border-collapse:collapse;font-size:13px}.project-app-registered th,.project-app-registered td{padding:6px;text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.project-app-port-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#projectAppPortStatus{margin:8px 0 0;font-size:13px;overflow-wrap:anywhere}.project-app-item-sub{margin-top:16px}.project-app-sub-row{display:flex;gap:8px}.project-app-sub-row input{flex:1;min-width:0}#projectAppItemSubHint{color:var(--text-muted);overflow-wrap:anywhere}#projectAppItemError{color:var(--rose)}#projectAppItemError:empty{display:none}.project-app-item-footer{flex-wrap:wrap}.project-app-item-footer .project-app-remove{margin-right:auto;color:var(--rose)}.work-tab-mark{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto;padding-left:8px;border-left:1px solid var(--border-strong);font-family:var(--font-mono);font-size:10px;font-weight:600}.work-tab-status-icon{width:14px;height:14px;flex:0 0 auto}.work-tab-mark.is-running .work-tab-status-icon{animation:work-tab-spin 1s linear infinite}.work-tab-mark.is-running.is-v1 .work-tab-status-icon path{stroke-dasharray:3 3}.work-tab-status-label{display:none}@keyframes work-tab-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.work-tab-mark.is-running .work-tab-status-icon{animation:none}}.work-tab.is-running .work-tab-mark{color:var(--brand-text)}.work-tab.is-ok{border-color:color-mix(in srgb,var(--emerald) 50%,transparent)}.work-tab.is-ok .work-tab-mark{color:var(--emerald-text)}.work-tab.is-error{border-color:color-mix(in srgb,var(--rose) 50%,transparent)}.work-tab.is-error .work-tab-mark{color:var(--rose)}.work-tab.is-done,.work-tab.is-draft{border-color:color-mix(in srgb,var(--border) 60%,transparent);background:color-mix(in srgb,var(--bg-card) 60%,transparent);color:var(--text-muted)}.work-tab.is-done:hover,.work-tab.is-draft:hover{border-color:var(--border);color:var(--text-sub)}.work-tab.is-active{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand-strong)}.work-tab.is-active>button{font-weight:600;cursor:default}.work-tab.is-active .work-tab-mark{color:inherit}.work-tab>.work-tab-close{flex-shrink:0;padding:3px 9px 3px 2px;color:var(--text-muted)}.work-tab>.work-tab-close:hover{color:var(--text-main)}.work-tabs-new{position:sticky;right:calc(var(--work-tabs-menu-w, 32px) + var(--work-tabs-sessions-w, 0px) + var(--work-tabs-pull-w, 0px));z-index:1;flex:0 0 auto;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-bar);color:var(--text-muted);font:inherit;font-size:13px;line-height:1;cursor:pointer}.work-tabs-new:hover{color:var(--brand-text);border-color:var(--brand-500)}.work-tabs-pull{position:sticky;right:calc(var(--work-tabs-menu-w, 32px) + var(--work-tabs-sessions-w, 0px));z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid color-mix(in srgb,var(--brand-500) 60%,transparent);border-radius:6px;background:color-mix(in srgb,var(--brand-500) 12%,var(--bg-bar));color:var(--brand-text);font:inherit;font-size:11px;font-weight:600;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,border-color .15s,background-color .15s}.work-tabs-pull:hover{background:color-mix(in srgb,var(--brand-500) 25%,var(--bg-bar));border-color:var(--brand-500)}.work-tabs-pull-icon{display:inline-block;font-size:11px;line-height:1}.work-tabs-pull-count{font-variant-numeric:tabular-nums}#btnHeaderPullTabs{position:static;width:auto;min-width:36px;height:36px;padding:0 8px;gap:4px;border-radius:8px}#btnHeaderPullTabs[hidden]{display:none}.work-tabs-sessions{position:sticky;right:var(--work-tabs-menu-w, 32px);z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-bar);color:var(--text-muted);font:inherit;font-size:11px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,border-color .15s,background-color .15s}.work-tabs-sessions:hover{color:var(--text-main);border-color:var(--brand-text)}.work-tabs-sessions.is-pending{border-color:color-mix(in srgb,var(--brand-500) 60%,transparent);background:color-mix(in srgb,var(--brand-500) 12%,var(--bg-bar));color:var(--brand-text);font-weight:600}.work-tabs-sessions-icon{display:inline-block;font-size:11px;line-height:1}.work-tabs-sessions.is-busy{opacity:.6}.work-tabs-sessions.is-on{border-color:var(--brand-500);color:var(--brand-text)}@keyframes work-tabs-spin{to{transform:rotate(360deg)}}.work-tabs-menu{position:sticky;right:0;flex:0 0 auto;margin-left:auto;padding:0 8px;background:var(--bg-bar);border:none;color:var(--text-muted);font-size:16px;cursor:pointer}.work-tabs-menu:hover{color:var(--text-main)}.work-tabs-menu-count{margin-left:2px;padding:0 5px;border-radius:8px;background:color-mix(in srgb,var(--brand-500) 22%,transparent);color:var(--brand-text);font-size:11px;font-weight:600;vertical-align:middle}.work-tab-pop-head{padding:6px 12px 2px;font-size:11px;color:var(--text-muted)}.work-tab-pop-stepper{display:flex;align-items:center;gap:8px;padding:4px 12px 6px 40px;font-size:13px;color:var(--text-sub)}.work-tab-pop-stepper-label{flex:1}.work-tab-pop-stepper-value{min-width:1.5em;text-align:center;color:var(--text-main);font-variant-numeric:tabular-nums}.work-tab-pop-stepper-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-main);font:inherit;font-size:16px;line-height:1;cursor:pointer}.work-tab-pop-stepper-btn:hover:not(:disabled){border-color:var(--brand-text);color:var(--brand-text)}.work-tab-pop-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.work-tab-pop{position:fixed;right:auto;width:max-content;max-width:min(300px,calc(100vw - 16px));overflow-y:auto;z-index:2150}.work-tab-pop-msg{padding:6px 8px 2px;font-size:13px;color:var(--text-main)}.work-tab-pop-skip{display:flex;align-items:flex-start;gap:6px;padding:4px 8px;font-size:12px;color:var(--text-sub);cursor:pointer}.work-tab-pop-actions{display:flex;justify-content:flex-end;gap:6px;padding:4px 4px 2px}.work-tab-pop-actions button{min-height:30px;padding:4px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-sub);font:inherit;font-size:12px;cursor:pointer}.work-tab-pop-actions button.is-primary{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent)}@media(max-width:900px){.work-tab>button{min-height:30px;font-size:13px}}.work-tabs.is-hidden-by-pref{display:none!important}.btn-tabs-flyout{position:relative}.btn-tabs-flyout .badge-count{margin-left:2px;font-size:11px}.btn-tabs-flyout .badge-count[hidden]{display:none!important}.tabs-flyout-pop{min-width:260px;max-width:min(340px,calc(100vw - 16px))}.tabs-flyout-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:12px;color:var(--text-main)}.btn-tabs-restore{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border:1px solid var(--brand-500);border-radius:4px;color:var(--brand-text);font:inherit;font-size:11px;padding:2px 8px;cursor:pointer;white-space:nowrap}.btn-tabs-restore:hover{background:var(--brand-500);color:var(--on-accent)}.tab-flyout-item{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer}.tab-flyout-item.is-active{background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);font-weight:600}.tab-flyout-close{background:transparent;border:none;color:var(--text-muted);font-size:14px;line-height:1;padding:2px 5px;margin-left:auto;border-radius:3px;cursor:pointer}.tab-flyout-close:hover{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}.chat-history{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-welcome{background:var(--bg-panel);border:1px solid var(--border);padding:16px;border-radius:8px;font-size:13px;line-height:1.5}.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.welcome-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}.welcome-title{font-size:15px;font-weight:600;color:var(--brand-text);display:inline-flex;align-items:center;gap:6px}.welcome-alias{font-size:12px;color:var(--text-muted);font-weight:400;background:var(--bg-card);padding:1px 5px;border-radius:4px;border:1px solid var(--border)}.btn-welcome-info{background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;padding:2px 4px;font-size:14px;opacity:.8;transition:opacity .15s,border-color .15s}.btn-welcome-info:hover{opacity:1;border-color:var(--border);background:var(--bg-card)}.welcome-profile-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:3px 8px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:border-color .15s,background-color .15s}.welcome-profile-badge:hover{border-color:var(--brand-text);background:var(--bg-hover)}.welcome-profile-emoji{font-size:13px}.welcome-profile-text{font-weight:500}.welcome-paths-list{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px}.welcome-path-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);line-height:1.4;overflow:hidden;background:color-mix(in srgb,var(--bg-card) 60%,transparent);padding:4px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.welcome-path-bullet{color:var(--brand-text);font-weight:700;-webkit-user-select:none;user-select:none}.welcome-path-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:var(--text);font-family:var(--font-mono, monospace);font-size:11.5px}.btn-copy-path-mini{background:transparent;border:none;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;opacity:.6;transition:opacity .15s;flex-shrink:0}.btn-copy-path-mini:hover{opacity:1;background:var(--bg-card)}.welcome-paths-empty{font-size:12px;color:var(--text-muted);margin-bottom:12px;font-style:italic}.welcome-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}.welcome-standardize-wrap{display:flex;align-items:center;gap:8px}.btn-standardize{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-500);color:var(--brand-text);font-weight:500}.btn-standardize:hover{background:color-mix(in srgb,var(--brand-500) 30%,transparent)}.quick-hints{display:flex;gap:8px;justify-content:flex-end;margin-left:auto;flex-wrap:wrap}.hint-tag{background:var(--bg-card);border:1px solid var(--border);color:var(--brand-text);font-size:11px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:border-color .15s,background-color .15s}.hint-tag:hover{border-color:var(--brand-text);background:var(--bg-hover)}.welcome-fork-banner{background:color-mix(in srgb,var(--bg-card) 70%,transparent);border:1px solid var(--border);border-left:3px solid var(--brand-500);border-radius:6px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.welcome-fork-banner.is-side{border-left-color:var(--emerald);background:color-mix(in srgb,var(--emerald) 6%,var(--bg-card))}.welcome-fork-banner.is-branch{border-left-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 6%,var(--bg-card))}.fork-banner-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fork-banner-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}.fork-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;border:1px solid var(--border)}.fork-badge.is-side{background:color-mix(in srgb,var(--emerald) 15%,transparent);border-color:color-mix(in srgb,var(--emerald) 40%,transparent);color:var(--emerald-text)}.fork-badge.is-branch{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:color-mix(in srgb,var(--brand-500) 40%,transparent);color:var(--brand-text)}.fork-origin-text{color:var(--text-muted);font-size:12px}.btn-fork-parent-link{background:transparent;border:none;color:var(--text-main);cursor:pointer;padding:0 2px;font-size:12px;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.btn-fork-parent-link:hover{color:var(--brand-text)}.btn-fork-nav{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-soft);font-size:11.5px;padding:3px 8px;border-radius:5px;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.btn-fork-nav:hover{border-color:var(--brand-500);color:var(--brand-text);background:var(--bg-elevated-hover)}.fork-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--text-sub)}.fork-meta-chip{background:color-mix(in srgb,var(--bg-panel) 80%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:2px 7px;border-radius:4px;font-family:var(--font-mono, monospace);font-size:11px}.fork-context-snippet{font-size:12px;line-height:1.45;color:var(--text-sub);background:color-mix(in srgb,var(--bg-panel) 60%,transparent);border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);border-radius:6px;padding:8px 10px}.fork-snippet-hint{font-style:italic;color:var(--text-muted)}.fork-snippet-header{font-weight:600;font-size:11.5px;color:var(--text-soft);margin-bottom:6px}.fork-snippet-cards{display:flex;flex-direction:column;gap:5px}.fork-snippet-msg{display:flex;gap:6px;font-size:11.5px;line-height:1.4}.fork-snippet-msg .snippet-role{font-weight:600;color:var(--brand-text);flex-shrink:0}.fork-snippet-msg.ai .snippet-role{color:var(--emerald-text)}.fork-snippet-msg .snippet-text{color:var(--text-soft);word-break:break-word}.msg-row{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;font-size:13.5px;line-height:1.55}.msg-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:0 4px;font-size:12px;line-height:1;color:var(--text-muted)}.msg-meta{display:flex;align-items:center;gap:6px;min-width:0}.msg-avatar-inline{font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.msg-role-name{font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-effort{font-size:12px;color:var(--text-muted);white-space:nowrap}.msg-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.msg-scope-warn{padding:2px 6px;border-radius:5px;background:var(--amber);color:var(--on-amber);font-size:11px;font-weight:600;white-space:nowrap;cursor:help}.msg-specs-warn-wrap{display:inline-flex;align-items:center;gap:4px}.msg-specs-warn{padding:2px 6px;border-radius:5px;background:var(--amber);color:var(--on-amber);font-size:11px;font-weight:600;white-space:nowrap}.btn-specs-review{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;height:20px;font-size:11px;font-weight:500;border-radius:4px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.btn-specs-review:hover{background:var(--surface-3);border-color:var(--border-hover)}.msg-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:.4;transition:opacity .2s ease}.msg-row:hover .msg-actions,.msg-actions:focus-within{opacity:1}.msg-tool{min-width:26px;height:24px;padding:0 5px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font:inherit;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.msg-tool:hover,.msg-tool:focus-visible{background:var(--bg-elevated-hover);color:var(--brand-text)}.msg-tool:disabled{opacity:.4;cursor:default}.msg-tool.is-done{color:var(--emerald-text)}@media(max-width:900px){.msg-actions{opacity:.7}.msg-tool{min-width:32px;height:32px}}.msg-bubble{width:100%;padding:10px 14px;border-radius:12px;box-shadow:0 2px 8px var(--shadow-soft);word-break:break-word;overflow-wrap:break-word;min-width:0;max-width:100%;box-sizing:border-box}.msg-row.user .msg-bubble{background:color-mix(in srgb,var(--brand-500) 15%,var(--bg-card));border:1px solid color-mix(in srgb,var(--brand-500) 30%,transparent);color:var(--text-main)}.msg-row.ai .msg-bubble{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-main)}.msg-suggested-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.btn-one-tap-confirm,.btn-action-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--brand-500);color:var(--on-accent);border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb,var(--brand-500) 30%,transparent);transition:transform .1s,background-color .15s,opacity .2s,border-color .15s;-webkit-user-select:none;user-select:none}.btn-one-tap-confirm:hover:not(:disabled),.btn-action-chip:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.btn-one-tap-confirm:active,.btn-action-chip:active{transform:scale(.96)}.btn-one-tap-confirm:disabled,.btn-action-chip:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-action-chip.is-secondary{background:var(--bg-card);color:var(--text-main);border-color:var(--border);box-shadow:none}.btn-action-chip.is-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-text);color:var(--brand-text)}.btn-action-chip.btn-action-more:not(.is-running){background:transparent;color:var(--text-muted);border-style:dashed;font-weight:500}.btn-action-chip.is-running{cursor:wait;opacity:.95}.btn-action-chip.is-completed{background:color-mix(in srgb,var(--emerald) 18%,var(--bg-card));color:var(--emerald-text);border-color:color-mix(in srgb,var(--emerald) 40%,transparent);box-shadow:none;cursor:default;opacity:.9}.btn-action-chip.is-dimmed{opacity:.35!important;cursor:not-allowed;pointer-events:none}.btn-action-chip .action-icon{font-size:14px;line-height:1}.btn-action-chip .action-label{line-height:1.2}.btn-action-chip .action-ext{font-size:11px;opacity:.75;margin-left:2px}.chat-table-wrap{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:10px 0;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-panel)}.chat-table-wrap:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}.chat-table{width:100%;border-collapse:separate;border-spacing:0;font-size:inherit;line-height:1.6;color:var(--text-main)}.chat-table th,.chat-table td{min-width:140px;max-width:560px;padding:10px 12px;vertical-align:top;overflow-wrap:anywhere;word-break:normal;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.chat-table th{background:var(--bg-card);color:var(--text-strong);font-weight:600}.chat-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.chat-table tr>:last-child{border-right:0}.chat-table tbody tr:last-child td{border-bottom:0}.chat-table .chat-cell-left{text-align:left}.chat-table .chat-cell-center{text-align:center}.chat-table .chat-cell-right{text-align:right}.msg-bubble a{color:var(--brand-text);text-decoration:underline;text-underline-offset:2px}.chat-hr{border:0;border-top:1px solid var(--border);margin:12px 0 8px;opacity:.6}.chat-h1,.chat-h2,.chat-h3,.chat-h4,.chat-h5,.chat-h6{margin:12px 0 6px;color:var(--text-strong);font-weight:600;line-height:1.35}.chat-h1{font-size:1.25em}.chat-h2{font-size:1.15em}.chat-h3{font-size:1.05em}.chat-h4,.chat-h5,.chat-h6{font-size:1em}.chat-bullet{display:flex;align-items:baseline;gap:6px;margin:3px 0;padding-left:2px;line-height:1.5}.chat-bullet-dot{color:var(--brand-text);font-size:13px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.chat-details{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);overflow:hidden}.chat-details>summary{padding:6px 10px;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;background:var(--bg-surface-hover);-webkit-user-select:none;user-select:none;transition:color .15s ease}.chat-details>summary:hover{color:var(--brand-text)}.chat-details[open]>summary{border-bottom:1px solid var(--border-subtle)}.chat-details>:not(summary){padding:6px 10px}.code-block-wrap{position:relative;margin:10px 0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;max-width:100%;min-width:0;box-sizing:border-box}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:color-mix(in srgb,var(--bg-panel) 85%,transparent);border-bottom:1px solid var(--border);font-size:11px;color:var(--text-muted);-webkit-user-select:none;user-select:none;min-height:26px}.code-block-actions{display:inline-flex;align-items:center;gap:6px}.code-block-lang{font-family:var(--font-mono);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-text)}.btn-copy-code{background:transparent;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:4px;color:var(--text-muted);font-size:11px;font-family:inherit;padding:2px 8px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.btn-copy-code:hover{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-text);color:var(--brand-text)}.btn-copy-code:active{transform:scale(.96)}.btn-copy-code.copied{background:color-mix(in srgb,var(--emerald) 20%,transparent);border-color:var(--emerald);color:var(--emerald);font-weight:600}pre.code-block{margin:0;padding:10px 12px;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:var(--text-main);background:transparent;overflow-x:auto;max-width:100%;min-width:0;box-sizing:border-box;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}pre.code-block code{font-family:inherit;font-size:inherit;background:transparent;padding:0;border:none;color:inherit;white-space:inherit;word-break:inherit;overflow-wrap:inherit}code.inline-code{font-family:var(--font-mono);font-size:12px;padding:2px 5px;border-radius:4px;background:color-mix(in srgb,var(--bg-card) 90%,transparent);border:1px solid var(--border);color:var(--brand-text);word-break:break-word;overflow-wrap:anywhere}.msg-avatar-inline.avatar-thinking{display:inline-block;border-radius:50%;animation:avatarGlowPulse 2s infinite ease-in-out}@keyframes avatarGlowPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 2px color-mix(in srgb,var(--brand-500) 40%,transparent))}50%{transform:scale(1.12);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--emerald) 70%,transparent))}}.msg-row.ai .msg-bubble.bubble-thinking{display:inline-flex;align-self:flex-start;width:auto;align-items:center;gap:10px;background:color-mix(in srgb,var(--bg-panel) 75%,transparent);border-color:color-mix(in srgb,var(--brand-500) 30%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.typing-wave{display:inline-flex;align-items:center;gap:5px}.wave-dot{width:7px;height:7px;border-radius:50%;animation:waveBounce 1.4s infinite ease-in-out both}.wave-dot:nth-child(1){background:var(--brand-500);animation-delay:-.32s}.wave-dot:nth-child(2){background:color-mix(in srgb,var(--brand-500),var(--emerald));animation-delay:-.16s}.wave-dot:nth-child(3){background:var(--emerald);animation-delay:0s}@keyframes waveBounce{0%,80%,to{transform:scale(.65) translateY(0);opacity:.35}40%{transform:scale(1.15) translateY(-5px);opacity:1;box-shadow:0 0 8px color-mix(in srgb,var(--brand-500) 70%,transparent)}}.thinking-label{font-size:13px;color:var(--text-sub);transition:opacity .25s ease-in-out}.thinking-label.fade-out{opacity:0}.thinking-elapsed{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.thinking-elapsed:before{content:"·";margin-right:8px;color:var(--text-faint)}.msg-row.ai .msg-bubble.bubble-live{border-color:color-mix(in srgb,var(--brand-500) 30%,transparent)}.live-status{display:flex;align-items:center;gap:10px;min-width:0}.live-status .thinking-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-run-stop{flex:none;position:relative;width:28px;height:28px;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--rose) 55%,transparent);color:var(--rose);border-radius:6px;cursor:pointer}.btn-run-stop:before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:currentColor;border-radius:2px}.btn-run-stop:hover:not(:disabled){background:color-mix(in srgb,var(--rose) 12%,transparent)}.btn-run-stop:disabled{opacity:.5;cursor:default}.btn-run-stop.is-stopping:before{width:12px;height:12px;margin:-6px 0 0 -6px;background:transparent;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:run-stop-spin .8s linear infinite}@keyframes run-stop-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-run-stop.is-stopping:before{animation:none}}.live-steps{list-style:none;margin:8px 0 0;padding:6px 0 0;border-top:1px dashed var(--border);max-height:168px;overflow-y:auto;font-size:12px;color:var(--text-muted)}.live-steps li{padding:1px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-steps li.step-tool{font-family:var(--font-mono)}.live-steps li.step-note{font-style:italic;color:var(--text-dim)}.live-text{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}@keyframes waveFade{0%,80%,to{opacity:.3}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.msg-avatar-inline.avatar-thinking{animation:none}.wave-dot{animation-name:waveFade}.thinking-label{transition:none}}.session-prompt-queue{display:flex;flex-direction:column;gap:10px;margin:12px 0;width:100%}.queued-prompt-card{background:color-mix(in srgb,var(--amber) 8%,var(--bg-card));border:1px dashed color-mix(in srgb,var(--amber) 45%,var(--border));border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background-color .15s}.queued-prompt-card:hover{border-color:var(--amber)}.queued-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.queued-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.queued-badge{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--amber-text);background:color-mix(in srgb,var(--amber) 15%,transparent);padding:2px 8px;border-radius:999px;line-height:1.3}.queued-model-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:1px 7px;border-radius:999px;line-height:1.3}.queued-card-tools{display:flex;align-items:center;gap:6px}.btn-queue-tool{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:2px 8px;border-radius:6px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.btn-queue-tool:hover{background:var(--bg-hover);color:var(--text-main);border-color:var(--text-muted)}.btn-queue-cancel:hover{color:var(--rose);border-color:var(--rose)}.queued-card-body{font-size:14px;line-height:1.5;color:var(--text-main);word-break:break-word;white-space:pre-wrap;max-height:120px;overflow-y:auto;padding:4px 0}.queued-prompt-card .msg-images{margin:4px 0 2px}.queued-prompt-card .msg-image{width:64px;height:64px}.queued-card-actions{display:flex;align-items:center;gap:10px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--amber) 20%,var(--border-subtle))}.btn-queue-steer{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--amber) 20%,var(--bg-card));color:var(--text-main);border:1px solid var(--amber);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s,transform .1s}.btn-queue-steer:hover{background:var(--amber);color:var(--on-accent);transform:translateY(-1px)}.btn-queue-steer:active{transform:scale(.96)}.queued-hint{font-size:11px;color:var(--text-muted);font-style:italic}.btn-queue-steer:disabled{opacity:.6;cursor:progress;transform:none}.queued-error{font-size:11px;color:var(--text-main);background:color-mix(in srgb,var(--amber) 15%,var(--bg-card));border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border-subtle));border-radius:6px;padding:4px 8px}.send-btn.is-queuing{background:var(--amber);color:var(--on-accent)}.chat-footer{padding:10px 14px 14px;padding-bottom:max(14px,var(--safe-bottom-slim));background:var(--bg-bar);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0;position:relative;z-index:5}.quick-chips-dock{display:none;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.quick-chips-dock[hidden]{display:none!important}.chip-btn{background:var(--tint-weak);border:1px solid var(--tint);color:var(--text-muted);font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:6px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .18s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.chip-btn:hover{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-text);color:var(--brand-text);transform:translateY(-1px)}.chip-btn:active{transform:scale(.96)}.chip-btn.chip-confirm{background:color-mix(in srgb,var(--brand-500) 20%,var(--bg-card));border-color:var(--brand-500);color:var(--brand-text);font-weight:600}.chat-footer{--composer-btn: 32px;container:composer / inline-size}.composer-input-row{display:flex;align-items:flex-end;gap:7px}.chat-input-pill{display:flex;flex:1;min-width:0;align-items:center;background:var(--bg-card);border:1px solid var(--tint);border-radius:8px;padding:6px 8px 6px 12px;box-shadow:0 4px 16px var(--shadow-color);transition:border-color .2s,box-shadow .2s}.chat-input-pill:focus-within{border-color:color-mix(in srgb,var(--brand-500) 50%,transparent);box-shadow:0 4px 20px var(--shadow-color),0 0 0 1px color-mix(in srgb,var(--brand-500) 20%,transparent)}.chat-input-pill textarea{flex:1;background:transparent;border:none;color:var(--text-main);font-size:13.5px;font-family:inherit;resize:none;outline:none;min-height:24px;max-height:130px;line-height:1.45;padding:6px 0}.chat-input-pill textarea::placeholder{color:var(--text-dim);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-btn{background:var(--brand-500);border:none;color:var(--on-accent);width:var(--composer-btn);height:var(--composer-btn);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:6px;margin-bottom:0;margin-right:2px;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,var(--brand-500) 30%,transparent);transition:transform .1s,background .15s,box-shadow .15s}.send-btn:hover{background:var(--brand-hover);transform:scale(1.04)}.send-btn:active{transform:scale(.94)}.editor-tabs{display:flex;gap:4px;flex-shrink:0}.tab-btn{background:transparent;border:1px solid transparent;color:var(--text-sub);font-size:12px;padding:6px 12px;border-radius:4px 4px 0 0;cursor:pointer;font-family:var(--font-mono)}.editor-tabs .tab-btn{white-space:nowrap}.editor-tabs .tab-btn:focus-visible{outline:2px solid var(--brand-text);outline-offset:-2px}.tab-btn.active{background:var(--bg-dark);color:var(--brand-text);border-color:var(--border);border-bottom-color:var(--bg-dark)}.lang-tag{font-size:11px;color:var(--text-sub);font-family:var(--font-mono)}#workspaceModeTag{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-container{flex:6;position:relative;background:var(--bg-editor)}#codeEditor{width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--text-soft);font-family:var(--font-mono);font-size:13px;line-height:1.6;padding:14px;resize:none;white-space:pre;-moz-tab-size:4;tab-size:4}.console-pane{flex:4;background:var(--bg-console);border-top:1px solid var(--border);display:flex;flex-direction:column}.console-header{height:30px;background:var(--bg-header);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:11px;font-weight:600;color:var(--text-sub)}.status-ready{color:var(--emerald)}.status-running{color:var(--amber)}.status-pass{color:var(--emerald);font-weight:700}.status-fail{color:var(--rose);font-weight:700}#consoleOutput{flex:1;padding:10px 12px;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-y:auto;white-space:pre-wrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.open{opacity:1;pointer-events:auto}.project-drawer{position:fixed;top:0;left:0;bottom:0;width:360px;max-width:88vw;background:var(--bg-elevated);border-right:1px solid var(--border);box-shadow:4px 0 28px var(--shadow-color);z-index:999;display:flex;flex-direction:column;padding-left:var(--safe-left);transform:translate(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1)}.project-drawer.open{transform:translate(0)}.drawer-header{min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:var(--safe-top) 16px 0;border-bottom:1px solid var(--border);background:var(--bg-bar)}.drawer-title{display:flex;align-items:center;gap:8px}.drawer-icon{font-size:18px}.drawer-title h3{font-size:14px;font-weight:700;color:var(--text-main);text-transform:uppercase;letter-spacing:.5px}.btn-close-drawer{background:transparent;border:none;color:var(--text-sub);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-close-drawer:hover{color:var(--text-strong);background:var(--tint)}.drawer-header-actions{display:flex;align-items:center;gap:4px}.btn-drawer-icon{width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-drawer-icon:hover{background:var(--bg-muted);border-color:var(--brand-text)}.btn-drawer-icon.btn-drawer-add{background:color-mix(in srgb,var(--emerald) 12%,transparent);border-color:color-mix(in srgb,var(--emerald) 40%,transparent)}.btn-drawer-icon.btn-drawer-add:hover{background:color-mix(in srgb,var(--emerald) 25%,transparent)}.btn-drawer-action{background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);padding:8px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.btn-drawer-action:hover{background:var(--bg-muted);border-color:var(--brand-text)}.drawer-project-list{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.drawer-org-filter{padding:10px 14px 0}.drawer-org-filter[hidden]{display:none}.org-chips{display:flex;flex-wrap:wrap;gap:6px}.welcome-hub .org-chips{margin-bottom:12px}.drawer-org-filter .org-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.drawer-org-filter .org-chips::-webkit-scrollbar{display:none}.drawer-org-filter .org-chip{flex-shrink:0}.drawer-org-filter .org-chips-menu{position:sticky;right:0;flex-shrink:0;background:var(--bg-elevated);border-radius:0;box-shadow:-10px 0 8px var(--bg-elevated)}.org-chip{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font-family:var(--font-mono);font-size:12px;font-weight:700;cursor:pointer}.org-chip:hover{border-color:var(--text-faint);color:var(--text-main)}.org-chip.active{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-500);color:var(--brand-text)}.org-chip-icon{flex:none;display:block}.org-chip-count{font-size:10px;font-weight:600;opacity:.75}.org-chip.active.pinned{background:color-mix(in srgb,var(--brand-500) 32%,transparent)}.org-chip-pin{flex:none;display:block}.org-chip:not(.active) .org-chip-pin{opacity:.6}.org-chip.stashed,.org-chip.released{border-style:dashed}.org-chip,.org-chips-menu{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.org-chips-menu{margin-left:auto;min-width:28px;min-height:28px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer}.org-chips-menu:hover{border-color:var(--border);color:var(--text-main)}.org-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--org-color)}.org-dot.is-empty{background:transparent;border:1px dashed var(--border-strong)}.org-header .org-dot{margin-right:6px}.org-manager{max-width:640px}.org-mgr-title{margin:4px 0 2px;font-size:13px;color:var(--text-main)}.org-mgr-title:not(:first-child){margin-top:16px}.org-mgr-hint{display:block;margin-bottom:8px;font-size:11px;color:var(--text-dim)}.org-mgr-list,.org-mgr-repos{display:flex;flex-direction:column;gap:6px}.org-mgr-row{display:grid;grid-template-columns:auto minmax(90px,1fr) minmax(100px,1.4fr) auto auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.org-mgr-row.is-hidden{opacity:.55}.org-mgr-move{display:inline-flex;gap:2px}.org-mgr-btn{width:26px;height:26px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);cursor:pointer}.org-mgr-btn:disabled{opacity:.35;cursor:default}.org-mgr-code{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-main)}.org-mgr-row input[type=text],.org-mgr-row select,.org-mgr-repo input{min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font-size:13px}.org-mgr-row input:focus,.org-mgr-row select:focus,.org-mgr-repo input:focus{border-color:var(--brand-text);outline:none}.org-mgr-hide{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-sub);cursor:pointer}.org-mgr-repo{display:grid;grid-template-columns:1fr minmax(110px,160px);align-items:center;gap:8px;font-size:13px;color:var(--text-main)}.org-mgr-repo-name{display:flex;flex-direction:column;min-width:0}.org-mgr-repo-name small{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-mgr-error{min-height:1em;margin:8px 0 0;font-size:12px;color:var(--rose)}@media(max-width:560px){.org-mgr-row{grid-template-columns:auto 1fr auto}.org-mgr-row input[type=text]{grid-column:1 / -1;grid-row:2}.org-mgr-row select{grid-column:1 / 3;grid-row:3}.org-mgr-hide{grid-row:3}}.org-header{display:flex;align-items:center;gap:6px;width:100%;padding:4px 2px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left}.org-header:hover{color:var(--text-main)}.org-header .org-caret{transition:transform .15s ease}.org-header.collapsed .org-caret{transform:rotate(-90deg)}.org-header .org-count{font-weight:600;color:var(--text-faint)}.org-header .org-running{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--brand-text);text-transform:none;letter-spacing:0}.hub-org-header{grid-column:1 / -1}.drawer-footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;padding-bottom:max(12px,var(--safe-bottom-slim));border-top:1px solid var(--border);background:var(--bg-subtle)}.drawer-footer .btn-drawer-action{flex:1 1 40%;min-height:38px}.btn-drawer-action.btn-drawer-link{text-decoration:none}.btn-drawer-action.btn-drawer-install{color:var(--brand-text);border-color:color-mix(in srgb,var(--brand-500) 40%,transparent)}.btn-drawer-action.btn-drawer-install.pwa-blocked{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.drawer-project-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all .18s ease;-webkit-user-select:none;user-select:none}.drawer-project-item:hover{background:var(--bg-muted);border-color:var(--text-faint);transform:translateY(-1px)}.drawer-project-item.active{background:color-mix(in srgb,var(--brand-500) 10%,transparent);border-color:var(--brand-text);box-shadow:0 0 12px color-mix(in srgb,var(--brand-500) 20%,transparent)}.drawer-item-top{display:flex;align-items:flex-start;gap:10px}.drawer-item-more{flex-shrink:0;width:28px;height:28px;margin:-4px -6px 0 0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer}.drawer-item-more:hover,.drawer-item-more:focus-visible{background:var(--bg-muted);border-color:var(--border);color:var(--text-main)}.drawer-item-icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.drawer-item-info{flex:1;min-width:0}.drawer-item-name-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.drawer-item-name{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-item-sub{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.drawer-item-alias{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 15%,transparent);padding:1px 6px;border-radius:4px;text-transform:uppercase;flex-shrink:0}.drawer-item-desc{font-size:11px;color:var(--text-sub);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.drawer-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:11px;padding-top:6px;border-top:1px solid var(--tint-weak)}.drawer-item-bottom-status{display:flex;align-items:center;gap:6px;margin-left:auto}.drawer-item-stack{color:var(--text-muted);font-family:var(--font-mono);font-size:10px}.drawer-item-paths{color:var(--text-dim);font-size:10px}.drawer-item-paths,.drawer-item-running,.drawer-item-active-tag,.card-path-count{flex-shrink:0;white-space:nowrap}.drawer-item-running{display:inline-flex;align-items:center;gap:4px;color:var(--brand-text);font-weight:700;font-size:10px;background:color-mix(in srgb,var(--brand-500) 15%,transparent);padding:1px 6px;border-radius:4px}.run-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-500);animation:runDotPulse 1.4s ease-in-out infinite}@keyframes runDotPulse{50%{opacity:.25}}.run-toasts{position:fixed;right:16px;bottom:16px;z-index:3000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}.run-toast{display:flex;align-items:stretch;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--emerald);border-radius:8px;box-shadow:0 6px 20px var(--shadow-color);overflow:hidden}.run-toast.is-error{border-left-color:var(--rose)}.run-toast button{background:none;border:none;color:var(--text-main);font:inherit;cursor:pointer}.run-toast-open{flex:1;min-width:0;padding:10px 12px;text-align:left;font-size:13px;overflow-wrap:anywhere}.run-toast-open:hover{background:var(--bg-elevated-hover)}.run-toast .run-toast-close{padding:0 12px;color:var(--text-muted)}.run-toast .run-toast-close:hover{color:var(--text-main)}@media(max-width:768px){.run-toasts{left:12px;right:12px;bottom:84px;max-width:none}}.swipe-session-hint{position:fixed;top:calc(56px + var(--safe-top));left:50%;transform:translate(-50%) translateY(-6px);background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text-main);padding:5px 14px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:700;box-shadow:0 4px 16px var(--shadow-color);opacity:0;pointer-events:none;z-index:1002;transition:opacity .15s ease,transform .15s ease;white-space:nowrap;max-width:min(360px,calc(100vw - 32px));overflow:hidden;text-overflow:ellipsis}.swipe-session-hint.visible{opacity:1;transform:translate(-50%) translateY(0)}.drawer-item-active-tag{color:var(--emerald);font-weight:700;font-size:10px;background:color-mix(in srgb,var(--emerald) 15%,transparent);padding:1px 6px;border-radius:4px}.workspace-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.project-detail-card{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;background:var(--bg-dark)}.project-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.project-hero-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.project-hero-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--text-main)}.project-category-badge{font-size:10px;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--brand-500) 15%,transparent);color:var(--brand-text);text-transform:uppercase;font-weight:700}.project-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:12px}.project-tech-stack{display:flex;flex-wrap:wrap;gap:6px}.tech-chip{background:var(--bg-panel);border:1px solid var(--border);color:var(--text-body);font-size:11px;padding:2px 8px;border-radius:4px;font-family:var(--font-mono)}.project-section-title{font-size:13px;font-weight:700;color:var(--brand-text);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.paths-list{display:flex;flex-direction:column;gap:8px}.path-row{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.path-row-header{display:flex;align-items:center;justify-content:space-between}.path-role-badge{font-size:10px;font-weight:700;background:color-mix(in srgb,var(--emerald) 15%,transparent);color:var(--emerald);padding:2px 6px;border-radius:4px;font-family:var(--font-mono)}.path-status{font-size:11px;font-weight:600}.path-status.online{color:var(--emerald)}.path-status.missing{color:var(--rose)}.path-location{display:flex;align-items:center;justify-content:space-between;background:var(--bg-editor);padding:6px 10px;border-radius:4px;font-family:var(--font-mono);font-size:12px;color:var(--text-soft);border:1px solid var(--border-subtle)}.path-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-copy-path{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);font-size:10px;padding:2px 8px;border-radius:3px;cursor:pointer;transition:all .1s}.btn-copy-path:hover{background:var(--brand-500);color:var(--on-accent)}.quick-prompts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.btn-quick-prompt{background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-body);padding:8px 12px;border-radius:6px;font-size:12px;text-align:left;cursor:pointer;transition:all .15s}.btn-quick-prompt:hover{background:color-mix(in srgb,var(--brand-500) 10%,transparent);border-color:var(--brand-text);color:var(--text-strong)}.btn-nav-home{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-main);font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-nav-home:hover{background:var(--bg-muted-strong);border-color:var(--brand-text)}.project-toolbar-separator{color:var(--border);font-size:13px}.btn-add-project{background:color-mix(in srgb,var(--emerald) 12%,transparent);border:1px dashed var(--emerald);color:var(--emerald);font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-add-project:hover{background:var(--emerald);color:var(--on-accent)}.welcome-hub{padding:10px 0;display:flex;flex-direction:column;gap:16px}.welcome-hub-header h3{font-size:18px;font-weight:800;color:var(--text-main);margin-bottom:4px}.welcome-hub-header p{font-size:13px;color:var(--text-muted)}.project-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.project-card-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:all .2s ease;position:relative}.project-card-item:hover{transform:translateY(-2px);border-color:var(--brand-text);box-shadow:0 4px 16px color-mix(in srgb,var(--brand-500) 15%,transparent);background:var(--bg-elevated-hover)}.project-card-item.active{border-color:var(--emerald);background:color-mix(in srgb,var(--emerald) 8%,transparent)}.card-header-top{display:flex;align-items:center;justify-content:space-between}.card-icon-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--text-main)}.card-code-title{font-family:var(--font-mono);font-weight:700;font-size:14px}.card-sub-name{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-2px}.card-alias{font-family:var(--font-mono);font-size:11px;background:var(--bg-muted);color:var(--brand-text);padding:2px 6px;border-radius:4px;text-transform:uppercase}.card-desc{font-size:12px;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer-tags{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:auto;padding-top:6px;border-top:1px solid var(--border-subtle)}.card-stack-summary{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.tech-mini-row{display:flex;flex-wrap:wrap;flex:1 1 0;min-width:0;height:16px;line-height:16px;overflow:hidden}.tech-mini{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tech-mini+.tech-mini:before{content:"·";margin:0 5px;opacity:.7}.card-path-count{font-size:11px;font-weight:600;color:var(--emerald)}.btn-cmds{font-family:var(--font-mono);font-size:13px;font-weight:700}.btn-cmds:disabled{opacity:.4;cursor:default}.modal-dialog.cmds-dialog{max-width:640px;height:min(90vh,760px);overflow:hidden}.cmds-ssh{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid var(--border)}.cmds-ssh label{font-size:12px;font-weight:700;color:var(--text-sub)}.cmds-ssh input{flex:1;min-width:0;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-main);font-family:var(--font-mono);font-size:13px}.cmds-body{flex:1;min-height:0;overflow-y:auto;padding:8px 20px 16px}.cmds-empty{padding:16px 0;color:var(--text-sub);font-size:13px}.cmds-group-title{margin:14px 0 4px;font-size:12px;font-weight:700;color:var(--brand-text)}.cmds-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.cmds-info{flex:1;min-width:0}.cmds-label{font-size:13px;color:var(--text-main)}.cmds-cmd{display:block;margin-top:2px;font-family:var(--font-mono);font-size:12px;color:var(--text-sub);overflow-wrap:anywhere}.cmds-full{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);overflow-wrap:anywhere}.cmds-note{margin-top:2px;font-size:11px;color:var(--text-muted)}.cmds-actions{display:flex;gap:6px;flex-shrink:0}.cmds-btn{min-width:34px;min-height:32px;padding:2px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-main);font:inherit;font-size:12px;cursor:pointer}.cmds-btn:hover:not(:disabled){border-color:var(--brand-text);color:var(--brand-text)}.cmds-btn:disabled{opacity:.4;cursor:not-allowed}.cmds-btn.is-done{border-color:var(--emerald);color:var(--emerald)}.cmds-output{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-console)}.cmds-output[hidden]{display:none}.cmds-output-head{display:flex;align-items:center;gap:6px;padding:6px 12px}.cmds-output-title{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmds-output-text{margin:0;padding:8px 12px 12px;max-height:34vh;overflow:auto;font-family:var(--font-mono);font-size:12px;color:var(--text-main);white-space:pre-wrap;overflow-wrap:anywhere}.modal-dialog.rewind-dialog{max-width:560px;overflow:hidden}.rewind-body{flex:1;min-height:0;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:14px}.rewind-section{display:flex;flex-direction:column;gap:6px}.rewind-label{font-size:12px;font-weight:700;color:var(--brand-text);overflow-wrap:anywhere}.rewind-label code{font-family:var(--font-mono);font-weight:400;color:var(--text-sub)}.rewind-prompt{max-height:120px;overflow-y:auto;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-main);white-space:pre-wrap;overflow-wrap:anywhere}.rewind-images{margin:0}.rewind-images .msg-image{width:64px;height:64px;cursor:default}.rewind-note{font-size:12px;line-height:1.5;color:var(--text-sub)}.rewind-status{font-size:12px;color:var(--text-main)}.rewind-files{list-style:none;margin:0;padding:0;max-height:32vh;overflow-y:auto}.rewind-files li{padding:5px 0;border-bottom:1px solid var(--border-subtle);font-size:12px}.rewind-file{display:flex;align-items:baseline;gap:8px;cursor:pointer}.rewind-file input{flex-shrink:0;margin:0;accent-color:var(--brand-500);align-self:center}.rewind-files li.is-conflict .rewind-file{cursor:default}.rewind-files code{flex:1;min-width:0;font-family:var(--font-mono);color:var(--text-main);overflow-wrap:anywhere}.rewind-act{flex-shrink:0;font-family:var(--font-mono);color:var(--emerald)}.rewind-act-delete,.rewind-act-conflict{color:var(--rose)}.rewind-file-meta{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 0 22px}.rewind-tag{padding:0 5px;border:1px solid color-mix(in srgb,var(--amber) 50%,transparent);border-radius:4px;color:var(--amber-text);font-size:11px}.rewind-tag-uncertain{border-style:dashed}.rewind-conflict{font-size:11px;color:var(--rose)}.rewind-warn{padding:8px 10px;border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:6px;background:color-mix(in srgb,var(--amber) 10%,transparent);font-size:12px;line-height:1.5;color:var(--text-main)}.rewind-warn-danger{border-color:color-mix(in srgb,var(--rose) 45%,transparent);background:color-mix(in srgb,var(--rose) 10%,transparent)}.rewind-footer{flex-wrap:wrap}.rewind-footer button:disabled{opacity:.45;cursor:not-allowed}.msg-commit-rescue-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-subtle);font-size:12px}.commit-chip,.push-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted)}.commit-chip.is-ok{color:var(--emerald-text);border-color:color-mix(in srgb,var(--emerald) 40%,transparent);background:color-mix(in srgb,var(--emerald) 10%,transparent)}.commit-chip.is-warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.push-chip.is-ahead{color:var(--brand-text);border-color:color-mix(in srgb,var(--brand-500) 40%,transparent);background:color-mix(in srgb,var(--brand-500) 10%,transparent)}.push-chip.is-dct{color:var(--text-muted);border-style:dashed}.push-chip.is-behind{color:var(--rose);border-color:color-mix(in srgb,var(--rose) 40%,transparent);background:color-mix(in srgb,var(--rose) 10%,transparent)}.btn-commit-rescue,.btn-push-rescue{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 10px;min-height:28px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);transition:all .15s ease}.btn-commit-rescue:hover,.btn-push-rescue:hover{border-color:var(--brand-500);color:var(--brand-text)}.btn-commit-rescue{background:color-mix(in srgb,var(--amber) 15%,var(--bg-card));border-color:color-mix(in srgb,var(--amber) 50%,transparent);color:var(--text-main)}.btn-push-rescue{background:color-mix(in srgb,var(--brand-500) 15%,var(--bg-card));border-color:color-mix(in srgb,var(--brand-500) 50%,transparent);color:var(--brand-text)}.modal-dialog.commit-dialog{max-width:580px;overflow:hidden}.commit-body{flex:1;min-height:0;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:14px}.commit-section{display:flex;flex-direction:column;gap:6px}.commit-meta-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}.commit-meta-row strong{color:var(--text-main)}.commit-meta-row code{font-family:var(--font-mono);color:var(--brand-text)}.commit-label-row{display:flex;align-items:center;justify-content:space-between}.commit-label{font-size:12px;font-weight:700;color:var(--brand-text)}.commit-files-list{list-style:none;margin:0;padding:0;max-height:28vh;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:6px}.commit-file-item{padding:6px 10px;border-bottom:1px solid var(--border-subtle);font-size:12px}.commit-file-item:last-child{border-bottom:none}.commit-file-item.is-uncertain{background:color-mix(in srgb,var(--bg-panel) 50%,transparent)}.commit-file-label{display:flex;align-items:baseline;gap:8px;cursor:pointer}.commit-file-label input{flex-shrink:0;margin:0;accent-color:var(--brand-500);align-self:center}.commit-file-status{flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:700}.commit-file-status.is-modified{color:var(--amber)}.commit-file-status.is-untracked{color:var(--emerald-text)}.commit-file-status.is-deleted{color:var(--rose)}.commit-file-path{flex:1;min-width:0;font-family:var(--font-mono);color:var(--text-main);overflow-wrap:anywhere}.commit-tag-uncertain{font-size:10px;color:var(--text-muted);border:1px dashed var(--border);padding:1px 4px;border-radius:3px}.commit-msg-textarea{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);padding:8px 10px;font-size:13px;font-family:var(--font-mono);line-height:1.4;resize:vertical;box-sizing:border-box}.commit-msg-textarea:focus{border-color:var(--brand-500);outline:none}.commit-warn{padding:8px 10px;border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:6px;background:color-mix(in srgb,var(--amber) 10%,transparent);font-size:12px;line-height:1.5;color:var(--text-main)}.commit-empty{font-size:12px;color:var(--emerald-text);padding:10px;text-align:center}.commit-loading{font-size:12px;color:var(--text-muted);padding:20px;text-align:center}.commit-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.btn-text-action{background:none;border:none;padding:0;font-size:11px;color:var(--brand-text);cursor:pointer;text-decoration:underline}.btn-text-action:hover{opacity:.8}.modal-dialog.wave-dialog{max-width:640px;overflow:hidden}.wave-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:18px}.wave-create,.wave-section{display:flex;flex-direction:column;gap:12px}.wave-create{padding-bottom:18px;border-bottom:1px solid var(--border)}.wave-member-picker{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.wave-member-choice{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-main);cursor:pointer}.wave-member-choice:hover{border-color:var(--brand-500)}.wave-member-choice input{margin-top:2px;accent-color:var(--brand-500)}.wave-member-choice-title{font-size:13px;font-weight:600;overflow-wrap:anywhere}.wave-member-choice-scope{font-size:11px;color:var(--text-muted);overflow-wrap:anywhere}.wave-empty{padding:10px;background:var(--bg-subtle);border:1px dashed var(--border);border-radius:6px;color:var(--text-muted);font-size:12px}.wave-create-actions,.wave-section-head,.wave-card-head,.wave-card-actions{display:flex;align-items:center;gap:10px}.wave-create-actions{justify-content:space-between}.wave-create-status{min-height:16px;color:var(--text-muted);font-size:12px}.wave-section-head{justify-content:space-between}.wave-section-head h4{margin:0;color:var(--text-main);font-size:13px}.wave-refresh{padding:4px 9px}.wave-list{display:flex;flex-direction:column;gap:10px}.wave-card{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.wave-card-head{justify-content:space-between;align-items:flex-start}.wave-card-title{color:var(--text-main);font-size:13px;font-weight:700;overflow-wrap:anywhere}.wave-state{flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:2px 7px;color:var(--text-muted);font:700 10px var(--font-mono)}.wave-state.is-running{border-color:var(--amber);color:var(--amber-text)}.wave-state.is-integrating{border-color:var(--brand-500);color:var(--brand-text)}.wave-state.is-done{border-color:var(--emerald);color:var(--emerald)}.wave-members{display:flex;flex-direction:column;gap:6px}.wave-member{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-body);font-size:12px}.wave-member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wave-member-meta{flex-shrink:0;color:var(--text-muted);font:600 10px var(--font-mono)}.wave-member-meta.is-done{color:var(--emerald)}.wave-dirty{color:var(--amber-text);font-size:11px;overflow-wrap:anywhere}.wave-card-note{color:var(--text-muted);font-size:11px;overflow-wrap:anywhere}.wave-card-error{color:var(--rose);font-size:11px;overflow-wrap:anywhere}.wave-card-actions{flex-wrap:wrap;justify-content:flex-end}.wave-card-actions .btn-secondary{padding:4px 9px}.wave-action-danger{color:var(--rose)}.wave-request-list{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none}.wave-request-list li{color:var(--text-muted);font:11px var(--font-mono);overflow-wrap:anywhere}.wave-request-list li:before{content:"•";color:var(--brand-text);margin-right:7px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left))}.modal-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;width:100%;max-width:580px;max-height:min(90vh,100%);overflow-y:auto;box-shadow:0 10px 30px var(--shadow-color);display:flex;flex-direction:column}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:16px;font-weight:700;color:var(--text-main)}.btn-close-modal{background:transparent;border:none;color:var(--text-sub);font-size:18px;cursor:pointer}.btn-close-modal:hover{color:var(--text-strong)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-body)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-main);padding:8px 12px;border-radius:6px;font-size:13px;outline:none;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand-text);box-shadow:0 0 8px color-mix(in srgb,var(--brand-500) 20%,transparent)}.form-group small{font-size:11px;color:var(--text-dim)}.input-with-button{display:flex;gap:8px}.input-with-button input{flex:1}.btn-secondary{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-main);padding:7px 12px;border-radius:6px;font-size:12px;cursor:pointer}.btn-secondary:hover{background:var(--bg-muted-strong)}.form-group-checkbox{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.form-group-checkbox label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-body);cursor:pointer}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:var(--bg-bar)}.btn-primary{background:var(--brand-500);color:var(--on-accent);border:none;font-weight:700;font-size:13px;padding:8px 18px;border-radius:6px;cursor:pointer;transition:all .15s}.btn-primary:hover{background:var(--brand-hover);box-shadow:0 0 12px color-mix(in srgb,var(--brand-500) 40%,transparent)}.code-block-wrap.mermaid-block-wrap{margin:10px 0}.code-block-wrap.mermaid-block-wrap .mermaid-diagram-box{border:none;border-radius:0;margin:0;background:var(--bg-input)}.mermaid-diagram-box{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;padding:14px;margin:10px 0;overflow-x:auto;text-align:center;cursor:zoom-in}.mermaid-diagram-box svg{max-width:100%;height:auto}.mobile-pane-switcher{display:none;align-items:center}.btn-pane-toggle{position:relative;background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);width:36px;height:36px;padding:0;border-radius:6px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.btn-pane-toggle:hover{background:var(--bg-muted);border-color:var(--brand-text);color:var(--brand-text)}.btn-pane-toggle.is-code-view{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-text);color:var(--brand-text)}.btn-pane-toggle .toggle-icon{font-size:16px;line-height:1;display:inline-block}.btn-pane-toggle .toggle-label{display:none}.toggle-unread-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 6px var(--emerald);animation:runDotPulse 1.4s ease-in-out infinite}.toggle-unread-dot[hidden]{display:none}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;background:var(--bg-bar);padding:6px 14px;border-bottom:1px solid var(--border)}.editing-filepath{font-family:var(--font-mono);font-size:12px;color:var(--brand-text);font-weight:600}.btn-save-file{background:var(--emerald);color:var(--on-accent);font-weight:700;border:none;border-radius:4px;padding:5px 12px;cursor:pointer}.btn-save-file:hover{background:color-mix(in srgb,var(--emerald) 80%,white)}.project-files-explorer{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-bar);overflow:hidden}.project-files-explorer>:not(.explorer-file-list){flex-shrink:0}.explorer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg-header);border-bottom:1px solid var(--border)}.explorer-title{font-size:13px;font-weight:700;color:var(--text-body)}.explorer-file-list{flex:1;min-height:0;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.file-node-row{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.file-node-row:hover{background:var(--tint-weak)}.file-node-left{display:flex;align-items:center;gap:8px;color:var(--text-soft)}.file-node-name{font-family:var(--font-mono);font-size:12px}.file-node-meta{font-size:11px;color:var(--text-dim)}@media(max-width:900px){.mobile-pane-switcher{display:inline-flex;margin-left:auto}.project-toolbar-right{display:none}.studio-main{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;overflow:hidden}.studio-main.mobile-view-chat #chatPane{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;overflow:hidden}.studio-main.mobile-view-chat #codePane,.studio-main.mobile-view-code #chatPane{display:none}.studio-main.mobile-view-code #codePane{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;overflow:hidden}.pane-splitter{display:none}:root.split-narrow .mobile-pane-switcher{display:none}:root.split-narrow .studio-main{display:grid}:root.split-narrow .pane-splitter{display:block}:root.split-narrow .studio-main #chatPane,:root.split-narrow .studio-main #codePane{display:flex;width:auto}:root.split-narrow .studio-main.split-chat-hidden #chatPane,:root.split-narrow .studio-main.split-code-hidden #codePane{display:none}.studio-header{padding:var(--safe-top) 8px 0;min-height:48px;gap:6px;flex-shrink:0}.header-brand h1,.badge-vite{display:none}.active-project-badge{padding:3px 6px}.active-project-badge .badge-project-title{font-size:11px}.btn-hamburger{width:38px;height:38px;font-size:20px}.project-drawer{width:min(380px,92vw);max-width:none}.chat-footer{padding:6px 10px;padding-bottom:max(16px,var(--safe-bottom-slim))}.chat-footer:has(.chat-input-pill:focus-within){padding-bottom:8px}.chat-input-pill textarea{font-size:16px}.chat-input-pill textarea::placeholder{font-size:13px}.chat-footer{--composer-btn: 34px}.chip-btn{font-size:12px;padding:6px 14px;min-height:34px}}@media(max-width:900px){.header-brand{display:none}.btn-pane-toggle{white-space:nowrap}}@media(max-width:820px){.studio-header{min-height:0;flex-wrap:wrap;row-gap:6px;padding:calc(6px + var(--safe-top)) 8px 6px;flex-shrink:0}.header-left{flex:1 1 0%;min-width:130px;gap:6px}.active-project-badge{flex-shrink:1;min-width:0;max-width:none;overflow:hidden}.active-project-badge .badge-project-title{min-width:0}.mobile-pane-switcher{flex-shrink:0}.header-controls{flex-shrink:0;gap:6px}.btn-run{flex-shrink:0;min-height:38px}.composer-chip{min-height:34px}.composer-chip select{font-size:13px}.btn-icon-sm{width:34px;height:30px;font-size:14px}}@container composer (max-width: 640px){.composer-toolbar{flex-wrap:wrap;overflow:visible;gap:6px;margin-top:4px;padding:0;flex-shrink:0}.composer-chip.composer-model{flex:1 1 calc(100% - 40px);min-width:0;overflow:hidden}.composer-model select{flex:1 1 auto;min-width:0;max-width:100%;text-overflow:ellipsis}#effortChip{flex:1 1 calc(50% - 3px);min-width:0;overflow:hidden}#effortChip select{flex:1 1 auto;min-width:0;max-width:100%;text-overflow:ellipsis}}@container composer (max-width: 640px){.composer-toolbar.has-profile .composer-model{flex:1 1 calc(100% - 156px)}.composer-toolbar.has-profile #profileChip{flex:0 1 auto;max-width:110px;min-width:0;overflow:hidden}.composer-profile select{flex:1 1 auto;min-width:0;max-width:100%;text-overflow:ellipsis}}@media(max-height:500px)and (pointer:coarse){.chat-footer:has(.chat-input-pill:focus-within) :is(.quick-chips-dock,.composer-toolbar){display:none}}@media(max-width:480px){.header-left{gap:4px}.header-left .btn-hamburger{width:34px;height:34px;font-size:18px}.header-branch-switch .branch-tab.is-emoji-only{width:34px;height:34px}.work-tabs{gap:4px}.work-tabs-filter{min-width:34px;height:34px}.active-project-badge{padding:3px 6px}.active-project-badge .badge-project-title{font-size:11px;letter-spacing:-.2px}.btn-pane-toggle{width:34px;height:34px;padding:0;justify-content:center}.btn-pane-toggle .toggle-label{display:none}}.pwa-hidden{display:none!important}.pwa-modal-body{display:flex;flex-direction:column;gap:16px;color:var(--text-main)}.pwa-status-box{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.pwa-ca-box{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;padding:14px}.pwa-ca-box h4{margin:0 0 8px;font-size:14px;color:var(--brand-text);display:flex;align-items:center;gap:8px}.ca-action-buttons{margin:12px 0}.btn-download-ca{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,var(--brand-strong),var(--brand-700));color:var(--on-brand-strong);border-radius:6px;text-decoration:none;font-weight:600;font-size:14px;box-shadow:0 4px 12px color-mix(in srgb,var(--brand-500) 30%,transparent);transition:all .2s}.btn-download-ca:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--brand-500) 40%,transparent)}.pwa-steps-list{padding-left:20px;margin:8px 0 0;font-size:13px;color:var(--text-muted);line-height:1.6}.pwa-steps-list li{margin-bottom:6px}.pwa-steps-list code{background:var(--bg-muted);color:var(--brand-text);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:12px}.attach-strip[hidden]{display:none}.attach-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px}.attach-item{position:relative;flex-shrink:0;width:64px;height:64px;border-radius:10px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.attach-item img{width:100%;height:100%;object-fit:cover}.attach-open{width:100%;height:100%;padding:0;border:none;background:transparent;cursor:zoom-in;display:block}.attach-open:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}.attach-item.uploading img{opacity:.5}.attach-item.error{border-color:var(--rose)}.attach-placeholder{font-size:22px}.attach-state{position:absolute;left:4px;bottom:3px;font:600 10px var(--font-mono);color:var(--brand-text);background:color-mix(in srgb,var(--bg-dark) 75%,transparent);padding:0 3px;border-radius:4px}.attach-state.attach-error{color:var(--rose)}.attach-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:color-mix(in srgb,var(--bg-dark) 80%,transparent);color:var(--text-main);font-size:14px;line-height:20px;padding:0;cursor:pointer}.msg-images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.msg-image{padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card);cursor:zoom-in;width:96px;height:96px}.msg-image img{width:100%;height:100%;object-fit:cover;display:block}.drop-active{outline:2px dashed var(--brand-500);outline-offset:-6px}.image-viewer[hidden]{display:none}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.image-viewer img{max-width:100%;max-height:calc(100% - 48px);object-fit:contain;border-radius:6px}.image-viewer-caption{color:var(--text-sub);font-size:12px;margin-top:8px;text-align:center;overflow-wrap:anywhere}.image-viewer-close{position:absolute;top:max(12px,var(--safe-top));right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:16px;cursor:pointer}.diagram-viewer[hidden]{display:none}.diagram-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay-strong);display:flex;flex-direction:column;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none}.diagram-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;padding-top:max(8px,var(--safe-top));background:color-mix(in srgb,var(--bg-panel) 90%,transparent);border-bottom:1px solid var(--border);gap:12px;z-index:2}.diagram-viewer-title{font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diagram-viewer-controls{display:flex;align-items:center;gap:6px}.diagram-viewer-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-main);font-size:11px;font-family:inherit;padding:3px 8px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;box-sizing:border-box}.diagram-viewer-btn:hover{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-color:var(--brand-text);color:var(--brand-text)}.diagram-viewer-btn:active{transform:scale(.96)}.diagram-viewer-btn.copied{background:color-mix(in srgb,var(--emerald) 20%,transparent);border-color:var(--emerald);color:var(--emerald);font-weight:600}.diagram-viewer-close{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0;margin-left:4px}.diagram-viewer-close:hover{background:var(--bg-muted-strong);border-color:var(--border-strong)}.diagram-viewer-body{flex:1;overflow:auto;position:relative;display:flex;align-items:center;justify-content:center;padding:24px;cursor:grab;touch-action:pan-x pan-y pinch-zoom}.diagram-viewer-body.is-panning{cursor:grabbing}.diagram-viewer-canvas{display:inline-block;transform-origin:center center;transition:transform .12s ease-out;max-width:100%}.diagram-viewer-canvas svg{display:block;max-width:none!important;height:auto}.file-peek{position:fixed;top:0;right:0;bottom:0;width:min(560px,70vw);background:var(--bg-elevated);border-left:1px solid var(--border);box-shadow:-4px 0 28px var(--shadow-color);z-index:999;display:flex;flex-direction:column;padding-right:var(--safe-right);padding-bottom:var(--safe-bottom-slim);transform:translate(100%);visibility:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),visibility .25s}.file-peek.open{transform:translate(0);visibility:visible}.file-peek-header{min-height:48px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:var(--safe-top) 10px 0 12px;border-bottom:1px solid var(--border);background:var(--bg-bar)}.file-peek-header .btn-icon-sm{width:34px;height:30px;flex-shrink:0;color:var(--text-main)}.file-peek-header .btn-icon-sm[hidden]{display:none}.file-peek-title{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-peek-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--bg-editor)}.file-peek-note{padding:14px;font-size:13px;color:var(--text-muted)}.file-peek-note.is-error{color:var(--rose)}.file-peek-list .file-node-row{padding:10px 14px}.file-peek-code{margin:0;padding:10px 0 24px;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:var(--text-soft);-moz-tab-size:4;tab-size:4;counter-reset:peek-line;width:max-content;min-width:100%}.file-peek-code .peek-line{display:block;white-space:pre;padding-right:14px}.file-peek-code .peek-line:before{counter-increment:peek-line;content:counter(peek-line);display:inline-block;width:4em;padding-right:1em;text-align:right;color:var(--text-muted);-webkit-user-select:none;user-select:none}@media(max-width:480px){.file-peek{width:100vw}}.btn-drawer-action[hidden]{display:none}.modal-dialog.modal-dialog-sm{max-width:420px}.settings-body{gap:18px}.settings-section{display:flex;flex-direction:column;gap:8px}.settings-label{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.settings-hint{font-size:12px;color:var(--text-sub)}.theme-mode-group{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:10px;background:var(--bg-muted)}.theme-mode-btn{min-height:38px;border:none;border-radius:7px;background:transparent;color:var(--text-sub);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.theme-mode-btn:hover{color:var(--text-main)}.theme-mode-btn[aria-checked=true]{background:var(--bg-elevated);color:var(--text-main);box-shadow:0 1px 4px var(--shadow-color)}.split-width-group{grid-template-columns:repeat(4,1fr)}.split-narrow-group{grid-template-columns:repeat(2,1fr)}.split-reset-btn{background:var(--bg-muted);border-radius:10px}.theme-color-group{display:flex;flex-direction:column;gap:6px}.theme-color-group-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint)}.theme-color-row{display:flex;gap:8px;flex-wrap:wrap}.theme-swatch{width:36px;height:36px;border-radius:10px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--on-brand-strong);font-size:15px;font-weight:900;transition:transform .12s}.theme-swatch:hover{transform:scale(1.08)}.theme-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--bg-elevated),0 0 0 4px var(--swatch)}.btn-quick-notes{font-size:14px}.modal-dialog.notes-dialog{max-width:880px;width:92vw;height:min(90vh,760px);display:flex;flex-direction:column;overflow:hidden;padding:0}.notes-header-title{display:flex;align-items:center;gap:8px}.notes-header-icon{font-size:16px}.notes-header-actions{display:flex;align-items:center;gap:10px}.btn-notes-new{padding:5px 12px;font-size:12px;font-weight:600;border-radius:6px;background:color-mix(in srgb,var(--brand-500) 15%,transparent);border:1px solid var(--brand-500);color:var(--brand-text);cursor:pointer;transition:background .15s,transform .1s}.btn-notes-new:hover{background:color-mix(in srgb,var(--brand-500) 25%,transparent)}.btn-notes-new:active{transform:scale(.97)}.notes-body{flex:1;min-height:0;display:flex;overflow:hidden}.notes-sidebar{width:290px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg-bar)}.notes-search-box{padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.notes-search-box input{width:100%;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-main);font-size:13px;outline:none}.notes-search-box input:focus{border-color:var(--brand-500)}.notes-filter-tabs{display:flex;padding:6px 12px;gap:6px;border-bottom:1px solid var(--border-subtle)}.notes-filter-btn{flex:1;padding:4px 8px;font-size:12px;border-radius:4px;background:transparent;border:1px solid transparent;color:var(--text-sub);cursor:pointer;text-align:center}.notes-filter-btn.active{background:var(--bg-muted);border-color:var(--border);color:var(--text-main);font-weight:600}.notes-filter-btn:disabled{opacity:.4;cursor:default}.notes-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.note-list-item{padding:10px 12px;border-radius:8px;cursor:pointer;border:1px solid transparent;background:color-mix(in srgb,var(--bg-card) 60%,transparent);transition:background .15s,border-color .15s}.note-list-item:hover{background:var(--bg-elevated-hover)}.note-list-item.active{background:var(--bg-card);border-color:color-mix(in srgb,var(--brand-500) 50%,var(--border))}.note-item-title{font-size:13px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item-preview{font-size:12px;color:var(--text-sub);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.note-item-meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-dim)}.note-item-project-badge{padding:1px 6px;border-radius:4px;background:var(--bg-muted);color:var(--brand-text);font-family:var(--font-mono);font-size:10px}.notes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:var(--text-muted)}.notes-empty-state .empty-icon{font-size:28px;margin-bottom:8px;opacity:.6}.notes-empty-state p{font-size:13px;font-weight:600;color:var(--text-body);margin:0}.notes-empty-state small{font-size:11px;color:var(--text-dim);margin-top:4px}.notes-empty-msg{padding:20px;text-align:center;font-size:13px;color:var(--text-sub)}.notes-editor-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-elevated);padding:18px 24px;overflow:hidden}.notes-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.notes-title-input{flex:1;font-size:17px;font-weight:700;color:var(--text-strong);background:transparent;border:none;border-bottom:1px solid var(--border-subtle);outline:none;padding:4px 0}.notes-title-input:focus{border-bottom-color:var(--brand-500)}.notes-status-badge{font-size:11px;color:var(--text-dim);white-space:nowrap}.notes-status-badge.status-saved{color:var(--emerald-text)}.notes-status-badge.status-saving{color:var(--amber-text)}.notes-status-badge.status-error{color:var(--rose)}.notes-editor-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px;color:var(--text-dim)}.note-time-info{font-size:11px;color:var(--text-dim)}.note-tool-buttons{display:flex;gap:6px}.btn-note-tool{padding:4px 10px;font-size:12px;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-body);cursor:pointer;transition:background .15s,color .15s}.btn-note-tool:hover{background:var(--bg-muted);color:var(--text-strong)}.btn-note-tool:disabled{opacity:.4;cursor:default}.btn-note-tool.btn-note-danger{color:var(--rose)}.btn-note-tool.btn-note-danger:hover{background:color-mix(in srgb,var(--rose) 15%,transparent);border-color:var(--rose)}.notes-textarea{flex:1;width:100%;min-height:0;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;padding:14px;color:var(--text-main);font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:none;outline:none}.notes-textarea:focus{border-color:color-mix(in srgb,var(--brand-500) 50%,var(--border))}.notes-textarea:disabled{opacity:.5;cursor:not-allowed}@media(max-width:680px){.modal-dialog.notes-dialog{width:100vw;height:100dvh;max-width:100vw;border-radius:0}.notes-body{flex-direction:column}.notes-sidebar{width:100%;max-height:190px;border-right:none;border-bottom:1px solid var(--border)}.notes-editor-pane{padding:12px 14px}}.composer-stage.is-active{border-color:color-mix(in srgb,var(--brand-500) 55%,transparent);background:color-mix(in srgb,var(--brand-500) 10%,transparent)}.composer-stage.is-active select{color:var(--brand-text)}.composer-chip select option.is-off-stage{color:var(--text-muted)}@container composer (max-width: 640px){#stageChip,#effortChip{order:1;flex:1 1 calc(50% - 4px);min-width:0;overflow:hidden}#stageChip select{flex:1 1 auto;min-width:0;max-width:100%;text-overflow:ellipsis}}@container composer (max-width: 640px){.composer-toolbar{display:grid;grid-template-columns:fit-content(50%) minmax(0,1fr) auto auto calc(var(--composer-btn) + 11px);align-items:stretch}.composer-toolbar>.composer-chip{min-width:0;max-width:none}.composer-toolbar.has-profile #profileChip{max-width:none}.composer-profile{grid-column:1;grid-row:1}.composer-model{grid-column:2;grid-row:1}.composer-toolbar:not(.has-profile) .composer-model{grid-column:1 / 3}.parallel-note{grid-column:3;grid-row:1;position:relative;right:auto;margin:0;box-shadow:none}.composer-attach{grid-column:4;grid-row:1;position:static;margin:0;box-shadow:none}.composer-decisions{grid-column:5;grid-row:1;justify-self:start;position:static;margin:0;box-shadow:none}#stageChip{grid-column:1;grid-row:2}#effortChip{grid-column:2 / 5;grid-row:2}#modeChip{grid-column:5;grid-row:2;justify-self:start}}.model-item.is-off-stage .model-name{color:var(--text-muted);opacity:.7}.model-item.is-hidden-model{display:none}.model-stage-tag{font-size:11px;margin-left:4px}.model-popover-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:6px 8px 2px;margin-top:4px;border-top:1px solid var(--border-subtle)}.model-popover-link{border:none;background:transparent;color:var(--brand-text);font-size:12px;font-family:inherit;padding:4px 2px;cursor:pointer}.model-popover-link:hover{text-decoration:underline}.msg-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.plan-file-tag{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.msg-stage-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}.msg-stage-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 8px;-webkit-user-select:none;user-select:none}.msg-stage-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.modal-dialog.settings-dialog{max-width:780px;width:min(92vw,780px);max-height:min(88vh,680px);display:flex;flex-direction:column;overflow:hidden;padding:0}.modal-dialog.settings-dialog .modal-header{padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.settings-title-sub{font-size:13px;font-weight:500;color:var(--text-sub);margin-left:6px}.settings-main{display:flex;flex:1;min-height:0;overflow:hidden}.settings-tabs{display:flex;flex-shrink:0}.settings-content{flex:1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.settings-content .settings-body{padding:18px 20px;flex:1;min-height:0;display:flex;flex-direction:column;gap:16px}.settings-body[hidden]{display:none!important}#settingsAppearancePane .settings-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px}@media(min-width:640px){.modal-dialog.settings-dialog{height:min(88vh,640px)}.settings-main{flex-direction:row}.settings-tabs{flex-direction:column;width:175px;border-right:1px solid var(--border);border-bottom:none;padding:12px 8px;gap:4px;background:var(--bg-muted);overflow-y:auto;overflow-x:hidden}.settings-tab{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:8px;border:none;border-left:3px solid transparent;border-bottom:none;background:transparent;color:var(--text-sub);font-family:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.settings-tab:hover{background:var(--bg-card);color:var(--text-main)}.settings-tab.active{background:color-mix(in srgb,var(--brand-500) 14%,var(--bg-card));color:var(--brand-text);border-left-color:var(--brand-500);font-weight:600}}@media(max-width:639px){.modal-dialog.settings-dialog{width:95vw;max-height:86vh;height:auto}.settings-title-sub{font-size:11px;margin-left:4px}.settings-main{flex-direction:column}.settings-tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border);border-right:none;padding:8px 12px;gap:6px;background:var(--bg-panel)}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{flex-shrink:0;white-space:nowrap;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-card);color:var(--text-sub);font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;transition:all .15s ease}.settings-tab:hover{color:var(--text-main);border-color:var(--border)}.settings-tab.active{color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 14%,var(--bg-card));border-color:var(--brand-500);font-weight:600}.settings-content .settings-body{padding:14px 14px 20px}}.modal-dialog.modal-dialog-sm.is-wide{max-width:780px}.stage-config-grid{display:flex;flex-direction:column;gap:6px}#settingsModelsPane,#settingsModelsPane .settings-section{min-width:0}.stage-config-row{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center}.stage-config-name{font-size:13px;color:var(--text-main)}.stage-config-row select{width:100%;min-width:0;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-family:inherit;font-size:12px}.stage-model-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:8px}.stage-model-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-main)}.stage-model-table th,.stage-model-table td{padding:6px 8px;border-bottom:1px solid var(--border-subtle);text-align:center}.stage-model-table th{position:sticky;top:0;background:var(--bg-card);font-weight:600;white-space:nowrap}.stage-model-table th span{margin-left:3px}.stage-model-table th:first-child,.stage-model-table td.stage-model-name{text-align:left}.stage-model-table td.stage-model-name{white-space:nowrap}.stage-model-engine td{text-align:left;font-weight:700;color:var(--text-sub);background:var(--bg-muted)}.stage-model-table input[type=checkbox]{accent-color:var(--brand-500);width:16px;height:16px;cursor:pointer}@media(max-width:640px){.stage-config-row{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr)}.stage-model-table th span{display:none}}.btn-hamburger.is-helm{border-style:double;border-color:color-mix(in srgb,var(--purple-text) 60%,transparent);background:color-mix(in srgb,var(--purple) 8%,transparent)}.btn-hamburger.is-helm:hover{border-color:var(--purple-text);background:color-mix(in srgb,var(--purple) 18%,transparent)}.active-project-badge.is-helm{background:color-mix(in srgb,var(--purple) 12%,transparent);border:3px double color-mix(in srgb,var(--purple-text) 60%,transparent)}.active-project-badge.is-helm:hover{background:color-mix(in srgb,var(--purple) 22%,transparent);border-color:var(--purple-text)}.active-project-badge.is-helm .badge-project-title{color:var(--purple-text)}.active-project-badge.is-helm .badge-branch{background:color-mix(in srgb,var(--purple) 22%,transparent);color:var(--purple-text)}.branch-tab.is-helm{border-style:double}.branch-tab.is-helm:hover{border-color:var(--purple-text);color:var(--text-main)}.branch-tab.is-helm.active{background:color-mix(in srgb,var(--purple) 16%,transparent);border-color:var(--purple-text);color:var(--purple-text)}.btn-queue,.btn-tasks{position:relative}.btn-queue .queue-count,.btn-tasks .task-count{position:absolute;top:-5px;right:-5px;min-width:16px;padding:0 4px;border-radius:8px;background:var(--brand-500);color:var(--on-accent);font-size:10px;font-weight:700;line-height:16px;text-align:center}.btn-queue.is-running{border-color:var(--brand-500)}.btn-queue.is-paused .queue-count{background:var(--amber)}.work-tab-queue{flex-shrink:0;padding:0 4px;border-radius:6px;background:color-mix(in srgb,var(--brand-500) 22%,transparent);color:var(--brand-text);font-size:10px;font-weight:700;line-height:15px;cursor:pointer;transition:transform .1s ease,background .15s ease}.work-tab-queue:hover{transform:scale(1.1);background:color-mix(in srgb,var(--brand-500) 35%,transparent)}.work-tab.is-active .work-tab-queue{background:color-mix(in srgb,var(--on-brand-strong) 25%,transparent);color:var(--on-brand-strong)}.queue-card.is-highlighted{animation:queue-highlight-pulse 2.5s ease-out}@keyframes queue-highlight-pulse{0%{box-shadow:0 0 0 2px var(--brand-500),0 0 12px color-mix(in srgb,var(--brand-500) 40%,transparent)}to{box-shadow:none}}.work-tab-prio{flex-shrink:0;padding:0 4px;border-radius:6px;border:1px solid color-mix(in srgb,var(--brand-500) 45%,transparent);color:var(--brand-text);font-size:10px;font-weight:700;line-height:13px}.work-tab.is-active .work-tab-prio{border-color:color-mix(in srgb,var(--on-brand-strong) 45%,transparent);color:var(--on-brand-strong)}.work-tab-num{flex-shrink:0;font-size:11px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-right:2px}.work-tab.is-active .work-tab-num{color:var(--on-brand-strong)}.work-tab.is-group-root .work-tab-name:before{content:"⟦ ";color:var(--text-dim)}.work-tab.is-group-root .work-tab-name:after{content:" ⟧";color:var(--text-dim)}.work-tab.is-group-sub .work-tab-name:before{content:"{ ";color:var(--text-dim)}.work-tab.is-group-sub .work-tab-name:after{content:" }";color:var(--text-dim)}.work-tab.is-active.is-group-root .work-tab-name:before,.work-tab.is-active.is-group-root .work-tab-name:after,.work-tab.is-active.is-group-sub .work-tab-name:before,.work-tab.is-active.is-group-sub .work-tab-name:after{color:var(--on-brand-strong)}.work-tab-leaves-chip{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:1px 5px;font-size:11px;font-weight:600;line-height:1;border-radius:999px;background:color-mix(in srgb,var(--bg-muted) 85%,transparent);color:var(--text-dim);border:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;margin-left:2px;vertical-align:middle}.work-tab.is-active .work-tab-leaves-chip{background:color-mix(in srgb,var(--on-brand-strong) 20%,transparent);color:var(--on-brand-strong);border-color:color-mix(in srgb,var(--on-brand-strong) 40%,transparent)}.work-tab-leaves-chip:hover{background:var(--bg-muted-strong);color:var(--text-normal);border-color:var(--border-strong)}.work-tab-leaves-chip.is-running{color:var(--brand-500);border-color:var(--brand-500)}.work-tab-leaves-chip.is-error{color:var(--rose);border-color:var(--rose);background:color-mix(in srgb,var(--rose) 15%,transparent)}.work-tab-leaves-chip.is-unseen{color:var(--emerald-text);border-color:var(--emerald)}.work-tab-leaves-chip.is-expanded{font-size:10px;padding:1px 4px}.work-tab-leaves-chip .chip-spinner{display:inline-block;width:8px;height:8px;border:1.5px solid var(--border-subtle);border-top-color:var(--brand-500);border-radius:50%;animation:work-tab-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.work-tab-leaves-chip .chip-spinner{animation:none}}.work-tab.has-child-running{border-color:color-mix(in srgb,var(--brand-500) 50%,transparent)}.work-tab.has-child-error{border-color:color-mix(in srgb,var(--rose) 50%,transparent)}.modal-dialog.queue-dialog{max-width:1040px;width:94vw;height:min(90vh,820px);overflow:hidden;padding:0}.queue-filters{display:flex;flex-direction:column;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-bar)}.queue-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.queue-sched{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.queue-sched-state{color:var(--text-sub)}.queue-sched-state.is-on{color:var(--emerald-text)}.queue-sched-state.is-paused{color:var(--amber-text)}.queue-sched-btns{display:flex;flex-wrap:wrap;gap:6px}.queue-sched-block{padding:4px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--rose) 45%,transparent);background:color-mix(in srgb,var(--rose) 8%,transparent);color:var(--text-main);font-size:12px}.queue-link{padding:0;border:0;background:none;color:var(--brand-text);font:inherit;text-decoration:underline;cursor:pointer}.queue-chip-sep{width:1px;align-self:stretch;margin:2px 4px;background:var(--border)}.queue-chip{padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-sub);font-size:12px;cursor:pointer;white-space:nowrap}.queue-chip:hover:not(:disabled){border-color:var(--brand-text);color:var(--brand-text)}.queue-chip.is-on{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);font-weight:600}.queue-chip:disabled{opacity:.55;cursor:default}.queue-body{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px;align-items:start}.queue-col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-subtle)}.queue-col.is-running{border-color:color-mix(in srgb,var(--brand-500) 45%,var(--border-subtle))}.queue-col-head{display:flex;align-items:baseline;gap:8px;padding:0 4px}.queue-col-name{font-weight:700;font-size:13px;color:var(--text-main)}.queue-col-count{font-size:12px;color:var(--brand-text);font-weight:600}.queue-col-hint{margin-left:auto;font-size:11px;color:var(--text-muted)}.queue-list{display:flex;flex-direction:column;gap:8px;min-height:56px;border-radius:8px}.queue-list.is-drop-end{box-shadow:inset 0 -3px 0 var(--brand-500)}.queue-empty{padding:16px 8px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:12px;text-align:center}.queue-card{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.queue-card.is-dragging{opacity:.45}.queue-card.is-drop-before{box-shadow:0 -3px 0 var(--brand-500)}.queue-card.is-running{border-color:var(--brand-500)}.queue-card.is-review{border-color:var(--amber)}.queue-card.is-failed{border-color:var(--rose)}.queue-card.is-done{opacity:.7}.queue-card-row{display:flex;align-items:center;gap:6px;min-width:0}.queue-grip{cursor:grab;color:var(--text-dim);font-size:14px;-webkit-user-select:none;user-select:none;touch-action:none}.queue-num{min-width:22px;font-weight:700;font-size:12px;color:var(--brand-text)}.queue-type{font-size:14px}.queue-title{flex:1;min-width:0;padding:3px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-main);font-size:13px;font-weight:600}.queue-title:hover{border-color:var(--border)}.queue-title:focus{outline:none;border-color:var(--brand-500);background:var(--bg-input)}.queue-state{flex-shrink:0;font-size:11px;color:var(--text-muted);white-space:nowrap}.queue-card.is-running .queue-state{color:var(--brand-text)}.queue-card.is-review .queue-state{color:var(--amber-text)}.queue-card.is-failed .queue-state{color:var(--rose)}.queue-card.is-done .queue-state{color:var(--emerald-text)}.queue-meta{font-size:11px;color:var(--text-muted);overflow-wrap:anywhere}.queue-project{padding:0 5px;border-radius:4px;background:var(--bg-muted);color:var(--text-body)}.queue-project.is-missing{background:color-mix(in srgb,var(--rose) 18%,transparent);color:var(--rose)}.queue-note-line,.queue-result-line{margin-top:2px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-result-line.is-fail{color:var(--rose)}.queue-result{margin:0;padding:6px 8px;max-height:180px;overflow:auto;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-bar);color:var(--text-main);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.queue-actions{display:flex;flex-wrap:wrap;gap:4px}.queue-actions button{padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-sub);font-size:12px;cursor:pointer}.queue-actions button:hover{border-color:var(--brand-text);color:var(--brand-text)}.queue-actions button.is-primary{border-color:var(--brand-500);color:var(--brand-text);font-weight:600}.queue-actions button.is-ok{border-color:var(--emerald);color:var(--emerald-text)}.queue-actions button.is-danger{margin-left:auto}.queue-actions button.is-danger:hover{border-color:var(--rose);color:var(--rose)}.queue-detail{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.queue-field{display:flex;flex-direction:column;gap:4px;min-width:0}.queue-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.queue-label{font-size:11px;font-weight:600;color:var(--text-muted)}.queue-detail input,.queue-detail select,.queue-detail textarea{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font-size:12px;font-family:inherit}.queue-detail textarea{resize:vertical;font-family:var(--font-mono)}.queue-detail input:focus,.queue-detail select:focus,.queue-detail textarea:focus{outline:none;border-color:var(--brand-500)}.queue-detail-foot{display:flex;flex-wrap:wrap;gap:6px}.queue-status{min-height:26px;padding:4px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-bar);color:var(--text-muted);font-size:12px}@media(max-width:720px){.queue-body{grid-template-columns:1fr;padding:10px}.queue-filters{padding:8px 10px}.queue-field-grid{grid-template-columns:1fr}.queue-col-hint{display:none}}.studio-rails{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;flex:1;min-height:0}.rails-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.app-rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;overflow-y:auto;background:var(--bg-panel);border-inline:1px solid var(--border)}.rail-group{display:flex;width:100%;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.rail-actions{margin-top:auto;padding-top:4px;border-top:1px solid var(--border)}.rail-actions[hidden]{display:none}.rail-sep{flex-shrink:0;width:28px;height:2px;margin:4px 0;border-radius:1px;background:var(--org-color, var(--border-strong))}.rail-button{position:relative;flex-shrink:0;width:44px;min-height:44px;border:0;border-inline-start:3px solid transparent;background:transparent;color:var(--text-main);font-size:20px;cursor:pointer}.rail-button:hover{background:var(--bg-elevated-hover)}.rail-button[aria-current=true],.rail-button[aria-pressed=true]{background:color-mix(in srgb,var(--brand-500) 15%,transparent);border-inline-start-color:var(--brand-500);color:var(--brand-text)}.rail-button:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}.rail-tooltip{position:fixed;z-index:2300;max-width:min(320px,calc(100vw - 16px));padding:8px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-elevated);color:var(--text-main);box-shadow:0 4px 16px var(--shadow-color);font-size:13px;line-height:1.4;overflow-wrap:anywhere;pointer-events:none}.rail-tooltip[hidden]{display:none}.rail-badge{position:absolute;inset-inline-end:0;bottom:0;font:9px monospace;padding:1px;border-radius:3px;background:var(--bg-panel)}.rail-tool-badge{position:absolute;inset-inline-end:0;bottom:0;font:9px monospace;padding:1px;border-radius:3px;background:var(--bg-panel);color:var(--text-muted);pointer-events:none}.rail-button.is-pending .rail-tool-badge{color:var(--brand-text);font-weight:600}.rail-tool-count{position:absolute;inset-inline-end:1px;top:1px;min-width:14px;padding:1px 3px;border-radius:7px;background:var(--brand-500);color:var(--on-accent);font:9px monospace;text-align:center;pointer-events:none}.rail-tab-count{position:absolute;inset-inline-end:2px;top:2px;min-width:14px;padding:1px 3px;border-radius:7px;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-main);font:9px/1 monospace;text-align:center;pointer-events:none}.rail-button[aria-current=true] .rail-tab-count{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent)}.rail-badge.is-error{color:var(--rose)}.rail-badge.is-running{color:var(--brand-text)}.rail-badge.is-ok{color:var(--emerald-text)}.rail-button[aria-disabled=true]{opacity:.4;cursor:default}.rail-button svg{width:24px;height:24px}.rail-actions .btn-header-new-session:not([hidden]){display:inline-flex}.rails-tools-ready>#codePane{display:none!important}.studio-main.rails-tools-ready:not(.has-tool){grid-template-columns:minmax(0,1fr)}.rails-tools-ready:not(.has-tool)>#paneSplitter{display:none}.rails-tools-ready:not(.has-tool)>#chatPane{display:flex!important}.tool-panel{grid-column:3;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-panel);overflow:hidden}.tool-panel[hidden],.tool-host[hidden]{display:none}.tool-panel-header{display:flex;justify-content:space-between;align-items:center;padding-inline-start:12px;border-bottom:1px solid var(--border);flex-shrink:0}.tool-host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.tool-host>.workspace-view{flex:1;min-height:0}.tool-host>.cmds-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;box-shadow:none;border-radius:0}.tool-host .cmds-dialog>.modal-header{display:none}.studio-rails.rails-hidden{grid-template-columns:minmax(0,1fr)}.rails-hidden>.app-rail{display:none}.tool-unavailable{padding:16px;color:var(--text-muted)}.btn-tools{display:none;min-width:40px;min-height:40px}#app:has(.rails-hidden) .btn-tools{display:inline-flex}.drawer-repo-badge{font:11px monospace;color:var(--emerald-text)}.drawer-repo-badge[data-state="[X]"]{color:var(--rose)}.drawer-repo-badge[data-state="[~]"]{color:var(--brand-text)}.tool-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center}.tool-sheet-overlay[hidden]{display:none}.tool-sheet{width:min(100%,480px);max-height:80%;overflow-y:auto;padding-bottom:var(--safe-bottom);background:var(--bg-panel);border:1px solid var(--border);border-radius:16px 16px 0 0}.tool-sheet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:8px}.tool-sheet-list .rail-button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px;text-align:start}.tool-sheet-list .rail-button span{font-size:14px}.tool-host #projectOverviewView{overflow-y:auto}@media(max-width:900px){.studio-rails{grid-template-columns:minmax(0,1fr)}.app-rail{display:none}.btn-tools{display:inline-flex}.studio-main.rails-tools-ready{display:flex!important}.rails-tools-ready>#paneSplitter{display:none}.rails-tools-ready>#chatPane{width:100%;flex:1;display:flex!important}.rails-tools-ready.has-tool>#chatPane{visibility:hidden}.tool-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.tool-host button{min-width:40px;min-height:40px}.tool-host input,.tool-host select{min-height:40px}.drawer-item-more,.project-drawer .branch-tab{min-width:40px;min-height:40px}}.tool-panel-actions{display:flex;align-items:center}.tool-full-toggle{font-size:18px}@media(max-width:820px){.tool-full-toggle{display:none}}@media(min-width:821px)and (max-width:900px){.studio-rails:not(.rails-hidden){grid-template-columns:48px minmax(0,1fr) 48px}.studio-rails:not(.rails-hidden)>.app-rail{display:flex}#app:has(.studio-rails:not(.rails-hidden)) .btn-tools{display:none}.studio-main.rails-tools-ready:not(.tool-full){display:grid!important}.studio-main.rails-tools-ready.has-tool:not(.tool-full)>#paneSplitter{display:block}.studio-main.rails-tools-ready.has-tool:not(.tool-full)>#chatPane{visibility:visible;width:auto}.studio-main.rails-tools-ready.has-tool.split-chat-hidden:not(.tool-full)>#chatPane{display:none!important}.studio-main:not(.tool-full)>.tool-panel{position:static;inset:auto;z-index:auto;padding:0}}@media(min-width:901px){.studio-main.tool-full>#chatPane,.studio-main.tool-full>#paneSplitter{display:none!important}.studio-main.tool-full>.tool-panel{grid-column:1 / -1}}@media(min-width:821px){#app:has(.studio-rails:not(.rails-hidden)) :is(.work-tabs-new,.work-tabs-sessions){display:none}}.sp-root{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.sp-bar{display:flex;gap:6px;padding:8px 10px 4px;flex-shrink:0}.sp-bar select,.sp-bar input{min-width:0;min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-main);font:inherit;font-size:13px;padding:2px 8px}.sp-bar input{flex:1}.sp-bar select[hidden]{display:none}.sp-btn{flex-shrink:0;min-height:32px;padding:2px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-sub);font:inherit;font-size:12px;cursor:pointer}.sp-btn:hover:not(:disabled){color:var(--text-main);border-color:var(--brand-500)}.sp-btn:disabled{opacity:.5;cursor:default}.sp-btn.is-spinning{animation:work-tabs-spin .8s linear infinite}.sp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px;flex-shrink:0}.sp-chip{min-height:28px;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-sub);font:inherit;font-size:12px;cursor:pointer}.sp-chip:hover{color:var(--text-main);border-color:var(--brand-500)}.sp-chip.is-on{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);font-weight:600}.sp-actions{display:flex;padding:2px 10px 6px;flex-shrink:0}.sp-open-all{flex:1}.sp-scroll{flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--border-subtle);overscroll-behavior:contain}.sp-summary{padding:6px 12px 2px;font-size:11px;color:var(--text-muted)}.sp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px;padding:6px 10px 12px}.sp-empty{grid-column:1 / -1;margin:0;padding:18px 8px;text-align:center;font-size:13px;color:var(--text-muted)}.sp-card{display:flex;align-items:stretch;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.sp-card:hover{border-color:var(--brand-500)}.sp-card.is-open{border-color:var(--brand-strong);background:color-mix(in srgb,var(--brand-500) 12%,var(--bg-card))}.sp-card.is-parked,.sp-card.is-archived{opacity:.8}.sp-card-main{display:flex;flex:1;gap:8px;min-width:0;padding:8px 6px 8px 10px;border:0;background:transparent;color:var(--text-main);font:inherit;text-align:left;cursor:pointer}.sp-card-icon{flex-shrink:0;font-size:16px;line-height:1.3}.sp-card-body{display:flex;flex-direction:column;gap:3px;min-width:0}.sp-card-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.sp-card-meta{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-card-flags{display:flex;flex-wrap:wrap;gap:4px}.sp-flag{padding:0 6px;border-radius:8px;background:var(--bg-muted);color:var(--text-sub);font-size:10px;line-height:16px}.sp-flag.is-open,.sp-flag.is-running{background:color-mix(in srgb,var(--brand-500) 22%,transparent);color:var(--brand-text)}.sp-flag.is-ok{background:color-mix(in srgb,var(--emerald) 20%,transparent);color:var(--emerald-text)}.sp-flag.is-error{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}.sp-flag.is-warning{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber-text)}.sp-flag.is-task{background:color-mix(in srgb,var(--purple) 20%,transparent);color:var(--purple-text)}.sp-flag.is-branch{background:color-mix(in srgb,var(--brand-500) 22%,transparent);color:var(--brand-text)}.sp-flag.is-side{background:color-mix(in srgb,var(--emerald) 20%,transparent);color:var(--emerald-text)}.sp-card.is-child{border-left:3px solid var(--brand-500);background:color-mix(in srgb,var(--brand-500) 5%,var(--bg-card))}.sp-card-btn{flex-shrink:0;align-self:center;min-height:30px;padding:2px 8px;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer}.sp-card-btn:hover{color:var(--brand-text)}.sp-card-menu{font-size:16px;padding:2px 10px}.modal-overlay.tasks-page{padding:0;background:var(--bg-panel);-webkit-backdrop-filter:none;backdrop-filter:none}.modal-dialog.tasks-dialog{max-width:none;max-height:none;width:100%;height:100%;overflow:hidden;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);border:none;border-radius:0;box-shadow:none;background:var(--bg-panel);display:flex;flex-direction:column}.tasks-page-header{justify-content:flex-start;gap:12px;padding:10px 16px;background:var(--bg-bar)}.tasks-page-back{min-width:32px;min-height:32px;font-size:20px}.tasks-section-switch{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--border);border-radius:999px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tasks-section-switch::-webkit-scrollbar{display:none}.tasks-section-btn{min-height:28px;padding:2px 12px;border:none;border-radius:999px;background:transparent;color:var(--text-sub);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0}.tasks-section-btn:hover{color:var(--text-main)}.tasks-section-btn[aria-selected=true]{background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);font-weight:600}.tasks-page-header .tasks-header-actions{margin-left:auto}.tasks-page .tasks-section{display:none;flex:1;min-height:0;flex-direction:column}.tasks-page[data-section=ideas] .tasks-section[data-section=ideas],.tasks-page[data-section=bugs] .tasks-section[data-section=bugs],.tasks-page[data-section=tasks] .tasks-section[data-section=tasks],.tasks-page[data-section=sprints] .tasks-section[data-section=sprints],.tasks-page[data-section=hrns] .tasks-section[data-section=hrns]{display:flex}.tasks-page:not([data-section=tasks]) #btnNewTask{display:none}.task-project-badge{margin-right:auto;margin-left:6px;padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--brand-500) 12%,transparent);color:var(--brand-text);font-family:var(--font-mono);font-size:11px}.tasks-detail-back{display:none;align-self:flex-start;margin-bottom:10px}.tasks-header-title{display:flex;align-items:center;gap:8px}.tasks-header-icon{font-size:18px}.tasks-header-title h3{margin:0;font-size:16px;font-weight:600;color:var(--text-main)}.tasks-header-actions{display:flex;align-items:center;gap:8px}.tasks-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-bar)}.tasks-search-wrap{flex:1;min-width:200px}.tasks-search-input{width:100%;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-main);font-size:13px;outline:none}.tasks-search-input:focus{border-color:var(--brand-500)}.tasks-status-filter{display:flex;flex-wrap:wrap;gap:6px}.btn-filter-chip{min-height:28px;padding:2px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-sub);font:inherit;font-size:12px;cursor:pointer}.btn-filter-chip:hover{color:var(--text-main);border-color:var(--brand-500)}.btn-filter-chip.active{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 18%,transparent);color:var(--brand-text);font-weight:600}.tasks-modal-body{flex:1;min-height:0;display:flex;overflow:hidden;background:var(--bg-panel)}.tasks-list-pane{width:380px;min-width:300px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;background:var(--bg-dark);overflow:hidden}.tasks-list-pane#hrnsList,.tasks-list-pane#ideasList,.tasks-list-pane#bugsList{overflow-y:auto;padding:12px;gap:8px}.tasks-list-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.tasks-list-bottom-bar{flex-shrink:0;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-bar);overflow-x:auto;scrollbar-width:none}.tasks-list-bottom-bar::-webkit-scrollbar{display:none}.tasks-list-bottom-bar .tasks-status-filter{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.tasks-list-bottom-bar .btn-filter-chip{flex-shrink:0;white-space:nowrap}.tasks-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;gap:12px;color:var(--text-muted);text-align:center}.tasks-empty-state .empty-icon{font-size:32px}.sprints-placeholder-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center;gap:12px}.sprints-placeholder-icon{font-size:40px}.sprints-placeholder-title{margin:0;font-size:16px;font-weight:600;color:var(--text-main)}.sprints-placeholder-desc{margin:0;max-width:480px;font-size:13px;color:var(--text-muted);line-height:1.5}.sprint-section-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:14px}.sprint-section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sprint-section-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-main)}.sprint-goal-content{font-size:.9rem;color:var(--text-main);line-height:1.5}.sprint-readiness-box{padding:12px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle)}.sprint-gate-badge{display:inline-block;padding:5px 12px;font-weight:600;font-size:.85rem;border-radius:var(--radius-sm);margin-bottom:8px}.sprint-gate-pass{background:color-mix(in srgb,var(--accent-success) 15%,transparent);color:var(--accent-success);border:1px solid var(--accent-success)}.sprint-gate-fail{background:color-mix(in srgb,var(--accent-danger) 15%,transparent);color:var(--accent-danger);border:1px solid var(--accent-danger)}.sprint-dag-status{font-size:.85rem;color:var(--text-main)}.sprint-topo-chain{margin-top:10px;padding:8px 10px;background:var(--bg-card);border-radius:var(--radius-sm);border:1px dashed var(--border-subtle)}.sprint-topo-label{font-size:.8rem;font-weight:600;color:var(--text-muted);display:block;margin-bottom:4px}.sprint-topo-nodes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sprint-topo-node{padding:2px 8px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--brand-text);border:1px solid var(--border-subtle)}.sprint-topo-arrow{color:var(--text-muted);font-weight:700}.sprint-readiness-errors{margin-top:10px;padding:8px 10px;background:color-mix(in srgb,var(--accent-danger) 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent-danger) 30%,transparent)}.sprint-readiness-errors h4{margin:0 0 4px;font-size:.85rem;color:var(--accent-danger)}.sprint-readiness-errors ul{margin:0;padding-left:18px;font-size:.8rem;color:var(--text-main)}.sprint-readiness-warnings{margin-top:8px;padding:8px 10px;background:color-mix(in srgb,var(--accent-warning) 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent-warning) 30%,transparent)}.sprint-readiness-warnings h4{margin:0 0 4px;font-size:.85rem;color:var(--accent-warning)}.sprint-readiness-warnings ul{margin:0;padding-left:18px;font-size:.8rem;color:var(--text-main)}.sprint-ready-banner{display:flex;gap:10px;align-items:center;padding:10px 14px;background:color-mix(in srgb,var(--accent-success) 15%,transparent);border:1px solid var(--accent-success);border-radius:var(--radius-sm);margin-top:10px}.sprint-ready-icon{font-size:1.3rem;color:var(--accent-success);font-weight:700}.sprint-ready-text strong{color:var(--accent-success);font-size:.9rem}.sprint-ready-text p{margin:2px 0 0;font-size:.8rem;color:var(--text-main)}.sprint-ready-action-bar{display:flex;flex-direction:column;gap:4px}.sprint-ready-hint{font-size:.75rem;color:var(--text-muted)}.sprint-tasks-list{display:flex;flex-direction:column;gap:8px}.sprint-task-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle)}.sprint-task-idx{font-size:.85rem;font-weight:700;color:var(--text-muted);width:24px;text-align:center}.sprint-task-info{flex:1;min-width:0}.sprint-task-title-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sprint-task-id{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.sprint-task-title{font-weight:600;font-size:.9rem;color:var(--text-main)}.sprint-task-meta{display:flex;gap:12px;align-items:center;margin-top:4px}.sprint-task-deps{display:flex;gap:6px;align-items:center}.sprint-dep-tag{padding:1px 6px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.75rem;color:var(--brand-text)}.sprint-dep-none{color:var(--text-muted);font-style:italic;font-size:.75rem}.sprint-task-scope{color:var(--text-muted);font-size:.75rem}.sprint-task-actions{display:flex;gap:6px;align-items:center}.sprint-no-tasks{padding:20px;text-align:center;color:var(--text-muted);font-size:.85rem;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm)}.sprint-edit-form{display:flex;flex-direction:column;gap:14px}.task-card-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);cursor:pointer;margin-left:calc(var(--tree-depth, 0) * 16px);transition:border-color .15s,background-color .15s}.task-card-item:hover{border-color:var(--border-strong);background:var(--bg-elevated-hover)}.task-card-item.active{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 10%,var(--bg-card))}.task-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.task-card-header-left{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.task-tree-caret{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:2px 4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;transition:transform .15s ease,color .15s ease}.task-tree-caret:hover{color:var(--text-main);background:var(--bg-muted)}.task-tree-caret.is-expanded{transform:rotate(90deg)}.task-tree-leaf-spacer{display:inline-block;width:14px;flex-shrink:0}.task-parent-badge{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);background:color-mix(in srgb,var(--border-subtle) 50%,transparent);padding:1px 4px;border-radius:4px;white-space:nowrap}.task-id-badge{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.task-status-chip{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.task-status-todo{background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-body);border-color:var(--border)}.task-status-doing{background:color-mix(in srgb,var(--blue) 20%,transparent);color:var(--blue-text);border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.task-status-review{background:color-mix(in srgb,var(--purple) 20%,transparent);color:var(--purple-text);border-color:color-mix(in srgb,var(--purple) 40%,transparent)}.task-status-done{background:color-mix(in srgb,var(--emerald) 20%,transparent);color:var(--emerald-text);border-color:color-mix(in srgb,var(--emerald) 40%,transparent)}.task-status-failed{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose);border-color:color-mix(in srgb,var(--rose) 40%,transparent)}.task-card-title{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.4;word-break:break-word}.task-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px}.task-time-text{font-size:11px;color:var(--text-dim)}.task-card-meta-links{display:flex;align-items:center;gap:6px}.task-sessions-badge{font-size:11px;color:var(--brand-text);background:color-mix(in srgb,var(--brand-500) 15%,transparent);padding:1px 6px;border-radius:4px}.btn-task-open-sess{padding:2px 6px;font-size:11px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-soft);cursor:pointer}.btn-task-open-sess:hover{border-color:var(--brand-500);color:var(--brand-text)}.btn-task-create-child{padding:2px 6px;font-size:11px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-soft);cursor:pointer;transition:border-color .15s,color .15s}.btn-task-create-child:hover{border-color:var(--brand-500);color:var(--brand-text)}.tasks-detail-pane{flex:1;min-width:0;overflow-y:auto;padding:16px;background:var(--bg-panel)}.task-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.task-detail-container{display:flex;flex-direction:column;gap:16px}.task-detail-header{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.task-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.task-title-input{flex:1;font-size:17px;font-weight:700;color:var(--text-strong);background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;outline:none}.task-title-input:hover{border-color:var(--border)}.task-title-input:focus{border-color:var(--brand-500);background:var(--bg-input)}.task-detail-meta-bar{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-muted)}.task-detail-meta-bar code{font-family:var(--font-mono);color:var(--text-soft)}.task-detail-meta-bar .meta-copy{min-width:0;max-width:100%}.task-detail-meta-bar .meta-copy code{overflow-wrap:anywhere;word-break:break-all}.task-detail-meta-bar .meta-label{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.meta-icon{flex:0 0 auto}.meta-copy-btn{margin-left:6px;padding:0 6px;min-height:22px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-sub);font:inherit;font-size:12px;cursor:pointer;vertical-align:middle}.meta-copy-btn:hover{color:var(--brand-text);border-color:var(--brand-500)}.task-detail-actions-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.task-detail-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:14px;margin-top:4px;border-top:1px solid var(--border-subtle)}.task-detail-layout{display:flex;gap:20px;align-items:flex-start;width:100%}.task-detail-main{flex:1 1 65%;min-width:0}.task-detail-side{flex:0 0 320px;max-width:380px;display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.task-detail-layout{flex-direction:column}.task-detail-side{display:none}.task-editor-tabs [data-tab=info]{display:inline-flex}}@media(min-width:901px){.task-editor-tabs [data-tab=info]{display:none}}.task-side-actions{margin-top:12px;display:flex;justify-content:flex-end}.task-detail-sections{display:flex;flex-direction:column;gap:14px}.task-detail-box{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card)}.task-detail-box.half{flex:1;min-width:0}.task-detail-dual-row{display:flex;gap:12px}.task-detail-box .box-title{font-size:13px;font-weight:600;color:var(--text-soft)}.task-detail-box .box-content{display:flex;flex-direction:column;gap:6px}.box-empty-hint{font-size:12px;color:var(--text-muted);font-style:italic}.task-session-list{display:flex;flex-direction:column;gap:6px}.task-session-link-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-main);font-size:13px;cursor:pointer}.task-session-link-item:hover{border-color:var(--brand-500);color:var(--brand-text)}.task-asset-item{font-size:12px;color:var(--text-body);font-family:var(--font-mono)}.task-parent-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:6px;background:color-mix(in srgb,var(--brand-500) 10%,var(--bg-card));border:1px solid color-mix(in srgb,var(--brand-500) 30%,transparent);font-size:12px;color:var(--text-body);margin-bottom:12px}.task-parent-banner strong{color:var(--brand-text)}.btn-clear-parent{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px;transition:color .15s,border-color .15s}.btn-clear-parent:hover{color:var(--rose);border-color:var(--rose)}.task-hierarchy-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;margin-bottom:8px}.hierarchy-label{color:var(--text-muted);font-weight:500}.hierarchy-parent-ref{font-family:var(--font-mono);color:var(--brand-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.hierarchy-root-tag{color:var(--text-dim);font-style:italic}.task-children-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;margin-bottom:8px;padding-left:8px;border-left:2px solid var(--border-subtle)}.children-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.task-child-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;background:var(--bg-muted);cursor:pointer;font-size:12px;transition:background-color .15s}.task-child-item:hover{background:var(--bg-elevated-hover)}.task-child-item .child-id{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.task-child-item .child-title{color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-hierarchy-actions{margin-top:8px}.task-reparent-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.task-reparent-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:16px;width:90%;max-width:480px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.task-parent-select{width:100%;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-body);font-size:13px;outline:none}.task-parent-select:focus{border-color:var(--brand-500)}.task-desc-editor{width:100%;padding:10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-main);font-family:var(--font-mono);font-size:13px;line-height:1.5;resize:vertical;outline:none}.task-desc-editor:focus{border-color:var(--brand-500)}.desc-editor-footer{display:flex;justify-content:flex-end}.task-editor-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.task-editor-tabs [aria-selected=true]{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent)}.task-editor-tabs button:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}.task-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:var(--text-main)}.task-form-field .task-desc-editor{box-sizing:border-box;font-family:inherit}.task-editor-title-wrap{margin-top:10px;margin-bottom:12px}.task-title-field{margin-bottom:0}.task-title-field .task-title-input{font-size:18px;font-weight:700;color:var(--text-strong);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 12px;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.task-title-field .task-title-input:hover{border-color:var(--brand-500)}.task-title-field .task-title-input:focus{border-color:var(--brand-500);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-500) 20%,transparent)}.task-custom-sections{display:flex;flex-direction:column;gap:8px;margin-top:8px}.task-section-item{margin-bottom:4px}.task-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.btn-section-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--text-muted);border-radius:4px;font-size:13px;cursor:pointer;transition:color .15s ease,background .15s ease}.btn-section-remove:hover{color:var(--text-danger);background:color-mix(in srgb,var(--text-danger) 12%,transparent)}.task-add-section-wrap{margin-top:12px;margin-bottom:16px}.task-add-section-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-card)}.task-quick-section-chips{display:flex;flex-wrap:wrap;gap:6px}.task-add-section-row{display:flex;align-items:center;gap:8px}.task-custom-sec-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font-size:13px;outline:none}.task-custom-sec-input:focus{border-color:var(--brand-500)}.task-editor-advanced{margin-top:10px;margin-bottom:14px;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;background:color-mix(in srgb,var(--bg-card) 60%,transparent)}.task-editor-advanced[open]{background:var(--bg-card)}.task-editor-advanced-summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-sub);-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.task-editor-advanced-summary:hover{color:var(--brand-text)}.task-editor-advanced-fields{margin-top:12px;display:flex;flex-direction:column}.task-editor-hint,.task-editor-status{color:var(--text-muted);font-size:12px}.task-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.task-editor-footer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-preview{color:var(--text-body);overflow-wrap:anywhere;line-height:1.6}.task-preview h2{font-size:16px;margin-top:20px;color:var(--text-main)}.task-preview pre,.task-preview table{max-width:100%;overflow-x:auto}.task-decisions{list-style:none;margin:8px 0 0;padding:0}.task-decisions li{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.task-decision-text{flex:1;min-width:0}.task-decision-to-criterion{flex-shrink:0;white-space:nowrap}.task-decision-to-criterion:disabled{opacity:.6;cursor:default}@media(max-width:520px){.task-decisions li{flex-direction:column;align-items:stretch}.task-decision-to-criterion{align-self:flex-start}}@media(max-width:768px){.tasks-list-pane{width:100%;min-width:0;flex:1;border-right:none}.tasks-detail-pane,.tasks-page.is-detail .tasks-list-pane,.tasks-page.is-detail .tasks-toolbar{display:none}.tasks-page.is-detail .tasks-detail-pane{display:block}.tasks-detail-back{display:inline-flex}.task-detail-dual-row{flex-direction:column}.tasks-page-header{gap:8px;padding:8px 10px}.tasks-page-header .tasks-header-title h3{display:none}}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-input{font:inherit;font-size:14px;padding:8px 10px;border-radius:8px;min-width:0;background:var(--bg-input);color:var(--text-main);border:1px solid var(--border)}.auth-input:focus{outline:2px solid var(--brand-500);outline-offset:1px}.auth-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-body)}.auth-notice{margin:0;font-size:13px;color:var(--emerald-text)}.auth-notice.is-error,.settings-hint.is-error{color:var(--rose)}.auth-who{margin:0;font-size:15px;color:var(--text-main)}.auth-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:var(--brand-strong);color:var(--on-brand-strong)}.auth-badge.is-off{background:var(--rose);color:var(--on-accent)}.auth-badge.is-me{background:var(--bg-muted-strong);color:var(--text-soft)}.auth-users{display:flex;flex-direction:column;gap:10px}.auth-user{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-subtle)}.auth-profile{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-sub)}.auth-actions{display:flex;flex-wrap:wrap;gap:6px}.auth-actions .btn-secondary{padding:4px 9px;font-size:12px}.btn-secondary.is-danger{color:var(--rose)}.auth-grant-user{padding:10px 12px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-subtle)}.auth-grant-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:6px;align-items:center}.auth-audit{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-body);max-height:260px;overflow:auto}.auth-audit li.is-denied{color:var(--rose)}.auth-audit-time,.auth-audit-extra{color:var(--text-dim)}#settingsUsersPane,#settingsGrantsPane,#settingsAccountPane{min-width:0}.settings-body[hidden],.settings-tab[hidden]{display:none}@media(max-width:520px){.auth-grant-row{grid-template-columns:1fr 1fr auto}.auth-grant-row [data-field=target]{grid-column:1 / -1}}#headerDropdownMenu [data-auth-only][hidden]{display:none}html[data-auth-role=user] [data-admin-only]{display:none!important}.side-ask-btn{position:fixed;z-index:1200;padding:7px 12px;background:var(--brand-500);color:var(--on-accent);border:none;border-radius:999px;font:inherit;font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:0 6px 20px var(--shadow-color)}.side-ask-btn:hover{background:var(--brand-hover)}.side-ask-btn[hidden]{display:none}.composer-chip.composer-ask-side,.composer-chip.composer-bring-back{border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-weight:500;cursor:pointer;white-space:nowrap;width:var(--composer-btn);height:var(--composer-btn);min-height:var(--composer-btn);padding:0;justify-content:center;flex-shrink:0;font-size:15px}.composer-chip.composer-ask-side:hover,.composer-chip.composer-bring-back:hover{background:var(--bg-elevated-hover);border-color:var(--brand-500)}.composer-chip.composer-bring-back{color:var(--brand-text);border-color:color-mix(in srgb,var(--brand-500) 40%,transparent)}.modal-dialog.session-edit-dialog{max-width:520px;width:92vw}.modal-dialog.session-edit-dialog.is-fullscreen{max-width:100vw;width:100vw;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.modal-dialog.session-edit-dialog.is-fullscreen .session-edit-body{max-height:none;flex:1}.session-edit-header-actions{display:flex;align-items:center;gap:8px}.btn-fullscreen-toggle{background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.btn-fullscreen-toggle:hover{color:var(--text);background:var(--surface-2)}.session-edit-header-title{display:flex;align-items:center;gap:10px}.session-edit-format{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-sub) 15%,transparent);color:var(--text-sub)}.session-edit-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;max-height:min(70vh,560px);overflow-y:auto}.session-edit-body.is-loading{opacity:.6;pointer-events:none}.session-edit-body textarea{resize:vertical;min-height:84px}.session-edit-count.is-over{color:var(--amber-text)}.session-edit-note{margin:0;padding:8px 10px;border-radius:6px;font-size:12px;background:color-mix(in srgb,var(--brand-500) 12%,transparent);color:var(--brand-text)}.session-edit-images-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.session-edit-images-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;min-height:36px;align-items:center}.session-edit-images-empty{font-size:12px;color:var(--text-muted);font-style:italic}.session-edit-image-card{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-size:11px}.session-edit-image-thumb{width:28px;height:28px;object-fit:cover;border-radius:4px;cursor:pointer}.session-edit-image-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.session-edit-images-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.task-priority-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-main);border-radius:6px;padding:2px 6px;font-size:12px}.modal-dialog.session-info-dialog{max-width:560px;width:92vw}.session-info-header-title{display:flex;align-items:center;gap:10px}.session-info-header-icon{font-size:18px}.session-info-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.session-info-badge.is-active{background:color-mix(in srgb,var(--brand-500) 20%,transparent);color:var(--brand-text)}.session-info-badge.is-draft{background:color-mix(in srgb,var(--text-sub) 15%,transparent);color:var(--text-sub)}.session-info-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;max-height:min(80vh,620px);overflow-y:auto}.session-info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.session-info-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding-bottom:8px}.session-info-card-title{font-size:13px;font-weight:700;color:var(--text-main)}.session-info-session-id{font-size:11px;color:var(--text-sub)}.session-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.session-info-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.session-info-field.is-full{grid-column:1 / -1}.session-info-label{font-size:11px;color:var(--text-sub);font-weight:600}.session-info-val{color:var(--text-main)}.profile-name-tag{font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--brand-500) 15%,transparent);color:var(--brand-text)}.profile-label-text{font-size:13px;color:var(--text-main);margin:0}.profile-engines-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.profile-engine-tag{font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--border)}.profile-engine-tag.is-ok{background:color-mix(in srgb,var(--brand-500) 10%,transparent);color:var(--brand-text)}.profile-engine-tag.is-err{background:color-mix(in srgb,var(--rose) 10%,transparent);color:var(--text-sub);opacity:.7}.session-info-hint{font-size:11px;color:var(--text-sub);margin:4px 0 0}.session-info-fork-box{border-color:color-mix(in srgb,var(--brand-500) 30%,transparent)}.session-info-fork-desc{font-size:12px;color:var(--text-sub);margin:0;line-height:1.5}.session-info-fork-form,.session-info-new-box{display:flex;flex-direction:column;gap:10px}.session-info-actions{display:flex;justify-content:flex-end;margin-top:6px}.session-info-project-config{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:color-mix(in srgb,var(--bg-input) 60%,transparent);border-radius:6px}.session-info-project-config .checkbox-label{font-size:12px;display:flex;align-items:center;gap:6px;cursor:pointer}.decision-pin{position:fixed;z-index:60;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--bg-card) 92%,transparent);color:var(--text-main);font-size:13px;line-height:1;cursor:pointer;box-shadow:0 2px 8px var(--shadow-soft)}.decision-pin:hover{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 18%,var(--bg-card))}.decision-pin[hidden]{display:none}.decision-pin:focus-visible,.decision-tool:focus-visible,.decision-card-btn:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}.chat-line.is-decided,.chat-bullet.is-decided,.chat-table tr.is-decided{box-shadow:inset 2px 0 0 var(--brand-500)}.decision-card{display:block;margin:6px 0;padding:8px;border:1px solid color-mix(in srgb,var(--brand-500) 50%,var(--border));border-radius:8px;background:var(--bg-card);white-space:normal}.decision-card-note{margin-bottom:6px;color:var(--amber-text);font-size:12px}.decision-card-text,.decision-edit{display:block;width:100%;min-height:64px;resize:vertical;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font:inherit;font-size:13px}.decision-card-text:focus,.decision-edit:focus{outline:none;border-color:var(--brand-500)}.decision-card-bar,.decision-item-bar{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:6px}.decision-card-msg{flex:1;min-width:0;color:var(--text-muted);font-size:12px}.decision-card-btn{padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-muted);color:var(--text-body);font-size:12px;cursor:pointer}.decision-card-btn:disabled{opacity:.5;cursor:default}.decision-card-btn.is-primary{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent);font-weight:600}.modal-dialog.decisions-dialog{max-width:640px;display:flex;flex-direction:column}.decisions-body{flex:1;min-height:120px;padding:12px 16px;overflow-y:auto}.decisions-status{min-height:26px;padding:4px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-bar);color:var(--text-muted);font-size:12px}.decisions-empty{padding:24px 8px;color:var(--text-muted);font-size:13px;line-height:1.6;text-align:center}.decision-item{margin-bottom:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.decision-item.is-superseded .decision-text,.decision-item.is-orphan .decision-text{color:var(--text-muted);text-decoration:line-through}.decision-item.is-orphan{border-style:dashed}.decision-text{color:var(--text-main);font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.decision-meta{flex:1;min-width:0;color:var(--text-dim);font-size:11px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-tool{min-width:28px;height:26px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-sub);font-size:13px;cursor:pointer}.decision-tool:hover{background:var(--bg-muted);color:var(--text-strong)}.decision-tool.is-armed{color:var(--rose);border-color:var(--rose);font-size:12px}.decision-hint{margin-bottom:6px;color:var(--text-muted);font-size:12px}.decision-item.is-orphan .decision-meta{color:var(--amber-text)}.msg-row.is-revealed .msg-bubble{animation:decision-reveal 2.2s ease-out}@keyframes decision-reveal{0%,60%{box-shadow:0 0 0 2px var(--brand-500)}to{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-500) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.msg-row.is-revealed .msg-bubble{animation:none;box-shadow:0 0 0 2px var(--brand-500)}}.decisions-older{margin-top:12px}.decisions-older>summary{cursor:pointer;color:var(--text-muted);font-size:12px;margin-bottom:8px}@media(max-width:720px){.modal-dialog.decisions-dialog{max-width:none;height:100%;max-height:100%;border-radius:0}}.step-cards-container{display:flex;flex-direction:column;gap:8px;margin-top:10px}.step-card{padding:8px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);display:flex;flex-direction:column;gap:6px}.step-card.is-added{border-color:color-mix(in srgb,var(--emerald) 40%,transparent);background:color-mix(in srgb,var(--emerald) 8%,transparent)}.step-card-header{display:flex;align-items:center;gap:8px}.step-type-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:11px;font-family:var(--font-mono);font-weight:600;text-transform:uppercase;background:var(--bg-muted);color:var(--brand-text);border:1px solid var(--border-subtle)}.step-card-title{font-size:13px;font-weight:500;color:var(--text-strong)}.step-card-prompt{font-size:12px;color:var(--text-muted);line-height:1.4;white-space:pre-wrap;max-height:120px;overflow-y:auto;padding:4px 8px;background:var(--bg-bar);border-radius:4px}.step-card-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.step-card-actions button{padding:3px 10px;font-size:12px;border-radius:6px;cursor:pointer}.step-added-mark{font-size:12px;color:var(--emerald-text);font-weight:500}.session-approval-banner{margin:12px 16px;padding:12px 16px;border-radius:10px;border:1px solid color-mix(in srgb,var(--brand-500) 40%,transparent);background:color-mix(in srgb,var(--brand-500) 8%,transparent);display:flex;flex-direction:column;gap:10px}.session-approval-banner .approval-header{display:flex;align-items:center;gap:8px}.session-approval-banner .approval-icon{font-size:16px}.session-approval-banner .approval-title{font-size:13px;font-weight:600;color:var(--text-strong)}.session-approval-banner .approval-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.session-approval-banner .approval-actions button{padding:6px 14px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer}.qc-chip{display:inline-flex;align-items:center;gap:3px;margin:0 2px;padding:1px 2px 1px 1px;border:1px solid var(--border);border-radius:6px;background:var(--bg-muted);vertical-align:baseline;white-space:nowrap;font-size:.86em;line-height:1.5;transition:border-color .15s,background .15s,box-shadow .3s}.qc-chip-id{font-family:var(--font-mono);color:var(--text-soft);padding:0 2px}.qc-chip-file{font-size:.95em;padding-left:3px}.qc-chip.is-file{border-style:dashed;background:transparent}.qc-chip-state,.qc-chip-copy{border:none;border-radius:4px;padding:0 5px;font:inherit;font-family:var(--font-mono);font-size:.92em;font-weight:700;line-height:1.5;cursor:pointer;background:transparent;color:var(--text-sub);-webkit-tap-highlight-color:transparent}.qc-chip-copy{padding:0 4px;font-weight:400}.qc-chip-copy:hover{color:var(--brand-text);background:var(--tint)}.qc-chip-state{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-text);min-width:52px}.qc-chip-state:hover{background:color-mix(in srgb,var(--amber) 30%,transparent)}.qc-chip[data-state=y]{border-color:color-mix(in srgb,var(--emerald) 55%,transparent);background:color-mix(in srgb,var(--emerald) 10%,transparent)}.qc-chip[data-state=y] .qc-chip-state{background:var(--emerald);color:var(--on-accent)}.qc-chip[data-state="!"]{border-color:color-mix(in srgb,var(--amber) 55%,transparent)}.qc-chip[data-state=n] .qc-chip-state{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}.qc-chip[data-noref] .qc-chip-state{background:var(--tint);color:var(--text-dim)}.qc-chip[data-busy] .qc-chip-state{opacity:.55;pointer-events:none}.qc-chip.is-flash{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500) 55%,transparent)}@media(hover:none){.qc-chip-state,.qc-chip-copy{padding:2px 7px}}.qc-toggle-btn{position:relative}.qc-toggle-btn.is-active{border-color:var(--brand-500);background:color-mix(in srgb,var(--brand-500) 14%,transparent)}.qc-toggle-count{position:absolute;top:-5px;right:-5px;min-width:16px;padding:0 4px;border-radius:8px;background:var(--brand-500);color:var(--on-accent);font-size:10px;font-weight:700;line-height:16px;text-align:center}.qc-toggle-count[hidden]{display:none}.qc-flyout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:998;opacity:0;pointer-events:none;transition:opacity .25s ease}.qc-flyout{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);background:var(--bg-elevated);border-left:1px solid var(--border);box-shadow:-4px 0 28px var(--shadow-color);z-index:999;display:flex;flex-direction:column;transform:translate(100%);visibility:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),visibility .25s,width .2s ease}.qc-flyout.open{transform:translate(0);visibility:visible}.qc-flyout.is-wide{width:min(560px,92vw)}@media(max-width:900px){.qc-flyout-backdrop.open{opacity:1;pointer-events:auto}.qc-flyout-wide-btn{display:none}}@media(max-width:480px){.qc-flyout,.qc-flyout.is-wide{width:100vw}}.qc-flyout-header{height:48px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 10px 0 12px;border-bottom:1px solid var(--border);background:var(--bg-bar)}.qc-flyout-header .btn-icon-sm{width:32px;height:28px;flex-shrink:0;color:var(--text-main)}.qc-flyout-title{font-size:13px;font-weight:700;color:var(--text-main);white-space:nowrap}.qc-flyout-summary{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--amber-text)}.qc-flyout-summary.is-done{color:var(--emerald-text)}.qc-flyout-file{flex-shrink:0;display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle)}.qc-flyout-label{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.qc-flyout-file-row{display:flex;gap:6px}.qc-flyout-input{flex:1 1 auto;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font-family:var(--font-mono);font-size:12px}.qc-flyout-input:focus{outline:none;border-color:var(--brand-500)}.qc-flyout-hint{font-size:11px;color:var(--text-sub);word-break:break-all}.qc-flyout-hint.is-error{color:var(--rose)}.qc-btn{flex-shrink:0;padding:5px 12px;border:none;border-radius:6px;background:var(--brand-500);color:var(--on-accent);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.qc-btn:hover{background:var(--brand-hover)}.qc-btn:disabled{opacity:.5;cursor:default}.qc-flyout-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.qc-ptr{height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);transition:height .15s ease}.qc-ptr.is-ready{color:var(--brand-text)}.qc-empty{padding:18px 14px;font-size:13px;line-height:1.6;color:var(--text-muted)}.qc-section{border-bottom:1px solid var(--border-subtle)}.qc-section-head{position:sticky;top:0;z-index:1;padding:7px 12px;font-size:11px;font-weight:700;color:var(--text-sub);background:var(--bg-header);border-bottom:1px solid var(--border-subtle);word-break:break-all}.qc-section-head.is-warn{color:var(--amber-text)}.qc-item{padding:8px 12px;border-bottom:1px solid var(--border-subtle)}.qc-item:last-child{border-bottom:none}.qc-item.is-store-only{opacity:.75}.qc-item-head{display:flex;align-items:center;gap:6px}.qc-item-state{flex-shrink:0;min-width:60px;padding:3px 6px;border:none;border-radius:5px;font-family:var(--font-mono);font-size:11px;font-weight:800;cursor:pointer;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-text)}.qc-item[data-state=y] .qc-item-state{background:var(--emerald);color:var(--on-accent)}.qc-item[data-state=n] .qc-item-state{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}.qc-item[data-busy] .qc-item-state{opacity:.55;pointer-events:none}.qc-item-id{flex:1 1 auto;min-width:0;padding:2px 0;border:none;background:transparent;text-align:left;font-family:var(--font-mono);font-size:12px;color:var(--text-main);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-item-id:hover:not(:disabled){color:var(--brand-text)}.qc-item-id:disabled{cursor:default}.qc-item-btn{flex-shrink:0;min-width:30px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-sub);font-size:12px;cursor:pointer}.qc-item-btn:hover{color:var(--brand-text);border-color:var(--brand-500)}.qc-item-note-btn[aria-expanded=true]{border-color:var(--brand-500);color:var(--brand-text)}.qc-note-count{font-size:11px;font-weight:700}.qc-item-ctx{margin-top:3px;padding-left:66px;font-size:12px;color:var(--text-sub);line-height:1.45}.qc-item-ctx[hidden]{display:none}.qc-item-notes{margin-top:8px;display:flex;flex-direction:column;gap:6px}.qc-item-notes[hidden]{display:none}.qc-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.qc-note-list:empty{display:none}.qc-note-list li{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-left:2px solid var(--brand-500);border-radius:0 6px 6px 0;background:var(--bg-muted)}.qc-note-meta{font-size:10px;color:var(--text-dim)}.qc-note-text{font-size:12.5px;color:var(--text-body);white-space:pre-wrap;word-break:break-word}.qc-note-input{width:100%;box-sizing:border-box;resize:vertical;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font:inherit;font-size:12.5px}.qc-note-input:focus{outline:none;border-color:var(--brand-500)}.qc-note-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.qc-note-msg{flex:1 1 auto;font-size:11px;color:var(--emerald-text)}.qc-note-msg.is-error{color:var(--rose)}.qc-toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-bottom));transform:translate(-50%,12px);max-width:min(460px,92vw);padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-main);font-size:12.5px;box-shadow:0 6px 20px var(--shadow-color);z-index:3001;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.qc-toast.open{opacity:1;transform:translate(-50%)}.qc-toast.is-error{border-color:var(--rose)}.file-node-left{min-width:0}.qc-tree-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:0 6px;border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:800;line-height:1.7;white-space:nowrap;background:var(--tint);color:var(--text-dim)}.qc-tree-badge.is-pass{background:var(--emerald);color:var(--on-accent)}.qc-tree-badge.is-wait{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber-text)}.qc-tree-badge.is-new{background:var(--bg-muted);color:var(--text-muted)}.qc-tree-badge.is-dir{background:transparent;padding:0 2px;color:var(--text-sub);font-weight:700}.qc-tree-badge.is-dir.is-pass{color:var(--emerald-text)}.qc-tree-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.qc-tree-badge.is-dir.is-pass .qc-tree-dot{background:var(--emerald)}.qc-tree-badge.is-dir.is-wait .qc-tree-dot{background:var(--amber)}.qc-only-specs .file-node-row:not([data-qc-spec]){display:none}.qc-only-specs:has(.file-node-row):not(:has(.file-node-row[data-qc-spec])):after{content:"Không có tệp đặc tả (mã 💎 K...) trong thư mục này.";display:block;padding:12px 14px;font-size:12px;color:var(--text-muted)}.qc-tree-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle)}.qc-tree-bar[hidden]{display:none}.qc-tree-filter{display:inline-flex;padding:2px;gap:2px;border-radius:7px;background:var(--bg-muted)}.qc-tree-filter button{border:none;border-radius:5px;padding:3px 9px;background:transparent;color:var(--text-sub);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.qc-tree-filter button[aria-pressed=true]{background:var(--bg-elevated);color:var(--brand-text);box-shadow:0 1px 3px var(--shadow-soft)}.qc-tree-summary{font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:var(--text-dim)}.qc-tree-summary.is-pass{color:var(--emerald-text)}.qc-tree-summary.is-wait{color:var(--amber-text)}.qc-spec{padding-bottom:32px;background:var(--bg-elevated);min-height:100%}.qc-spec-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle)}.qc-spec-summary{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--text-dim)}.qc-spec-summary.is-pass{color:var(--emerald-text)}.qc-spec-summary.is-wait{color:var(--amber-text)}.qc-spec-summary.is-error{color:var(--rose)}.qc-spec-btn{flex-shrink:0;padding:3px 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-sub);font:inherit;font-size:11.5px;cursor:pointer}.qc-spec-btn:hover,.qc-spec-btn[aria-pressed=true]{color:var(--brand-text);border-color:var(--brand-500)}.qc-spec-front{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:12px 14px 0;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-subtle);font-size:12px}.qc-spec-front dt{color:var(--text-dim)}.qc-spec-front dd{margin:0;color:var(--text-body);word-break:break-word}.qc-spec-raw{margin:0;padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.55;color:var(--text-soft);white-space:pre-wrap;word-break:break-word}.qc-spec-raw[hidden],.qc-spec-body[hidden]{display:none}.md-body{padding:4px 14px;font-size:13.5px;line-height:1.65;color:var(--text-body);word-break:break-word}.md-body .md-h{position:relative;margin:18px 0 6px;color:var(--text-main);line-height:1.35}.md-body h1.md-h{font-size:19px}.md-body h2.md-h{font-size:16px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.md-body h3.md-h{font-size:14.5px}.md-body h4.md-h,.md-body h5.md-h,.md-body h6.md-h{font-size:13.5px;color:var(--text-soft)}.md-body p{margin:6px 0}.md-body .md-sub{color:var(--text-dim);font-weight:600}.md-body a{color:var(--brand-text)}.md-body .md-wikilink{color:var(--brand-text);border-bottom:1px dotted var(--brand-500)}.md-body hr{border:none;border-top:1px solid var(--border-subtle);margin:14px 0}.md-body blockquote{margin:8px 0;padding:6px 12px;border-left:3px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-sub)}.md-body code.inline-code{font-family:var(--font-mono);font-size:.9em;padding:1px 4px;border-radius:4px;background:var(--bg-muted);color:var(--text-soft)}.md-body .md-code{position:relative;margin:8px 0;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-editor);overflow:auto}.md-body .md-code .code-block-lang{position:absolute;top:4px;right:8px;font-size:10px;color:var(--text-dim)}.md-body .md-code pre{margin:0;padding:10px 12px;font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-soft)}.md-body .md-table-wrap{margin:8px 0;overflow-x:auto}.md-body table{border-collapse:collapse;font-size:12.5px;width:max-content;min-width:100%}.md-body th,.md-body td{padding:5px 8px;border:1px solid var(--border-subtle);vertical-align:top;word-break:normal;max-width:320px}.md-body td code.inline-code{white-space:nowrap}.md-body th{background:var(--bg-muted);color:var(--text-main);font-weight:700}.md-body .md-list{margin:6px 0;padding:0;list-style:none}.md-body .md-list li{position:relative;padding-left:16px;margin:3px 0}.md-body .md-list li:before{content:"•";position:absolute;left:3px;color:var(--text-dim)}.md-body .md-list li[data-num]{padding-left:22px}.md-body .md-list li[data-num]:before{content:attr(data-num);left:0;font-size:.85em}.md-body .md-list li[data-depth="1"]{margin-left:18px}.md-body .md-list li[data-depth="2"]{margin-left:36px}.md-body .md-list li[data-depth="3"],.md-body .md-list li[data-depth="4"]{margin-left:54px}.md-body .md-list li.md-task{padding-left:2px}.md-body .md-list li.md-task:before{content:none}.md-body .md-check{color:var(--text-dim)}.qc-run-btn{margin-left:8px;padding:1px 7px;border:1px solid color-mix(in srgb,var(--brand-500) 60%,transparent);border-radius:5px;background:color-mix(in srgb,var(--brand-500) 12%,transparent);color:var(--brand-text);font-family:var(--font-mono);font-size:10.5px;font-weight:800;line-height:1.6;vertical-align:middle;cursor:pointer;white-space:nowrap;text-decoration:none}.qc-run-btn:hover{background:var(--brand-500);color:var(--on-accent)}.qc-running>.qc-run-btn{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber-text)}.qc-done{opacity:.55}.qc-done>.qc-run-btn{border-color:var(--border);background:transparent;color:var(--text-dim)}li.md-task.qc-done,li.md-task.is-checked{text-decoration:line-through;text-decoration-color:var(--text-faint)}.md-h.qc-done:after{content:" ✓";color:var(--emerald-text)}.explorer-controls,.explorer-search{display:flex;align-items:center;gap:8px}.explorer-search{padding:6px 10px}.explorer-search input{flex:1;min-width:0}.explorer-search input,.explorer-search select{padding:8px;min-height:40px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font:inherit;font-size:12px}.explorer-breadcrumb{padding:6px 10px;overflow-x:auto;white-space:nowrap;color:var(--text-muted);font-size:12px}.explorer-breadcrumb button{border:0;border-radius:4px;background:transparent;color:var(--brand-text);padding:6px;min-height:36px;font:inherit;cursor:pointer}.explorer-breadcrumb button[aria-current]{color:var(--text-main);font-weight:700}.explorer-status{padding:4px 10px;font-size:12px;color:var(--text-muted)}.explorer-status:empty{display:none}.explorer-entry{display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px;cursor:default}.explorer-entry.is-selected{background:color-mix(in srgb,var(--brand-500) 12%,transparent);outline:1px solid color-mix(in srgb,var(--brand-500) 35%,transparent);outline-offset:-1px}.explorer-open{flex:1;min-width:0;min-height:44px;text-align:left;border:0;background:transparent;color:var(--text-main);padding:4px;cursor:pointer}.explorer-open .file-node-left{min-width:0;flex-wrap:wrap;gap:4px}.explorer-open .file-node-name{overflow-wrap:anywhere}.explorer-location{display:block;overflow-wrap:anywhere;color:var(--text-muted);font-size:11px;margin-top:4px}.explorer-more{cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;background:var(--bg-elevated);color:var(--text-main);border:1px solid var(--border);border-radius:6px}.explorer-action-list[hidden]{display:none}.explorer-action-list{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 8px}.explorer-action-list button{border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-main);padding:8px;min-height:44px;font:inherit;font-size:12px;cursor:pointer}.project-files-explorer button:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}.explorer-controls button{min-height:40px}.project-files-explorer button:disabled{opacity:.45;cursor:default}.explorer-controls{flex-wrap:wrap;justify-content:flex-end}.explorer-controls button[aria-pressed=true]{background:color-mix(in srgb,var(--brand-500) 12%,transparent);border-color:color-mix(in srgb,var(--brand-500) 35%,transparent);color:var(--brand-text)}.explorer-tree-entry{padding-inline-start:calc(6px + min(var(--tree-depth),8)*16px)}.explorer-caret{width:12px;flex-shrink:0;color:var(--text-muted)}.explorer-branch-note{flex-basis:100%;padding:4px 16px;font-size:12px;color:var(--text-muted)}.explorer-branch-note button{border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-main);min-height:40px;padding:6px 10px;cursor:pointer}.explorer-tree-entry:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}.shared-tabs-dialog{color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:0;width:min(680px,calc(100vw - 24px));max-height:calc(var(--visual-viewport-height, 100dvh) - 32px)}.shared-tabs-dialog::backdrop{background:var(--overlay-strong)}.shared-tabs-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.shared-tabs-dialog h2{font-size:1.1rem;margin:0}.shared-tabs-dialog button{color:var(--text-main);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:8px 12px;cursor:pointer}.shared-tabs-dialog button:hover{background:var(--bg-elevated-hover)}.shared-tabs-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 12px}.shared-tabs-body{max-height:calc(var(--visual-viewport-height, 100dvh) - 200px);min-height:100px;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 14px}.shared-tabs-message{color:var(--text-sub);font-size:.85rem}.shared-tabs-refresh{display:grid;place-items:center;color:var(--brand-text);font-size:.85rem;transition:height .15s ease}.shared-tabs-refresh[hidden]{display:none}.shared-tab-link{display:flex;gap:10px;align-items:center;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:12px;margin-top:8px;text-decoration:none}.shared-tab-link:hover{border-color:var(--brand-500)}.shared-tab-link:focus-visible,.shared-tabs-dialog button:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.shared-tab-title{overflow-wrap:anywhere;min-width:0}.shared-tab-instance{flex-shrink:0;color:var(--brand-text);font-size:.75rem;border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px}.shared-tab-instance[data-instance=next]{color:var(--emerald-text)}.shared-tab-device{flex-shrink:0;color:var(--text-sub);font-size:.75rem;border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px;background:var(--bg-muted)}.shared-tab-running{flex-shrink:0;color:var(--amber-text);font-size:.75rem;font-weight:600;border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);border-radius:4px;padding:2px 6px;background:color-mix(in srgb,var(--amber) 15%,transparent)}.shared-tabs-device-bar{display:flex;align-items:center;gap:8px;padding:0 14px 10px;font-size:.85rem;color:var(--text-sub)}.shared-tabs-device-label{flex-shrink:0}.shared-tabs-device-btn{color:var(--brand-text);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.shared-tabs-device-btn:hover{border-color:var(--brand-500);background:var(--bg-elevated-hover)}#projectRail{overflow:hidden}#projectRail .rail-projects{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.rail-projects::-webkit-scrollbar{display:none}.rail-project-actions{padding-top:4px;border-top:1px solid var(--border)}.council-section{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.council-new{border:1px dashed color-mix(in srgb,var(--brand-500) 50%,transparent);border-radius:8px;background:color-mix(in srgb,var(--brand-500) 6%,transparent)}.council-new-summary{padding:9px 12px;color:var(--brand-text);font-size:13px;font-weight:700;cursor:pointer}.council-form{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}.council-topic,.council-input,.council-select{min-width:0;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-main);font:inherit;font-size:13px}.council-topic{width:100%;resize:vertical;box-sizing:border-box}.council-topic:focus-visible,.council-input:focus-visible,.council-select:focus-visible{outline:2px solid var(--brand-text);outline-offset:1px}.council-members{display:flex;flex-direction:column;gap:6px}.council-member-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.council-member-row .council-input{flex:1 1 110px}.council-member-row .council-select{flex:1 1 140px}.council-member-label{width:22px;height:22px;border-radius:50%;background:var(--brand-500);color:var(--on-accent);font:700 12px/22px var(--font-mono);text-align:center;flex:0 0 22px}.council-form-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.council-form-bar .council-select{flex:1 1 150px}.council-small{padding:4px 9px;font-size:12px}.council-hint{margin:0;color:var(--text-muted);font-size:12px;line-height:1.45}.council-warn{margin:0;color:var(--amber-text);font-size:12px;line-height:1.45}.council-warn:empty{display:none}.council-submit:disabled{opacity:.5;cursor:not-allowed}.council-list{display:flex;flex-direction:column;gap:8px}.council-empty{margin:0;color:var(--text-muted);font-size:12px}.council-group-title{color:var(--text-sub);font-size:12px;font-weight:700}.council-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.council-card[data-status=awaiting]{border-color:color-mix(in srgb,var(--amber) 60%,transparent)}.council-card[data-status=failed],.council-card[data-status=canceled]{border-color:color-mix(in srgb,var(--rose) 40%,transparent)}.council-card[data-status=done]{border-color:color-mix(in srgb,var(--emerald) 40%,transparent)}.council-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;cursor:pointer}.council-card-title{flex:1 1 140px;min-width:0;color:var(--text-main);font-size:13px;font-weight:700;overflow-wrap:anywhere}.council-status{color:var(--brand-text);font:700 12px/1.3 var(--font-mono)}.council-card[data-status=awaiting] .council-status{color:var(--amber-text)}.council-card[data-status=failed] .council-status,.council-card[data-status=canceled] .council-status{color:var(--rose)}.council-card[data-status=done] .council-status{color:var(--emerald-text)}.council-topic-text{color:var(--text-body);font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;max-height:5.8em;overflow:auto}.council-agents{display:flex;flex-direction:column;gap:6px}.council-agent{display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-subtle)}.council-agent-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px}.council-agent-name{color:var(--text-main);font-size:12px;font-weight:700;overflow-wrap:anywhere}.council-agent-state{color:var(--text-muted);font:700 11px/1.4 var(--font-mono)}.council-resume{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.council-resume-label{color:var(--text-muted);font-size:11px}.council-resume-code{flex:1 1 120px;min-width:0;color:var(--text-soft);font:11px/1.4 var(--font-mono);overflow-wrap:anywhere}.council-consensus{padding:8px;border-left:3px solid var(--amber);border-radius:4px;background:color-mix(in srgb,var(--amber) 8%,transparent)}.council-consensus[data-agreed=true]{border-left-color:var(--emerald);background:color-mix(in srgb,var(--emerald) 8%,transparent)}.council-consensus-head{color:var(--text-main);font-size:12px;font-weight:700;line-height:1.45}.council-open{margin:6px 0 0;padding-left:18px;color:var(--text-body);font-size:12px;line-height:1.45}.council-open li.is-blocking{color:var(--text-main);font-weight:600}.council-error{color:var(--rose);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.council-ticket-wrap{border:1px solid var(--border-subtle);border-radius:6px}.council-ticket-sum{padding:6px 9px;color:var(--brand-text);font-size:12px;font-weight:700;cursor:pointer}.council-ticket{padding:8px 10px;max-height:320px;overflow:auto;color:var(--text-body);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.council-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.council-approve{display:flex;flex-direction:column;gap:6px;flex:1 1 100%}.council-approve .council-select,.council-approve .council-input{width:100%;box-sizing:border-box}.parallel-note[data-council-count]:before{content:attr(data-council-count);position:absolute;bottom:-5px;right:-5px;min-width:15px;height:15px;padding:0 3px;border:1px solid var(--bg-bar);border-radius:999px;color:var(--on-accent);background:var(--brand-500);font:700 10px/15px var(--font-mono);text-align:center}.parallel-note[data-council-state=awaiting]:before{background:var(--amber);color:var(--on-amber)}/**
 * 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-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{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-workspace{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:var(--bg-editor);color:var(--text-main);position:relative}.terminal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg-header);border-bottom:1px solid var(--border-subtle);flex-shrink:0;-webkit-user-select:none;user-select:none}.terminal-sessions-wrap{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}.terminal-sessions-wrap::-webkit-scrollbar{display:none}.terminal-session-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-family:var(--font-mono);background:var(--bg-muted);color:var(--text-sub);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.terminal-session-btn:hover{background:var(--bg-card);color:var(--text-main);border-color:var(--border)}.terminal-session-btn.is-active{background:color-mix(in srgb,var(--brand-500) 15%,transparent);color:var(--brand-text);border-color:color-mix(in srgb,var(--brand-500) 45%,transparent);font-weight:600}.terminal-session-btn .term-dot{width:6px;height:6px;border-radius:999px;background:var(--text-muted)}.terminal-session-btn.is-active .term-dot{background:var(--brand-500)}.terminal-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.terminal-btn-icon{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;background:var(--bg-muted);color:var(--text-sub);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer}.terminal-btn-icon:hover:not(:disabled){background:var(--bg-card);color:var(--text-main);border-color:var(--border)}.terminal-btn-icon:disabled{opacity:.5;cursor:not-allowed}.terminal-status-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;font-family:var(--font-mono)}.terminal-status-badge.status-ready{background:color-mix(in srgb,var(--emerald) 20%,transparent);color:var(--emerald-text)}.terminal-status-badge.status-running{background:color-mix(in srgb,var(--brand-500) 20%,transparent);color:var(--brand-text)}.terminal-status-badge.status-warn{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber-text)}.terminal-status-badge.status-error{background:color-mix(in srgb,var(--rose) 20%,transparent);color:var(--rose)}.terminal-screen{flex:1;position:relative;overflow:hidden;background:var(--bg-editor);padding:4px 6px}.terminal-screen .xterm{width:100%;height:100%}.terminal-screen.is-selecting,.terminal-screen.is-selecting .xterm-screen{-webkit-user-select:text!important;user-select:text!important}.terminal-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-elevated);color:var(--text-main);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 4px 12px var(--shadow-color);font-size:13px;max-width:90%}.terminal-banner.is-hidden{display:none}.terminal-mobile-bar{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-bar);border-top:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none;flex-shrink:0;-webkit-user-select:none;user-select:none}.terminal-mobile-bar::-webkit-scrollbar{display:none}.terminal-mobile-bar.is-hidden{display:none}.term-key-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;font-size:13px;font-family:var(--font-mono);background:var(--bg-muted);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;touch-action:manipulation;flex-shrink:0}.term-key-btn:active{background:var(--bg-card)}.term-key-btn.is-active{background:var(--brand-500);color:var(--on-accent);border-color:var(--brand-700);font-weight:700}.term-key-btn.btn-text{font-family:inherit;font-size:12px;padding:0 8px}.terminal-input-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-header);border-top:1px solid var(--border-subtle);flex-shrink:0}.terminal-input-bar.is-hidden{display:none}.terminal-input-fallback{flex:1;height:32px;padding:4px 10px;font-size:13px;font-family:var(--font-mono);background:var(--bg-input);color:var(--text-main);border:1px solid var(--border);border-radius:4px;outline:none}.terminal-input-fallback:focus{border-color:var(--brand-500)}.terminal-settings-form{display:flex;flex-direction:column;gap:16px}.terminal-sysinfo-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:8px 12px;background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:6px;font-size:12px;font-family:var(--font-mono)}.terminal-sysinfo-label{color:var(--text-sub)}.terminal-sysinfo-value{color:var(--text-main);word-break:break-all}.modal-dialog.launch-dialog{max-width:600px;width:min(92vw,600px);max-height:min(88vh,720px);display:flex;flex-direction:column;overflow:hidden}.launch-header-title{display:flex;align-items:center;gap:12px;min-width:0}.launch-header-icon{font-size:26px;line-height:1;flex-shrink:0}.launch-project-sub{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.launch-modal-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.launch-section{display:flex;flex-direction:column;gap:8px}.launch-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between}.launch-branches-list{display:flex;flex-wrap:wrap;gap:6px}.launch-branch-chip{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.launch-branch-chip:hover{background:var(--bg-muted);border-color:var(--brand-500)}.launch-branch-chip.is-active{background:var(--brand-500);border-color:var(--brand-500);color:var(--on-accent);font-weight:600}.launch-action-primary{padding:14px 16px;border-radius:8px;border:1px solid color-mix(in srgb,var(--brand-500) 40%,var(--border));background:color-mix(in srgb,var(--brand-500) 8%,var(--bg-card));display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;transition:all .15s ease}.launch-action-primary:hover{background:color-mix(in srgb,var(--brand-500) 15%,var(--bg-card));border-color:var(--brand-500);transform:translateY(-1px)}.launch-action-icon{font-size:24px;line-height:1;flex-shrink:0}.launch-action-content{flex:1;min-width:0}.launch-action-title{font-size:14px;font-weight:600;color:var(--brand-text);margin-bottom:2px}.launch-action-desc{font-size:12px;color:var(--text-muted)}.launch-action-arrow{font-size:16px;color:var(--brand-text);font-weight:700}.launch-sessions-container{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.launch-session-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-input);cursor:pointer;text-align:left;transition:all .15s ease}.launch-session-item:hover{background:var(--bg-muted);border-color:var(--border)}.launch-session-main{flex:1;min-width:0}.launch-session-title{font-size:13px;font-weight:500;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launch-session-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11px;color:var(--text-muted)}.launch-session-badge{padding:1px 6px;border-radius:4px;font-size:10px;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-sub)}.launch-empty-sessions{padding:16px;text-align:center;font-size:12px;color:var(--text-muted);background:var(--bg-subtle);border:1px dashed var(--border);border-radius:6px}.launch-tools-row{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.launch-tool-btn{flex:1;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease}.launch-tool-btn:hover{background:var(--bg-muted);border-color:var(--brand-500)}.decision-suggest{margin:10px 0 4px;padding:8px;border:1px solid color-mix(in srgb,var(--brand-500) 40%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--brand-500) 6%,var(--bg-card));white-space:normal}.decision-suggest-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--brand-text);font-size:12px;font-weight:600}.decision-suggest-head .decision-suggest-all{flex-shrink:0;white-space:nowrap}.decision-suggest-head .decision-suggest-all[hidden]{display:none}.decision-suggestion{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid var(--border-subtle)}.decision-suggest-head+.decision-suggestion{border-top:none}.decision-suggestion-text{flex:1;min-width:0;color:var(--text-main);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.decision-suggestion .decision-card-btn{flex-shrink:0;white-space:nowrap}.decision-suggestion-actions{display:flex;align-items:center;gap:6px}.decision-suggestion-state{color:var(--brand-text);font-size:12px;white-space:nowrap}.decision-suggestion-msg{flex-basis:100%;color:var(--text-muted);font-size:12px}.decision-suggestion-msg:empty{display:none}.decision-suggestion .decision-tool{min-width:36px;min-height:36px;color:var(--text-muted)}.decision-suggestion .decision-tool:hover{color:var(--brand-text)}.decision-suggestion.is-dismissed .decision-suggestion-text{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decision-suggestion.is-dismissed .decision-suggestion-state,.decision-suggestion.is-decided .decision-suggestion-text{color:var(--text-muted)}.decision-suggestion.is-decided .decision-card-btn{background:transparent;border-color:var(--border);color:var(--text-muted);font-weight:400}@media(max-width:520px){.decision-suggestion{flex-direction:column;align-items:stretch}.decision-suggestion .decision-card-btn{align-self:flex-start}}.decisions-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border-subtle)}.decisions-toolbar .btn-note-tool{flex-shrink:0}.decisions-toolbar-hint{min-width:0;color:var(--text-muted);font-size:12px}@media(max-width:520px){.decisions-toolbar-hint{display:none}}
