:root{--bg:#fff;--fg:#1a1d21;--muted:#5f6b76;--line:#e3e7eb;--accent:#0b6bcb;--accent-fg:#fff;--card:#f7f9fb;--warn:#fff4d6}
@media (prefers-color-scheme:dark){:root{--bg:#14171a;--fg:#e8ebee;--muted:#9aa5b0;--line:#2a2f35;--accent:#4c9aff;--accent-fg:#0b1118;--card:#1b1f23;--warn:#3a3217}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
header{border-bottom:1px solid var(--line);background:var(--card)}
header .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:12px;padding-bottom:12px}
.logo{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:1.2rem;color:var(--fg);text-decoration:none}
.logo img{border-radius:6px}
nav a{margin-right:16px;color:var(--muted);text-decoration:none}
nav a:hover{color:var(--accent)}
h1{margin:24px 0 8px}
.lead{color:var(--muted);margin-top:0}
.chip{display:inline-block;margin:0 8px 12px 0;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--fg);text-decoration:none;font-size:.9rem}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.notice{background:var(--warn);padding:8px 12px;border-radius:6px;margin-top:16px}
.tablewrap{overflow-x:auto;margin:8px 0 32px}
table{border-collapse:collapse;width:100%;min-width:720px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;white-space:nowrap;user-select:none}
th.sorted::after{content:" \25B2"}
th.sorted.desc::after{content:" \25BC"}
small{color:var(--muted)}
.trend{color:var(--accent)}
.btn{display:inline-block;padding:6px 12px;border-radius:6px;background:var(--accent);color:var(--accent-fg);text-decoration:none;font-size:.9rem;white-space:nowrap}
.btn:hover{opacity:.9}
footer{border-top:1px solid var(--line);margin-top:40px;padding:16px 0;color:var(--muted);font-size:.85rem}
a{color:var(--accent)}
h2{margin:28px 0 8px;font-size:1.25rem}
table.narrow{min-width:0;max-width:640px}
.crumbs{margin:16px 0 0;font-size:.9rem;color:var(--muted)}
.grade{display:inline-block;min-width:1.9em;padding:2px 6px;border-radius:6px;text-align:center;font-weight:700;color:#fff}
.g-A{background:#116329}.g-B{background:#2e7d32}.g-C{background:#8a6100}.g-D{background:#b3470a}.g-F{background:#c62828}
.g-none{color:var(--muted);border:1px solid var(--line)}
.verdict{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:600}
.verdict .grade{font-size:1.6rem;padding:4px 14px}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:20px 0}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.stats dt{font-size:.8rem;color:var(--muted)}
.stats dd{margin:2px 0 0;font-size:1.15rem;font-weight:600;overflow-wrap:anywhere}
code{background:var(--card);padding:2px 6px;border-radius:4px}
