:root { --bg: #111418; --fg: #e6e8eb; --muted: #8a929c; --line: #262b31; --ok: #3fb950; --warn: #d29922; --bad: #f85149; --accent: #58a6ff; } @media (prefers-color-scheme: light) { :root { --bg: #ffffff; --fg: #1f2328; --muted: #59636e; --line: #d1d9e0; --ok: #1a7f37; --warn: #9a6700; --bad: #cf222e; --accent: #0969da; } } * { box-sizing: border-box; } body { margin: 0; background: var(--bg); color: var(--fg); font: 14px/1.5 system-ui, sans-serif; } nav { display: flex; gap: 16px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); } nav form { margin-left: auto; } main { padding: 16px; max-width: 1200px; margin: 0 auto; } a { color: var(--accent); } table { width: 100%; border-collapse: collapse; margin-bottom: 24px; } th, td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); } th { color: var(--muted); font-weight: 500; } code, pre { font: 13px ui-monospace, monospace; } pre { padding: 12px; border: 1px solid var(--line); overflow-x: auto; } .badge { font-size: 12px; color: var(--muted); border: 1px solid var(--line); padding: 0 6px; border-radius: 8px; } .status-running { color: var(--ok); } .status-degraded, .status-unknown { color: var(--warn); } .status-stopped { color: var(--bad); } .error { color: var(--bad); } .warning { color: var(--warn); } form.inline { display: flex; gap: 8px; margin-bottom: 16px; } @media (max-width: 600px) { table { display: block; overflow-x: auto; } } .muted { color: var(--muted); } .status-job-succeeded { color: var(--ok); } .status-job-queued, .status-job-running { color: var(--warn); } .status-job-failed { color: var(--bad); } table.details { width: auto; } table.details th { padding-right: 24px; } pre.log { white-space: pre-wrap; } .badge-update { color: var(--warn); border-color: var(--warn); } form.mode { display: inline; margin-left: 8px; } form.mode button { font-size: 12px; padding: 0 6px; }