
:root{--bg:#f6f7f9;--card:#fff;--fg:#1d2330;--muted:#667085;--line:#e4e7ec;--accent:#3b5bdb;--ok:#2b8a3e;--bad:#c92a2a;--warn:#e67700}
@media (prefers-color-scheme:dark){:root{--bg:#101318;--card:#181c23;--fg:#e6e8ec;--muted:#98a2b3;--line:#2a303b;--accent:#748ffc;--ok:#69db7c;--bad:#ff8787;--warn:#ffc078}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,sans-serif}
header{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--card)}
header h1{margin:0;font-size:18px}#budget{color:var(--muted);flex:1}main{padding:16px 20px;max-width:1100px;margin:0 auto}
.center{max-width:520px;margin:12vh auto;text-align:center}
.task{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.id{font-family:ui-monospace,monospace;color:var(--muted)}
.state{font-weight:600;padding:1px 8px;border-radius:99px;border:1px solid var(--line)}
.running{color:var(--accent)}.awaiting_publication_approval{color:var(--ok)}.failed,.budget_blocked,.security_blocked{color:var(--bad)}.cancelled{color:var(--muted)}
.goal{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.meta{color:var(--muted);font-size:13px}
.progress{white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:12px;background:var(--bg);padding:8px;border-radius:6px;margin-top:6px}
button{font:inherit;padding:4px 12px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}
button.stop{border-color:var(--bad);color:var(--bad)}dialog{width:min(1000px,95vw);max-height:85vh;border:1px solid var(--line);background:var(--card);color:var(--fg)}
pre{overflow:auto;max-height:70vh;font-size:12px}code{font-family:ui-monospace,monospace}
