:root { --fg:#1d1d1f; --muted:#6e6e73; --bg:#fff; --line:#e5e5ea; --accent:#0a66c2; --low:#1a7f37; --high:#c62828; --normal:#8a6d00; }
@media (prefers-color-scheme: dark) { :root { --fg:#f2f2f7; --muted:#a1a1a6; --bg:#111; --line:#333; --accent:#6cb4ff; --low:#5fd07a; --high:#ff7b7b; --normal:#e0c050; } }
* { box-sizing: border-box; }
body { margin:0 auto; max-width:960px; padding:0 16px; font-family: system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif; color:var(--fg); background:var(--bg); line-height:1.6; }
a { color:var(--accent); }
.pr { font-size:12px; color:var(--muted); margin:8px 0; }
header { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:baseline; border-bottom:1px solid var(--line); padding-bottom:8px; }
.logo { font-weight:700; font-size:20px; text-decoration:none; color:var(--fg); }
nav a { margin-right:12px; font-size:14px; }
h1 { font-size:24px; } h2 { font-size:18px; margin-top:32px; } h2 small { font-weight:400; color:var(--muted); font-size:13px; }
.scroll { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:14px; }
th, td { border-bottom:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
th { color:var(--muted); font-weight:500; white-space:nowrap; }
.unit { font-weight:700; white-space:nowrap; }
.hero { font-size:18px; } .hero strong { font-size:28px; }
.badge { display:inline-block; font-size:12px; padding:1px 8px; border-radius:10px; border:1px solid currentColor; white-space:nowrap; }
.badge.low { color:var(--low); } .badge.high { color:var(--high); } .badge.normal { color:var(--normal); } .badge.unknown { color:var(--muted); }
.btn { display:inline-block; padding:4px 12px; border:1px solid var(--accent); border-radius:6px; text-decoration:none; white-space:nowrap; }
.rank li { margin:4px 0; } .rank .unit { margin-left:8px; }
.empty { color:var(--muted); }
.spark { width:100%; max-width:480px; height:100px; } .spark polyline { fill:none; stroke:var(--accent); stroke-width:2; vector-effect:non-scaling-stroke; }
.spec th { width:40%; }
footer { margin:48px 0 24px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.credit { margin:8px 0; }
