
:root {
  --bg:#ffffff; --ink:#0a0a0a; --mid:#5c5c5c; --hair:#d9d9d9;
  --band:#0a0a0a; --band-ink:#ffffff; --band-mut:#b5b5b5;
  --c:#c9322b; --b:#d95f04; --a:#2f55a4; --i:#6d7176; --ok:#1e8a4a;
}
@media (prefers-color-scheme: dark) { :root {
  --bg:#111213; --ink:#f3f3f1; --mid:#9a9a98; --hair:#333537;
  --band:#000000; --band-ink:#ffffff; --band-mut:#8f9398;
  --a:#6f92cf; --i:#8f9398;
}}
:root[data-theme="light"] {
  --bg:#ffffff; --ink:#0a0a0a; --mid:#5c5c5c; --hair:#d9d9d9;
  --band:#0a0a0a; --band-ink:#ffffff; --band-mut:#b5b5b5;
  --c:#c9322b; --b:#d95f04; --a:#2f55a4; --i:#6d7176; --ok:#1e8a4a;
}
:root[data-theme="dark"] {
  --bg:#111213; --ink:#f3f3f1; --mid:#9a9a98; --hair:#333537;
  --band:#000000; --band-ink:#ffffff; --band-mut:#8f9398;
  --a:#6f92cf; --i:#8f9398;
}
* { box-sizing:border-box; margin:0; }
body { background:var(--bg); color:var(--ink);
  font:16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; }
.in { max-width:640px; margin:0 auto; padding:0 20px; }

/* station-sign band */
.band { background:var(--band); color:var(--band-ink); padding:24px 0 20px; }
.band .eyebrow { font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--band-mut); margin-bottom:8px; }
.band h1 { font-size:clamp(24px, 6.5vw, 30px); font-weight:700; letter-spacing:-.01em;
  line-height:1.15; text-wrap:balance; }
.band .hood { font-size:14px; color:#d2d2d2; margin-top:5px; }
.band a { color:var(--band-ink); }
.meta { border-bottom:1px solid var(--hair); padding:12px 0; font-size:13px;
  color:var(--mid); line-height:1.6; }
.meta .due { color:var(--c); font-weight:700; }

/* verdict — the big number */
.page { padding-bottom:48px; }
.verdict { padding:28px 0 8px; }
.verdict .n { font-size:clamp(56px, 18vw, 76px); font-weight:700; letter-spacing:-.03em;
  line-height:.95; font-variant-numeric:tabular-nums; }
.verdict .what { font-size:18px; font-weight:700; margin-top:8px; }
.verdict .gloss { font-size:15px; color:var(--mid); margin-top:4px; line-height:1.5; }
.verdict .gloss b { color:var(--c); }
.verdict.ok .n { color:var(--ok); }
.verdict.warn .n { color:var(--b); }

/* severity squares */
.blt { display:inline-flex; width:24px; height:24px;
  align-items:center; justify-content:center; color:#fff; font-weight:700;
  font-size:13px; line-height:1; flex:none; padding-top:1px; box-sizing:border-box; }
.bc { background:var(--c); } .bb { background:var(--b); }
.ba { background:var(--a); } .bi { background:var(--i); } .bok { background:var(--ok); }

/* class breakdown row */
.classes { display:flex; gap:8px; margin:18px 0 6px; }
.classes .cell { flex:1; min-width:0; border-top:3px solid var(--ink); padding-top:8px; }
.classes .cell .blt { width:22px; height:22px; font-size:12px; margin-bottom:6px; }
.classes b { display:block; font-size:22px; font-weight:700;
  font-variant-numeric:tabular-nums; line-height:1.1; }
.classes .lbl { display:block; font-size:11px; color:var(--mid);
  letter-spacing:.02em; line-height:1.35; margin-top:2px; }

/* sections */
h2 { font-size:17px; font-weight:700; margin-top:30px; padding:10px 0 8px;
  border-top:3px solid var(--ink); display:flex; justify-content:space-between;
  align-items:baseline; gap:10px; }
h2 .n { font-size:12px; font-weight:400; color:var(--mid); white-space:nowrap; }

/* record items */
.item { display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--hair);
  overflow-wrap:anywhere; }
.item:first-of-type { border-top:none; }
.item .body { min-width:0; }
.item .when { font-size:12px; font-weight:700; color:var(--mid);
  font-variant-numeric:tabular-nums; letter-spacing:.02em; margin-bottom:2px; }
.item p { font-size:15px; line-height:1.5; }
.more { font-size:13px; color:var(--mid); padding:10px 0 0; border-top:1px solid var(--hair); }

/* filing calendar */
.cal .row { display:flex; gap:14px; padding:12px 0; border-top:1px solid var(--hair);
  align-items:baseline; }
.cal .row:first-of-type { border-top:none; }
.cal .when { font-size:14px; font-weight:700; min-width:76px; letter-spacing:.01em;
  font-variant-numeric:tabular-nums; flex:none; }
.cal .when.due { color:var(--c); }
.cal .what { font-size:15px; line-height:1.5; }

/* CTA */
.cta { margin-top:32px; border-top:3px solid var(--ink); padding-top:14px; }
.cta p { font-size:15px; line-height:1.55; margin-bottom:14px; }
.btn { display:block; background:var(--ink); color:var(--bg); text-align:center;
  text-decoration:none; font-size:16px; font-weight:700; padding:15px 10px; }
.btn:focus-visible, a:focus-visible, input:focus-visible, button:focus-visible {
  outline:3px solid var(--a); outline-offset:2px; }

/* trust */
.trust { margin-top:26px; padding-top:12px; border-top:1px solid var(--hair);
  font-size:12px; line-height:1.65; color:var(--mid); }
.trust a { color:var(--mid); }
