:root{--bg: #0f1115;--panel: #181b22;--panel-2: #1f232c;--line: #2a2f3a;--text: #e6e9ef;--muted: #8b93a3;--ok: #3fb950;--warn: #d29922;--fail: #f85149;--accent: #4c8dff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}code,em{font-style:normal}code{background:#0009;padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace}.center{max-width:420px;margin:15vh auto;text-align:center;padding:0 1rem}.center h1{font-size:1.4rem}.muted{color:var(--muted)}.small{font-size:12px}.fatal{max-width:500px;margin:10vh auto;padding:1rem;border:1px solid var(--fail);border-radius:8px}.wrap{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}header{display:flex;align-items:center;justify-content:space-between}header h1{font-size:1.25rem;margin:0}.sub{margin:.25rem 0 1.25rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem}.card.ok{border-color:#244d2c}.card.fail{border-color:#4d2422}.card.running{border-color:#2f3d5c}.card-head{display:flex;align-items:center;gap:.5rem}.card-head h2{margin:0;font-size:1rem;letter-spacing:.04em}.head-meta{margin-left:auto;display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:12px}.pill{background:#0006;border:1px solid var(--line);border-radius:20px;padding:1px 8px}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}.dot.ok{background:var(--ok)}.dot.fail{background:var(--fail)}.dot.running{background:var(--accent);animation:pulse 1.2s infinite}.dot.none{background:#444}@keyframes pulse{50%{opacity:.3}}.actions{display:flex;gap:.5rem;margin:.75rem 0}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:.4rem .8rem;cursor:pointer;font:inherit}.btn:hover:not(:disabled){border-color:#3a4152}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent}.runs{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.run{border:1px solid var(--line);border-radius:7px;overflow:hidden}.run.ok{border-left:3px solid var(--ok)}.run.fail{border-left:3px solid var(--fail)}.run.pending{border-left:3px solid var(--accent)}.run-head{width:100%;display:flex;align-items:center;gap:.6rem;background:none;border:0;color:var(--text);padding:.5rem .7rem;cursor:pointer;font:inherit;text-align:left}.run-head:hover{background:#ffffff08}.run-time{min-width:68px}.chev{margin-left:auto;color:var(--muted)}.badge{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px}.badge.ok{background:#133a1c;color:var(--ok)}.badge.fail{background:#3a1513;color:var(--fail)}.badge.pending{background:#16233d;color:var(--accent)}.run-body{padding:.7rem .9rem 1rem;border-top:1px solid var(--line);background:#ffffff04}.phases{display:flex;flex-direction:column;gap:5px;margin-bottom:.8rem}.pbar{display:grid;grid-template-columns:120px 1fr 52px;align-items:center;gap:8px;font-size:12px}.pbar-label{color:var(--muted)}.pbar-track{background:#0008;border-radius:3px;height:8px;overflow:hidden}.pbar-fill{display:block;height:100%;background:var(--ok)}.pbar-fill.warn{background:var(--warn)}.pbar-fill.fail{background:var(--fail)}.pbar-ms{text-align:right}.pbar-ms.warn{color:var(--warn)}.pbar-ms.fail{color:var(--fail)}.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;margin:.5rem 0;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}audio{height:32px;vertical-align:middle}.tag{font-size:11px;padding:1px 6px;border-radius:4px;margin-left:6px}.tag.ok{background:#133a1c;color:var(--ok)}.tag.fail{background:#3a1513;color:var(--fail)}.checks{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px}.checks li{display:flex;gap:6px}.checks li.ok>span{color:var(--ok)}.checks li.warn>span{color:var(--warn)}.checks li.fail>span{color:var(--fail)}.err{color:var(--fail);font-size:12px;margin:.5rem 0 0}footer{margin-top:2rem;font-size:12px}
