.cardbtn{display:block;width:100%;text-align:left;margin:6px 0;background:#ffffff14;color:var(--ink);border:2px solid #ffffff22;padding:12px 14px;font-weight:600;min-height:52px}
.cardbtn.used{opacity:.25}
.slot{display:flex;gap:10px;align-items:center;margin:6px 0;background:#f2c14e22;border:2px dashed #f2c14e88;border-radius:12px;padding:10px 12px;min-height:52px;color:var(--ink);width:100%;text-align:left;font-weight:600}
.slot.empty{opacity:.5}.slot .num{background:var(--gold);color:#000;border-radius:50%;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 30px}
.slot.ok{border:2px solid var(--ok);background:#3ecf8e22}.slot.no{border:2px solid var(--bad);background:#ff6b6b22}
.tvcards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.tvcard{background:#ffffff14;border-radius:14px;padding:16px 18px;font-size:26px;font-weight:700}
.tvorder li{font-size:24px;margin:8px 0;background:#ffffff10;border-radius:12px;padding:10px 14px;list-style:none;display:flex;gap:12px;align-items:center}
.tvorder{padding:0;margin:10px 0}.tvorder .num{background:var(--gold);color:#000;border-radius:50%;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.rv{opacity:0;animation:pop .45s forwards}@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ready{font-size:64px;font-weight:900;text-align:center;margin-top:12vh}
.podium{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:12px 0}
.podium>div{background:#ffffff14;border-radius:12px 12px 0 0;padding:10px 16px;text-align:center;min-width:120px}
