/* Alpha 0.3.8: compact phones, readable room screens, and place celebrations. */
[hidden] { display:none!important; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
/* Touch browsers may keep :hover after tapping. Only pointer devices get hover emphasis. */
.option-button:hover { border-color:var(--line); transform:none; }
.option-button.selected:hover { border-color:var(--purple); }
@media (hover:hover) and (pointer:fine) {
  .option-button:hover:not(:disabled) { border-color:var(--cyan); }
}
.player-shell { max-width:700px; padding:10px max(10px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
.player-live-card { padding:14px; border-radius:15px; }
.player-round-header h1 { font-size:22px; line-height:1.15; margin:0 0 7px; overflow-wrap:anywhere; }
.player-score-line { display:flex; flex-wrap:wrap; gap:5px 18px; font-size:14px; color:var(--muted); }
.player-score-line strong { color:var(--text); font-variant-numeric:tabular-nums; }
.player-question-details { display:flex; gap:4px 12px; flex-wrap:wrap; align-items:center; margin-top:8px; color:var(--muted); font-size:12px; line-height:1.3; }
.player-question-details [data-live-timer] { display:flex; align-items:center; gap:7px; text-align:left!important; }
.player-question-details .timer { font-size:24px; line-height:1; }
.player-question-details [data-current-points] { font-size:14px; }
.player-shell .question { font-size:clamp(22px,5.8vw,30px); line-height:1.15; margin:13px 0 9px; overflow-wrap:anywhere; }
.question-number { color:var(--cyan); white-space:nowrap; }
.player-question-phase { margin:6px 0 8px; letter-spacing:.05em; font-size:12px; }
.player-shell .options { gap:7px; }
.player-shell .option { font-size:17px; line-height:1.22; min-height:48px; padding:10px; gap:10px; align-items:center; border-radius:11px; }
.player-shell .option-letter { width:28px; height:28px; font-size:16px; border-radius:7px; margin:0; }
.answer-feedback,.correct-answer-label { display:block; margin-top:3px; font-size:13px; font-weight:850; line-height:1.2; }
.option.wrong-selected { background:#4a202c; border-color:#ff9aa6; }
.option.correct { background:#143e30; border-color:#86efb1; }
.player-shell .public-question-notes { font-size:15px; margin-top:10px; padding:10px; line-height:1.35; }
.player-shell .public-response-breakdown { margin-top:10px; padding:10px; gap:9px; }
.player-shell .public-response-row { grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; font-size:14px; }
.player-shell .public-response-bar { grid-column:1/-1; grid-row:2; height:6px; }
.response-stat { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 10px; font-variant-numeric:tabular-nums; }
.player-shell .question-media { margin:10px 0; }
.player-shell .question-media img,.player-shell .question-media video { max-height:26vh; max-height:26dvh; }
.player-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px 10px; padding:10px 3px 0; font-size:12px; }
.player-footer .live-sync-badge { font-size:9px; padding:4px 6px; }
.player-footer .btn { min-height:36px; font-size:12px; }
.player-team-name { flex:1 1 100px; min-width:0; overflow-wrap:anywhere; font-weight:800; }
.player-game-options { flex-basis:100%; color:var(--muted); }
.player-game-options summary { cursor:pointer; padding:8px 0; }
.player-game-options a { display:inline-block; padding:12px 0; }
.submit-answer-row { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-top:8px; font-size:13px; }
.submit-answer-row .btn { min-height:44px; }
.missed-answer-feedback,.waiting-instruction { font-size:14px; margin:10px 0 0; }
.player-score-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; width:100%; margin-top:18px; }
.player-score-cards>div { background:#0b2035; border:1px solid var(--line); border-radius:12px; display:grid; align-content:center; gap:5px; padding:12px 5px; min-width:0; }
.player-score-cards span { font-size:11px; color:var(--muted); }
.player-score-cards strong { font-size:clamp(19px,5.5vw,30px); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.standby-round-name { font-weight:900; }
.next-wager-tag { display:block; margin-top:5px; font-size:12px; font-weight:950; }
.host-rundown-question { grid-template-columns:minmax(0,1fr) auto; padding:5px; align-items:center; }
.rundown-open { border:0; background:none; color:inherit; display:grid; grid-template-columns:34px minmax(0,1fr); gap:8px; text-align:left; padding:8px 2px; width:100%; min-height:44px; line-height:1.3; }
.rundown-open>span:first-child { font-weight:900; color:var(--cyan); }
.rundown-open>span:last-child { overflow-wrap:anywhere; }
.rundown-reorder { display:grid; gap:5px; }
.rundown-reorder .btn { min-height:36px; }
.live-edit-fields { border:0; padding:0; margin:0; }
.live-answer-editor { display:grid; grid-template-columns:32px 100px minmax(0,1fr) 40px; gap:8px; align-items:center; }
.live-answer-editor textarea { min-height:60px; }
.live-answer-editor input[type=checkbox] { width:20px; height:20px; }
.ranking-host-status { flex:1 1 100%; font-size:18px; font-weight:850; }
.presentation .question { font-size:clamp(36px,5.5vh,82px); line-height:1.12; }
.presentation .option { font-size:clamp(28px,3.8vh,57px); padding:clamp(10px,1.1vh,18px) 20px; }
.presentation .option-letter { width:1.3em; height:1.3em; font-size:.9em; }
.presentation .phase { font-size:clamp(17px,2.15vh,28px); }
.presentation .venue-question-meta .muted { font-size:clamp(20px,2.5vh,34px); }
.presentation .round-live-description { font-size:clamp(18px,2.1vh,29px); }
.presentation .public-question-notes { font-size:clamp(20px,2.55vh,36px); line-height:1.3; }
.presentation .public-response-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; gap:12px 20px; margin-top:12px; }
.presentation .public-response-breakdown>.phase { grid-column:1/-1; }
.presentation .public-response-row { grid-template-columns:minmax(0,1fr) auto; font-size:clamp(22px,2.7vh,38px); gap:6px 12px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; }
.presentation .public-response-bar { grid-column:1/-1; grid-row:2; height:9px; }
.presentation .response-stat { font-size:clamp(24px,3vh,42px); color:var(--text); }
.presentation .option-response-inline { font-size:clamp(24px,3vh,42px); }
.presentation .option-response-inline strong { display:flex; gap:20px; }
.presentation .answer-feedback,.presentation .correct-answer-label { font-size:.6em; }
.presentation .rankings-view .table { font-size:clamp(22px,2.8vh,38px); }
.presentation .rankings-view .table th { font-size:clamp(17px,1.8vh,24px); }
.ranking-celebration { position:relative; isolation:isolate; overflow:hidden; text-align:center; display:grid; place-items:center; align-content:center; gap:12px; padding:26px 12px; min-height:400px; border-radius:20px; background:radial-gradient(ellipse at 50% 25%,#35487a55,transparent 65%); animation:awardEntrance .55s ease-out both; }
.ranking-celebration h1 { font-size:clamp(32px,7vw,56px); line-height:1.1; margin:0; overflow-wrap:anywhere; max-width:100%; }
.ranking-celebration.venue-award { min-height:66vh; padding:24px; gap:18px; }
.ranking-celebration.venue-award h1 { font-size:clamp(56px,8vh,120px); }
.award-trophy { height:150px; width:150px; filter:drop-shadow(0 10px 20px #0006); }
.venue-award .award-trophy { height:25vh; width:25vh; }
.place-1 .award-trophy { height:180px; width:180px; }
.venue-award.place-1 .award-trophy { height:29vh; width:29vh; }
.award-place { color:var(--amber); font-size:clamp(20px,4vw,32px); font-weight:950; }
.venue-award .award-place { font-size:clamp(32px,4.5vh,64px); }
.award-points { font-size:24px; font-weight:900; color:var(--muted); }
.venue-award .award-points { font-size:clamp(28px,3.5vh,50px); }
.award-sparkles { color:var(--amber); font-size:32px; letter-spacing:.16em; opacity:.85; }
.venue-award .award-sparkles { font-size:5vh; }
.place-2 .award-place { color:#dde9f8; }.place-3 .award-place { color:#e9b080; }
.ranking-celebration .confetti-field { z-index:-1; pointer-events:none; }
.ranking-celebration .confetti-field i { animation-duration:4.5s; }
.fanfare-stars { position:relative; z-index:2; color:#fff1ae; font-size:clamp(70px,12vw,180px); }
.fanfare-burst::after { background:radial-gradient(circle,#fff0aa66,transparent); box-shadow:none; }
.presentation-effect-layer.winner .fanfare-rays { opacity:.25; }
.presentation-effect-layer.winner { animation-duration:4.2s; }
.drumroll-pulse { position:absolute; inset:0; border:10px solid #f6c75a55; box-shadow:inset 0 0 70px #f6c75a44; animation:drumPulse .25s ease-in-out infinite alternate; }
@keyframes awardEntrance { from { transform:translateY(22px) scale(.93); opacity:0; } to { transform:none; opacity:1; } }
@keyframes drumPulse { to { opacity:.2; } }
.media-picker-tabs { margin-bottom:14px; }
.media-search-label { flex:1; }
.media-picker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0; }
.media-picker-item { min-width:0; display:grid; align-content:start; gap:8px; border:1px solid var(--line); border-radius:12px; padding:10px; background:#0b1c31; color:var(--text); text-align:left; overflow-wrap:anywhere; }
.media-picker-item img,.media-picker-item video { width:100%; height:130px; object-fit:contain; border-radius:8px; }
.media-picker-item audio { width:100%; height:45px; }
.media-picker-item span { font-size:13px; }
.giphy-attribution { font-size:17px; font-weight:950; }
.giphy-media iframe { display:block; width:min(100%,480px); height:26vh; margin:auto; border:0; }
.giphy-media>a { display:inline-block; font-size:12px; padding:4px; }
@media (max-width:600px) {
  .shell.player-shell { padding-top:max(6px,env(safe-area-inset-top)); }
  .player-live-card { padding:11px; }
  .player-round-header h1 { font-size:20px; }
  .player-shell .question { margin-top:11px; }
  .player-shell .round-ready { padding:12px 3px; }
  .modal-backdrop { padding:8px; }
  .modal-card { padding:16px; max-height:calc(100dvh - 24px); }
  .live-answer-editor { grid-template-columns:30px minmax(0,1fr) 36px; }
  .live-answer-editor textarea { grid-row:2; grid-column:1/-1; }
  .media-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .ranking-celebration,.drumroll-pulse,.fanfare-rays,.confetti-field i,.applause-burst span { animation:none!important; }
  .confetti-field { display:none; }
  .presentation-effect-layer.active { animation:none; opacity:.4; }
  .option,.btn { transition:none; }
}
