#quizModal { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0); pointer-events:none; transition:background 0.3s, opacity 0.3s; opacity:0; }
#quizModal:not(.active) .quiz-inner { display:none; }
#quizModal.active { background:rgba(0,0,0,0.8); pointer-events:all; opacity:1; }
.quiz-inner { background: linear-gradient(180deg, rgba(22,15,8,0.97) 0%, rgba(12,8,3,0.98) 100%); border:2px solid; border-image: linear-gradient(180deg, #5a4012, #d4a545, #5a4012) 1; width:560px; max-width:95vw; max-height:92vh; overflow-y:auto; padding:40px; box-shadow:0 20px 60px rgba(0,0,0,0.8), 0 0 40px rgba(0,0,0,0.4), 0 0 60px rgba(212,165,69,0.1); animation:quizIn 0.3s ease; position:relative; }
@keyframes quizIn { from{transform:scale(0.92) translateY(10px);opacity:0} to{transform:scale(1) translateY(0);opacity:1} }

/* Shared quiz elements */
.quiz-timer-ring { width:96px; height:96px; margin:0 auto 24px; position:relative; display:flex; align-items:center; justify-content:center; }
.quiz-timer-ring svg { position:absolute; inset:0; width:100%; height:100%; }
#timerNum { font-family:'Cinzel',serif; font-size:2.2rem; color:var(--gold-bright); position:relative; z-index:1; text-shadow:0 0 10px rgba(212,165,69,0.4), 0 2px 3px rgba(0,0,0,0.6); }
.quiz-question { font-family:'Crimson Text',serif; font-size:1.9rem; color:var(--parchment-light); text-align:center; margin-bottom:32px; line-height:1.6; text-shadow:0 1px 3px rgba(0,0,0,0.5); }
.quiz-status { text-align:center; font-family:'Crimson Text',serif; font-size:1.3rem; letter-spacing:0.5px; margin-top:20px; min-height:28px; line-height:1.6; color:var(--parchment); text-shadow:0 1px 2px rgba(0,0,0,0.5); }

/* Answer buttons — stone inset feel */
.quiz-answers { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.quiz-answers.single-col { grid-template-columns:1fr; }
.quiz-btn { display:flex; align-items:center; gap:14px; padding:18px 22px; border-radius:4px; border:1px solid rgba(100,75,35,0.5); background:rgba(0,0,0,0.35); color:var(--parchment-light); font-family:'Crimson Text',serif; font-size:1.5rem; cursor:pointer; transition:all 0.2s; text-align:left; box-shadow:inset 0 1px 4px rgba(0,0,0,0.2); text-shadow:0 1px 2px rgba(0,0,0,0.4); word-break:break-word; }
.quiz-btn:hover:not(:disabled) { border-color:var(--gold); background:rgba(212,165,69,0.12); box-shadow:0 0 10px rgba(212,165,69,0.2); color:#fff; }
.quiz-btn.correct { background:rgba(40,180,80,0.2); border-color:#33cc66; color:#88ff88; box-shadow:0 0 14px rgba(40,180,80,0.3); text-shadow:0 0 6px rgba(40,180,80,0.3); }
.quiz-btn.wrong { background:rgba(220,50,50,0.2); border-color:#ee5555; color:#ff9999; box-shadow:0 0 14px rgba(220,50,50,0.3); text-shadow:0 0 6px rgba(220,50,50,0.3); }
.quiz-btn:disabled { cursor:default; }
.quiz-letter { width:36px; height:36px; border-radius:3px; background:linear-gradient(180deg, rgba(90,60,20,0.65) 0%, rgba(50,30,10,0.75) 100%); color:var(--gold-bright); font-family:'Cinzel',serif; font-size:1.1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid rgba(212,165,69,0.4); text-shadow:0 1px 2px rgba(0,0,0,0.4); }

/* ============================= EXPANSION QUIZ (Dramatic Race) ============================= */
.expansion-quiz { width:820px; max-width:95vw; }
.dramatic-quiz { width:840px; max-width:95vw; }
.quiz-header-expansion { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.quiz-phase-label { font-family:'Crimson Text',serif; font-size:1.4rem; color:#f0c860; letter-spacing:1px; font-weight:700; text-shadow:0 0 8px rgba(212,165,69,0.3); }
.quiz-race-label { font-family:'Crimson Text',serif; font-size:1.3rem; color:rgba(212,165,69,0.6); letter-spacing:1px; animation:raceFlash 1.2s ease-in-out infinite; }
@keyframes raceFlash { 0%,100%{opacity:0.5} 50%{opacity:1;color:#f0c860} }

/* Players row — horizontal badges showing all competing players */
.exp-players-row { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:18px; padding:10px 0; border-bottom:1px solid rgba(212,165,69,0.15); }
.exp-player-badge { display:flex; align-items:center; gap:6px; padding:6px 12px; border-radius:4px; border:2px solid rgba(255,255,255,0.15); background:rgba(0,0,0,0.3); transition:all 0.4s ease; }
.exp-player-badge img { filter:drop-shadow(0 1px 2px rgba(0,0,0,0.5)); }
.exp-player-name { font-family:'Crimson Text',serif; font-size:1.3rem; font-weight:700; letter-spacing:0.5px; text-shadow: 0 1px 3px rgba(0,0,0,0.8); }
.exp-player-status { font-size:0.9rem; transition:all 0.3s; opacity:0.5; }
.exp-winner-badge { border-color:#f0c860 !important; box-shadow:0 0 20px rgba(212,165,69,0.5) !important; background:rgba(212,165,69,0.1) !important; animation:winnerBadgePulse 0.8s ease-in-out infinite alternate; }
@keyframes winnerBadgePulse { from{box-shadow:0 0 12px rgba(212,165,69,0.3)} to{box-shadow:0 0 28px rgba(212,165,69,0.7)} }

/* Answer button badges — player flags on answers */
.quiz-btn-badges { display:flex; gap:4px; margin-left:auto; flex-shrink:0; align-items:center; }
.exp-answer-badge { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; padding:2px; animation:badgeAppear 0.4s ease; }
.exp-answer-badge img { width:36px; height:36px; }
@keyframes badgeAppear { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }

/* Dimmed wrong answers during reveal */
.quiz-btn.dimmed { opacity:0.35; filter:grayscale(0.6); transition:all 0.6s; }
.quiz-btn.player-picked { border-color:rgba(200,200,200,0.3); }

/* Winner reveal announcement */
.exp-winner-reveal { display:flex; flex-direction:column; align-items:center; gap:6px; animation:revealIn 0.6s ease; }
@keyframes revealIn { from{transform:scale(0.8) translateY(10px);opacity:0} to{transform:scale(1) translateY(0);opacity:1} }
.exp-winner-crown { font-size:2.2rem; animation:crownBounce 0.6s ease; }
@keyframes crownBounce { 0%{transform:translateY(-20px) scale(0)} 60%{transform:translateY(3px) scale(1.2)} 100%{transform:translateY(0) scale(1)} }
.exp-winner-name { font-family:'Crimson Text',serif; font-size:1.5rem; font-weight:700; letter-spacing:1px; text-shadow:0 2px 4px rgba(0,0,0,0.6); }
.exp-winner-text { font-family:'Crimson Text',serif; font-size:1.15rem; color:var(--parchment); text-shadow:0 1px 2px rgba(0,0,0,0.4); }
.exp-winner-time { font-family:'Crimson Text',serif; font-size:0.95rem; color:rgba(212,165,69,0.5); }

/* ============================= DUEL QUIZ (Best of 3) ============================= */
.duel-quiz { width:600px; }
.duel-label { text-align:center; font-family:'Crimson Text',serif; font-size:1rem; color:rgba(212,165,69,0.6); letter-spacing:1px; margin-bottom:12px; text-shadow:0 1px 2px rgba(0,0,0,0.4); }
.duel-header { display:flex; align-items:center; justify-content:center; gap:24px; margin-bottom:12px; }
.duel-player { display:flex; align-items:center; gap:10px; flex-direction:column; }
.duel-attacker .duel-name { text-align:right; }
.duel-name { font-family:'Crimson Text',serif; font-size:1.3rem; font-weight:700; letter-spacing:0.5px; color:var(--parchment-light); text-shadow:0 1px 3px rgba(0,0,0,0.5); }
.duel-icon { font-size:1.6rem; }
.duel-vs { font-family:'Cinzel',serif; font-size:1.1rem; color:rgba(212,165,69,0.6); letter-spacing:3px; font-weight:700; display:flex; flex-direction:column; align-items:center; }
.duel-round-num { font-size:1.5rem; color:#f0c860; text-shadow:0 0 8px rgba(212,165,69,0.3); }
.quiz-route-duel { text-align:center; font-family:'Crimson Text',serif; font-size:1.05rem; color:rgba(212,165,69,0.6); letter-spacing:0.5px; margin-bottom:16px; }
.duel-status { text-align:center; font-family:'Crimson Text',serif; font-size:1.15rem; letter-spacing:0.5px; margin-top:18px; min-height:28px; line-height:1.6; color:var(--parchment); text-shadow:0 1px 2px rgba(0,0,0,0.5); }

/* Duel inline score (shown in header) */
.duel-score-inline { font-family:'Cinzel',serif; font-size:1.6rem; font-weight:700; color:#f0c860; text-shadow:0 0 8px rgba(212,165,69,0.4); }

/* Duel score flash (between questions) */
.duel-score-flash { width:520px; text-align:center; padding:50px 32px; }
.duel-score-display { display:flex; align-items:center; justify-content:center; gap:28px; }
.duel-score-name { font-family:'Crimson Text',serif; font-size:1.4rem; font-weight:700; color:var(--parchment-light); text-shadow:0 1px 3px rgba(0,0,0,0.5); }
.duel-score-num { font-family:'Cinzel',serif; font-size:3.2rem; color:#f0c860; letter-spacing:6px; font-weight:700; text-shadow:0 0 20px rgba(212,165,69,0.5), 0 2px 4px rgba(0,0,0,0.6); }
.duel-score-winner { font-family:'Crimson Text',serif; font-size:1.3rem; color:#f0c860; letter-spacing:1px; margin-top:20px; animation:winnerGlow 0.6s ease-in-out infinite alternate; text-shadow:0 1px 3px rgba(0,0,0,0.5); }
@keyframes winnerGlow { from{text-shadow:0 0 8px rgba(212,165,69,0.3)} to{text-shadow:0 0 24px rgba(212,165,69,0.7)} }

/* Duel round label + score row (expansion-style duel) */
.duel-round-label { font-family:'Cinzel',serif; font-size:1rem; color:rgba(212,165,69,0.7); letter-spacing:2px; text-align:center; margin-bottom:6px; }
.exp-score-row { display:flex; align-items:center; justify-content:center; gap:16px; font-family:'Crimson Text',serif; font-size:1.1rem; font-weight:700; margin-bottom:8px; }
.exp-score-row .duel-score-num { font-size:1.6rem; letter-spacing:3px; }

/* ============================= LAST STAND QUIZ ============================= */
.last-stand-intro { width:520px; text-align:center; padding:50px 32px; }
.last-stand-skull { font-size:4.5rem; margin-bottom:16px; animation:skullPulse 1.5s ease-in-out infinite; }
@keyframes skullPulse { 0%,100%{transform:scale(1);opacity:0.8} 50%{transform:scale(1.15);opacity:1} }
.last-stand-title { font-family:'Cinzel',serif; font-size:2rem; color:#ee4444; letter-spacing:5px; font-weight:700; text-shadow:0 0 20px rgba(220,60,60,0.5), 0 2px 4px rgba(0,0,0,0.7); margin-bottom:12px; }
.last-stand-subtitle { font-family:'Cinzel',serif; font-size:1.4rem; color:var(--parchment-light); letter-spacing:2px; margin-bottom:16px; text-shadow:0 1px 3px rgba(0,0,0,0.5); }
.last-stand-desc { font-family:'Crimson Text',serif; font-size:1.3rem; color:var(--parchment); line-height:1.6; text-shadow:0 1px 2px rgba(0,0,0,0.4); }

/* Last stand quiz questions */
.last-stand-quiz { width:580px; }
.last-stand-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.last-stand-badge { font-family:'Cinzel',serif; font-size:1rem; color:#ee4444; letter-spacing:2px; font-weight:700; padding:5px 14px; border:1px solid rgba(220,60,60,0.5); border-radius:3px; background:rgba(220,60,60,0.12); text-shadow:0 0 6px rgba(220,60,60,0.3); }
.last-stand-progress { font-family:'Cinzel',serif; font-size:1.05rem; color:rgba(212,165,69,0.6); letter-spacing:1px; }
.last-stand-dots { display:flex; gap:8px; justify-content:center; margin-bottom:10px; }
.ls-dot { width:16px; height:16px; border-radius:50%; border:1px solid rgba(120,90,45,0.5); background:rgba(0,0,0,0.35); transition:all 0.3s; }
.ls-dot.correct { background:#33cc66; border-color:#33cc66; box-shadow:0 0 10px rgba(50,200,100,0.5); }
.ls-dot.wrong { background:#ee4444; border-color:#ee4444; box-shadow:0 0 10px rgba(220,60,60,0.5); }
.ls-dot.current { background:#f0c860; border-color:#f0c860; box-shadow:0 0 12px rgba(212,165,69,0.6); animation:dotPulse 0.8s ease-in-out infinite; }
@keyframes dotPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.3)} }
.last-stand-need { text-align:center; font-family:'Cinzel',serif; font-size:1rem; color:rgba(212,165,69,0.6); letter-spacing:1px; margin-bottom:14px; }

/* Last stand result */
.last-stand-result { width:520px; text-align:center; padding:50px 32px; }
.ls-result-icon { font-size:4rem; margin-bottom:16px; }
.ls-success .ls-result-icon { animation:successGlow 0.8s ease-in-out infinite alternate; }
@keyframes successGlow { from{text-shadow:0 0 10px rgba(212,165,69,0.4)} to{text-shadow:0 0 28px rgba(212,165,69,0.8)} }
.ls-fail .ls-result-icon { animation:failShake 0.5s ease-in-out; }
@keyframes failShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }
.ls-result-title { font-family:'Cinzel',serif; font-size:1.9rem; letter-spacing:4px; font-weight:700; margin-bottom:12px; text-shadow:0 2px 4px rgba(0,0,0,0.6); }
.ls-result-score { font-family:'Crimson Text',serif; font-size:1.4rem; color:var(--parchment); margin-bottom:8px; text-shadow:0 1px 2px rgba(0,0,0,0.4); }
.ls-result-player { font-family:'Cinzel',serif; font-size:1.3rem; color:var(--parchment-light); letter-spacing:2px; text-shadow:0 1px 3px rgba(0,0,0,0.5); }

/* ============================= 4-ZONE LAYOUT ============================= */
.quiz-zone-status { margin-bottom: 10px; }
.quiz-zone-question { margin-bottom: 16px; }
.quiz-zone-answers { margin-bottom: 14px; }
.quiz-zone-indicator { display: flex; flex-direction: column; align-items: center; gap: 8px; }

/* ============================= TIMER 3-PHASE SYSTEM ============================= */
.timer-phase-normal #timerArc { stroke: #d4a545; }
.timer-phase-warn #timerArc { stroke: #e8c840; animation: timerPulseWarn 0.5s ease-in-out infinite; }
.timer-phase-critical #timerArc { stroke: #cc3333; animation: timerFlashCritical 0.25s ease-in-out infinite; }
.timer-phase-warn #timerNum { color: #e8c840 !important; }
.timer-phase-critical #timerNum { color: #cc3333 !important; }
@keyframes timerPulseWarn { 0%,100%{opacity:0.7;stroke-width:3} 50%{opacity:1;stroke-width:4} }
@keyframes timerFlashCritical { 0%,100%{opacity:0.5;stroke-width:3} 50%{opacity:1;stroke-width:5} }

/* ============================= FLAGLESS BADGES ============================= */
/* Player badge — committed state (green glow when answered) */
.exp-player-badge.committed { border-color: #4a4 !important; box-shadow: 0 0 10px rgba(68,170,68,0.4) !important; background: rgba(68,170,68,0.08) !important; }

/* Player medallion on answers (emblem SVG) */
.quiz-player-medallion { display: inline-flex; align-items: center; flex-shrink: 0; animation: badgeAppear 0.4s ease; }
.quiz-player-medallion svg { filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5)); }

/* Legacy color dots — kept for backward compat */
.quiz-color-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; animation: badgeAppear 0.4s ease; }

/* Reveal medallions row (shown during dramatic reveal per answer) */
.quiz-reveal-medallions { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; animation: badgeAppear 0.4s ease; }
.quiz-reveal-medal { display: inline-flex; align-items: center; }
.quiz-reveal-medal svg { filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5)); }
.quiz-reveal-extra { font-family: 'Cinzel', serif; font-size: 0.7rem; color: rgba(212,165,69,0.7); font-weight: 600; margin-left: 2px; }

/* Micro-feedback: quick confirm pulse on answer click */
.quiz-btn.quiz-btn-confirm { animation: btnConfirmPulse 0.3s ease; }
@keyframes btnConfirmPulse { 0%{box-shadow:none} 50%{box-shadow:0 0 18px rgba(212,165,69,0.6), inset 0 0 8px rgba(212,165,69,0.15)} 100%{box-shadow:none} }

/* ============================= REVEAL ENHANCEMENTS ============================= */
/* Vote count badge on answers */
.quiz-vote-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; border-radius: 11px; background: rgba(212,165,69,0.25); color: #f0c860; font-family: 'Cinzel', serif; font-size: 0.75rem; font-weight: 700; margin-left: auto; flex-shrink: 0; padding: 0 6px; animation: badgeAppear 0.3s ease; }

/* Reveal states for answer buttons */
.quiz-btn.reveal-correct { background: rgba(40,160,60,0.2); border-color: #4a4; color: #88ff88; box-shadow: 0 0 16px rgba(40,160,60,0.35); text-shadow: 0 0 6px rgba(40,160,60,0.3); transition: all 0.4s; }
.quiz-btn.reveal-wrong { opacity: 0.35; filter: grayscale(0.5); transition: all 0.5s; }

/* Correct answer reveal text in Zona 4 */
.quiz-correct-reveal { font-family: 'Cinzel', serif; font-size: 1.5rem; color: var(--parchment-light); text-align: center; padding: 10px 0; animation: revealIn 0.4s ease; text-shadow: 0 1px 2px rgba(0,0,0,0.4); }

/* Expansion order list */
.quiz-expansion-order { margin-top: 8px; animation: revealIn 0.5s ease; }
.quiz-order-title { font-family: 'Cinzel', serif; font-size: 1.3rem; color: #f0c860; letter-spacing: 1px; text-align: center; margin-bottom: 8px; text-shadow: 0 0 6px rgba(212,165,69,0.3); }
.quiz-order-item { display: flex; align-items: center; gap: 10px; padding: 6px 14px; justify-content: center; font-family: 'Cinzel', serif; font-size: 1.2rem; font-weight: 600; letter-spacing: 0.5px; }
.quiz-order-item span { text-shadow: 0 1px 3px rgba(0,0,0,0.8); }
.quiz-order-item img { width: 72px; height: 72px; }

/* ===================== MOBILE RESPONSIVE — QUIZ MODALS ===================== */
@media (max-width: 700px) {
  .quiz-inner { width: 92vw; max-width: 480px; padding: 12px 10px; }
  .expansion-quiz { width: 92vw; max-width: 520px; }
  .dramatic-quiz { width: 92vw; max-width: 520px; }
  .duel-quiz { width: 92vw; max-width: 480px; }
  .duel-score-flash { width: 92vw; max-width: 420px; padding: 16px 12px; }
  .last-stand-intro { width: 92vw; max-width: 420px; padding: 16px 12px; }
  .last-stand-quiz { width: 92vw; max-width: 480px; }
  .last-stand-result { width: 92vw; max-width: 420px; padding: 16px 12px; }

  .quiz-timer-ring { width: 44px; height: 44px; margin-bottom: 6px; }
  #timerNum { font-size: 1rem; }
  .quiz-question { font-size: 1.15rem; margin-bottom: 10px; line-height: 1.5; }
  .quiz-status { font-size: 0.85rem; margin-top: 6px; }

  .quiz-btn { padding: 10px 12px; font-size: 1rem; gap: 8px; min-height: 38px; }
  .quiz-letter { width: 20px; height: 20px; font-size: 0.75rem; }
  .quiz-answers { gap: 5px; }

  /* Expansion quiz */
  .quiz-phase-label { font-size: 0.75rem; letter-spacing: 1px; }
  .quiz-race-label { font-size: 0.7rem; }
  .exp-players-row { gap: 4px; margin-bottom: 6px; padding: 4px 0; }
  .exp-player-badge { padding: 3px 6px; gap: 3px; }
  .exp-player-name { font-size: 0.95rem; }
  .exp-answer-badge { width: 18px; height: 18px; }
  .exp-answer-badge img { width: 14px; height: 14px; }
  .exp-winner-crown { font-size: 1.2rem; }
  .exp-winner-name { font-size: 0.95rem; }
  .exp-winner-text { font-size: 0.8rem; }

  /* Duel quiz */
  .duel-label { font-size: 0.7rem; }
  .duel-header { gap: 10px; margin-bottom: 5px; }
  .duel-name { font-size: 0.85rem; }
  .duel-round-num { font-size: 0.95rem; }
  .duel-dot { width: 10px; height: 10px; }
  .duel-score-num { font-size: 1.8rem; }
  .duel-score-name { font-size: 0.85rem; }
  .duel-score-display { gap: 12px; }

  /* Last stand */
  .last-stand-skull { font-size: 2rem; margin-bottom: 6px; }
  .last-stand-title { font-size: 1.1rem; letter-spacing: 2px; }
  .last-stand-subtitle { font-size: 0.85rem; }
  .last-stand-desc { font-size: 0.85rem; }
  .ls-dot { width: 10px; height: 10px; }
  .ls-result-title { font-size: 1.1rem; letter-spacing: 2px; }
  .ls-result-score { font-size: 0.95rem; }
  .ls-result-icon { font-size: 2.2rem; }
}

/* Phone landscape — compact quiz modals */
@media (max-height: 500px) {
  .quiz-inner { padding: 8px 10px; max-height: 96vh; overflow-y: auto; }
  .expansion-quiz, .dramatic-quiz, .duel-quiz, .last-stand-quiz { padding: 8px 10px; max-height: 96vh; overflow-y: auto; }

  .quiz-timer-ring { width: 34px; height: 34px; margin-bottom: 3px; }
  #timerNum { font-size: 0.85rem; }
  .quiz-question { font-size: 1rem; margin-bottom: 6px; line-height: 1.4; }
  .quiz-status { font-size: 0.8rem; margin-top: 4px; }

  .quiz-answers { gap: 5px; }
  .quiz-btn { padding: 7px 10px; font-size: 0.9rem; gap: 6px; min-height: 34px; }
  .quiz-letter { width: 20px; height: 20px; font-size: 0.7rem; }

  /* Expansion quiz */
  .quiz-phase-label { font-size: 0.65rem; letter-spacing: 1px; }
  .quiz-race-label { font-size: 0.6rem; }
  .exp-players-row { gap: 3px; margin-bottom: 4px; padding: 3px 0; }
  .exp-player-badge { padding: 2px 5px; gap: 3px; }
  .exp-player-name { font-size: 0.7rem; }
  .exp-answer-badge { width: 16px; height: 16px; }
  .exp-answer-badge img { width: 12px; height: 12px; }
  .exp-winner-crown { font-size: 1rem; }
  .exp-winner-name { font-size: 0.85rem; }
  .exp-winner-text { font-size: 0.7rem; }
  .quiz-header-expansion { margin-bottom: 4px; }
  .quiz-btn-badges { gap: 2px; }

  /* Duel quiz */
  .duel-label { font-size: 0.6rem; margin-bottom: 3px; }
  .duel-header { gap: 8px; margin-bottom: 3px; }
  .duel-name { font-size: 0.75rem; }
  .duel-icon { font-size: 0.9rem; }
  .duel-round-num { font-size: 0.85rem; }
  .duel-vs { font-size: 0.7rem; }
  .duel-dot { width: 8px; height: 8px; }
  .duel-dots { gap: 4px; }
  .duel-status { font-size: 0.7rem; margin-top: 4px; }
  .quiz-route-duel { font-size: 0.65rem; margin-bottom: 4px; }

  /* Duel score flash */
  .duel-score-flash { padding: 14px 10px; }
  .duel-score-num { font-size: 1.6rem; letter-spacing: 3px; }
  .duel-score-name { font-size: 0.75rem; }
  .duel-score-display { gap: 10px; }
  .duel-score-winner { font-size: 0.8rem; margin-top: 8px; }

  /* Last stand */
  .last-stand-intro { padding: 14px 10px; }
  .last-stand-skull { font-size: 1.6rem; margin-bottom: 4px; }
  .last-stand-title { font-size: 0.9rem; letter-spacing: 2px; margin-bottom: 4px; }
  .last-stand-subtitle { font-size: 0.75rem; margin-bottom: 5px; }
  .last-stand-desc { font-size: 0.75rem; line-height: 1.4; }
  .last-stand-badge { font-size: 0.65rem; padding: 2px 6px; }
  .last-stand-progress { font-size: 0.65rem; }
  .last-stand-header { margin-bottom: 4px; }
  .last-stand-dots { gap: 4px; margin-bottom: 4px; }
  .ls-dot { width: 9px; height: 9px; }
  .last-stand-need { font-size: 0.65rem; margin-bottom: 4px; }

  /* Last stand result */
  .last-stand-result { padding: 14px 10px; }
  .ls-result-icon { font-size: 1.8rem; margin-bottom: 5px; }
  .ls-result-title { font-size: 1rem; letter-spacing: 2px; margin-bottom: 4px; }
  .ls-result-score { font-size: 0.85rem; }
  .ls-result-player { font-size: 0.85rem; }
}

/* ============================= PAUSE BUTTON ============================= */
.quiz-pause-btn {
  display: block;
  margin: 8px auto 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(212,165,69,0.4);
  background: rgba(0,0,0,0.4);
  color: var(--gold-bright, #d4a545);
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Cinzel', serif;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.quiz-pause-btn:hover:not(:disabled) {
  border-color: var(--gold, #d4a545);
  background: rgba(212,165,69,0.15);
  box-shadow: 0 0 10px rgba(212,165,69,0.3);
}
.quiz-pause-btn:disabled,
.quiz-pause-btn.on-cooldown {
  opacity: 0.4;
  cursor: default;
  border-color: rgba(100,75,35,0.3);
  font-size: 0.75rem;
}
.quiz-pause-btn.active-pause {
  color: #33cc66;
  border-color: rgba(51,204,102,0.5);
}

/* Pause overlay */
.quiz-paused-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(6px);
  border-radius: inherit;
  animation: pauseFadeIn 0.2s ease;
}
.quiz-paused-overlay span {
  font-family: 'Cinzel', serif;
  font-size: 3rem;
  color: var(--gold-bright, #d4a545);
  letter-spacing: 8px;
  text-shadow: 0 0 20px rgba(212,165,69,0.4), 0 2px 4px rgba(0,0,0,0.6);
  animation: pausePulse 2s ease-in-out infinite;
}
.quiz-resume-btn {
  font-family: 'Cinzel', serif;
  font-size: 1.3rem;
  color: #fff;
  background: linear-gradient(135deg, #8b6914 0%, #d4a545 40%, #f0c860 60%, #b8860b 100%);
  border: 2px solid #ffd700;
  border-radius: 8px;
  padding: 12px 32px;
  cursor: pointer;
  letter-spacing: 2px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  transition: all 0.2s;
}
.quiz-resume-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(255,215,0,0.5);
}
@keyframes pauseFadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes pausePulse { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
