:root { --fg: #e8e6e3; --bg: #15171c; --muted: #9aa0a6; --accent: #c23c2a; --line: #2b2f36; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, sans-serif; color: var(--fg); background: var(--bg); }
header { display: flex; gap: 1.5rem; align-items: center; padding: 0.75rem 1.5rem; border-bottom: 1px solid var(--line); }
header a { color: var(--fg); text-decoration: none; }
header .brand { font-weight: 700; color: var(--accent); }
main { max-width: 1100px; margin: 0 auto; padding: 1.5rem; }
a { color: #7fb3ff; }
.error { color: #ff8a80; }
.note { color: var(--muted); font-size: 0.9rem; }
progress { width: 100%; max-width: 480px; }
video { width: 100%; max-width: 960px; background: #000; }
button { background: var(--accent); color: #fff; border: 0; padding: 0.5rem 1rem; border-radius: 4px; cursor: pointer; }
button:disabled { opacity: 0.5; }
input, select { padding: 0.35rem; }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
th, td { text-align: left; padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
pre { white-space: pre-wrap; background: #0d0f12; padding: 0.75rem; overflow-x: auto; }
.pill { padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--line); }
.pill.failed { background: #5c1f1a; } .pill.done { background: #1f4d2b; } .pill.running { background: #1f3a5c; }
nav { display: flex; gap: 1rem; flex-wrap: wrap; }
form { margin: 0.5rem 0; }
