:root { --bg:#0f0c0a; --card:#1a1512; --line:#2e2620; --ink:#f5f0e8; --mut:#a89880; --amber:#f5a623; --amber-lt:#ffc966; }
html[data-theme='light'] { --bg:#f7f3ec; --card:#fbf7f5; --line:#e2d9c8; --ink:#2a2118; --mut:#8a7a63; --amber:#b87409; --amber-lt:#b87409; }
body { background:var(--bg); color:var(--ink); font-family:'Segoe UI',system-ui,sans-serif; margin:0; padding:20px; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(245,166,35,.1), transparent); }
html[data-theme='light'] body::before { background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(245,166,35,.12), transparent); }
a { color:var(--amber); text-decoration:none; }
.header { max-width:800px; margin:0 auto 20px; }
h1 { font-family:'Playfair Display',serif; font-weight:800; font-size:2rem; margin:0 0 8px; }
.back { display:inline-block; margin-bottom:20px; }
.score-list { max-width:800px; margin:0 auto; }
.score-row { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:16px 20px; margin-bottom:12px; display:grid; grid-template-columns:1fr 110px 70px; align-items:center; gap:12px; }
.r-main { min-width:0; }
.r-game { display:block; font-weight:600; }
.r-sub { display:block; margin-top:3px; font-size:.8rem; color:var(--mut); }
.r-player { font-weight:600; }
.r-time { white-space:nowrap; }
.r-score { color:var(--amber); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.score-row .loc-badge { justify-self:end; align-self:center; margin:0; }