:root{--bg:#0f1530;--bg2:#18214a;--card:#1f2a5c;--ink:#f5f1e6;--mut:#aab3d6;--gold:#f2c14e;--ok:#3ecf8e;--bad:#ff6b6b;--acc:#7aa2ff;--r:14px}
[hidden]{display:none!important}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 20% 0,#26336e,var(--bg) 60%);color:var(--ink);font:17px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100%;-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh}
button,input,select{font:inherit;font-size:16px}
button{min-height:44px;min-width:44px;border:0;border-radius:12px;padding:10px 16px;background:var(--acc);color:#0b1030;font-weight:700;cursor:pointer;touch-action:manipulation}
button.ghost{background:transparent;color:var(--ink);border:1px solid #ffffff40}
button.gold{background:var(--gold)}button.bad{background:var(--bad);color:#fff}
button:disabled{opacity:.45;cursor:default}
input,select{min-height:44px;width:100%;border-radius:12px;border:1px solid #ffffff40;background:#0b1030;color:var(--ink);padding:10px 12px}
label{display:block;margin:10px 0 4px;color:var(--mut);font-size:15px}
.bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0007;position:sticky;top:0;z-index:5}
.bar .t{flex:1;font-weight:800;letter-spacing:.3px}
.wrap{max-width:560px;margin:0 auto;padding:14px}
.card{background:var(--card);border-radius:var(--r);padding:16px;margin:12px 0;box-shadow:0 6px 24px #0005}
.mut{color:var(--mut)}.big{font-size:28px;font-weight:800}.center{text-align:center}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row>*{flex:1}
.err{color:var(--bad);min-height:1.2em;font-weight:600}
.pill{display:inline-block;padding:3px 10px;border-radius:99px;background:#ffffff1a;margin:3px;font-size:15px}
.pill.off{opacity:.45}.pill.done{background:#3ecf8e33;outline:1px solid var(--ok)}
.timer{font-variant-numeric:tabular-nums;font-weight:800}
.opt{display:block;width:100%;text-align:left;margin:8px 0;background:#ffffff14;color:var(--ink);border:2px solid transparent;padding:14px}
.opt.sel{border-color:var(--gold);background:#f2c14e22}.opt.right{border-color:var(--ok);background:#3ecf8e22}.opt.wrong{border-color:var(--bad)}
.lb{list-style:none;margin:0;padding:0}.lb li{display:flex;gap:8px;padding:6px 8px;border-radius:10px}.lb li:nth-child(odd){background:#ffffff0c}
.lb .n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb .s{font-weight:800;font-variant-numeric:tabular-nums}
.ref{color:var(--gold);font-weight:700}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#000c;padding:10px 16px;border-radius:12px;z-index:50;max-width:90vw}
/* TV */
body.tv{font-size:22px}
.tvgrid{display:grid;grid-template-columns:1fr 340px;gap:18px;padding:18px;min-height:calc(100vh - 60px)}
.tvmain{background:#0004;border-radius:20px;padding:22px;position:relative;overflow:hidden}
.tvside{background:#0004;border-radius:20px;padding:16px}
.code{font-size:72px;font-weight:900;letter-spacing:10px;color:var(--gold)}
.qr{background:#fff;padding:10px;border-radius:14px;width:230px;height:230px}
.tvq{font-size:40px;font-weight:800;line-height:1.2}
@media (max-width:900px){.tvgrid{grid-template-columns:1fr}}

.choice{display:grid;gap:12px}.bigchoice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;min-height:84px;font-size:22px;padding:14px 16px}.bigchoice .ic{font-size:36px}.bigchoice small{display:block;font-size:14px;font-weight:500;opacity:.85;margin-top:2px}
.soloStats{justify-content:center;gap:28px;margin-top:10px}.soloStats>div{flex:0 0 auto;text-align:center}.soloStats b{display:block;font-size:30px}.soloStats small{opacity:.8}
