:root{color-scheme:dark;--bg: #111113;--bg-surface: #161618;--bg-overlay: #0b0b0c;--bg-hover: #1f1f22;--bg-elevated: #1b1b1e;--border: #2a2a2e;--border-light: #222225;--border-hover: #3f3f46;--text: #e4e4e7;--text-secondary: #b4b4bb;--text-muted: #8e8e96;--text-faint: #66666e;--accent: #7c93f5;--accent-hover: #97a9f8;--accent-soft: rgba(124, 147, 245, .14);--accent-dim: #232a45;--on-fill: #0f0f12;--magenta: #d9679f;--green: #4fb86a;--green-bright: #62c97c;--red: #e5534b;--yellow: #d4a13f;--purple: #a18cf0;--teal: #4fb3a9;--orange: #d9813f;--scrollbar: #2e2e33;--scrollbar-hover: #45454c;--glow-accent: 0 0 0 1px var(--accent);--glow-green: none;--glow-red: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .45);--term-bg: var(--bg);--term-fg: #d4d4d8;--term-cursor: #d4d4d8;--term-selection: rgba(124, 147, 245, .28);--term-black: #2a2a2e;--term-red: #e5534b;--term-green: #4fb86a;--term-yellow: #d4a13f;--term-blue: #7c93f5;--term-magenta: #c38ae6;--term-cyan: #56b6c2;--term-white: #c8c8ce;--term-bright-black: #5c5c64;--term-bright-red: #f07a73;--term-bright-green: #6fd08a;--term-bright-yellow: #e6bc62;--term-bright-blue: #9dadf8;--term-bright-magenta: #d6a8f0;--term-bright-cyan: #7fcfd8;--term-bright-white: #ececef;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--t-fast: .12s;--t-base: .18s;--t-slow: .28s;--ease: cubic-bezier(.4, 0, .2, 1);--bg-card: var(--bg-surface)}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--r-md);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:padding-box}::selection{background:var(--accent-soft);color:var(--text)}body{font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.5;background:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}code,pre,.markdown-path,.file-viewer-path,.terminal-input-field,.code-editor-container,.cm-content,.commit-hash{font-family:var(--font-mono)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--glow-accent)}input:focus,textarea:focus,select:focus{border-color:var(--accent)!important;box-shadow:var(--glow-accent)}button,a{transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}#root{height:100vh;height:100dvh}.app{display:grid;grid-template-columns:280px 1fr;grid-template-rows:1fr;height:100vh;height:100dvh;overflow:hidden}.notif-popover-anchor{position:fixed;left:12px;top:44px;z-index:200}.notif-popover-anchor .notification-panel{position:static}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;min-width:0}.sidebar-foot{padding:10px 12px;border-top:1px solid var(--border-light);background:var(--bg-overlay)}.sidebar-foot-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all var(--t-fast)}.sidebar-foot-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.sidebar-foot-btn.unlocked{color:var(--green-bright);border-color:color-mix(in srgb,var(--green) 35%,transparent)}@media(min-width:1025px){.app{transition:grid-template-columns var(--t-base) var(--ease)}.app.sidebar-collapsed{grid-template-columns:0 1fr}.app.sidebar-collapsed .sidebar{border-right:none;visibility:hidden}}.workspace{display:flex;flex-direction:column;min-width:0;overflow:hidden}.workspace-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.statusbar{height:26px;background:var(--bg-surface);border-top:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:14px;font-size:var(--fs-xs);color:var(--text-secondary);flex-shrink:0}.statusbar-segment{display:inline-flex;align-items:center;gap:5px;padding:0 6px;height:100%;border-radius:0;cursor:default}.statusbar-text{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.01em}.statusbar-text-muted{color:var(--text-muted)}.statusbar-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.statusbar-dot.active{background:var(--green-bright);animation:status-pulse 1.8s ease-in-out infinite}.statusbar-spacer{flex:1}.statusbar-timer{border:none;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.statusbar-timer:hover{background:var(--bg-hover);color:var(--text)}.statusbar-timer.active{background:var(--accent-soft)}.statusbar-timer-focus{color:var(--accent)}.statusbar-timer-break{color:var(--green-bright)}.statusbar-timer-paused{color:var(--text-faint)}.statusbar-git-btn{border:none;background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.statusbar-git-btn:hover{background:var(--bg-hover);color:var(--text)}.statusbar-git-btn.active{background:var(--accent-soft);color:var(--accent)}.statusbar-brand{font-weight:600;letter-spacing:.1em;text-transform:uppercase}.branch-picker{position:relative;display:inline-flex;height:100%}.branch-picker-trigger{display:inline-flex;align-items:center;gap:5px;height:100%;padding:0 8px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-xs);cursor:pointer;border-radius:4px}.branch-picker-trigger:hover{background:var(--bg-hover);color:var(--text)}.branch-picker-chevron{font-size:var(--fs-2xs);opacity:.6;margin-left:2px}.branch-picker-menu{position:absolute;bottom:calc(100% + 4px);left:0;width:280px;max-height:360px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;z-index:150;overflow:hidden}.branch-picker-search{padding:6px;border-bottom:1px solid var(--border);flex-shrink:0}.branch-picker-search input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-overlay);color:var(--text);font-size:var(--fs-sm);outline:none}.branch-picker-search input:focus{border-color:var(--accent)}.branch-picker-list{overflow-y:auto;flex:1;padding:4px 0}.branch-picker-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-sm);cursor:pointer;text-align:left}.branch-picker-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.branch-picker-item.current{color:var(--accent)}.branch-picker-item.remote{color:var(--text-muted)}.branch-picker-item:disabled{opacity:.5;cursor:wait}.branch-picker-mark{width:10px;font-size:var(--fs-2xs);flex-shrink:0}.branch-picker-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-picker-hash{font-size:var(--fs-2xs);color:var(--text-muted);flex-shrink:0}.branch-picker-busy{font-size:var(--fs-sm);color:var(--accent);flex-shrink:0}.branch-picker-empty,.branch-picker-error{padding:12px;font-size:var(--fs-xs);color:var(--text-muted);text-align:center}.branch-picker-error{color:var(--red)}.hamburger{display:none;width:32px;height:32px;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--r-md);cursor:pointer;flex-shrink:0;transition:background var(--t-fast),color var(--t-fast)}.hamburger:hover{background:var(--bg-hover);color:var(--text)}.welcome{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:48px 24px;overflow-y:auto}.welcome-hamburger{position:absolute;top:12px;left:12px}.welcome-inner{width:100%;max-width:720px;display:flex;flex-direction:column;gap:36px}.welcome-brand{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.welcome-brand-icon{color:var(--accent);filter:drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 50%,transparent))}.welcome-title{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.welcome-subtitle{color:var(--text-muted);font-size:var(--fs-md)}.welcome-actions{display:flex;justify-content:center}.welcome-cta{height:40px;padding:8px 20px;font-size:var(--fs-md)}.welcome-section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px}.welcome-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.welcome-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;cursor:pointer;transition:all var(--t-fast);min-width:0}.welcome-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.welcome-card-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.welcome-card-body{flex:1;min-width:0}.welcome-card-name{font-weight:600;font-size:var(--fs-md);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.welcome-card-path{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.welcome-card-badge{width:22px;height:22px;border-radius:var(--r-sm);background:var(--bg-overlay);color:var(--text-muted);display:grid;place-items:center;flex-shrink:0}.welcome-tips{display:flex;flex-direction:column;gap:10px;align-items:center;padding-top:16px;border-top:1px solid var(--border-light)}.welcome-tip{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-muted)}.welcome-tip kbd{font-family:var(--font-mono);font-size:var(--fs-2xs);padding:2px 6px;background:var(--bg-surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--r-sm);color:var(--text-secondary)}.sidebar-backdrop{display:none}.folder-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.folder-picker{width:500px;max-height:70vh;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.folder-picker-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.folder-picker-header h3{font-size:var(--fs-lg);color:var(--text)}.folder-picker-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lg)}.folder-picker-path{padding:8px 16px;font-size:var(--fs-xs);color:var(--green);background:var(--bg-overlay);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-picker-list{flex:1;overflow-y:auto;max-height:400px;padding:4px 0}.folder-picker-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;border:none;background:none;color:var(--text);font-size:var(--fs-md);cursor:pointer;text-align:left}.folder-picker-item:hover{background:var(--border)}.folder-picker-name{flex:1}.folder-picker-badge{font-size:var(--fs-2xs);padding:2px 6px;border-radius:3px;background:var(--green);color:var(--on-fill);font-weight:600;margin-left:4px}.folder-picker-item.already-added{opacity:.6}.folder-picker-group{display:flex;align-items:center;gap:8px;padding:10px 16px 0;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary)}.folder-picker-group select{flex:1;height:28px;padding:0 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:var(--fs-sm)}.folder-picker-group+.folder-picker-actions{border-top:none}.folder-picker-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.folder-picker-cancel{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:none;color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer}.folder-picker-cancel:hover{background:var(--border)}.folder-picker-select{padding:8px 16px;border:none;border-radius:6px;background:var(--accent);color:var(--on-fill);font-size:var(--fs-md);font-weight:600;cursor:pointer}.folder-picker-select:hover{background:var(--accent-hover)}.folder-picker-select:disabled{background:var(--border-hover);color:var(--text-muted);cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:20px;width:360px;max-width:90vw}.modal-content h3{font-size:var(--fs-lg);margin-bottom:8px;color:var(--text)}.modal-description{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:12px}.modal-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-overlay);color:var(--text);font-size:var(--fs-md);outline:none}.modal-input:focus{border-color:var(--accent)}.modal-error{margin-top:8px;font-size:var(--fs-sm);color:var(--red)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-btn-cancel{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:none;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer}.modal-btn-cancel:hover{color:var(--text)}.modal-btn-confirm{padding:8px 16px;border:none;border-radius:6px;background:var(--accent);color:var(--on-fill);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.modal-btn-confirm:hover{background:var(--accent-hover)}.modal-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.modal-btn-confirm.destructive{background:var(--red);color:var(--on-fill)}.modal-btn-confirm.destructive:hover{background:var(--red)}.confirm-dialog h3{margin-bottom:6px}.confirm-dialog .modal-description{margin-bottom:4px;line-height:1.5}.shortcuts-help{width:520px;max-height:80vh;overflow-y:auto}.shortcuts-section+.shortcuts-section{margin-top:14px}.shortcuts-section h4{font-size:var(--fs-md);color:var(--text);margin-bottom:4px}.shortcuts-note{font-size:var(--fs-sm);color:var(--text-faint);margin-bottom:4px}.shortcuts-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:var(--fs-md);color:var(--text-secondary)}.shortcuts-row dd{margin:0;text-align:right}.shortcuts-row kbd{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text)}.group-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.group-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;width:90%;max-width:360px}.group-form h3{margin:0 0 16px;color:var(--text);font-size:var(--fs-lg)}.group-form label{display:block;margin-bottom:12px;color:var(--text-secondary);font-size:var(--fs-sm)}.group-form input[type=text]{display:block;width:100%;margin-top:4px;padding:8px;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:4px;font-size:var(--fs-md);box-sizing:border-box}.group-form-section{margin-bottom:12px}.group-form-label{display:block;color:var(--text-secondary);font-size:var(--fs-sm);margin-bottom:6px}.group-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.group-emoji-btn{padding:6px;background:var(--border);border:2px solid transparent;border-radius:6px;font-size:var(--fs-lg);cursor:pointer;text-align:center}.group-emoji-btn:hover{background:var(--border-hover)}.group-emoji-btn.active{border-color:var(--accent);background:var(--border-hover)}.group-color-grid{display:flex;gap:6px;flex-wrap:wrap}.group-color-btn{width:28px;height:28px;border:2px solid transparent;border-radius:50%;cursor:pointer}.group-color-btn:hover{transform:scale(1.1)}.group-color-btn.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.group-form-preview{padding:10px;background:var(--bg-surface);border-radius:6px;margin-bottom:12px;font-size:var(--fs-md);color:var(--text)}.group-form-actions{display:flex;gap:8px;justify-content:flex-end}.group-form-cancel{background:none;border:1px solid var(--border-hover);color:var(--text);padding:6px 16px;border-radius:4px;cursor:pointer}.group-form-save{background:var(--accent);border:none;color:var(--on-fill);padding:6px 16px;border-radius:4px;cursor:pointer;font-weight:600}.group-form-projects{max-height:200px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--bg-surface);border-radius:6px}.group-form label.group-form-project{display:flex;align-items:center;gap:8px;margin:0;padding:5px 6px;border-radius:4px;color:var(--text);cursor:pointer}.group-form label.group-form-project:hover{background:var(--bg-hover)}.group-form-project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-form-project-note{font-size:var(--fs-xs);color:var(--text-faint);white-space:nowrap}.group-form-private{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.group-form-private input{cursor:pointer}.group-form label.group-form-company select{display:block;width:100%;margin-top:4px;padding:7px 8px;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:4px;font-size:var(--fs-md)}.nav-sidebar{display:flex;flex-direction:column;height:100%;min-height:0}.nav-sidebar-head{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);height:40px;flex-shrink:0}.nav-sidebar-brand{flex:1;display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:600;color:var(--text)}.nav-icon-btn{position:relative;width:28px;height:28px;display:inline-grid;place-items:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--r-md);cursor:pointer;flex-shrink:0}.nav-icon-btn:hover,.nav-icon-btn.active{background:var(--bg-hover);color:var(--text)}.nav-badge{position:absolute;top:2px;right:1px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--red);color:var(--on-fill);font-size:var(--fs-2xs);font-weight:700;line-height:14px;text-align:center}.nav-links{display:flex;flex-direction:column;gap:1px;padding:0 var(--sp-2) var(--sp-2);border-bottom:1px solid var(--border-light)}.nav-link{display:flex;align-items:center;gap:var(--sp-2);height:28px;padding:0 var(--sp-2);border:none;background:transparent;color:var(--text-secondary);border-radius:var(--r-md);font-size:var(--fs-md);text-align:left;cursor:pointer}.nav-link:hover,.nav-link.active{background:var(--bg-hover);color:var(--text)}.nav-link-label{flex:1}.nav-link-count{font-size:var(--fs-xs);color:var(--text-muted)}.nav-sessions-head{display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) var(--sp-1) var(--sp-3)}.nav-filter{flex:1;min-width:0;height:26px;padding:0 var(--sp-2);background:transparent;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.nav-filter:hover{border-color:var(--border);color:var(--text)}.nav-filter option,.nav-filter optgroup{text-transform:none;letter-spacing:normal;background:var(--bg-elevated);color:var(--text)}.nav-new-wrap{position:relative}.nav-sessions{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 var(--sp-2) var(--sp-3)}.nav-empty{padding:var(--sp-5) var(--sp-3);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.nav-empty-btn{margin-top:var(--sp-3);padding:6px 14px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);cursor:pointer}.nav-empty-btn:hover{border-color:var(--border-hover)}.nav-section+.nav-section{margin-top:var(--sp-2)}.nav-section-head{width:100%;display:flex;align-items:center;gap:6px;height:26px;padding:0 var(--sp-1);border:none;background:transparent;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;cursor:pointer;border-radius:var(--r-sm)}.nav-section-restored{position:relative}.nav-section-action{position:absolute;top:3px;right:var(--sp-1);height:20px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer}.nav-section-action:hover{color:var(--text);border-color:var(--border-hover)}.nav-section-head:hover{color:var(--text)}.nav-section-caret{width:10px;font-size:var(--fs-xs);line-height:1;transition:transform var(--t-fast) var(--ease)}.nav-section-caret.open{transform:rotate(90deg)}.nav-section-count{color:var(--text-faint);font-weight:500}.nav-section-attention .nav-section-label{color:var(--yellow)}.srow{position:relative;display:flex;align-items:flex-start;border-radius:var(--r-md)}.srow:hover{background:var(--bg-hover)}.srow.active{background:var(--bg-hover);box-shadow:inset 2px 0 0 var(--accent)}.srow-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--sp-2);padding:7px var(--sp-1) 7px var(--sp-2);border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-md)}.srow-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;flex-shrink:0;background:var(--text-faint)}.srow-dot-thinking,.srow-dot-working{background:var(--accent);animation:status-pulse 1.6s ease-in-out infinite}.srow-dot-done{background:var(--green)}.srow-dot-help{background:var(--yellow)}.srow-dot-error{background:var(--red)}.srow-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.srow-top{display:flex;align-items:center;gap:6px}.srow-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);color:var(--text)}.srow.unread .srow-title{font-weight:600}.srow-unread{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.srow-time{font-size:var(--fs-xs);color:var(--text-faint);flex-shrink:0}.srow-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);min-width:0}.srow-project{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.srow-agent,.srow-sleeping,.srow-outside-tag{color:var(--text-faint);font-style:italic}.srow-outside:hover{background:transparent}.srow-outside .srow-main{cursor:default}.srow-branch{display:inline-flex;align-items:center;gap:4px;min-width:0}.srow-branch{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.srow-snippet{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-pin{width:24px;height:24px;margin:5px 4px 0 0;display:inline-grid;place-items:center;border:none;background:transparent;color:var(--text-faint);border-radius:var(--r-sm);cursor:pointer;opacity:0}.srow:hover .srow-pin,.srow-pin:focus-visible,.srow-pin.pinned{opacity:1}.srow-pin:hover{color:var(--text);background:var(--border-light)}.srow-pin.pinned{color:var(--text-secondary)}.company-switcher{position:relative;margin:0 var(--sp-2) var(--sp-2)}.company-switcher-trigger{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:6px var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.company-switcher-trigger:hover,.company-switcher-trigger.open{background:var(--bg-hover);border-color:var(--border-hover)}.company-switcher-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.company-badge{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:6px;font-size:13px;line-height:1}.company-badge.all{background:var(--bg-surface);color:var(--text-muted)}.company-switcher-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.company-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:600}.company-switcher-sub{font-size:var(--fs-xs);color:var(--text-faint)}.company-switcher-chevron{flex-shrink:0;color:var(--text-muted);transition:transform var(--t-fast)}.company-switcher-trigger.open .company-switcher-chevron{transform:rotate(180deg)}.company-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;padding:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.company-menu-list{max-height:300px;overflow-y:auto;margin:0;padding:0;list-style:none;outline:none}.company-option{display:flex;align-items:center;gap:var(--sp-2);padding:5px 6px;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.company-menu-divider{height:1px;margin:4px 2px;background:var(--border-light)}.company-option.active{background:var(--bg-hover)}.company-option.selected .company-option-name{font-weight:600}.company-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-option-lock{flex-shrink:0;color:var(--text-faint)}.company-option-count{flex-shrink:0;font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.company-option-check{flex-shrink:0;width:12px;color:var(--accent);font-size:var(--fs-xs);text-align:center}.company-menu-manage{display:flex;align-items:center;gap:6px;width:100%;margin-top:4px;padding:6px;border:none;box-shadow:0 -1px 0 var(--border-light);border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-size:var(--fs-xs);text-align:left;cursor:pointer}.company-menu-manage:hover{color:var(--text);background:var(--bg-hover)}.new-session-menu{position:absolute;top:32px;right:0;width:270px;z-index:50;padding:var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.new-session-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--sp-2)}.new-session-field select{height:28px;padding:0 var(--sp-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm)}.new-session-dirs{margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-light)}.new-session-dirs-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:5px var(--sp-2);border:none;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.new-session-dirs-toggle:hover{background:var(--bg-hover);color:var(--text)}.new-session-dirs-count{min-width:16px;padding:0 5px;border-radius:8px;background:var(--accent);color:var(--on-fill);font-size:var(--fs-xs);font-weight:600;text-align:center}.new-session-dirs-note{margin-left:auto;font-size:var(--fs-xs);color:var(--text-faint)}.new-session-dirs-chevron{transform:rotate(-90deg);transition:transform .15s}.new-session-dirs-chevron.open{transform:none}.new-session-dirs-filter{width:100%;height:26px;margin:4px 0;padding:0 var(--sp-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm)}.new-session-dirs-list{max-height:240px;overflow-y:auto;margin:2px 0 0;padding:0;list-style:none}.new-session-dirs-section>ul{margin:0;padding:0;list-style:none}.new-session-dirs-heading{position:sticky;top:0;display:flex;align-items:center;gap:6px;padding:6px var(--sp-2) 2px;background:var(--bg-elevated);font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.new-session-dirs-heading-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-session-dirs-all{padding:0 6px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--accent);font-size:var(--fs-xs);font-weight:500;text-transform:none;letter-spacing:0;cursor:pointer}.new-session-dirs-all:hover{background:var(--bg-hover)}.new-session-dir{display:flex;align-items:center;gap:var(--sp-2);padding:4px var(--sp-2);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.new-session-dir:hover{background:var(--bg-hover)}.new-session-dir-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-session-dirs-empty{font-size:var(--fs-xs);color:var(--text-faint)}.new-session-dirs-empty{padding:4px var(--sp-2)}.new-session-types{display:flex;flex-direction:column;gap:2px}.new-session-type{display:grid;grid-template-columns:16px auto 1fr;align-items:center;gap:var(--sp-2);padding:6px var(--sp-2);border:none;background:transparent;color:var(--text);border-radius:var(--r-md);text-align:left;cursor:pointer}.new-session-type:hover:not(:disabled){background:var(--bg-hover)}.new-session-type-label{font-size:var(--fs-sm);font-weight:500}.new-session-type-hint{font-size:var(--fs-xs);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-session-error{margin-top:var(--sp-2);padding:6px var(--sp-2);border-radius:var(--r-md);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-size:var(--fs-xs)}.nav-sidebar-foot{flex-shrink:0}.statusbar-sidebar-toggle{display:inline-grid;place-items:center;width:22px;height:20px;margin-left:-6px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer}.statusbar-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text)}.page{display:flex;flex-direction:column;height:100%;min-height:0}.page-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-light)}.page-title{flex:1;font-size:var(--fs-lg);font-weight:600}.projects-new-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--accent);color:var(--on-fill);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.projects-new-btn:hover{filter:brightness(1.08)}.projects-page{container-type:inline-size}.projects-explorer{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}.projects-rail{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:var(--sp-2);border-right:1px solid var(--border-light)}.projects-rail-hint{margin-top:auto;padding:var(--sp-3) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);color:var(--text-faint)}.scope-tree ul{margin:0;padding:0;list-style:none}.scope-row{display:flex;align-items:center;gap:2px;min-height:30px;padding-right:4px;border-radius:var(--r-md);color:var(--text-secondary)}.scope-row:hover{background:var(--bg-hover)}.scope-row.current{background:var(--accent-soft);color:var(--text)}.scope-row.current .scope-label{font-weight:600}.scope-row.muted .scope-label{color:var(--text-muted);font-style:italic}.scope-row.drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.scope-row[draggable=true]{cursor:grab}.scope-caret,.scope-caret-space{flex-shrink:0;width:18px;height:18px}.scope-caret{display:grid;place-items:center;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.scope-caret:hover{background:var(--border-light);color:var(--text)}.scope-caret span{transition:transform var(--t-fast)}.scope-caret span.open{transform:rotate(90deg)}.scope-select{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:30px;padding:0 4px;border:none;background:transparent;color:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer}.scope-select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-md)}.scope-icon{display:inline-grid;place-items:center;width:16px;font-size:13px}.scope-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-lock{font-size:var(--fs-xs)}.scope-count{flex-shrink:0;font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.scope-more{flex-shrink:0;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0}.scope-row:hover .scope-more,.scope-row:focus-within .scope-more,.scope-row.current .scope-more{opacity:1}.scope-more:hover{background:var(--border-light);color:var(--text)}.projects-main{position:relative;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.projects-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg);border-bottom:1px solid var(--border-light)}.projects-scope-toggle{display:none}.projects-scope-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);font-weight:600}.projects-scope-count{margin-left:4px;font-size:var(--fs-xs);font-weight:500;color:var(--text-faint)}.projects-search{display:flex;align-items:center;gap:6px;width:min(280px,45%);height:30px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-muted)}.projects-search:focus-within{border-color:var(--accent)}.projects-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);outline:none}.projects-error{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) var(--sp-4) 0;padding:8px 10px;border-radius:var(--r-md);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-size:var(--fs-sm)}.projects-error button{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer}.projects-list-head{display:flex;align-items:center;gap:var(--sp-2);padding:8px var(--sp-4) 4px;font-size:var(--fs-xs);color:var(--text-faint)}.projects-rows{margin:0;padding:0 var(--sp-2) 72px;list-style:none}.project-row{display:flex;align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-2);border-radius:var(--r-md);cursor:grab}.project-row:hover{background:var(--bg-hover)}.project-row.selected{background:var(--accent-soft)}.project-row.current .project-row-name{color:var(--accent)}.projects-check{display:grid;place-items:center;width:20px;flex-shrink:0;cursor:pointer}.projects-check input{cursor:pointer}.project-row-open{display:flex;flex-direction:column;flex:1;min-width:0;padding:6px 4px;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer}.project-row-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-md)}.project-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-sm);font-weight:600}.project-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row-git{flex-shrink:0;padding:0 5px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.project-row-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.project-row-activity{flex-shrink:0;padding:1px 8px;border-radius:999px;font-size:var(--fs-xs);background:var(--bg-surface);color:var(--text-muted)}.project-row-activity[data-activity=working]{color:var(--yellow)}.project-row-activity[data-activity=thinking]{color:var(--accent)}.project-row-activity[data-activity=help],.project-row-activity[data-activity=error]{color:var(--red)}.project-row-place{flex-shrink:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 8px;border:1px solid var(--border-light);border-radius:999px;font-size:var(--fs-xs);color:var(--text-muted)}.project-row-more{flex-shrink:0;width:28px;height:28px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}.project-row-more:hover{background:var(--border-light);color:var(--text)}.projects-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:48px var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.projects-empty-action{padding:6px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-hover);color:var(--text);cursor:pointer}.projects-bulk{position:sticky;bottom:var(--sp-3);align-self:center;display:flex;align-items:center;gap:var(--sp-3);margin-top:auto;padding:8px 8px 8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);box-shadow:var(--shadow-lg);font-size:var(--fs-sm)}.projects-bulk-move{padding:5px 14px;border:none;border-radius:999px;background:var(--accent);color:var(--on-fill);font-weight:600;cursor:pointer}.projects-bulk-clear{width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.projects-bulk-clear:hover{background:var(--bg-hover)}.move-dialog{width:380px;max-height:80vh;display:flex;flex-direction:column}.move-dialog-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-dialog-body{overflow-y:auto;margin:4px -8px 0}.move-section+.move-section{margin-top:8px}.move-section ul{margin:0;padding:0;list-style:none}.move-section-head{padding:6px 10px 2px;font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.move-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px 7px 22px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer}.move-option:hover:not(:disabled){background:var(--bg-hover)}.move-option:disabled{cursor:default}.move-option-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.move-option-muted{color:var(--text-muted);font-style:italic}.move-option-note{font-size:var(--fs-xs);color:var(--text-faint)}.move-option.current .move-option-note{color:var(--accent)}@container (max-width: 720px){.projects-explorer{grid-template-columns:minmax(0,1fr)}.projects-rail{display:none;border-right:none;border-bottom:1px solid var(--border-light);max-height:55vh}.projects-explorer.rail-open .projects-rail{display:flex}.projects-scope-toggle{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:55%;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text);font-size:var(--fs-sm);font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.projects-scope-title{display:none}.projects-search{flex:1;width:auto}.project-row-place,.projects-rail-hint{display:none}.scope-more{opacity:1}}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;height:30px;border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent);color:var(--on-fill);font-weight:600;font-size:var(--fs-md);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;height:30px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text);font-weight:500;font-size:var(--fs-md);cursor:pointer;transition:all var(--t-fast)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.4;cursor:not-allowed}@keyframes tp-pulse{0%,to{opacity:1}50%{opacity:.4}}.tp-error{padding:8px 12px;background:#f851491a;border:1px solid rgba(248,81,73,.3);border-radius:4px;color:var(--red);font-size:var(--fs-sm)}.tp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--text);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.tp-btn:hover:not(:disabled){border-color:var(--text-faint);background:var(--bg-hover)}.tp-btn:disabled{opacity:.5;cursor:not-allowed}.tp-btn-primary{border-color:var(--accent);color:var(--accent)}.tp-btn-primary:hover:not(:disabled){background:var(--accent-soft, rgba(0,217,255,.12))}.tunnel-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.tunnel-view-topbar{display:flex;align-items:center;gap:12px;padding:0 12px;height:40px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.tunnel-view-title{display:flex;align-items:center;gap:8px;color:var(--text);font-size:var(--fs-md);font-weight:600}.tunnel-view-count{padding:2px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:var(--fs-xs);font-weight:500;color:var(--text-secondary)}.tunnel-view-body{flex:1;overflow:auto;padding:24px;background:var(--bg)}.tunnel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-muted)}.tunnel-empty h3{margin:0;font-size:var(--fs-lg);font-weight:600;color:var(--text)}.tunnel-empty p{margin:0;font-size:var(--fs-md);color:var(--text-muted);max-width:380px;line-height:1.5}.tunnel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.tunnel-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tunnel-card:hover{border-color:var(--text-faint);background:var(--bg-elevated, var(--bg-surface))}.tunnel-card-running{border-left:3px solid var(--green)}.tunnel-card-starting{border-left:3px solid var(--yellow)}.tunnel-card-error{border-left:3px solid var(--red)}.tunnel-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tunnel-card-status{display:flex;align-items:center;gap:8px}.tunnel-card-dot{width:8px;height:8px;border-radius:50%}.tunnel-card-dot-running{background:var(--green)}.tunnel-card-dot-starting{background:var(--yellow);animation:tp-pulse 1.4s ease-in-out infinite}.tunnel-card-dot-error{background:var(--red)}.tunnel-card-status-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.tunnel-card-time{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.tunnel-card-project{font-size:var(--fs-md);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tunnel-card-urls{display:flex;flex-direction:column;gap:6px}.tunnel-card-row{display:flex;align-items:center;gap:10px;min-width:0}.tunnel-card-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;width:48px;flex-shrink:0}.tunnel-card-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-sm);color:var(--text-secondary)}.tunnel-card-url-public{color:var(--green-bright, var(--green))}.tunnel-card-url-pending{flex:1;font-size:var(--fs-sm);color:var(--text-faint);font-style:italic}.tunnel-card-actions{display:flex;gap:6px;border-top:1px solid var(--border-light, var(--border));margin-top:2px;padding-top:10px}.tunnel-card-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s ease}.tunnel-card-btn:hover:not(:disabled){border-color:var(--text-faint);color:var(--text);background:var(--bg-hover)}.tunnel-card-btn:disabled{opacity:.5;cursor:not-allowed}.tunnel-card-btn-stop{margin-left:auto;color:var(--red);border-color:#f8514966}.tunnel-card-btn-stop:hover:not(:disabled){background:#f851491a;border-color:var(--red);color:var(--red)}.tunnel-card-btn-start{border-color:var(--accent);color:var(--accent)}.tunnel-card-btn-start:hover:not(:disabled){background:var(--accent-soft, rgba(0,217,255,.12));color:var(--accent)}.tunnel-card-dot-idle{background:var(--text-faint)}.tunnel-card-tools{display:flex;gap:4px}.tunnel-section{margin-bottom:28px}.tunnel-section:last-child{margin-bottom:0}.tunnel-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.tunnel-section-title{margin:0 0 4px;font-size:var(--fs-md);font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.tunnel-section-desc{margin:0;font-size:var(--fs-sm);color:var(--text-muted)}.tunnel-section-desc code{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-xs);background:var(--bg-surface);padding:1px 5px;border-radius:3px}.quick-tunnel-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.quick-tunnel-form .tg-form-input{flex:1 1 180px;min-width:0}.quick-tunnel-form .tp-error{flex-basis:100%}.tunnel-empty-inline{padding:24px 20px;background:var(--bg-surface);border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:var(--fs-md);text-align:center}.tunnel-empty-inline p{margin:0}.tunnel-banner{padding:12px 14px;margin-bottom:14px;background:#d2992214;border:1px solid rgba(210,153,34,.3);border-radius:6px;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--text)}.tunnel-banner code{font-family:var(--font-mono, ui-monospace, monospace);background:var(--bg);padding:1px 5px;border-radius:3px;font-size:var(--fs-xs)}.tg-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:20px 22px;display:flex;flex-direction:column;gap:16px;margin-bottom:14px}.tg-form-head h3{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--text)}.tg-form-row{display:flex;flex-direction:column;gap:6px}.tg-form-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.tg-form-input{padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-md)}.tg-form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft, rgba(0,217,255,.12))}.tg-form-input:disabled{opacity:.6;cursor:not-allowed}.tg-form-hint{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.4}.tg-form-hint code{font-family:var(--font-mono, ui-monospace, monospace);background:var(--bg);padding:1px 5px;border-radius:3px;font-size:var(--fs-2xs)}.tg-form-hostname{display:flex;align-items:center;gap:6px}.tg-form-subdomain{flex:0 0 35%}.tg-form-zone{flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.tg-form-section{display:flex;flex-direction:column;gap:8px}.tg-form-section-head{display:flex;align-items:center;justify-content:space-between}.tg-form-routes{display:flex;flex-direction:column;gap:6px}.tg-form-route{display:flex;align-items:center;gap:8px}.tg-form-route-path{flex:0 0 35%}.tg-form-route-service{flex:1;min-width:0}.tg-form-arrow{color:var(--text-muted);font-size:var(--fs-md)}.tg-form-route-remove{flex-shrink:0;width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs);transition:all .15s ease}.tg-form-route-remove:hover:not(:disabled){border-color:var(--red);color:var(--red)}.tg-form-route-remove:disabled{opacity:.3;cursor:not-allowed}.tg-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--fs-lg)}.terminal-view{display:flex;flex-direction:column;height:100%;position:relative}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-overlay);border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.terminal-title{color:var(--text-secondary)}.terminal-header-actions{display:flex;align-items:center;gap:8px}.terminal-mode-button{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer}.terminal-mode-button:hover{border-color:var(--accent)}.terminal-mode-button.active{background:var(--accent);color:var(--on-fill);border-color:var(--accent)}.terminal-session-id{color:var(--text-muted);font-size:var(--fs-sm)}.terminal-container{flex:1;padding:8px;overflow:hidden}.terminal-scroll-bottom{position:absolute;bottom:120px;left:50%;transform:translate(-50%);z-index:20;padding:8px 20px;border:1px solid var(--accent);border-radius:16px;background:var(--bg);color:var(--accent);font-size:var(--fs-md);font-weight:600;cursor:pointer;opacity:.9;box-shadow:0 2px 8px #0006}.terminal-scroll-bottom:hover{background:var(--accent);color:var(--on-fill)}.terminal-restored{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-md)}.terminal-restored>span{flex:1}.terminal-restored-error{color:var(--red)}.terminal-restored button{padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text);cursor:pointer}.terminal-restored .terminal-restored-resume{background:var(--accent);border-color:var(--accent);color:var(--on-fill)}.terminal-connection-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;padding:12px 24px;border-radius:8px;font-size:var(--fs-md);font-weight:600;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.terminal-reconnecting{background:#f9e2af26;border:1px solid var(--yellow);color:var(--yellow)}.terminal-failed{background:#f38ba826;border:1px solid var(--red);color:var(--red)}.terminal-retry-button{padding:4px 16px;border:1px solid var(--red);border-radius:4px;background:transparent;color:var(--red);font-size:var(--fs-sm);cursor:pointer}.terminal-retry-button:hover{background:var(--red);color:var(--on-fill)}.terminal-input{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-overlay);border-top:1px solid var(--border)}.quick-replies{order:-1;flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.quick-reply{display:inline-flex;align-items:center}.quick-reply-send,.quick-reply-edit{padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.quick-reply-send:hover:not(:disabled){color:var(--text);border-color:var(--border-hover)}.quick-reply-send:disabled{opacity:.5;cursor:default}.quick-reply-edit{border-style:dashed;color:var(--text-faint)}.quick-reply-remove{margin-left:2px;border:none;background:none;color:var(--text-faint);cursor:pointer}.quick-reply-add input{padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:var(--fs-sm)}.quick-reply-error{color:var(--red);font-size:var(--fs-sm)}.terminal-input-field{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--fs-md);outline:none;resize:vertical;line-height:1.4;box-sizing:border-box;min-height:40px;max-height:200px;overflow-y:auto}.terminal-input-field:focus{border-color:var(--accent)}.terminal-input-field:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed}.terminal-input-buttons{display:flex;gap:4px}.terminal-key-button{padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer}.terminal-key-button:hover:not(:disabled){background:var(--border);color:var(--text)}.terminal-key-button:disabled{color:var(--text-faint);cursor:not-allowed}.terminal-ctrl-c-button{padding:8px 12px;border:1px solid var(--red);border-radius:4px;background:none;color:var(--red);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.terminal-ctrl-c-button:hover:not(:disabled){background:var(--red);color:var(--on-fill)}.terminal-ctrl-c-button:disabled{border-color:var(--text-faint);color:var(--text-faint);cursor:not-allowed}.terminal-enter-button{padding:8px 12px;border:1px solid var(--green);border-radius:4px;background:none;color:var(--green);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.terminal-enter-button:hover:not(:disabled){background:var(--green);color:var(--on-fill)}.terminal-enter-button:disabled{border-color:var(--text-faint);color:var(--text-faint);cursor:not-allowed}.lazy-fallback{flex:1;min-height:0}.refresh-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-lg)}.sm-main-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.workspace-main{flex-direction:row}.ws-root{flex:1 1 0;min-width:0;min-height:0;display:flex}.ws-split{flex:1;display:flex;min-width:0;min-height:0}.ws-split-h{flex-direction:row}.ws-split-v{flex-direction:column}.ws-split-child{display:flex;min-width:0;min-height:0}.ws-divider{flex:0 0 1px;background:var(--border);position:relative;z-index:5}.ws-divider:after{content:"";position:absolute;top:0;right:-3px;bottom:0;left:-3px}.ws-split-v>.ws-divider:after{top:-3px;right:0;bottom:-3px;left:0}.ws-split-h>.ws-divider{cursor:col-resize}.ws-split-v>.ws-divider{cursor:row-resize}.ws-divider:hover,.ws-divider:active{background:var(--accent)}.ws-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.ws-pane-head{position:relative;flex-shrink:0}.ws-pane-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.ws-hosted,.ws-inline,.ws-empty{flex:1;min-height:0;display:flex;flex-direction:column}.ws-inline,.ws-empty{overflow:auto}.ws-inline[hidden]{display:none}.ws-view-node{flex:1;min-height:0;display:flex;flex-direction:column}.ws-view-node>*{flex:1;min-height:0}.ws-leaf{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.ws-leaf-bar{flex:0 0 24px;display:flex;align-items:center;gap:6px;padding:0 4px 0 6px;border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:var(--fs-xs);-webkit-user-select:none;user-select:none}.ws-leaf.focused .ws-leaf-bar{color:var(--text)}.ws-leaf-grip{cursor:grab;color:var(--text-faint);font-size:11px;line-height:1}.ws-leaf-icon{flex-shrink:0}.ws-leaf-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-leaf-close{flex-shrink:0;width:18px;height:18px;display:grid;place-items:center;padding:0;border:none;border-radius:var(--r-sm);background:none;color:var(--text-faint);cursor:pointer}.ws-leaf-close:hover{background:var(--bg-hover);color:var(--text)}.ws-leaf-body{flex:1;min-height:0;display:flex;flex-direction:column}.ws-leaf.focused:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--accent);pointer-events:none;z-index:4}.ws-notice{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:20;padding:6px 12px;border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-secondary);font-size:var(--fs-xs);pointer-events:none}.ws-notice:empty{display:none}.ws-tabbar{display:flex;align-items:stretch;height:34px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.ws-tabs{flex:1;min-width:0;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.ws-tabs::-webkit-scrollbar{display:none}.ws-tab{position:relative;display:flex;align-items:center;gap:6px;max-width:220px;padding:0 6px 0 12px;border-right:1px solid var(--border-light);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;flex-shrink:0}.ws-tab:hover{color:var(--text);background:var(--bg-hover)}.ws-tab.active{color:var(--text);background:var(--bg)}.ws-tab.active:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent)}.ws-tab.ended .ws-tab-title{color:var(--text-faint);text-decoration:line-through}.ws-tab-icon{flex-shrink:0}.ws-tab-title{overflow:hidden;text-overflow:ellipsis}.ws-tab-sub{color:var(--text-faint);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis}.ws-tab-ended{font-size:var(--fs-2xs);color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 4px}.ws-tab-close{width:18px;height:18px;display:inline-grid;place-items:center;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-faint);font-size:var(--fs-md);line-height:1;cursor:pointer;opacity:0}.ws-tab:hover .ws-tab-close,.ws-tab.active .ws-tab-close,.ws-tab-close:focus-visible{opacity:1}.ws-tab-close:hover{background:var(--border);color:var(--text)}.ws-tab-rename{width:140px;height:22px;padding:0 6px;background:var(--bg);border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm)}.ws-tabbar-actions{display:flex;align-items:center;gap:2px;padding:0 6px;flex-shrink:0}.ws-tabbar-btn{width:26px;height:26px;display:inline-grid;place-items:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--r-md);cursor:pointer}.ws-tabbar-btn:hover{background:var(--bg-hover);color:var(--text)}.ws-overflow{position:relative}.ws-overflow-menu{position:absolute;top:30px;right:0;z-index:60;min-width:220px;max-height:360px;overflow-y:auto;padding:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.ws-overflow-menu button{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;border-radius:var(--r-md);cursor:pointer}.ws-overflow-menu button:hover,.ws-overflow-menu button.active{background:var(--bg-hover)}.ws-new-menu-anchor{position:absolute;top:0;right:6px;z-index:60}.ws-drop{position:absolute;z-index:40;background:var(--accent-soft);border:1px solid var(--accent);pointer-events:none}.ws-drop-center{top:0;right:0;bottom:0;left:0}.ws-drop-left{top:0;bottom:0;left:0;width:50%}.ws-drop-right{top:0;bottom:0;right:0;width:50%}.ws-drop-top{left:0;right:0;top:0;height:50%}.ws-drop-bottom{left:0;right:0;bottom:0;height:50%}.ws-dock-divider{flex:0 0 4px;background:var(--border);cursor:col-resize;transition:background var(--t-fast)}.ws-dock-divider:hover,.ws-dock-divider:active{background:var(--accent)}.ws-dock{flex:0 0 auto;min-width:260px;width:var(--dock-w, 460px);display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg)}.dock{flex:1;min-height:0;display:flex;flex-direction:column}.dock-head{display:flex;align-items:center;gap:4px;height:34px;padding:0 6px;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.dock-icons{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.dock-icons::-webkit-scrollbar{display:none}.dock-icon{position:relative;width:30px;height:26px;display:inline-grid;place-items:center;border:none;border-radius:var(--r-md);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.dock-icon:hover{background:var(--bg-hover);color:var(--text)}.dock-icon.active{background:var(--bg-hover);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.dock-icon-badge{position:absolute;top:0;right:0;min-width:14px;height:13px;padding:0 3px;border-radius:7px;background:var(--border);color:var(--text-secondary);font-size:var(--fs-2xs);line-height:13px;text-align:center}.dock-subhead{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border-light);flex-shrink:0}.dock-project{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-actions{display:flex;gap:4px;flex-shrink:0}.dock-action{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-md);background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer}.dock-action:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.dock-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;container-type:inline-size}.dock-body>*{flex:1;min-height:0}.dock-body>.references-panel{max-height:none;border-top:none}@container (max-width: 720px){.dock-body .files-tab,.dock-body .changes-tab,.dock-body .specs-tab{flex-direction:column}.dock-body .file-tree,.dock-body .git-changes,.dock-body .spec-browser{width:auto;min-width:0;max-height:40%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border)}.dock-body .changes-tab.list-only .git-changes,.dock-body .files-tab.list-only .file-tree{max-height:none;flex:1;border-bottom:none}}.statusbar-sidebar-toggle.active{color:var(--text)}@media(max-width:1024px){.ws-dock-divider{display:none}.ws-dock{position:fixed;top:40px;right:0;bottom:26px;left:0;width:auto;max-width:none;z-index:90;border-left:none;border-top:1px solid var(--border);box-shadow:var(--shadow-lg)}.ws-tab-close{opacity:1}}.statusbar-usage{gap:10px}.statusbar-usage.is-stale{opacity:.55}.usage-meter{display:inline-flex;align-items:center;gap:5px}.usage-meter-label{color:var(--text-faint)}.usage-meter-track{width:36px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.usage-meter-fill{display:block;height:100%;background:var(--text-muted)}.usage-warn .usage-meter-fill{background:var(--yellow)}.usage-critical .usage-meter-fill{background:var(--red)}.usage-critical .statusbar-text{color:var(--red)}@media(max-width:640px){.usage-meter-track{display:none}}.ws-tab-splits,.ws-tab-zoomed{flex-shrink:0;padding:0 5px;border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-muted);font-size:var(--fs-2xs);line-height:16px}.ws-tab-zoomed{color:var(--accent)}.ws-split-down-btn svg{transform:rotate(90deg)}.ws-leaf-chips{display:flex;gap:6px;padding:6px 8px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg-surface)}.ws-leaf-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;max-width:160px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:none;color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ws-leaf-chip.active{border-color:var(--accent);color:var(--text)}.folder-parent{color:var(--text-secondary);font-weight:700}.files-tab{display:flex;height:100%;overflow:hidden}.context-menu{position:fixed;z-index:9999;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:4px;font-size:var(--fs-md);-webkit-user-select:none;user-select:none}.context-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 10px;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--r-sm);font-size:var(--fs-md)}.context-menu-item:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.context-menu-item:disabled{opacity:.4;cursor:not-allowed}.context-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-shortcut{flex-shrink:0;margin-left:16px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}.context-menu-divider{height:1px;background:var(--border-light);margin:4px 0}.file-viewer-find-btn{color:var(--accent)!important;border-color:var(--accent)!important}.file-viewer-find-btn.active{background:var(--accent-soft)!important}.references-panel{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--bg-surface);max-height:45%;min-height:200px;overflow:hidden}.rp-head{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border-light);background:var(--bg-overlay);flex-shrink:0}.rp-search-wrap{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);flex:1;min-width:0;color:var(--text-muted)}.rp-search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.rp-search{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:var(--fs-md);font-family:var(--font-mono)}.rp-search::placeholder{color:var(--text-faint)}.rp-options{display:inline-flex;gap:2px;flex-shrink:0}.rp-opt{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);font-family:var(--font-mono);font-weight:600;padding:2px 8px;border-radius:var(--r-sm);cursor:pointer;height:22px}.rp-opt:hover{color:var(--text)}.rp-opt.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.rp-summary{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.rp-close{width:22px;height:22px;display:grid;place-items:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);flex-shrink:0}.rp-close:hover{background:var(--bg-hover);color:var(--text)}.rp-error{padding:6px 12px;background:color-mix(in srgb,var(--red) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--red) 30%,transparent);color:var(--red);font-size:var(--fs-sm);flex-shrink:0}.rp-results{flex:1;overflow-y:auto;padding:4px 0}.rp-empty{padding:12px;font-size:var(--fs-sm);color:var(--text-muted);text-align:center}.rp-file-group{margin-bottom:4px}.rp-file{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono);background:var(--bg);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:1}.rp-file.current{color:var(--accent);background:var(--accent-soft)}.rp-file-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-file-count{flex-shrink:0;background:var(--bg-hover);padding:0 6px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600}.rp-matches{display:flex;flex-direction:column}.rp-match{display:flex;align-items:flex-start;gap:10px;padding:3px 16px;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-sm);border-left:2px solid transparent;transition:background var(--t-fast)}.rp-match:hover{background:var(--bg-hover);border-left-color:var(--accent)}.rp-line-num{flex-shrink:0;color:var(--text-muted);min-width:32px;text-align:right;-webkit-user-select:none;user-select:none}.rp-line-text{flex:1;min-width:0;white-space:pre;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.rp-mark{background:color-mix(in srgb,var(--yellow) 35%,transparent);color:var(--yellow);border-radius:2px;padding:0 1px}.file-tree{width:280px;min-width:280px;border-right:1px solid var(--border);background:var(--bg-surface);overflow-y:auto;overflow-x:hidden;padding:6px 0;-webkit-user-select:none;user-select:none;flex-shrink:0}.ft-node{display:flex;flex-direction:column}.ft-row{display:flex;align-items:center;gap:4px;padding:3px 8px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--fs-md);text-align:left;cursor:pointer;white-space:nowrap;border-radius:0;width:100%;min-height:24px;transition:background var(--t-fast),color var(--t-fast)}.ft-row:hover{background:var(--bg-hover);color:var(--text)}.ft-row.selected{background:var(--accent-soft);color:var(--accent)}.ft-chevron{display:inline-block;width:12px;flex-shrink:0;font-size:var(--fs-2xs);color:var(--text-muted);text-align:center}.ft-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;flex-shrink:0;color:var(--text-muted)}.ft-row:hover .ft-icon,.ft-row.selected .ft-icon{color:inherit}.ft-file-dot{color:var(--text-faint);font-size:var(--fs-md);line-height:1}.ft-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--fs-sm)}.ft-badge{flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:700;padding-right:4px}.ft-loading,.ft-empty{padding:6px 8px;font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}.ft-children{display:flex;flex-direction:column}.file-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.file-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-overlay);border-bottom:1px solid var(--border)}.file-viewer-path{font-size:var(--fs-md);color:var(--accent)}.file-viewer-actions{display:flex;gap:8px;align-items:center}.file-viewer-mode-button{padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer}.file-viewer-mode-button:hover{border-color:var(--accent);color:var(--accent)}.file-viewer-mode-button.active{background:var(--accent);color:var(--on-fill);border-color:var(--accent)}.file-viewer-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-md)}.file-viewer-edit-btn{color:var(--yellow)!important;border-color:var(--yellow)!important}.file-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.file-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-overlay);border-bottom:1px solid var(--border);gap:12px}.file-editor-status{flex:1;min-width:0;font-size:var(--fs-sm)}.file-editor-dirty{color:var(--yellow)}.file-editor-success{color:var(--green)}.file-editor-error{color:var(--red);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:400px}.file-editor-actions{display:flex;gap:8px;flex-shrink:0}.file-editor-cancel-btn,.file-editor-save-btn{padding:4px 14px;border-radius:4px;cursor:pointer;font-size:var(--fs-sm);font-weight:600;font-family:inherit;border:1px solid transparent}.file-editor-cancel-btn{background:transparent;border-color:var(--border);color:var(--text-secondary)}.file-editor-save-btn{background:var(--green);color:var(--on-fill);border-color:var(--green)}.file-editor-save-btn:hover:not(:disabled){opacity:.9}.file-editor-cancel-btn:disabled,.file-editor-save-btn:disabled{opacity:.4;cursor:not-allowed}.file-editor-body{flex:1;overflow:hidden;min-height:0}.code-editor-container,.code-editor-container .cm-editor{height:100%}.code-editor-container .cm-scroller{overflow:auto}.file-viewer-content{flex:1;overflow:auto;font-size:var(--fs-md)}.file-viewer-content pre{background:var(--bg)!important}.line-number{display:inline-block;width:40px;text-align:right;padding-right:12px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.changes-tab{display:flex;height:100%;overflow:hidden}.git-changes{width:300px;min-width:300px;border-right:1px solid var(--border);display:flex;flex-direction:column}.changes-tab.list-only .git-changes,.files-tab.list-only .file-tree{flex:1;width:auto;border-right:none}.git-changes-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.git-change-count{color:var(--text-muted);flex:1}.git-file-list{flex:1;overflow-y:auto}.git-file-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;border-bottom:1px solid var(--border);background:none;color:var(--text);font-size:var(--fs-sm);cursor:pointer;text-align:left}.git-file-item:hover{background:var(--border)}.git-file-item.active{background:var(--border-hover)}.git-status-badge{font-weight:700;font-size:var(--fs-xs);width:14px;text-align:center}.git-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-line-counts{display:flex;gap:4px;font-size:var(--fs-xs)}.git-additions{color:var(--green)}.git-deletions{color:var(--red)}.diff-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-overlay);border-bottom:1px solid var(--border)}.diff-file-path{font-size:var(--fs-md);color:var(--accent)}.diff-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-md)}.diff-content{flex:1;overflow:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--fs-sm)}.diff-hunk{margin-bottom:4px}.diff-hunk-header{padding:4px 12px;background:var(--bg-surface);color:var(--accent);font-size:var(--fs-xs)}.diff-line{display:flex;padding:0 12px;line-height:1.6}.diff-line-add{background:#a6e3a11a}.diff-line-delete{background:#f38ba81a}.diff-line-number{width:40px;min-width:40px;text-align:right;padding-right:8px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.diff-line-prefix{width:16px;min-width:16px;text-align:center;color:var(--text-muted);-webkit-user-select:none;user-select:none}.diff-line-add .diff-line-prefix{color:var(--green)}.diff-line-delete .diff-line-prefix{color:var(--red)}.diff-line-content{flex:1;white-space:pre;overflow-x:auto}.git-view-toggle{display:flex;gap:0;padding:8px;border-bottom:1px solid var(--border)}.git-view-btn{flex:1;padding:6px 8px;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer}.git-view-btn:first-child{border-radius:4px 0 0 4px}.git-view-btn:last-child{border-radius:0 4px 4px 0}.git-view-btn.active{background:var(--border);color:var(--text)}.branch-selector{position:relative;padding:6px 8px;border-bottom:1px solid var(--border)}.branch-selector-btn{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:var(--fs-sm);cursor:pointer}.branch-selector-btn:hover{border-color:var(--accent)}.branch-icon{font-size:var(--fs-md)}.branch-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-arrow{color:var(--text-muted);font-size:var(--fs-2xs)}.branch-dropdown{position:absolute;top:100%;left:8px;right:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0006;z-index:100;max-height:300px;overflow-y:auto}.branch-error{padding:6px 10px;color:var(--red);font-size:var(--fs-xs)}.branch-empty{padding:12px;color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.branch-group-label{padding:6px 10px 2px;font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;color:var(--text-muted)}.branch-item{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text);font-size:var(--fs-sm);cursor:pointer;text-align:left}.branch-item:hover{background:var(--border)}.branch-item.current{color:var(--green);font-weight:600}.branch-item.remote{color:var(--text-muted);font-style:italic}.branch-current-dot{color:var(--green);font-size:8px}.branch-item-hash{margin-left:auto;color:var(--text-faint);font-family:monospace;font-size:var(--fs-xs)}.commit-list{flex:1;overflow-y:auto}.commit-search{padding:6px 8px;border-bottom:1px solid var(--border-light)}.commit-search-input{width:100%;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:var(--fs-sm);outline:none}.commit-search-input:focus{border-color:var(--accent)}.commit-search-input::placeholder{color:var(--text-faint)}.commit-list-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:var(--fs-md)}.commit-item{display:flex;align-items:stretch;padding:0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--t-fast);min-height:56px}.commit-item.selected{background:var(--accent-soft);border-left:2px solid var(--accent)}.commit-graph{flex-shrink:0;display:block}.commit-body{flex:1;min-width:0;padding:8px 12px 8px 6px;display:flex;flex-direction:column;justify-content:center}.commit-item-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}.commit-hash{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);flex-shrink:0}.commit-date{font-size:var(--fs-2xs);color:var(--text-faint);margin-left:auto;flex-shrink:0}.commit-refs{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center;flex-shrink:1;min-width:0}.commit-ref{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.commit-ref-head{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.commit-ref-branch{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green-bright);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.commit-ref-remote{background:var(--bg-overlay);color:var(--text-muted);border-color:var(--border)}.commit-ref-tag{background:color-mix(in srgb,var(--yellow) 15%,transparent);color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 35%,transparent)}.commit-message{font-size:var(--fs-md);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.commit-author{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.commit-load-more{display:block;width:100%;padding:10px;background:none;border:none;color:var(--accent);font-size:var(--fs-sm);cursor:pointer}.commit-load-more:hover{background:var(--bg-hover)}.commit-load-more:disabled{color:var(--text-faint);cursor:default}.commit-detail{flex:1;overflow-y:auto}.commit-detail-header{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.commit-detail-back{background:none;border:none;color:var(--accent);font-size:var(--fs-md);cursor:pointer;padding:4px 8px;border-radius:var(--r-sm)}.commit-detail-back:hover{background:var(--bg-hover)}.commit-detail-checkout{font-size:var(--fs-sm);padding:4px 12px;font-family:var(--font-mono)}.commit-detail-error{margin:8px 12px;padding:8px 12px;background:color-mix(in srgb,var(--red) 12%,transparent);border:1px solid color-mix(in srgb,var(--red) 30%,transparent);border-radius:var(--r-md);color:var(--red);font-size:var(--fs-sm)}.commit-detail-info{padding:10px;border-bottom:1px solid var(--border)}.commit-detail-message{font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:8px;word-break:break-word}.commit-detail-meta{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);color:var(--text-muted)}.commit-detail-hash{font-family:monospace;font-size:var(--fs-2xs);color:var(--text-faint);-webkit-user-select:all;user-select:all}.commit-detail-files-header{padding:8px 10px;font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--bg-surface)}.commit-detail-loading{padding:16px;text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.commit-detail-files{overflow-y:auto}.commit-file-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--bg-surface)}.commit-file-item:hover{background:var(--bg-hover)}.commit-file-item.selected{background:var(--border)}.commit-file-status{font-family:monospace;font-size:var(--fs-xs);font-weight:700;width:14px;flex-shrink:0}.commit-file-path{flex:1;font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-file-stats{display:flex;gap:6px;font-size:var(--fs-xs);font-family:monospace}.stat-add{color:var(--green)}.stat-del{color:var(--red)}.diff-header-actions{display:flex;align-items:center;gap:8px}.diff-mode-toggle{display:flex;gap:0}.diff-mode-btn{padding:2px 8px;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer}.diff-mode-btn:first-child{border-radius:3px 0 0 3px}.diff-mode-btn:last-child{border-radius:0 3px 3px 0}.diff-mode-btn.active{background:var(--border);color:var(--text)}.sbs-diff{overflow:auto;flex:1}.sbs-table{width:100%;border-collapse:collapse;font-family:monospace;font-size:var(--fs-sm)}.sbs-table td{vertical-align:top;padding:0 6px;white-space:pre;line-height:1.5}.sbs-linenum{width:1%;min-width:28px;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;padding-right:4px;border-right:1px solid var(--border-light)}.sbs-content{width:49%;color:var(--text);border-right:1px solid var(--border-light);overflow-x:auto}.sbs-content:last-child{border-right:none}.sbs-delete{background:#f38ba826;color:var(--red)}.sbs-add{background:#a6e3a126;color:var(--green)}.sbs-empty{background:var(--bg-surface)}.sbs-separator-cell{text-align:center;color:var(--text-faint);padding:4px 0;background:var(--bg-surface);font-size:var(--fs-2xs)}@media(max-width:768px){.sbs-diff{overflow-x:auto}.sbs-table{min-width:600px}}.mermaid-container{margin:12px 0;overflow-x:auto}.mermaid-container svg{max-width:100%;height:auto}.mermaid-error{margin:12px 0;border:1px solid var(--red);border-radius:6px;overflow:hidden}.mermaid-error pre{padding:10px;background:var(--bg-surface);color:var(--text-muted);font-size:var(--fs-sm);margin:0}.mermaid-error-msg{padding:6px 10px;background:#f38ba81a;color:var(--red);font-size:var(--fs-xs)}.specs-tab{display:flex;height:100%;overflow:hidden}.spec-browser{width:260px;min-width:260px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.spec-browser-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.spec-browser-header h4{font-size:12px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin:0}.spec-feature-list{flex:1;overflow-y:auto}.spec-feature-item{display:block;width:100%;padding:8px 12px;border:none;background:none;color:var(--text);font-size:13px;cursor:pointer;text-align:left}.spec-feature-item:hover{background:var(--border)}.spec-feature-item.active{background:var(--border-hover);color:var(--accent)}.spec-file-list{padding-left:16px;border-bottom:1px solid var(--border)}.spec-file-item{display:block;width:100%;padding:5px 12px;border:none;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;text-align:left}.spec-file-item:hover{background:var(--border);color:var(--text)}.spec-file-item.active{background:var(--border-hover);color:var(--accent)}.markdown-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.markdown-header{padding:8px 16px;background:var(--bg-overlay);border-bottom:1px solid var(--border)}.markdown-path{font-size:13px;color:var(--accent)}.markdown-content{flex:1;overflow:auto;padding:20px 24px;font-size:14px;line-height:1.7;color:var(--text)}.markdown-content h1{font-size:24px;border-bottom:1px solid var(--border);padding-bottom:8px;margin:24px 0 16px;color:var(--text)}.markdown-content h2{font-size:20px;border-bottom:1px solid var(--border);padding-bottom:6px;margin:20px 0 12px;color:var(--text)}.markdown-content h3{font-size:16px;margin:16px 0 8px;color:var(--text)}.markdown-content h4{font-size:14px;margin:12px 0 6px;color:var(--text-secondary)}.markdown-content p{margin:8px 0}.markdown-content ul,.markdown-content ol{padding-left:24px;margin:8px 0}.markdown-content li{margin:4px 0}.markdown-content table{border-collapse:collapse;width:100%;margin:12px 0}.markdown-content th,.markdown-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.markdown-content th{background:var(--bg-surface);font-weight:600}.markdown-content tr:nth-child(2n){background:#3132444d}.markdown-content blockquote{border-left:3px solid var(--accent);margin:12px 0;padding:8px 16px;background:#89b4fa0d;color:var(--text-secondary)}.markdown-content pre{margin:12px 0;border-radius:6px;overflow-x:auto}.markdown-content .code-block{border-radius:6px;font-size:13px}.markdown-content .inline-code{background:var(--border);padding:2px 6px;border-radius:3px;font-size:13px;color:var(--red)}.markdown-content a{color:var(--accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.markdown-content strong{color:var(--text)}.markdown-content input[type=checkbox]{accent-color:var(--accent);margin-right:6px}.mermaid-container{margin:16px 0;padding:16px;background:var(--bg-surface);border-radius:8px;border:1px solid var(--border);overflow-x:auto;text-align:center}.mermaid-container svg{max-width:100%}.mermaid-container.mermaid-zoom{padding:0;overflow:hidden;position:relative;text-align:initial}.mermaid-viewport{width:100%;height:500px;overflow:hidden;cursor:grab;background:linear-gradient(45deg,transparent 49%,rgba(255,255,255,.02) 50%,transparent 51%) 0 0 / 24px 24px,var(--bg-surface)}.mermaid-viewport:active{cursor:grabbing}.mermaid-container.mermaid-zoom .mermaid-viewport>svg{width:100%!important;height:100%!important;max-width:none!important;display:block}.mermaid-controls{position:absolute;bottom:10px;right:10px;display:flex;gap:4px;align-items:center;padding:4px 6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none}.mermaid-ctrl{width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--text);font-size:15px;font-weight:600;border-radius:4px;cursor:pointer}.mermaid-ctrl:hover{background:var(--bg)}.mermaid-ctrl-reset{font-size:13px}.mermaid-zoom-level{padding:0 6px;font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;min-width:40px;text-align:right}.mermaid-error{margin:12px 0;padding:12px;background:#f38ba81a;border:1px solid var(--red);border-radius:6px}.mermaid-error-label{color:var(--red);font-weight:600;font-size:12px;margin-bottom:8px}.mermaid-source{font-size:12px;color:var(--text-muted);margin-top:8px}.error-message{padding:8px 16px;font-size:12px;color:var(--red)}.loading,.empty-message{padding:8px 16px;font-size:13px;color:var(--text-muted)}.gb-hint{display:flex;gap:12px;margin:16px 0;padding:16px;border-radius:8px;border-left:4px solid}.gb-hint-icon{font-size:18px;flex-shrink:0;line-height:1.5}.gb-hint-content{flex:1;min-width:0}.gb-hint-content p:first-child{margin-top:0}.gb-hint-content p:last-child{margin-bottom:0}.gb-hint-info{background:color-mix(in srgb,var(--accent) 10%,transparent);border-left-color:var(--accent);color:var(--text)}.gb-hint-success{background:color-mix(in srgb,var(--green) 10%,transparent);border-left-color:var(--green);color:var(--text)}.gb-hint-warning{background:color-mix(in srgb,var(--yellow) 10%,transparent);border-left-color:var(--yellow);color:var(--text)}.gb-hint-danger{background:color-mix(in srgb,var(--red) 10%,transparent);border-left-color:var(--red);color:var(--text)}.gb-tabs{margin:16px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.gb-tabs-header{display:flex;background:var(--bg-surface);border-bottom:1px solid var(--border);overflow-x:auto}.gb-tab-btn{padding:10px 20px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;font-family:inherit;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.gb-tab-btn:hover{color:var(--text);background:var(--bg-hover)}.gb-tab-btn-active{color:var(--accent);border-bottom-color:var(--accent)}.gb-tab-content{padding:16px}.gb-tab-content p:first-child{margin-top:0}.gb-tab-content p:last-child{margin-bottom:0}.gb-code{margin:16px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.gb-code-header{padding:8px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:12px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;color:var(--text-secondary)}.gb-code-body{overflow-x:auto}.gb-code-body pre{margin:0!important;border:none!important;border-radius:0!important}.gb-details{margin:16px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.gb-details-summary{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:var(--bg-surface);border:none;color:var(--text);cursor:pointer;font-size:14px;font-family:inherit;text-align:left;transition:background .15s}.gb-details-summary:hover{background:var(--bg-hover)}.gb-details-arrow{font-size:10px;color:var(--text-muted);flex-shrink:0}.gb-details-open .gb-details-summary{border-bottom:1px solid var(--border)}.gb-details-content{padding:16px}.gb-details-content p:first-child{margin-top:0}.gb-details-content p:last-child{margin-bottom:0}.gb-content-ref{display:flex;align-items:center;gap:12px;margin:16px 0;padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text)!important;text-decoration:none!important;transition:border-color .15s,background .15s}.gb-content-ref:hover{border-color:var(--accent);background:var(--bg-hover)}.gb-content-ref-icon{font-size:20px;flex-shrink:0}.gb-content-ref-text{flex:1;min-width:0;color:var(--accent)}.gb-content-ref-arrow{color:var(--text-muted);flex-shrink:0}.gb-embed{margin:16px 0;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.gb-embed-iframe{width:100%;height:0;padding-bottom:56.25%;border:none}.gb-embed-link{display:flex;align-items:center;gap:12px;margin:16px 0;padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text)!important;text-decoration:none!important;transition:border-color .15s}.gb-embed-link:hover{border-color:var(--accent)}.gb-embed-link-icon{font-size:20px;flex-shrink:0}.gb-embed-link-url{flex:1;min-width:0;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gb-embed-link-arrow{color:var(--text-muted);flex-shrink:0}.gb-file{display:flex;align-items:center;gap:12px;margin:16px 0;padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text)!important;text-decoration:none!important;transition:border-color .15s}.gb-file:hover{border-color:var(--accent)}.gb-file-icon{font-size:20px;flex-shrink:0}.gb-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gb-file-name{color:var(--accent);font-weight:500}.gb-file-ext{font-size:11px;color:var(--text-muted);text-transform:uppercase}.gb-file-download{font-size:18px;color:var(--text-muted);flex-shrink:0}.gb-swagger{margin:16px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.gb-swagger-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.gb-swagger-method{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:700;font-family:SF Mono,Fira Code,monospace;text-transform:uppercase}.gb-swagger-get .gb-swagger-method{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.gb-swagger-post .gb-swagger-method{background:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}.gb-swagger-put .gb-swagger-method{background:color-mix(in srgb,var(--yellow) 20%,transparent);color:var(--yellow)}.gb-swagger-patch .gb-swagger-method{background:color-mix(in srgb,var(--orange) 20%,transparent);color:var(--orange)}.gb-swagger-delete .gb-swagger-method{background:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red)}.gb-swagger-path{font-family:SF Mono,Fira Code,monospace;font-size:14px;color:var(--text)}.gb-swagger-summary{padding:12px 16px;color:var(--text-secondary);font-size:14px;border-bottom:1px solid var(--border)}.gb-swagger-params,.gb-swagger-responses{padding:12px 16px}.gb-swagger-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.gb-swagger-table{width:100%;font-size:13px}.gb-swagger-table th{text-align:left;padding:6px 8px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border)}.gb-swagger-table td{padding:6px 8px;border-bottom:1px solid var(--border-light)}.gb-swagger-table code{background:var(--bg-overlay);padding:2px 6px;border-radius:4px;font-size:12px}.gb-swagger-response{display:flex;align-items:center;gap:12px;padding:8px 0}.gb-swagger-status{padding:2px 8px;background:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green);border-radius:4px;font-size:12px;font-family:SF Mono,Fira Code,monospace;font-weight:600}.md-toolbar{display:flex;align-items:center;gap:2px;padding:6px 12px;background:var(--bg-surface);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.md-toolbar-group{display:inline-flex;align-items:center;gap:2px}.md-toolbar-divider{width:1px;height:16px;background:var(--border);margin:0 4px}.md-tool-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:500;line-height:1;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.md-tool-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.md-tool-btn:active{background:var(--accent-soft);color:var(--accent)}.md-tool-bold{font-weight:700}.md-tool-italic{font-style:italic}.md-tool-strike{text-decoration:line-through}.md-tool-code{font-family:var(--font-mono);font-size:var(--fs-xs)}.markdown-editor-container{height:100%;display:flex;flex-direction:column;background:var(--bg-surface);position:relative}.markdown-editor-container>.cm-editor{height:100%;flex:1;outline:none!important;background:var(--bg-surface)!important}.markdown-editor-container .cm-content{background:var(--bg-surface)!important}.markdown-editor-container .cm-editor.cm-focused{outline:none!important;background:var(--bg)!important}.markdown-editor-container .cm-editor.cm-focused .cm-content{background:var(--bg)!important}.markdown-editor-container:focus-within{box-shadow:inset 0 1px 0 0 var(--accent)}.cm-placeholder{position:absolute;pointer-events:none;color:var(--text-muted);font-style:italic;padding:0!important;-webkit-user-select:none;user-select:none}.note-list{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:12px}.note-list-header{display:flex;gap:8px;margin-bottom:12px}.note-search{flex:1;padding:8px 12px;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:6px;font-size:var(--fs-md);outline:none}.note-search:focus{border-color:var(--accent)}.note-new-btn{padding:8px 16px;background:var(--accent);color:var(--on-fill);border:none;border-radius:6px;font-weight:600;font-size:var(--fs-md);cursor:pointer;white-space:nowrap}.note-new-btn:hover{background:var(--accent-hover)}.note-filter-section{padding:6px 12px;border-bottom:1px solid var(--border-light)}.note-filter-label{display:block;font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:4px}.note-category-filter{display:flex;flex-wrap:wrap;gap:4px}.note-category-btn{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;background:transparent;font-size:var(--fs-xs);cursor:pointer;white-space:nowrap}.note-category-btn.active{font-weight:600}.note-category-selector{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px}.note-category-opt{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;background:transparent;font-size:var(--fs-xs);cursor:pointer;white-space:nowrap}.note-category-opt.active{font-weight:600}.note-card-category{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-right:4px;flex-shrink:0}.note-tag-filter{display:flex;flex-wrap:wrap;gap:4px}.note-tag-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;font-size:var(--fs-xs);cursor:pointer}.note-tag-btn:hover:not(.active),.note-category-btn:hover:not(.active),.note-category-opt:hover:not(.active){background:var(--bg-hover);color:var(--text)}.note-tag-btn.active{font-weight:600;border-color:transparent}.note-tag-clear{padding:3px 10px;background:none;color:var(--text-muted);border:1px solid var(--border-hover);border-radius:12px;font-size:var(--fs-xs);cursor:pointer}.note-loading{padding:24px;color:var(--text-muted);text-align:center}.note-empty{padding:32px;color:var(--text-muted);text-align:center;font-size:var(--fs-md)}.note-clear-btn{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline}.note-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}.note-card:hover{border-color:var(--text-faint)}.note-card.pinned{border-left:3px solid var(--yellow)}.note-card-header{display:flex;align-items:center;gap:8px}.note-pin-btn{background:none;border:none;cursor:pointer;font-size:var(--fs-md);padding:0;opacity:.4}.note-pin-btn.active{opacity:1}.note-pin-btn:hover{opacity:.8}.note-card-id{font-size:var(--fs-xs);color:var(--text-muted);font-family:monospace;margin-right:6px;flex-shrink:0}.note-editor-id{font-size:var(--fs-xs);color:var(--text-muted);font-family:monospace;margin-right:8px}.note-card-title{flex:1;font-weight:600;font-size:var(--fs-md);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-md);padding:2px 6px}.note-delete-btn:hover{color:var(--red)}.note-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.note-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--border);color:var(--text-secondary);border-radius:10px;font-size:var(--fs-xs)}.note-tag-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs);padding:0 2px}.note-tag-remove:hover{color:var(--red)}.note-card-snippet{margin:6px 0 0;font-size:var(--fs-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card-date{font-size:var(--fs-2xs);color:var(--text-faint);margin-top:4px;display:block}.note-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.note-editor-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.note-editor-status{font-size:var(--fs-xs);color:var(--text-muted)}.note-back-btn{padding:4px 12px;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:4px;cursor:pointer;font-size:var(--fs-sm)}.note-back-btn:hover{background:var(--border-hover)}.note-save-btn{padding:4px 16px;background:var(--accent);color:var(--on-fill);border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:var(--fs-sm)}.note-save-btn:hover{background:var(--accent-hover)}.note-edit-btn{padding:4px 12px;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:4px;cursor:pointer;font-size:var(--fs-sm)}.note-edit-btn:hover{background:var(--border-hover)}.note-title-input{padding:12px;background:transparent;color:var(--text);border:none;border-bottom:1px solid var(--border);font-size:18px;font-weight:600;outline:none}.note-title-input::placeholder{color:var(--text-faint)}.note-tags-editor{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);align-items:center}.note-tag-input{background:transparent;border:none;color:var(--text);font-size:var(--fs-sm);outline:none;min-width:80px;flex:1}.note-tag-input::placeholder{color:var(--text-faint)}.note-tag-input-wrap{position:relative;flex:1;min-width:80px}.note-tag-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--border);border:1px solid var(--border-hover);border-radius:6px;max-height:150px;overflow-y:auto;z-index:10;margin-top:4px}.note-tag-suggestion{display:block;width:100%;text-align:left;padding:6px 10px;background:none;border:none;color:var(--text);font-size:var(--fs-sm);cursor:pointer}.note-tag-suggestion:hover{background:var(--border-hover)}.note-md-editor{flex:1;overflow:hidden}.note-md-editor .w-md-editor{background:var(--bg)!important;border:none!important;box-shadow:none!important;height:100%!important}.note-md-editor .w-md-editor-toolbar{background:var(--bg-surface)!important;border-bottom:1px solid var(--border)!important}.note-md-editor .w-md-editor-toolbar li>button{color:var(--text-secondary)!important}.note-md-editor .w-md-editor-toolbar li>button:hover{color:var(--text)!important;background:var(--border)!important}.note-md-editor .w-md-editor-text-input,.note-md-editor .w-md-editor-text-pre,.note-md-editor textarea{color:var(--text)!important;font-family:JetBrains Mono,Fira Code,monospace!important;font-size:var(--fs-md)!important}.note-md-editor .w-md-editor-preview{background:var(--bg)!important}.note-md-editor .wmde-markdown{background:var(--bg)!important;color:var(--text)!important}.note-viewer{display:flex;flex-direction:column;height:100%;overflow-y:auto}.note-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.note-viewer-actions{display:flex;gap:8px}.note-viewer-title{margin:0;padding:16px 16px 8px;font-size:20px;color:var(--text)}.note-viewer-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px}.note-viewer-meta{padding:0 16px 12px;font-size:var(--fs-xs);color:var(--text-muted)}.note-viewer-content{flex:1;padding:0 16px 16px}.note-viewer-content .wmde-markdown{background:transparent!important;color:var(--text)!important;font-size:var(--fs-md)}.note-viewer-content .wmde-markdown code{background:var(--border)!important;color:var(--text)!important}.note-viewer-content .wmde-markdown pre{background:var(--bg-surface)!important}.note-viewer-content details{margin-top:24px;border:1px solid var(--border);border-radius:6px;padding:0}.note-viewer-content details summary{cursor:pointer;padding:8px 12px;font-size:var(--fs-md);color:var(--text-muted);background:var(--bg);border-radius:6px;-webkit-user-select:none;user-select:none}.note-viewer-content details[open] summary{border-bottom:1px solid var(--border);border-radius:6px 6px 0 0}.note-viewer-content details>*:not(summary){padding:12px;font-size:var(--fs-md);color:var(--text-muted)}@media(max-width:1024px){.note-list{padding:8px}.note-card{padding:10px}.note-title-input{font-size:var(--fs-lg)}}.kanban-board{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.kanban-columns{flex:1;display:flex;gap:12px;padding:12px;overflow-x:auto;overflow-y:hidden;align-items:stretch}.kanban-column{flex:0 0 280px;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);min-height:0;overflow:hidden;transition:background var(--t-fast),border-color var(--t-fast)}.kanban-column.drop-hover{background:color-mix(in srgb,var(--accent) 6%,var(--bg-surface));border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--glow-accent)}.kanban-column-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-top:3px solid;background:var(--bg-overlay);border-bottom:1px solid var(--border-light)}.kanban-column-title{font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kanban-column-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);background:var(--bg-hover);padding:1px 8px;border-radius:999px;font-weight:600}.kanban-column-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.kanban-column-empty{text-align:center;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-xs);padding:16px 0;-webkit-user-select:none;user-select:none}.kanban-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;cursor:grab;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);-webkit-user-select:none;user-select:none}.kanban-card:active{cursor:grabbing}.kanban-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.kanban-card.dragging{opacity:.4;transform:rotate(1deg)}.kanban-card.pinned{border-left:3px solid var(--yellow)}.kanban-card-head{display:flex;align-items:center;gap:6px;font-size:var(--fs-2xs);margin-bottom:4px}.kanban-card-pin{font-size:var(--fs-xs)}.kanban-card-id{font-family:var(--font-mono);color:var(--text-muted);font-weight:600}.kanban-card-title{font-size:var(--fs-md);font-weight:500;color:var(--text);line-height:1.35;margin-bottom:6px}.kanban-card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.kanban-card-tag{font-size:var(--fs-2xs);padding:1px 6px;border-radius:999px;font-weight:600}.kanban-card-tag-more{font-size:var(--fs-2xs);color:var(--text-muted);padding:1px 6px}.kanban-card-snippet{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.kanban-card-date{font-size:var(--fs-2xs);font-family:var(--font-mono);color:var(--text-faint)}.note-view-toggle{display:inline-flex;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--r-md);padding:2px;gap:2px;flex-shrink:0}.note-view-btn{background:transparent;border:none;color:var(--text-muted);padding:4px 10px;font-size:var(--fs-sm);font-weight:500;cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast)}.note-view-btn:hover:not(.active){color:var(--text)}.note-view-btn.active{background:var(--accent-soft);color:var(--accent)}.spec-viewer-pane{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.spec-view-toggle{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.task-board-summary{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border-light);flex-shrink:0}.task-board-progress{flex:1;height:6px;background:var(--bg-overlay);border-radius:3px;overflow:hidden;position:relative}.task-board-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--green-bright));border-radius:3px;transition:width .28s ease}.task-board-progress-text{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);font-weight:600;white-space:nowrap}.task-card{cursor:default;padding:8px 10px}.task-card.done{opacity:.6}.task-card.done .task-card-text{text-decoration:line-through;color:var(--text-muted)}.task-checkbox-label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.task-checkbox{margin-top:2px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.task-card-content{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.task-card-id{font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 5px;border-radius:3px;flex-shrink:0}.task-card-tags{display:inline-flex;gap:3px;flex-shrink:0}.task-card-tag{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--magenta);background:color-mix(in srgb,var(--magenta) 12%,transparent);padding:1px 5px;border-radius:3px;font-weight:600}.task-card-text{font-size:var(--fs-sm);color:var(--text);line-height:1.4;flex:1;min-width:0}@media(max-width:768px){.kanban-column{flex:0 0 240px}.kanban-columns{padding:8px;gap:8px}}.retro-viewer{display:flex;height:100%;overflow:hidden}.retro-viewer-sidebar{width:320px;min-width:320px;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.retro-viewer-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-overlay)}.retro-viewer-title{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.retro-filter{padding:8px 12px;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:6px}.retro-search{width:100%;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:var(--fs-sm);outline:none}.retro-search:focus{border-color:var(--accent)}.retro-search::placeholder{color:var(--text-faint)}.retro-filter select{width:100%;background:var(--border);color:var(--text);border:1px solid var(--border-hover);border-radius:4px;padding:6px 8px;font-size:var(--fs-sm)}.retro-tabs{display:flex;border-bottom:1px solid var(--border)}.retro-tab{flex:1;padding:8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer}.retro-tab:hover{color:var(--text)}.retro-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.retro-list{flex:1;overflow-y:auto}.retro-list-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:var(--fs-md)}.retro-list-item{padding:10px 12px;border-bottom:1px solid var(--bg-surface);cursor:pointer}.retro-list-item:hover{background:var(--bg-hover)}.retro-list-item.selected{background:var(--border)}.retro-list-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.retro-project-badge{font-size:var(--fs-2xs);font-weight:600;color:var(--bg);padding:1px 6px;border-radius:8px}.retro-list-date{font-size:var(--fs-xs);color:var(--text-faint)}.retro-star-btn{background:none;border:none;color:var(--text-faint);font-size:var(--fs-md);cursor:pointer;padding:0 2px;line-height:1}.retro-star-btn:hover,.retro-star-btn.active{color:var(--yellow)}.retro-list-title{font-size:var(--fs-md);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.retro-viewer-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.retro-content-header{padding:8px 12px;border-bottom:1px solid var(--border);display:none}.retro-back-btn{background:none;border:none;color:var(--accent);font-size:var(--fs-md);cursor:pointer}.retro-content-body{flex:1;overflow-y:auto;padding:16px 20px}.retro-content-body .wmde-markdown{background:transparent!important;color:var(--text)!important;font-size:var(--fs-md)}.retro-content-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--fs-md)}@media(max-width:1024px){.retro-viewer-sidebar{width:100%;min-width:100%}.retro-viewer-content,.retro-viewer.mobile-show-content .retro-viewer-sidebar{display:none}.retro-viewer.mobile-show-content .retro-viewer-content{display:flex}.retro-viewer.mobile-show-content .retro-content-header{display:block}}.notification-panel{position:fixed;top:48px;right:16px;width:340px;max-height:400px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;z-index:9998;overflow:hidden;display:flex;flex-direction:column}.notification-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.notification-panel-header span{font-size:var(--fs-md);font-weight:600;color:var(--text)}.notification-panel-clear{background:none;border:none;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer}.notification-panel-clear:hover{color:var(--red)}.notification-panel-list{overflow-y:auto;flex:1}.notification-panel-item{padding:10px 12px;border-bottom:1px solid var(--bg-surface);cursor:pointer;display:flex;gap:8px}.notification-panel-item:hover{background:var(--bg-hover)}.notification-panel-item.unread{background:var(--bg-surface)}.notification-panel-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.notification-panel-content{flex:1;min-width:0}.notification-panel-title{font-size:var(--fs-sm);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-panel-msg{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-panel-time{font-size:var(--fs-2xs);color:var(--text-faint);margin-top:2px}.notification-panel-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:var(--fs-md)}.notification-banner{position:fixed;bottom:38px;right:16px;max-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;display:flex;align-items:center;gap:12px;z-index:90;box-shadow:var(--shadow-lg)}.notification-banner-text{flex:1;font-size:var(--fs-sm);color:var(--text);line-height:1.4}.notification-banner-actions{display:flex;gap:6px;flex-shrink:0}.notification-banner-actions button{padding:4px 12px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:500;cursor:pointer;border:1px solid transparent}.notification-banner-enable{background:var(--accent);color:var(--on-fill);font-weight:600;border-color:var(--accent)}.notification-banner-enable:hover{background:var(--accent-hover)}.notification-banner-later{background:transparent;color:var(--text-secondary);border-color:var(--border)}.notification-banner-later:hover{background:var(--bg-hover);color:var(--text)}@media(max-width:640px){.notification-banner{left:12px;right:12px;max-width:none;bottom:32px}}@media(max-width:1024px){.notification-panel{width:calc(100vw - 32px);right:-8px}}.pomodoro-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:190}.pomodoro-popover{position:fixed;right:12px;bottom:32px;z-index:200;width:min(280px,calc(100vw - 24px));padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.pomodoro-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pomodoro-phase{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.pomodoro-phase-focus{color:var(--accent)}.pomodoro-phase-break{color:var(--green-bright)}.pomodoro-clock{font-family:var(--font-mono);font-size:22px;font-variant-numeric:tabular-nums;color:var(--text)}.pomodoro-track{height:4px;border-radius:2px;background:var(--border);overflow:hidden}.pomodoro-fill{height:100%;background:var(--accent);transition:width var(--t-base) linear}.pomodoro-fill.is-break{background:var(--green)}.pomodoro-late{font-size:var(--fs-xs);line-height:1.4;color:var(--yellow)}.pomodoro-actions{display:flex;gap:6px}.pomodoro-btn{flex:1;padding:6px 8px;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;transition:all var(--t-fast)}.pomodoro-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.pomodoro-btn:disabled{opacity:.4;cursor:default}.pomodoro-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-fill);font-weight:600}.pomodoro-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-fill)}.pomodoro-btn-icon{flex:0 0 34px}.pomodoro-cycle{display:flex;align-items:center;gap:8px;padding-top:2px;border-top:1px solid var(--border-light)}.pomodoro-dots{display:inline-flex;gap:4px;padding-top:8px}.pomodoro-dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--border-hover)}.pomodoro-dot.filled{background:var(--accent);border-color:var(--accent)}.pomodoro-next{padding-top:8px;font-size:var(--fs-xs);color:var(--text-muted)}.pomodoro-settings{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--border-light)}.pomodoro-field{flex:1;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-2xs);color:var(--text-muted)}.pomodoro-field input{width:100%;padding:4px 6px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm)}.pomodoro-field input:disabled{opacity:.5}.pomodoro-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--bg-overlay) 72%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:pomodoro-alert-in var(--t-base) var(--ease)}.pomodoro-alert{width:min(380px,100%);padding:28px 24px 20px;text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.pomodoro-alert.is-break{border-top-color:var(--green)}.pomodoro-alert-mark{font-size:34px;line-height:1;margin-bottom:12px}.pomodoro-alert-title{margin:0 0 6px;font-size:19px;font-weight:650;color:var(--text)}.pomodoro-alert-sub{margin:0 0 4px;font-size:var(--fs-md);line-height:1.5;color:var(--text-secondary)}.pomodoro-alert-agents{margin:10px 0 0;padding:6px 10px;border-radius:var(--r-md);background:color-mix(in srgb,var(--yellow) 15%,transparent);color:var(--yellow);font-size:var(--fs-sm)}.pomodoro-alert-actions{display:flex;gap:8px;margin-top:20px}.pomodoro-alert-btn{flex:1;padding:10px 12px;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer;transition:all var(--t-fast)}.pomodoro-alert-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.pomodoro-alert-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-fill);font-weight:600}.pomodoro-alert.is-break .pomodoro-alert-btn.primary{background:var(--green);border-color:var(--green)}.pomodoro-alert-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-fill)}.pomodoro-alert.is-break .pomodoro-alert-btn.primary:hover{background:var(--green-bright);border-color:var(--green-bright)}.pomodoro-alert-hint{margin:12px 0 0;font-size:var(--fs-xs);color:var(--text-faint)}@keyframes pomodoro-alert-in{0%{opacity:0}to{opacity:1}}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:color-mix(in srgb,var(--bg-overlay) 55%,transparent)}.palette{width:min(640px,100%);max-height:min(560px,76vh);display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:palette-in var(--t-fast) var(--ease)}@keyframes palette-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.palette-input-row{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border-bottom:1px solid var(--border)}.palette-input-icon{color:var(--text-faint);flex-shrink:0}.palette-input{flex:1;min-width:0;padding:14px 0;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md)}.palette-input:focus,.palette-input:focus-visible{box-shadow:none}.palette-input::placeholder{color:var(--text-faint)}.palette-list{overflow-y:auto;padding:var(--sp-1) 0 var(--sp-2)}.palette-group-title{padding:var(--sp-2) var(--sp-4) var(--sp-1);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.palette-row{display:flex;align-items:center;gap:var(--sp-2);min-height:34px;margin:0 var(--sp-2);padding:0 var(--sp-2);border-radius:var(--r-md);cursor:pointer;color:var(--text-secondary);font-size:var(--fs-sm)}.palette-row.selected{background:var(--bg-hover);color:var(--text)}.palette-row-icon{flex-shrink:0;color:var(--text-muted)}.palette-row-label{flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row-detail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:var(--fs-xs)}.palette-row mark{background:none;color:var(--accent);font-weight:600}.palette-row-badge{flex-shrink:0;padding:1px 6px;border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-muted);font-size:var(--fs-2xs)}.palette-row-hint{flex-shrink:0;margin-left:auto;color:var(--text-faint);font-size:var(--fs-2xs)}.palette-row-detail+.palette-row-hint,.palette-row-badge+.palette-row-hint{margin-left:0}.palette-row kbd{font-family:var(--font-mono);font-size:var(--fs-2xs);padding:1px 5px;background:var(--bg-surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--r-sm);color:var(--text-muted)}.palette-row-shortcut{flex-shrink:0;margin-left:auto}.palette-empty{padding:var(--sp-4);color:var(--text-faint);font-size:var(--fs-sm);text-align:center}@media(max-width:640px){.palette-backdrop{padding:8px}.palette{max-height:calc(100dvh - 16px)}.palette-row{min-height:42px}.palette-row-hint,.palette-row-shortcut{display:none}}.palette-step{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) 0;color:var(--text-muted);font-size:var(--fs-xs)}.palette-step-back{padding:0 6px;background:none;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;line-height:1.4}.palette-note{padding:var(--sp-2) var(--sp-4);color:var(--text-faint);font-size:var(--fs-xs)}@media(max-width:1024px){.hamburger{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app{grid-template-columns:1fr;grid-template-rows:1fr}.workspace{grid-column:1;grid-row:1}.sidebar{position:fixed;left:-280px;top:0;bottom:0;width:280px;z-index:100;transition:left .2s ease;box-shadow:4px 0 24px #0000004d}.sidebar.open{left:0}.notif-popover-anchor{left:12px;right:12px}.notif-popover-anchor .notification-panel{width:100%}.statusbar{position:relative}.diff-close,.refresh-button{min-width:32px;min-height:32px;display:inline-grid;place-items:center;padding:0}.diff-mode-btn,.git-view-btn,.commit-detail-back{min-height:32px}.statusbar-timer.is-idle .statusbar-text{display:none}.pomodoro-popover{left:12px;right:12px;bottom:36px;width:auto}.notification-banner{bottom:36px}.btn-primary,.btn-secondary{padding:4px 8px;height:28px;font-size:var(--fs-sm)}.file-viewer-path,.markdown-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.statusbar{padding:0 8px;gap:6px;font-size:var(--fs-2xs)}.statusbar-text{font-size:var(--fs-2xs)}.statusbar-segment{padding:0 3px;gap:4px}.statusbar-brand,.statusbar-lock .statusbar-text{display:none}.git-file-item{padding:10px 12px}.spec-feature-item{padding:12px}.spec-file-item{padding:10px 12px}.files-tab,.changes-tab,.specs-tab{flex-direction:column}.files-tab .file-tree,.changes-tab .git-changes,.specs-tab .spec-browser{width:100%;min-width:unset;max-height:100%;border-right:none;border-bottom:1px solid var(--border)}.specs-tab .markdown-viewer,.changes-tab.mobile-show-content .git-changes,.specs-tab.mobile-show-content .spec-browser{display:none}.specs-tab.mobile-show-content .markdown-viewer{display:flex}.folder-picker{width:95vw;max-height:85vh}.terminal-view{position:relative;height:100%}.terminal-container{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.terminal-container .xterm-viewport,.terminal-container .xterm-screen{touch-action:pan-y!important}.terminal-input{position:sticky;bottom:0;z-index:50;flex-shrink:0;flex-direction:column;flex-wrap:nowrap;gap:6px;background:var(--bg-overlay);border-top:1px solid var(--border);padding:8px}.terminal-input .terminal-input-buttons{flex-wrap:wrap;gap:4px;justify-content:flex-start}.terminal-input-field{width:100%;min-width:0;font-size:var(--fs-lg)}.markdown-content{padding:12px 16px}.diff-line-number{width:30px;min-width:30px;font-size:var(--fs-2xs)}}button,input,textarea,select{font-family:inherit;font-size:var(--fs-md)}.color-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}button:disabled,input:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border)}.commit-item{border-left:2px solid transparent;border-bottom:1px solid var(--border-light);transition:background var(--t-fast),border-color var(--t-fast)}.commit-item:hover{background:var(--bg-hover)}.git-status-badge{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-sm)}.git-additions{color:var(--green);font-family:var(--font-mono);font-weight:600}.git-deletions{color:var(--red);font-family:var(--font-mono);font-weight:600}.folder-picker-select,.terminal-enter-button{background:var(--accent);color:var(--on-fill);font-weight:600;border:1px solid var(--accent);border-radius:var(--r-md);padding:6px 14px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.folder-picker-select:hover:not(:disabled),.terminal-enter-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.folder-picker-select:active:not(:disabled),.terminal-enter-button:active:not(:disabled){transform:translateY(1px)}.terminal-ctrl-c-button{background:transparent;border:1px solid var(--red);color:var(--red);border-radius:var(--r-md);padding:4px 12px;font-weight:600;cursor:pointer}.terminal-ctrl-c-button:hover:not(:disabled){background:color-mix(in srgb,var(--red) 12%,transparent)}.terminal-key-button,.file-viewer-mode-button,.git-view-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-md);padding:4px 12px;font-weight:500;cursor:pointer}.terminal-key-button:hover:not(:disabled),.file-viewer-mode-button:hover:not(:disabled),.git-view-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.file-viewer-mode-button.active,.git-view-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.terminal-input-field{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:8px 12px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.terminal-input-field:focus{border-color:var(--accent);box-shadow:var(--glow-accent);outline:none}.terminal-input-field,.cm-content{caret-color:var(--accent)}.markdown-header,.file-viewer-header,.spec-browser-header,.git-changes-header,.file-editor-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border)}.markdown-path,.file-viewer-path{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.loading,.placeholder,.empty-message{color:var(--text-muted);font-size:var(--fs-md)}.notification-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.code-block{border:1px solid var(--border);border-radius:var(--r-md)}.gb-hint-info,.gb-hint-success,.gb-hint-warning,.gb-hint-danger{border-radius:var(--r-md)}.refresh-button{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-md);padding:2px 8px;cursor:pointer}.refresh-button:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-hover)}.folder-picker-overlay{background:#01040999;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.folder-picker{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.folder-picker-header h3{font-weight:600;font-size:var(--fs-lg);color:var(--text)}.folder-picker-toolbar{display:flex;padding:6px 14px 0}.folder-picker-newfolder-open{font-size:var(--fs-sm);padding:4px 10px;border:1px dashed var(--border);background:transparent;color:var(--text-secondary);border-radius:var(--r-md);cursor:pointer}.folder-picker-newfolder-open:hover{border-color:var(--accent);color:var(--accent)}.folder-picker-newfolder{display:flex;gap:6px;width:100%}.folder-picker-newfolder-input{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--fs-sm);padding:5px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);outline:none}.folder-picker-newfolder-input:focus{border-color:var(--accent)}.folder-picker-newfolder-create,.folder-picker-newfolder-cancel{font-size:var(--fs-sm);padding:5px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.folder-picker-newfolder-create{background:var(--accent);color:var(--on-fill);border-color:var(--accent)}.folder-picker-newfolder-create:disabled,.folder-picker-newfolder-cancel:disabled{opacity:.5;cursor:not-allowed}.folder-picker-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-md);padding:6px 14px;font-weight:500;cursor:pointer}.folder-picker-cancel:hover{background:var(--bg-hover);color:var(--text)}.file-editor-save-btn{background:var(--green);color:var(--on-fill);border:1px solid var(--green);border-radius:var(--r-md);padding:4px 14px;font-weight:600;cursor:pointer}.file-editor-save-btn:hover:not(:disabled){background:var(--green-bright);border-color:var(--green-bright)}.file-editor-cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-md);padding:4px 14px;font-weight:500;cursor:pointer}.file-editor-cancel-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.file-editor-dirty{color:var(--yellow);font-weight:500;font-size:var(--fs-sm)}.file-editor-success{color:var(--green-bright);font-weight:500;font-size:var(--fs-sm)}.file-editor-error{color:var(--red);font-weight:500;font-size:var(--fs-sm)}.mermaid-container{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface)}
