*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:transparent;font-family:Arial,Helvetica,sans-serif;color:#fff}
.quiz-app{--primary:#ff6b19;--secondary:#1a1a2e;--animations:1;width:100%;height:100%;display:grid;place-items:center;padding:2vmin}
.quiz-idle{text-align:center;animation:fadeIn .5s ease}
.quiz-logo{width:80px;height:80px;border-radius:50%;background:var(--primary);color:#fff;font-size:40px;font-weight:900;display:grid;place-items:center;margin:0 auto 16px;box-shadow:0 0 40px rgba(255,107,25,.4)}
.quiz-waiting{color:#aaa;font-size:18px;margin-top:8px}
.hidden{display:none!important}
.quiz-active,.quiz-answer,.quiz-podium{width:100%;max-width:800px;margin:0 auto;animation:fadeIn .4s ease}
.quiz-round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;max-width:800px;margin-left:auto;margin-right:auto}
.quiz-meta{display:flex;gap:8px}
.quiz-badge{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;text-transform:uppercase}
.quiz-badge:first-child{background:rgba(255,107,25,.15);color:var(--primary);border:1px solid rgba(255,107,25,.3)}
.quiz-badge:last-child{background:rgba(255,255,255,.08);color:#ccc}
.quiz-counter{font-size:14px;font-weight:700;color:#aaa;letter-spacing:.05em}
.quiz-timer-container{height:4px;background:rgba(255,255,255,.1);border-radius:2px;margin-bottom:16px;overflow:hidden}
.quiz-timer-bar{height:100%;background:linear-gradient(90deg,var(--primary),#ff8c42);border-radius:2px;width:100%;transition:width .3s linear}
.quiz-question-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;background:rgba(255,107,25,.7);border-radius:10px;border:1px solid rgba(255,107,25,.85);padding:12px 16px}
.quiz-question-text{font-size:clamp(20px,3.2vw,32px);font-weight:800;line-height:1.3;flex:1}
.quiz-mascot-question{height:100px;pointer-events:none;flex-shrink:0;animation:mascotBounce 3s ease-in-out infinite}
.quiz-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz-choice{background:rgba(255,107,25,.7);border:2px solid rgba(255,107,25,.85);border-radius:12px;padding:14px 16px;font-size:clamp(14px,2vw,18px);font-weight:600;cursor:default;transition:all .2s;display:flex;align-items:center;gap:10px}
.quiz-choice .letter{display:inline-flex;width:28px;height:28px;border-radius:50%;background:rgba(255,107,25,.5);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0}
.quiz-choice.active{border-color:#ff8c42;background:rgba(255,107,25,.8)}
.quiz-choice.correct{border-color:var(--primary);background:rgba(255,107,25,.85);box-shadow:0 0 25px rgba(255,107,25,.6)}
.quiz-choice.wrong{border-color:rgba(255,107,25,.3);background:rgba(255,107,25,.25);opacity:.5}
.quiz-choice.reveal{animation:choiceReveal .4s ease}
@keyframes choiceReveal{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}

/* ---- Answer reveal ---- */
.quiz-answer-wrap{position:relative;padding-top:110px}
.quiz-answer-mascot{position:absolute;height:100px;top:0;left:50%;pointer-events:none;z-index:-1;animation:mascotFloat 3s ease-in-out infinite}
.quiz-answer-result{display:flex;align-items:center;gap:12px;font-size:clamp(18px,2.8vw,24px);font-weight:800;margin-bottom:12px;padding:12px 16px;background:rgba(255,107,25,.7);border-radius:10px;border:1px solid rgba(255,107,25,.85);color:#fff;justify-content:center}
.quiz-answer-result img{height:50px;width:auto;flex-shrink:0}
.quiz-result-first{font-size:20px;font-weight:800;color:#ffd700;display:inline;margin-left:8px}
.quiz-answer-explanation{padding:12px 16px;background:rgba(255,107,25,.7);border-radius:10px;border:1px solid rgba(255,107,25,.85);font-size:clamp(16px,2.4vw,22px);line-height:1.4;color:#fff}
.quiz-provisional{margin-top:20px;padding:12px 16px;background:rgba(255,107,25,.7);border-radius:10px;border:1px solid rgba(255,107,25,.85)}
.quiz-provisional h4{font-size:13px;color:#fff;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.quiz-provisional-item{display:flex;justify-content:space-between;padding:4px 0;font-size:15px;border-bottom:1px solid rgba(255,255,255,.1)}
.quiz-provisional-item:last-child{border-bottom:none}
.quiz-provisional-item .pos{color:#fff;font-weight:900;margin-right:8px}
.quiz-provisional-item span:last-child{color:#fff;font-weight:700}

/* ---- Podium ---- */
.quiz-podium{text-align:center}
.podium-title{font-size:clamp(28px,4vw,42px);font-weight:900;margin-bottom:24px;color:var(--primary);text-shadow:0 0 30px rgba(255,107,25,.3)}
.podium-players{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.podium-card{background:rgba(255,107,25,.7);border:2px solid rgba(255,107,25,.85);border-radius:16px;padding:20px 24px;min-width:160px;text-align:center;animation:podiumIn .5s ease both}
.podium-card:nth-child(1){animation-delay:0s;border-color:#ffd700;background:rgba(255,215,0,.15)}
.podium-card:nth-child(2){animation-delay:.2s;border-color:#c0c0c0;background:rgba(192,192,192,.1)}
.podium-card:nth-child(3){animation-delay:.4s;border-color:#cd7f32;background:rgba(205,127,50,.1)}
.podium-medal{font-size:32px;margin-bottom:6px}
.podium-name{font-size:18px;font-weight:800}
.podium-score{font-size:14px;color:#ff8c42;margin-top:4px;font-weight:700}
.quiz-top-scores{margin-top:12px;padding:10px 14px;background:rgba(255,107,25,.7);border-radius:10px;border:1px solid rgba(255,107,25,.85);max-width:400px;margin-left:auto;margin-right:auto}
.quiz-top-score-item{display:flex;justify-content:space-between;padding:3px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.1)}
.quiz-top-score-item:last-child{border-bottom:none}

/* ---- Animations ---- */
@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes podiumIn{0%{opacity:0;transform:translateY(30px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mascotBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes mascotFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}

/* ---- Responsive ---- */
@media(max-width:640px){.quiz-choices{grid-template-columns:1fr}.quiz-choice{padding:10px 12px}}
