/* Shared by every game page */
:root{
  --bg:#eef3f0; --ink:#17302b; --muted:#5d746d; --panel:#ffffff; --line:#d3dfd9;
  --accent:#e8553d; --ok:#2f9e6a;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f1a18; --ink:#e6f1ed; --muted:#8fa89f; --panel:#172522; --line:#27403a;
    --accent:#ff7a63; --ok:#4cc58c; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Figtree,system-ui,sans-serif}
h1,h2{font-family:"Bricolage Grotesque",Figtree,sans-serif;margin:0}
.wrap{max-width:980px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:24px;
  grid-template-columns:minmax(0,1fr) 280px;align-items:start}
@media(max-width:800px){.wrap{grid-template-columns:1fr}}
header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
h1{font-size:2.4rem;font-weight:800;letter-spacing:-.02em}
.brand{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nav{display:flex;gap:6px}
.nav a{padding:5px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);
  color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.nav a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.who{color:var(--muted)} .who button{margin-left:8px}
button,select,input{font:inherit;color:inherit}
button,select{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 14px;cursor:pointer}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.bar .stat{margin-left:auto;display:flex;gap:18px;font-variant-numeric:tabular-nums}
.stat b{font-family:"Bricolage Grotesque";font-size:1.4rem}
.bar label{display:flex;align-items:center;gap:6px;color:var(--muted)}
aside{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
aside h2{font-size:1.2rem;margin-bottom:8px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.92rem}
th,td{text-align:right;padding:5px 4px;border-bottom:1px solid var(--line)}
th:first-child,td:first-child{text-align:left}
th{color:var(--muted);font-weight:600}
.sum{display:flex;justify-content:space-between;margin:8px 0 12px;color:var(--muted)}
.sum b{color:var(--ink)}
.empty{color:var(--muted)}
.msg{min-height:1.5em;color:var(--muted)}
.win{background:var(--panel);border:2px solid var(--ok);border-radius:14px;padding:14px 16px;margin-bottom:16px}
.login{grid-column:1/-1;max-width:380px;margin:40px auto;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:24px;display:grid;gap:12px}
.login input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.tabs{display:flex;gap:6px;margin-bottom:10px}
.tabs button{padding:4px 12px;border-radius:999px;font-size:.9rem}
.tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tabs button:disabled{opacity:.4;cursor:not-allowed}
.bar .tabs{margin:0}
.sub{margin:14px 0 6px;font-size:1rem}
.cmp{grid-column:1/-1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;overflow-x:auto}
.cmp h2{font-size:1.2rem;margin-bottom:4px}.cmp p{margin:0 0 10px;color:var(--muted);font-size:.9rem}
.cmp td,.cmp th{text-align:right}.cmp th:first-child,.cmp td:first-child{text-align:left}
.me{font-weight:700;color:var(--accent)}
.switch{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline}
[hidden]{display:none!important}
