:root { --bg:#11131a; --card:#191c26; --line:#2b3040; --fg:#e7e9ee; --muted:#8b93a7; --accent:#6ea8fe; --bad:#ff6b6b; --ok:#51cf66; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:14px/1.5 system-ui, sans-serif; }
a { color:var(--accent); }
header { display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:.75rem 1.25rem; border-bottom:1px solid var(--line); }
nav a { margin-right:1rem; text-decoration:none; }
nav a.on { color:var(--fg); font-weight:600; text-decoration:underline; }
main { max-width:1100px; margin:0 auto; padding:1.25rem; }
h1 { font-size:1.35rem; } h2 { font-size:1.05rem; margin-top:2rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px;
  padding:1rem; margin:1rem 0; }
.row { display:flex; flex-wrap:wrap; gap:.5rem; align-items:end; margin:.35rem 0; }
.grow { flex:1; }
label { display:flex; flex-direction:column; gap:.2rem; font-size:.8rem; color:var(--muted); }
label:has(input[type=checkbox]) { flex-direction:row; align-items:center; gap:.35rem; }
input, select, textarea { background:#0e1016; color:var(--fg); border:1px solid var(--line);
  border-radius:6px; padding:.4rem .5rem; font:inherit; }
input.narrow { width:5rem; }
textarea { width:100%; min-height:18rem; font:13px/1.5 ui-monospace, monospace; }
pre.diff span { display:block; }
pre.diff .add { color:var(--ok); } pre.diff .del { color:var(--bad); } pre.diff .same { color:var(--muted); }
button { background:var(--accent); color:#0b0d12; border:0; border-radius:6px;
  padding:.45rem .8rem; font:inherit; font-weight:600; cursor:pointer; }
button.bad { background:transparent; color:var(--bad); border:1px solid var(--line); }
button.link { background:none; color:var(--muted); font-weight:400; padding:0; }
table { width:100%; border-collapse:collapse; margin:.5rem 0; }
th, td { text-align:left; padding:.4rem .5rem; border-bottom:1px solid var(--line); vertical-align:middle; }
th { color:var(--muted); font-weight:500; font-size:.8rem; }
dl.card { display:grid; grid-template-columns:9rem 1fr; gap:.35rem 1rem; }
dt { color:var(--muted); }
dd { margin:0; }
pre { overflow-x:auto; background:#0e1016; padding:.75rem; border-radius:6px; }
.mono { font-family:ui-monospace, monospace; color:var(--muted); }
.muted, .empty { color:var(--muted); }
.err { color:var(--bad); max-width:28rem; overflow-wrap:anywhere; }
.flash { padding:.5rem .75rem; border-radius:6px; border:1px solid var(--line); }
.flash.ok { color:var(--ok); } .flash.bad { color:var(--bad); }
.tag { padding:.1rem .45rem; border-radius:999px; border:1px solid var(--line); font-size:.75rem; }
.tag.done, .tag.rendered, .tag.published { color:var(--ok); }
.tag.failed { color:var(--bad); }
.tag.skipped { color:var(--muted); }
