:root{color-scheme:dark;--bg: #1a1b22;--panel: #24252f;--panel-2: #2c2e3a;--border: #3a3c4a;--text: #e9e8ee;--muted: #a8a6b6;--accent: #e0928c;--empty: #21222a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}.app{max-width:1280px;margin:0 auto;padding:32px 20px 64px}.app-header h1{margin:0 0 12px;font-size:28px;font-weight:650;letter-spacing:-.01em}.links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.links a{color:var(--text);text-decoration:none;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;transition:border-color .15s ease,color .15s ease}.links a:hover{border-color:var(--accent);color:#fff}.status{color:var(--muted);padding:24px 0}.status.error{color:#ff8a80}.table-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.progress-table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}.progress-table th,.progress-table td{padding:7px 10px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.progress-table thead th{position:sticky;top:0;z-index:3;background:var(--panel-2);font-weight:600;font-size:12px;letter-spacing:.04em;color:var(--muted);cursor:help}.progress-table th.overlay-name,.progress-table th.corner{position:sticky;left:0;z-index:2;background:var(--panel-2);text-align:left;font-weight:500;color:var(--text);font-size:13px;cursor:help}.progress-table th.corner{z-index:4}.section-row .section-head{position:sticky;left:0;text-align:left;background:var(--bg);color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px}.cell{color:#fff;font-size:13px;min-width:56px}.cell.empty{background:var(--empty);color:transparent}.app-footer{margin-top:24px;color:var(--muted);font-size:13px}.app-footer a{color:var(--text)}@media (max-width: 640px){.app{padding:20px 12px 48px}.app-header h1{font-size:22px}}
