:root{--bg: #0f1113;--bg-panel: #15181c;--fg: #e6e9ee;--fg-dim: #8a93a0;--rule: #262a30;--status-pending: #8a93a0;--status-ready: #8fb3c9;--status-running: #e0a341;--status-done: #4fa771;--status-failed: #c94b4b;--status-blocked: #7a6b5a;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Mono", "Consolas", "Menlo", monospace}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:13px;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;background:transparent;border:1px solid var(--rule);color:var(--fg);padding:2px 8px;cursor:pointer}button:hover{border-color:var(--fg-dim)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:4px 10px;border-bottom:1px solid var(--rule)}th{color:var(--fg-dim);font-weight:500}tbody tr:hover{background:#181c22;cursor:pointer}header.nav{display:flex;gap:16px;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--bg-panel);align-items:baseline}header.nav strong{letter-spacing:.1em}header.nav nav a.active{color:var(--fg);border-bottom:1px solid var(--fg)}header.nav nav a{color:var(--fg-dim);padding:2px 4px}.hstrip{display:grid;grid-template-columns:1fr auto auto;gap:18px;padding:8px 14px;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums;align-items:baseline}.counts{display:flex;gap:14px}.counts .c{color:var(--fg-dim)}.counts .c .v{color:var(--fg)}.forecast{color:var(--fg-dim);font-variant-numeric:tabular-nums}.forecast[data-suppressed=true]{opacity:.65}.layout-2col{display:grid;grid-template-columns:1fr 1fr;min-height:60vh}.panel{border-right:1px solid var(--rule);padding:10px}.panel:last-child{border-right:none}.panel h3{margin:0 0 8px;font-weight:500;color:var(--fg-dim)}.drawer{border-top:1px solid var(--rule);padding:10px 14px;background:var(--bg-panel);font-size:12.5px}.drawer .dwLabel{color:var(--fg-dim);margin-right:6px}.drawer pre{background:#0a0c0e;border:1px solid var(--rule);padding:6px 8px;overflow:auto;white-space:pre-wrap}.node{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--rule);border-radius:10px;margin:2px;cursor:pointer;font-size:12px}.node .gly{font-size:14px}.node.pending{color:var(--status-pending)}.node.ready{color:var(--status-ready)}.node.running{color:var(--status-running)}.node.done{color:var(--status-done)}.node.failed{color:var(--status-failed);border-color:var(--status-failed)}.node.blocked{color:var(--status-blocked);border-color:var(--status-blocked)}.node.sel{outline:1px solid var(--fg)}.timeline{display:grid;grid-template-columns:120px 1fr;gap:4px}.timeline .lane{font-size:11px;color:var(--fg-dim);padding:2px 0}.timeline .bars{position:relative;height:14px;margin:1px 0;background:#0a0c0e}.timeline .bar{position:absolute;top:0;bottom:0;border-radius:2px;opacity:.9}.heatmap{display:grid;gap:2px;font-size:11px}.heatmap .row{display:grid;grid-template-columns:140px repeat(auto-fit,20px);gap:2px}.heatmap .row .lab{color:var(--fg-dim)}.heatmap .cell{height:14px;background:#242830}.heatmap .cell.r1{background:#2c3a36}.heatmap .cell.r2{background:#39514a}.heatmap .cell.r3{background:#4f7a66}.heatmap .cell.r6{background:#a87540}.badge{display:inline-block;padding:1px 6px;border-radius:4px;border:1px solid var(--rule);font-size:11px;color:var(--fg-dim)}.badge.stuck{color:var(--status-failed);border-color:var(--status-failed)}
