:root{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%}body{font-family:Nunito,system-ui,sans-serif;background:#06262f;color:var(--text, #f7f3e8)}button{font:inherit;cursor:pointer}kbd{display:inline-block;margin-left:.35rem;padding:.1rem .4rem;border-radius:.35rem;background:#00000040;font-family:Nunito,system-ui,sans-serif;font-size:.75em;font-weight:700}.app{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100%;overflow:hidden;color:var(--text)}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 80% 50% at 15% 10%,rgba(244,162,97,.22),transparent 55%),radial-gradient(ellipse 70% 45% at 90% 85%,rgba(233,196,106,.18),transparent 50%),linear-gradient(165deg,var(--bg-top),var(--bg-bottom))}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.55) 1px,transparent 0);background-size:28px 28px;animation:drift 28s linear infinite}.scoreboard,.stage,.footer-hint{position:relative;z-index:1}.scoreboard{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,2.5rem);padding:clamp(1rem,3vh,1.75rem) clamp(1rem,4vw,2rem)}.team-score{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:7rem}.team-name{font-family:Fredoka,sans-serif;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:600;letter-spacing:.02em;opacity:.9}.team-points{font-family:Fredoka,sans-serif;font-size:clamp(2.4rem,7vw,4rem);font-weight:700;line-height:1;color:var(--accent-soft)}.score-divider{font-family:Fredoka,sans-serif;font-size:clamp(1rem,2.5vw,1.35rem);opacity:.55;text-transform:uppercase}.stage{display:flex;align-items:center;justify-content:center;padding:0 clamp(1rem,4vw,2.5rem) clamp(1rem,3vh,2rem)}.panel{width:min(960px,100%);text-align:center;animation:rise-in .52s cubic-bezier(.22,1,.36,1) both}.eyebrow{margin:0 0 .75rem;font-family:Fredoka,sans-serif;font-size:clamp(.95rem,2vw,1.15rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.hero-title{margin:0;font-family:Fredoka,sans-serif;font-size:clamp(2.6rem,9vw,5.2rem);font-weight:700;line-height:1.05;text-wrap:balance}.hero-sub{margin:1rem auto 0;max-width:34rem;font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.45;opacity:.88}.progress{margin:0 0 .75rem;font-family:Fredoka,sans-serif;font-size:clamp(1rem,2.2vw,1.25rem);color:var(--accent-soft)}.question-text{margin:0 auto 1.5rem;max-width:18ch;font-family:Fredoka,sans-serif;font-size:clamp(1.8rem,5.5vw,3.2rem);font-weight:600;line-height:1.2;text-wrap:balance}.choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 720px){.choices{grid-template-columns:1fr 1fr;gap:1rem}}.choice{display:flex;align-items:center;gap:.85rem;padding:1rem 1.15rem;border-radius:1rem;background:color-mix(in srgb,var(--choice) 88%,black);border:2px solid rgba(255,255,255,.12);text-align:left;animation:choice-in .42s cubic-bezier(.22,1,.36,1) both;transition:background .28s ease,border-color .28s ease,transform .28s ease,opacity .28s ease}.choice-label{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.7rem;background:#ffffff1f;font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:700}.choice-text{font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:700;line-height:1.25}.choice--correct{background:var(--choice-correct);border-color:#ffffff73;transform:scale(1.03);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft) 45%,transparent)}.choice--wrong{opacity:.45;background:var(--choice-wrong)}.actions{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.reveal-prompt{margin:0;font-size:clamp(1.05rem,2.3vw,1.3rem);font-weight:700}.award-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.primary-btn,.award-btn,.ghost-btn{border:none;border-radius:999px;padding:.9rem 1.6rem;font-family:Fredoka,sans-serif;font-size:clamp(1.05rem,2.3vw,1.25rem);font-weight:600;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.primary-btn{background:var(--accent);color:#1a1a1a}.award-btn{background:#ffffff24;color:var(--text);border:2px solid rgba(255,255,255,.18)}.award-btn:disabled{opacity:.4;cursor:default}.ghost-btn{background:transparent;color:var(--text);border:2px solid rgba(255,255,255,.28)}.primary-btn:hover,.award-btn:hover:not(:disabled),.ghost-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.hint{margin:0;font-size:.95rem;opacity:.65}.final-scores{display:flex;justify-content:center;gap:clamp(2rem,8vw,4rem);margin:1.5rem 0 2rem}.final-scores .team-name,.final-scores .team-points{display:block}.footer-hint{padding:.85rem 1.25rem 1.25rem;text-align:center;font-size:.9rem;opacity:.55}.footer-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;color:var(--accent-soft)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes choice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{background-position:0 0}to{background-position:28px 28px}}@media (prefers-reduced-motion: reduce){.backdrop:after,.panel,.choice{animation:none}.primary-btn:hover,.award-btn:hover:not(:disabled),.ghost-btn:hover{transform:none}}
