:root{ --red:#be2126; --red-dark:#931f28; --blaze:#e8590c; --ink:#222; --muted:#666; --line:#ddd; }
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.55}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
.masthead{background:var(--red);color:#fff}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand{color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none;padding:14px 0}
.brand .blaze{color:#ffd9c2;border-bottom:3px solid var(--blaze);padding-bottom:2px}
.nav a{color:#fff;text-decoration:none;margin-left:18px;font-size:.95rem}
.nav a:hover{text-decoration:underline}
.content{padding:28px 20px 60px}
h1{font-size:1.9rem;margin:.2em 0 .4em}
h2{font-size:1.3rem;margin-top:1.6em;border-left:4px solid var(--blaze);padding-left:10px}
.lede{font-size:1.1rem;color:var(--muted)}
.step{margin:1.4em 0;padding-bottom:1em;border-bottom:1px solid var(--line)}
.hero{max-width:100%;height:auto;border:1px solid var(--line);margin:.6em 0}
.more{color:var(--red);font-weight:600;text-decoration:none}
.more:hover{text-decoration:underline}
table.results{border-collapse:collapse;width:100%;font-size:.9rem}
table.results th,table.results td{border:1px solid var(--line);padding:6px 8px;text-align:left}
table.results th a{color:var(--ink);text-decoration:none}
table.results th{background:#f5f5f5}
table.results tbody tr:nth-child(even){background:#f7f4f3}
table.results tbody tr:hover{background:#fdeee7}
.controls{margin:.8em 0;display:flex;gap:10px;flex-wrap:wrap}
.controls input,.controls select{padding:6px 8px;border:1px solid var(--line)}
.pager{margin:.8em 0;display:flex;gap:10px;align-items:center}
.explain{background:#fff7f2;border:1px solid #f3d3c0;padding:10px 14px;margin:.8em 0;font-size:.92rem}
.empty{color:var(--muted);font-style:italic;padding:14px 0}
.footer{background:#f1f1f1;color:var(--muted);font-size:.85rem;padding:18px 0;margin-top:30px}
.footer a{color:var(--red)}
.runform{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:1em 0}
.runform label{display:flex;flex-direction:column;gap:4px;font-size:.95rem;color:var(--muted)}
.runform select{padding:6px 8px;border:1px solid var(--line)}
.runform button{align-self:flex-start;background:var(--blaze);color:#fff;border:0;padding:9px 18px;font-size:1rem;cursor:pointer}
.formerror{background:#fdecea;border:1px solid #f5c2bd;color:#8c191f;padding:10px 14px;margin:.8em 0}
.jobstate{font-size:1.1rem}
.jobstate.done{color:#1a7f37}
.jobstate.failed{color:var(--red-dark)}
.jobbanner{background:#fff7f2;border:1px solid #f3d3c0;padding:8px 12px;margin:.6em 0;font-size:.92rem}
