:root{--bg:#efe3c8;--card:#f8f0de;--ink:#3a2a17;--sub:#7a6545;--line:#d8c59f;--win:#2f6b2f;--out:#a0453a;--gold:#b8860b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,"Hiragino Sans","Noto Sans JP",system-ui,sans-serif;padding:0 0 30px}
header{padding:14px 16px 6px;max-width:760px;margin:0 auto}.back{color:var(--sub);text-decoration:none;font-size:14px}
.kicker{margin:10px 0 0;font-weight:800;letter-spacing:.18em;font-size:12px;color:var(--gold)}h1{margin:2px 0 10px;font-size:28px}
.tabs{display:flex;gap:8px}.tabs a{flex:1;text-align:center;padding:10px 6px;border-radius:10px;background:var(--card);color:var(--ink);text-decoration:none;font-weight:700;border:2px solid var(--line);font-size:14px}.tabs a.on{background:var(--ink);color:#f8f0de;border-color:var(--ink)}
main{max-width:760px;margin:0 auto;padding:6px 16px}
section{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 10px;margin:12px 0}
h2{font-size:17px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline}h2 small{font-size:13px;color:var(--sub);font-weight:500}
.big{display:flex;gap:10px;flex-wrap:wrap}.big div{flex:1;min-width:92px;text-align:center;background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:8px 4px}.big b{display:block;font-size:30px;line-height:1.1}.big span{font-size:12px;color:var(--sub)}
.finals{background:#3a2a17;color:#f8e9c4;border-color:#3a2a17}.finals h2 small{color:#d9c48f}.finals li{font-size:18px;font-weight:800}
ul.names{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}ul.names li{background:#fffaf0;border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:14px}.finals ul.names li{background:#5a4326;border-color:#8a6a3a}
ul.names li.out{color:#a89878;text-decoration:line-through}ul.names li.playing::after{content:" 対戦中";font-size:11px;color:var(--gold)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;color:var(--sub);font-weight:600}
td.w{color:var(--win);font-weight:800}td.t{white-space:nowrap;color:var(--sub);font-size:13px}.vs{color:var(--sub)}.lose{color:var(--sub)}
.empty{color:var(--sub);font-size:14px;margin:4px 0}footer{text-align:center;color:var(--sub);font-size:12px;margin-top:10px}.loading,.err{text-align:center;color:var(--sub)}
/* v2: no elimination — per-round record table */
.rule{font-size:13px;color:var(--sub);margin:10px 0 2px}.scroll{overflow-x:auto}
table.rec td,table.rec th{text-align:center;white-space:nowrap}table.rec td.n,table.rec th:first-child{text-align:left;white-space:normal}
table.rec .w{color:var(--win)}table.rec .l{color:var(--out);font-weight:700}table.rec .dash{color:#b9a888}table.rec td.now{font-weight:700}
table.rec tr.fin td{background:#f3e2b5}table.rec tr.fin td.now{color:var(--gold)}.pl{color:var(--gold);font-size:11px}.warn{color:var(--out);font-weight:700}
.why{color:var(--sub)}.host{display:inline-block;background:#3a2a17;color:#f8e9c4;border-radius:6px;padding:0 6px;font-size:13px}.note{font-size:12px;color:var(--sub);margin:6px 0 0}
.stale{color:#ffb4a8;font-weight:700}
