:root { --fg: #d7dbe2; --dim: #8a93a3; --bg: #0d1117; --card: #161b22; --accent: #e5534b; }
* { box-sizing: border-box; }
body { background: var(--bg); color: var(--fg); font: 16px/1.55 -apple-system, "Segoe UI", Roboto, sans-serif; max-width: 52rem; margin: 0 auto; padding: 2rem 1rem; }
a { color: #7aa5f8; text-decoration: none; } a:hover { text-decoration: underline; }
header { border-bottom: 1px solid #22283a; padding-bottom: 1rem; margin-bottom: 1.5rem; }
h1 { margin: .2rem 0; } h2 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .08em; color: var(--dim); }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
pre { background: var(--card); padding: .8rem 1rem; border-radius: 8px; overflow-x: auto; }
.tagline { color: var(--dim); } .count { color: var(--accent); font-weight: 600; }
.specimen-list { list-style: none; padding: 0; }
.specimen-list li { display: flex; gap: .6rem; align-items: baseline; padding: .35rem 0; border-bottom: 1px solid #1a2130; }
.specimen-list .replay { margin-left: auto; color: var(--accent); font-size: 1.2rem; }
.badge, .sev, .tag, .cat { font-size: .72rem; padding: .1rem .45rem; border-radius: 4px; background: #1c2333; color: var(--dim); }
.badge.real { background: #3d2b10; color: #f0a35e; }
.sev-fatal { color: #ff7b72; } .sev-severe { color: #e5534b; } .sev-moderate { color: #d2a24c; } .sev-trivial { color: #8a93a3; }
.anatomy p { white-space: pre-wrap; }
.citation { color: var(--dim); font-size: .9rem; }
button { background: var(--accent); color: #fff; border: 0; border-radius: 6px; padding: .5rem 1.1rem; font-size: .95rem; cursor: pointer; }
button:hover { filter: brightness(1.15); }
.back { font-size: .9rem; }
.grade .letter { font-size: 2rem; font-weight: 700; color: var(--accent); }
table.report { width: 100%; border-collapse: collapse; font-size: .9rem; }
table.report th, table.report td { text-align: left; padding: .4rem .5rem; border-bottom: 1px solid #1a2130; }
tr.pass td { color: #9fd08a; } tr.fail td { color: #ff9b92; }
footer { margin-top: 3rem; color: var(--dim); font-size: .85rem; }
