:root { --bg:#fafafa; --fg:#1a1a1a; --muted:#666; --line:#e2e2e2; --card:#fff;
        --pass:#1f7a3a; --fail:#b42318; --open:#a15c00; --notrun:#555; --blocked:#8a1c1c; --sup:#777; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg:#121212; --fg:#eee; --muted:#9a9a9a; --line:#2c2c2c; --card:#1b1b1b;
        --pass:#4fd17a; --fail:#ff7a6e; --open:#f5b552; --notrun:#aaa; --blocked:#ff9c93; --sup:#aaa; }
}
:root[data-theme="dark"] { --bg:#121212; --fg:#eee; --muted:#9a9a9a; --line:#2c2c2c; --card:#1b1b1b;
        --pass:#4fd17a; --fail:#ff7a6e; --open:#f5b552; --notrun:#aaa; --blocked:#ff9c93; --sup:#aaa; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.5 system-ui, -apple-system, Segoe UI, sans-serif; }
main { padding:16px; max-width:960px; margin:0 auto; }
h1 { font-size:22px; margin:0 0 4px; }
h2 { font-size:17px; margin:24px 0 8px; }
.meta { color:var(--muted); font-size:13px; margin-bottom:12px; }
.nav { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px; font-size:14px; }
.nav a { color:var(--fg); text-decoration:none; padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:var(--card); }
.nav a[aria-current="page"] { font-weight:700; border-color:var(--fg); }
.counts { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0; }
.count { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:8px 12px; font-size:13px; color:var(--muted); }
.count b { display:block; font-size:18px; color:var(--fg); }
.bar { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.bar input, .bar select { padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); font:inherit; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:10px 0; }
.card-head { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; }
.kind { font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.title { font-weight:600; font-size:16px; margin:4px 0 6px; }
.story { margin:0 0 8px; }
.pill { display:inline-block; padding:2px 9px; border-radius:999px; font-size:12px; border:1px solid currentColor; white-space:nowrap; }
.pass { color:var(--pass); } .fail { color:var(--fail); } .open { color:var(--open); } .not-run { color:var(--notrun); }
.blocked { color:var(--blocked); } .superseded { color:var(--sup); }
.links { display:flex; flex-wrap:wrap; gap:8px 14px; font-size:13px; margin-top:6px; }
.links a { color:inherit; }
.owner { font-size:12px; color:var(--muted); }
details { margin-top:8px; font-size:13px; color:var(--muted); }
details summary { cursor:pointer; }
details dl { margin:8px 0 0; display:grid; grid-template-columns: max-content 1fr; gap:4px 12px; color:var(--fg); }
dt { color:var(--muted); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12px; word-break:break-word; }
.glossary { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:4px 16px; }
.glossary dt { font-weight:600; color:var(--fg); }
.glossary dl { display:grid; grid-template-columns: max-content 1fr; gap:8px 16px; margin:12px 0; }
.glossary dd { margin:0; color:var(--fg); }
.gate { font-weight:600; margin:12px 0; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:var(--card); }
.gate.pass { color:var(--pass); } .gate.fail { color:var(--fail); }
.gate-list { margin:8px 0 0; padding-left:20px; font-weight:400; color:var(--fg); }
ol.conflicts { margin:0; padding-left:20px; }
ol.conflicts li { margin:6px 0; }
.note { color:var(--muted); font-size:12px; margin-top:20px; }
@media (max-width: 640px) { main { padding:12px; } .glossary dl { grid-template-columns: 1fr; } }
