*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#f3f5f7;color:#222}
.wrap{max-width:920px;margin:0 auto;padding:16px}
.card{background:#fff;border-radius:18px;padding:18px;margin:12px 0;box-shadow:0 4px 18px rgba(0,0,0,.08)}
h1,h2,h3{margin-top:0}
button,.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:800;font-size:16px;cursor:pointer;text-decoration:none;display:inline-block}
.primary{background:#222;color:#fff}
.secondary{background:#e9edf2;color:#222}
.danger{background:#d92d20;color:#fff}
.big{font-size:26px;padding:18px 24px}
input,select{width:100%;padding:13px;border:1px solid #ccd3da;border-radius:12px;font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.player{padding:12px;border:1px solid #ddd;border-radius:12px;background:#fafafa}
.word{font-size:42px;font-weight:900;text-align:center;padding:24px}
.center{text-align:center}
.muted{color:#6b7280}
.hidden{display:none}
.timer{font-size:64px;font-weight:900;text-align:center}
.vote-btn{width:100%;margin:6px 0;background:#f1f3f5}
.vote-btn.selected{background:#222;color:#fff}
.result-name{font-size:24px;font-weight:800}
.result-votes{font-size:34px;font-weight:900}
.notice{padding:12px;border-radius:12px;background:#fff6d9}
.qr{display:flex;justify-content:center;padding:10px}
.qr img{width:260px;height:260px;background:white;padding:12px;border-radius:12px}
@media(max-width:600px){.wrap{padding:10px}.timer{font-size:52px}.word{font-size:36px}}
