:root{color-scheme:dark;--bg: #0d1117;--panel: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--ok: #3fb950;--warn: #d29922;--danger: #f85149;--burn: #f85149;--background-mode: #3fb950;--courtesy: #58a6ff;--off: #8b949e;--research: #d2a8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px}.app{max-width:960px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.panel h2,.panel h3{margin:0 0 10px;font-size:1rem;text-transform:lowercase;letter-spacing:.02em}.panel-sub{color:var(--muted);font-weight:400;font-size:.85rem}.mode-banner{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;border-radius:10px;padding:16px;border:1px solid var(--border);background:var(--panel);border-left:6px solid var(--off)}.mode-banner .mode-name{font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mode-banner .mode-meta{color:var(--muted);font-size:.85rem}.mode-burn{border-left-color:var(--burn)}.mode-burn .mode-name{color:var(--burn)}.mode-background{border-left-color:var(--background-mode)}.mode-background .mode-name{color:var(--background-mode)}.mode-courtesy{border-left-color:var(--courtesy)}.mode-courtesy .mode-name{color:var(--courtesy)}.mode-off .mode-name,.mode-unknown .mode-name{color:var(--off)}.defer-banner,.stale-banner{border-radius:10px;padding:10px 14px;display:flex;gap:10px;align-items:baseline;font-size:.95rem}.defer-banner{background:#d299221f;border:1px solid var(--warn);color:var(--warn)}.stale-banner{background:#f851491f;border:1px solid var(--danger);color:var(--danger)}.gauge-track{display:flex;height:18px;border-radius:9px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.gauge-fill{height:100%;background:var(--accent);transition:width .4s ease}.gauge-fill.gauge-over{background:var(--danger)}.gauge-fill-in-progress{height:100%;background:repeating-linear-gradient(45deg,var(--accent),var(--accent) 5px,transparent 5px,transparent 10px);transition:width .4s ease;animation:gauge-in-progress-pulse 1.6s ease-in-out infinite}@keyframes gauge-in-progress-pulse{0%,to{opacity:.45}50%{opacity:.9}}.gauge-in-progress-text{color:var(--accent)}.gauge-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.9rem;color:var(--muted)}.gauge-over-text{color:var(--danger);font-weight:700}.gauge-seg{border-right:1px solid var(--bg)}.gauge-seg:last-of-type{border-right:none}.gauge-track.gauge-over{border-color:var(--danger)}.gauge-legend{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.8rem;color:var(--muted)}.gauge-legend-item{display:inline-flex;align-items:center;gap:5px}.gauge-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.project-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.project-panel h3{margin:0 0 6px}.panel-toggle{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;width:100%;background:none;border:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.panel-summary{color:var(--muted);font-weight:400;font-size:.8rem;margin-left:auto;white-space:nowrap}.panel-section h4{margin:10px 0 6px;font-size:.8rem;color:var(--muted);text-transform:lowercase;letter-spacing:.03em}.panel-note{color:var(--muted);font-size:.85rem;margin:0}.scroll-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;overflow-x:hidden}.issue-row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:.85rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.issue-number{color:var(--accent);font-family:Consolas,Cascadia Mono,monospace;font-weight:700;text-decoration:none;white-space:nowrap}.issue-number:hover{text-decoration:underline}.issue-title{flex:1;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-labels{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.issue-directive{border-left:3px solid var(--warn);opacity:.75}.badge-directive{color:var(--warn);border-color:var(--warn)}.issue-skip-note{color:var(--warn);font-size:.7rem;white-space:nowrap}.project-metrics{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-top:10px}.project-name{font-size:1.05rem}.project-badges{display:flex;gap:6px}.badge{font-size:.7rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);text-transform:lowercase}.badge-gpu{color:var(--warn);border-color:var(--warn)}.badge-off{color:var(--danger);border-color:var(--danger)}.project-disabled{opacity:.55}.research-panel{border-left:6px solid var(--research)}.research-panel h2{color:var(--research)}.badge-research{color:var(--research);border-color:var(--research)}.research-status{margin:0 0 10px;font-size:.95rem}.research-status-active{color:var(--ok);font-weight:700}.research-status-idle{color:var(--muted)}.research-controls{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.research-field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--muted);text-transform:lowercase}.research-toggle{align-self:center}.research-toggle input{width:18px;height:18px}.mode-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mode-button{padding:14px 8px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer}.mode-button:hover{border-color:var(--muted)}.mode-button-active{color:var(--text);border-width:2px;padding:13px 7px}.mode-button-burn.mode-button-active{border-color:var(--burn);color:var(--burn)}.mode-button-background.mode-button-active{border-color:var(--background-mode);color:var(--background-mode)}.mode-button-courtesy.mode-button-active{border-color:var(--courtesy);color:var(--courtesy)}.mode-button-off.mode-button-active{border-color:var(--off);color:var(--off)}.cycle-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-left:6px solid var(--accent)}.spinner{width:16px;height:16px;flex:0 0 auto;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:cycle-spin .9s linear infinite}@keyframes cycle-spin{to{transform:rotate(360deg)}}.cycle-banner-label{font-weight:700;color:var(--accent);text-transform:lowercase}.cycle-banner-id{font-family:Consolas,Cascadia Mono,monospace;font-size:.85rem}.cycle-banner-meta{color:var(--muted);font-size:.85rem}.cycle-banner-elapsed{color:var(--text);font-variant-numeric:tabular-nums}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.activity-row{display:flex;gap:10px;align-items:baseline;font-family:Consolas,Cascadia Mono,monospace;font-size:.85rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.activity-cycle-row{border-color:var(--accent)}.activity-issue{color:var(--accent);font-weight:700;white-space:nowrap}.activity-branch{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-repo{color:var(--muted)}.activity-gate{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.activity-age{color:var(--ok);white-space:nowrap}.liveness-dot{width:10px;height:10px;flex:0 0 auto;align-self:center;border-radius:50%;background:var(--muted)}.liveness-green{background:var(--ok)}.liveness-yellow{background:var(--warn)}.liveness-red{background:var(--danger)}.liveness-unknown{background:var(--muted);opacity:.6}.activity-idle{color:var(--muted);font-size:.9rem;margin:0}.activity-last{font-family:Consolas,Cascadia Mono,monospace;font-size:.8rem}.activity-tail{margin-top:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:Consolas,Cascadia Mono,monospace;font-size:.75rem;line-height:1.4;color:var(--muted);overflow-x:hidden}.worktree-list,.worktree-children{list-style:none;margin:0;padding:0}.worktree-item{margin-top:6px}.worktree-row{display:flex;gap:8px;align-items:baseline;font-family:Consolas,Cascadia Mono,monospace;font-size:.85rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;margin-left:calc(var(--depth, 0) * 18px)}.worktree-orchestrator{border-color:var(--accent)}.worktree-pm{border-color:var(--accent);border-left-width:3px}.worktree-toggle{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;padding:0;width:12px;flex:0 0 auto;align-self:center}.worktree-toggle-spacer{width:12px;flex:0 0 auto}.worktree-check{width:12px;flex:0 0 auto;align-self:center;text-align:center;color:var(--ok);font-size:.8rem}.worktree-kind{color:var(--text);font-weight:600;white-space:nowrap}.worktree-orchestrator .worktree-kind,.worktree-pm .worktree-kind{color:var(--accent)}.worktree-issue{color:var(--accent);font-weight:700;white-space:nowrap}.worktree-detail{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.worktree-project{color:var(--muted)}.worktree-domain{color:var(--muted);font-size:.75rem;white-space:nowrap}.worktree-notes{color:var(--ok);font-size:.75rem;white-space:nowrap}.worktree-gate{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:35%}.worktree-age{color:var(--ok);white-space:nowrap}.worktree-status-done{opacity:.55}.worktree-status-done .worktree-age{color:var(--muted)}.worktree-status-closed{opacity:.7}.worktree-status-closed .worktree-age,.worktree-status-closed .worktree-issue{color:var(--muted)}.worktree-idle{color:var(--muted);font-size:.85rem;margin:6px 0 0;padding-left:20px}.worktree-finished{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.worktree-finished-toggle{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-transform:uppercase;letter-spacing:.04em}.worktree-finished-count{color:var(--muted);font-weight:400}.worktree-finished-list{margin-top:8px}@media (max-width: 560px){.worktree-row{margin-left:calc(var(--depth, 0) * 10px);flex-wrap:wrap;gap:6px}.worktree-gate{max-width:100%}}.actions-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-button{padding:10px 16px;font-size:.95rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.action-button:hover:not(:disabled){border-color:var(--accent)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-resume{border-color:var(--ok);color:var(--ok)}.stop-all{border-color:var(--danger);border-left:6px solid var(--danger)}.stop-all-row,.stop-all-confirm{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stop-all-button{padding:12px 22px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:8px;border:1px solid var(--danger);background:var(--danger);color:#fff;cursor:pointer}.stop-all-button:hover:not(:disabled){filter:brightness(1.15)}.stop-all-button:disabled{opacity:.6;cursor:not-allowed}.stop-all-hint{color:var(--muted);font-size:.8rem}.stop-all-question{color:var(--danger);font-weight:700}.budget-panel h3{margin-top:14px}.budget-table-wrap{overflow-x:auto}.budget-table{border-collapse:collapse;width:100%;font-size:.85rem}.budget-table th{color:var(--muted);font-weight:400;text-align:left;padding:4px 8px;white-space:nowrap}.budget-table th[scope=row]{color:var(--text);font-weight:700}.budget-table td{padding:4px 8px;vertical-align:top}.budget-input{width:110px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem}.input-invalid{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.75rem;margin-top:2px}.budget-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}.link-button{background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.delete-button{background:none;border:1px solid transparent;border-radius:6px;color:var(--danger);font-size:.95rem;font-weight:700;cursor:pointer;padding:4px 8px}.delete-button:hover{border-color:var(--danger)}.delete-cell{white-space:nowrap}.delete-confirm{display:inline-flex;gap:8px;align-items:center}.badge-new{color:var(--ok);border-color:var(--ok);margin-left:8px}.badge-git{color:var(--accent);border-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:40px 12px;z-index:10}.modal{width:100%;max-width:560px;max-height:80vh;overflow-y:auto}.fs-current-path{font-family:Consolas,Cascadia Mono,monospace;word-break:break-all}.fs-drives{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.fs-entries{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}.fs-entries li{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px}.fs-entries li:hover{background:var(--bg)}.fs-name{text-decoration:none;color:var(--text);flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,Cascadia Mono,monospace;font-size:.85rem}.fs-repo .fs-name{color:var(--accent)}.fs-select{padding:4px 10px;font-size:.8rem}.fs-empty{color:var(--muted);font-size:.85rem;padding:4px 6px}.control-error{color:var(--danger);font-size:.85rem;margin-top:8px}.control-note{color:var(--muted);font-size:.85rem;margin-top:8px}.log-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.log-tabs,.log-controls{display:flex;gap:6px;flex-wrap:wrap}.log-tab,.log-btn{background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.85rem;font-family:inherit;cursor:pointer;text-transform:lowercase}.log-tab-active{color:var(--accent);border-color:var(--accent);font-weight:700}.log-btn-on{color:var(--ok);border-color:var(--ok)}.log-body{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;height:45vh;min-height:180px;overflow-y:auto;overflow-x:hidden;font-family:Consolas,Cascadia Mono,monospace;font-size:.78rem;line-height:1.45}.log-line{white-space:pre-wrap;word-break:break-word}.log-empty{color:var(--muted)}.metrics-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.metric-windows{display:flex;gap:6px}.metric-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px}.metric-tile{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.metric-tile-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.metric-tile-label{color:var(--muted);font-size:.8rem;text-transform:lowercase}.metric-tile-sub{color:var(--muted);font-size:.72rem;margin-top:2px}.metric-last-cycle{color:var(--muted);font-size:.85rem;margin:0 0 6px}.metric-mono{font-family:Consolas,Cascadia Mono,monospace;font-size:.85em;color:var(--text);word-break:break-all}.metric-bars-wrap{overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 8px 4px}.metric-bars{display:flex;align-items:flex-end;gap:3px;height:90px;min-width:min-content}.metric-bar-slot{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;flex:1 0 22px}.metric-bar{width:100%;max-width:28px;border-radius:2px 2px 0 0;background:var(--accent)}.metric-bar-zero{background:var(--border);height:2px!important}.metric-bar-label{color:var(--muted);font-size:.6rem;margin-top:2px;white-space:nowrap}.metric-governor{margin:0 0 4px;font-variant-numeric:tabular-nums}.metric-defer-reason{color:var(--warn);font-size:.85rem;margin:0 0 6px;overflow-wrap:anywhere}.metric-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.metric-project-list,.metric-mode-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.85rem}.metric-project-list li{display:flex;justify-content:space-between;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 10px}.metric-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-project-counts{color:var(--muted);white-space:nowrap}.metric-mode-list li{font-family:Consolas,Cascadia Mono,monospace;font-size:.8rem;color:var(--muted)}.metric-empty{color:var(--muted);font-size:.85rem;margin:0 0 6px}.metric-uptime{color:var(--muted);font-size:.8rem;margin:10px 0 0}.empty-note{color:var(--muted);text-align:center;padding:24px}.app-footer{color:var(--muted);font-size:.8rem;text-align:center;padding:8px 0 20px}@media (max-width: 600px){.project-panels{grid-template-columns:1fr}}@media (max-width: 480px){.mode-banner .mode-name{font-size:1.4rem}.mode-buttons{grid-template-columns:repeat(2,1fr)}}.token-prompt{border-color:var(--accent)}.token-note{color:var(--muted);font-size:.85rem;margin:4px 0 10px}.token-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.token-input{flex:1 1 240px;max-width:420px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit}.footer-token{margin-left:10px;font-size:.8rem}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-panel{width:100%;max-width:360px;text-align:center;border-color:var(--accent)}.login-title{margin:0 0 4px;font-size:1.5rem}.login-sub{color:var(--muted);font-size:.85rem;margin:0 0 16px}.login-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.login-input{flex:1 1 180px}.login-error{color:var(--danger, #e05555);font-size:.85rem;margin:12px 0 0}
