:root{--bg:#f6f7f9;--card:#fff;--ink:#1d2330;--muted:#667085;--line:#e4e7ec;--accent:#3b5bdb;--accent-ink:#fff;--warn:#c2410c;--ok:#15803d;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0}.app{max-width:480px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}h1,h2,h3{margin:0 0 12px}h3{margin-top:16px;font-size:1rem}p{line-height:1.5}.muted{color:var(--muted)}.small{font-size:.85rem}.field{gap:6px;margin:12px 0;display:grid}input{font:inherit;border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:10px 12px}button{font:inherit;border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:10px 14px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);width:100%;color:var(--accent-ink);margin:12px 0 4px;padding:14px;font-weight:600}button.link{color:var(--accent);background:0 0;border:none;padding:8px 0}.row{align-items:center;gap:8px;margin:8px 0;display:flex}.row.spread{justify-content:space-between}.code{letter-spacing:.15em;font-family:ui-monospace,monospace;font-size:1.2rem}.members,.players,.reveal ul{margin:0;padding:0;list-style:none}.members li,.players li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.players li.me{font-weight:600}.players .score{margin-left:auto}.tag{color:var(--accent);background:#eef2ff;border-radius:999px;padding:2px 8px;font-size:.75rem}.tag.warn{color:var(--warn);background:#fff1e6}.tag.ok{color:var(--ok);background:#e7f6ec}.timer{font-variant-numeric:tabular-nums;font-weight:600}.timer.warn{color:var(--warn)}.cards{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;display:grid}.cardbtn{padding:18px 0;font-size:1.6rem;font-weight:700}.reveal{background:#f8fafc;border-radius:8px;margin-top:16px;padding:12px}.winner{font-size:1.2rem;font-weight:700}.ranking li{padding:4px 0}.history{border-collapse:collapse;width:100%;margin-top:12px;font-size:.9rem}.history th,.history td{border-bottom:1px solid var(--line);text-align:center;padding:6px}.history td.win{color:var(--ok);font-weight:700}.error{color:var(--warn)}.banner{color:var(--warn);background:#fff1e6;border-radius:8px;margin-bottom:12px;padding:10px 12px}
