:root {
  --bg: #f7f5f0; --fg: #1d1b16; --muted: #5d584c; --line: #d6d0c2; --head: #ece7dc;
  --link: #1c4fa3; --tip-bg: #ffffff; --tip-fg: #1d1b16;
  --q1: #f6c9c3; --q2: #f8dcbf; --q3: #f3ecbc; --q4: #d5ecc0; --q5: #b8e2b0; --q-fg: #1d1b16;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #17160f; --fg: #ece8dc; --muted: #a7a08f; --line: #3b382e; --head: #24221a;
    --link: #8fb4ff; --tip-bg: #2a281f; --tip-fg: #ece8dc;
    --q1: #5b2a24; --q2: #5a3d1f; --q3: #4d4520; --q4: #2f4a24; --q5: #22502a; --q-fg: #f2efe6;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
header { padding: 14px 16px 0; }
h1 { margin: 0; font-size: 20px; }
h1 span { color: var(--muted); font-weight: 400; font-size: 15px; margin-left: 6px; }
main { padding: 0 16px 40px; max-width: 1180px; }
h2 { font-size: 16px; margin: 22px 0 6px; }
.result { margin: 0 0 8px; color: var(--muted); }
.result b { color: var(--fg); }
.scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; min-width: 640px; background: var(--bg); color: var(--fg); }
th, td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; vertical-align: top; }
th { background: var(--head); color: var(--fg); font-weight: 600; font-size: 13px; white-space: nowrap; }
th[data-note] { cursor: help; text-decoration: underline dotted var(--muted); text-underline-offset: 3px; }
td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
td.score { font-weight: 700; }
td.q1 { background: var(--q1); color: var(--q-fg); } td.q2 { background: var(--q2); color: var(--q-fg); }
td.q3 { background: var(--q3); color: var(--q-fg); } td.q4 { background: var(--q4); color: var(--q-fg); }
td.q5 { background: var(--q5); color: var(--q-fg); }
a { color: var(--link); }
.muted { color: var(--muted); }
:root { --info-tooltip-bg: var(--tip-bg); --info-tooltip-text: var(--tip-fg); --info-tooltip-border: var(--line); }
