/* ══════════════════════════════════
   MODALS
══════════════════════════════════ */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px);}
.overlay.active{display:flex;}
.modal{background:var(--modal-bg);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.8);}
.modal-pts{font-family:'Anton',sans-serif;font-size:52px;color:var(--gold);text-align:center;margin-bottom:4px;line-height:1;}
.modal-cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38);text-align:center;margin-bottom:22px;}
.modal-q{font-size:22px;font-weight:600;text-align:center;line-height:1.55;margin-bottom:18px;}
.modal-img{width:100%;max-height:280px;object-fit:contain;border-radius:10px;margin-bottom:18px;display:none;}
.modal-img.show{display:block;}
.modal-ans-wrap{display:none;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:8px;}
.modal-ans-wrap.show{display:block;}
.modal-ans-lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.38);text-align:center;margin-bottom:8px;}
.modal-ans-txt{font-size:26px;font-weight:700;color:#2ecc71;text-align:center;line-height:1.4;}
.modal-teams{display:none;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px;}
.modal-teams.show{display:flex;}
.mt-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;min-width:108px;}
.mt-card .mt-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.45);}
.mt-card .mt-ctrls{display:flex;gap:8px;}
.mt-sc-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);background:none;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1;}
.mt-sc-btn.plus{border-color:rgba(46,204,113,.45);color:#2ecc71;}
.mt-sc-btn.plus:hover{background:rgba(46,204,113,.25);}
.mt-sc-btn.minus{border-color:rgba(231,76,60,.45);color:#e74c3c;}
.mt-sc-btn.minus:hover{background:rgba(231,76,60,.25);}
.modal-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;}

/* scoreboard */
.sb-table{width:100%;border-collapse:collapse;}
.sb-table tr{border-bottom:1px solid rgba(255,255,255,.08);}
.sb-table td{padding:12px 14px;}
.sb-rank{font-family:'Anton',sans-serif;font-size:26px;color:rgba(255,255,255,.28);width:40px;}
.sb-rank.r1{color:var(--gold);}
.sb-rank.r2{color:#c0c0c0;}
.sb-rank.r3{color:#cd7f32;}
.sb-name{font-weight:600;font-size:16px;}
.sb-score{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:800;text-align:right;}

/* preview */
.prev-grid{gap:4px;display:grid;}
.prev-cell{background:var(--board);border-radius:5px;padding:7px;text-align:center;font-family:'Anton',sans-serif;font-size:clamp(14px,2vw,22px);color:var(--gold);}
.prev-cell.empty{background:rgba(13,71,161,.3);color:rgba(244,194,26,.3);}
.prev-cat{background:#010625;border-radius:5px;padding:7px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:clamp(10px,1.2vw,13px);font-weight:700;text-transform:uppercase;border:1px solid rgba(255,255,255,.07);}

@keyframes scoreFlash{0%{transform:scale(1)}50%{transform:scale(1.18)}100%{transform:scale(1)}}
.score-flash{animation:scoreFlash .28s ease;}
