.play-page,.play-lobby,.game-results{max-width:1000px;margin:24px auto}.play-page h1,.play-lobby h1,.game-results h1{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}.play-setup-grid,.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:24px;margin-top:28px}.game-panel,.play-lobby,.game-results{background:var(--ground-2);border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--ink)}.game-panel label{display:grid;gap:8px;margin:16px 0;font-weight:600}.game-panel input,.game-panel select{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--ground);font:inherit}.game-panel h2{font-size:24px}.game-panel p,.play-lobby p,.game-results p{line-height:1.6}.game-code{font:600 38px monospace;letter-spacing:.15em;padding:20px 28px;margin:12px 0;color:var(--cyan);border-radius:14px}.game-player-list{list-style:none;padding:0;margin:24px 0}.game-player-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.game-player-list span{font-size:13px;color:var(--muted)}.game-board{list-style:none;padding:0}.game-board li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.game-board small{grid-column:2/4;color:var(--muted)}.game-timer{font:600 32px monospace;margin:20px 0;color:var(--cyan)}.game-layout>.game-panel{align-self:start;position:sticky;top:90px}.game-question{border:1px solid var(--line);border-radius:18px;background:var(--ground-2);overflow:hidden}.game-question-header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 24px;font-weight:600}.game-question-content{padding:24px}.game-question .prompt{font-size:20px;line-height:1.55;margin:0 0 24px}.game-result-actions{display:flex;align-items:center;gap:16px;margin-top:24px;flex-wrap:wrap}.game-recent button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;margin-top:10px}.game-recent span{font-size:12px;color:var(--muted)}.game-score-detail{display:grid;gap:8px;margin:24px 0;border:1px solid var(--line);border-radius:12px;padding:18px}.game-score-detail strong{font-size:26px}.game-score-detail span{color:var(--muted)}.game-question[inert]{opacity:.75}.game-panel [role=alert]{color:var(--amber)}.game-help-dialog{max-width:520px;padding:28px;background:var(--ground-2);color:var(--ink);border:1px solid var(--line);border-radius:18px}.game-help-dialog::backdrop{background:#0008}@media(max-width:800px){.play-setup-grid,.game-layout{grid-template-columns:1fr}.game-layout>.game-panel{position:static}.game-question-content{padding:18px}.game-question .prompt{font-size:18px}.game-panel{padding:20px}.game-code{font-size:30px}}@media(prefers-reduced-motion:no-preference){.game-score-detail{animation:game-arrive .2s ease-out}@keyframes game-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}

.game-layout{grid-template-columns:minmax(0,1fr) 320px;max-width:1400px;margin:24px auto;padding:0 16px;box-sizing:border-box}.game-panel .native-primary,.game-results .native-primary,.play-lobby .native-primary,.game-help-dialog .native-primary{background:var(--cyan);color:var(--ground);border-color:var(--cyan);font-weight:650;min-height:44px}.game-panel .native-primary{width:100%}.game-panel .native-primary:disabled{background:var(--surface-3);color:var(--ink-2);border-color:var(--line);box-shadow:none}.game-review-row{padding:22px 0;border-top:1px solid var(--line)}.game-review-row h2{font-size:21px}.game-level,.account-level{padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--cyan)}@media(max-width:800px){.game-layout{grid-template-columns:1fr;padding:0;margin:16px 0}}

.game-format-settings,.game-advanced-settings{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.game-format-settings summary,.game-advanced-settings summary{font-size:14px;font-weight:600;cursor:pointer}.game-format-settings summary span,.game-advanced-settings summary span{float:right;font-size:12px;color:var(--muted);font-weight:400}.game-format-settings label,.game-advanced-settings label{font-size:13px}
/* Round rewards share the course palette; the question stays quiet. */
.game-panel [hidden]{display:none!important}.game-panel .game-effects-setting,.game-format-mix label,.game-outcome-picks label{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:500;line-height:1.45}.game-panel input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:1px 0;accent-color:var(--cyan)}.game-format-mix{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.game-format-mix>p{grid-column:1/-1;color:var(--muted);font-size:13px}.game-format-mix label{margin:7px 0}.game-outcome-picks{max-height:300px;overflow:auto;overscroll-behavior:contain;padding-right:8px}.game-outcome-picks label{padding:8px 0;margin:0;border-bottom:1px solid var(--line)}.game-scoring-settings>summary{font-size:16px}.game-scoring-settings .game-effects-setting{padding-top:12px;border-top:1px solid var(--line)}.game-panel label>small{font-size:12px;color:var(--muted);font-weight:400}.game-reward{position:relative;display:flex;align-items:center;gap:22px;padding:28px;border-radius:20px;border:1px solid var(--line);background:var(--ground);margin:24px 0;overflow:hidden;isolation:isolate}.game-reward.is-perfect{border-color:color-mix(in srgb,var(--cyan) 45%,var(--line));background:linear-gradient(115deg,color-mix(in srgb,var(--cyan) 9%,var(--ground)),var(--ground))}.game-reward-mark{display:grid;place-items:center;width:68px;height:68px;flex:0 0 68px;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:30px;font-weight:700}.is-perfect .game-reward-mark{color:var(--cyan);border:2px solid var(--cyan);box-shadow:0 0 0 7px color-mix(in srgb,var(--cyan) 9%,transparent)}.game-reward-caption{display:block;color:var(--muted);font-size:14px}.game-reward-points{display:flex;align-items:baseline;gap:8px;margin:8px 0 12px;font-size:44px;font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1.1}.game-reward-points small{font-size:14px;letter-spacing:0;font-weight:500;color:var(--muted)}.game-reward-tags{display:flex;flex-wrap:wrap;gap:7px}.game-reward-tags>span{font-size:12px;padding:6px 9px;border-radius:7px;background:var(--ground-2);color:var(--ink);border:1px solid var(--line)}.game-reward-tags>.streak-bonus{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 25%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--ground))}.game-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}.game-section-heading h2{font-size:23px;margin:0;letter-spacing:-.025em}.game-section-heading>span{color:var(--muted);font-size:13px}.game-board{display:grid;gap:8px;margin:16px 0 26px}.game-board li{display:grid;grid-template-columns:40px 1fr 115px;align-items:center;gap:10px 16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--ground)}.game-board li.is-you{border-color:color-mix(in srgb,var(--cyan) 45%,var(--line));background:color-mix(in srgb,var(--cyan) 5%,var(--ground))}.game-rank{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:11px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--muted)}.game-rank.rank-first{background:color-mix(in srgb,var(--amber) 10%,var(--ground));color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,var(--line));font-size:22px}.game-player-name strong{display:flex;align-items:center;gap:10px;font-weight:600}.game-player-name strong small{font-size:11px;font-weight:500;padding:3px 6px;background:var(--ground-2);border-radius:5px;color:var(--cyan)}.game-standing-track{height:4px;margin-top:10px;max-width:400px;background:var(--ground-2);overflow:hidden;border-radius:3px}.game-standing-track>span{display:block;height:100%;background:var(--muted);border-radius:3px;transform-origin:left}.is-you .game-standing-track>span{background:var(--cyan)}.game-player-points{text-align:right}.game-player-points b{display:block;font-size:21px;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.game-player-points>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.game-player-points>.game-rank-gain{color:var(--cyan)}.game-board .game-score-breakdown{grid-column:2/4;font-size:12px;color:var(--muted)}.game-level>div{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink)}.game-level>div>span{font-size:14px;color:var(--cyan)}.game-level progress{display:block;width:100%;height:7px;margin:12px 0 8px;accent-color:var(--cyan);border:none;border-radius:5px;overflow:hidden;background:var(--ground)}.game-level progress::-webkit-progress-bar{background:var(--ground);border-radius:5px}.game-level progress::-webkit-progress-value{background:var(--cyan);border-radius:5px}.game-level progress::-moz-progress-bar{background:var(--cyan)}.game-level>small{font-size:12px;color:var(--muted)}.game-reward-burst{position:absolute;pointer-events:none;left:60px;top:50%;z-index:-1}.game-reward-burst i{position:absolute;display:block;width:5px;height:5px;background:var(--cyan);border-radius:2px;opacity:0}.game-reward-burst i:nth-child(3n){background:var(--amber)}.game-effects-off .game-reward-burst{display:none}
@media(prefers-reduced-motion:no-preference){.game-results:not(.game-effects-off) .game-reward-mark{animation:reward-seal .5s cubic-bezier(.2,.8,.2,1)}.game-results:not(.game-effects-off) .game-board li{animation:standing-arrive .38s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--row)*50ms)}.game-results:not(.game-effects-off) .game-standing-track>span{animation:standing-grow .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--row)*50ms)}.game-results:not(.game-effects-off) .game-reward-burst i{animation:reward-particle .85s ease-out both;animation-delay:calc(var(--i)*12ms)}@keyframes reward-seal{0%{transform:scale(.8);opacity:.3}65%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}@keyframes standing-arrive{from{opacity:0;transform:translateY(calc(var(--place-shift,0)*55px + 8px))}to{opacity:1;transform:none}}@keyframes standing-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes reward-particle{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px)}20%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) rotate(90deg)}}}

.game-clock-track{height:5px;border-radius:4px;background:var(--ground);overflow:hidden;margin:-8px 0 18px}.game-clock-track>span{display:block;height:100%;background:var(--cyan);border-radius:4px;transition:width .6s linear}.game-clock-track>span[data-urgent=true]{background:var(--amber)}.game-timer[data-urgent=true]{color:var(--amber)}@media(prefers-reduced-motion:reduce){.game-clock-track>span{transition:none}}

.play-setup-grid{align-items:start}

.game-group-summary{margin:28px 0}.game-group-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.game-group-totals>div{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--ground);padding:16px}.game-group-totals strong{font-size:25px;font-variant-numeric:tabular-nums}.game-group-totals span{font-size:13px;color:var(--muted)}.game-group-totals [data-group-result=correct] strong{color:var(--cyan)}.game-group-totals [data-group-result=partial] strong{color:var(--amber)}.game-choice-distribution{margin-top:18px}.game-choice-distribution summary{font-size:14px;color:var(--cyan);cursor:pointer}.game-choice-distribution>div{display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.game-choice-distribution progress{grid-column:1/-1;width:100%;height:6px;accent-color:var(--cyan)}.game-choice-distribution b{color:var(--cyan)}

.game-achievements{margin:24px 0}.game-achievements>div:last-child{display:flex;flex-wrap:wrap;gap:12px}.game-achievements article{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--ground);padding:16px;flex:1 1 220px}.game-achievements article>span{color:var(--amber);font-size:24px}.game-achievements article strong{font-size:15px}.game-achievements article p{font-size:12px;color:var(--muted);line-height:1.45;margin:7px 0 0}.game-level-up{display:flex;align-items:center;gap:16px;margin:24px 0;padding:20px;border:1px solid color-mix(in srgb,var(--cyan) 45%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--cyan) 8%,var(--ground))}.game-level-up>span{font-size:35px;color:var(--cyan)}.game-level-up div{display:grid;gap:6px}.game-level-up strong{font-size:22px}.game-level-up div>span{font-size:13px;color:var(--muted)}@media(prefers-reduced-motion:no-preference){.game-level-up{animation:game-arrive .4s ease-out}.game-effects-off .game-level-up{animation:none}}

/* Each round has a quiet teaching screen, followed by a distinct score reveal. */
.game-flow-steps{display:flex;gap:10px;align-items:center;margin:0 0 24px;color:var(--muted);font-size:13px}.game-flow-steps span+span:before{content:'›';margin-right:10px;color:var(--muted)}.game-flow-steps [aria-current]{color:var(--cyan);font-weight:650}.game-review-intro{color:var(--muted);max-width:70ch}.game-answer-review .feedback-details{margin-top:24px;border:1px solid var(--line);background:var(--ground);border-radius:14px;padding:20px}.game-answer-review .feedback-details summary{color:var(--cyan);font-weight:650;font-size:18px;cursor:pointer}.game-answer-review .game-review-row>h3{font-size:15px;color:var(--muted)}.game-correct-options{list-style:none;margin:20px 0;padding:0;display:grid;gap:9px}.game-correct-options li{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--ground-2);font-size:16px}.game-correct-options li[data-correct=true]{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 8%,var(--ground));color:var(--ink)}.game-option-mark{width:24px;flex:0 0 24px;text-align:center;color:var(--muted)}[data-correct=true] .game-option-mark{color:var(--cyan)}[data-picked=true][data-correct=false] .game-option-mark{color:var(--red)}.game-correct-options li b{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--cyan)}.game-scoring-note{margin-top:24px;color:var(--muted);font-size:13px}.game-player-points>.game-round-gain{font-size:13px;color:var(--cyan);font-weight:650}.game-player-perks{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px}.game-perk{display:inline-flex;gap:6px;align-items:center;background:var(--ground-2);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;color:var(--cyan)}.game-perk i{font-style:normal;font-size:17px}.game-perk small{color:var(--muted);font-size:11px;font-weight:400}.game-perk-streak{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--ground))}.game-scoreboard .game-board{gap:12px}.game-scoreboard .game-player-points b{font-size:28px}.game-answer-review .game-result-actions,.game-scoreboard .game-result-actions{position:sticky;bottom:16px;z-index:5;padding:14px 18px;background:var(--ground-2);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 25px #0002}.game-results .native-primary:disabled,.play-lobby .native-primary:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:no-preference){.game-results:not(.game-effects-off).game-scoreboard{animation:game-arrive .25s ease-out}.game-results:not(.game-effects-off) .game-player-perks{animation:perk-reveal .5s ease-out both;animation-delay:.55s}@keyframes perk-reveal{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}}

.game-answer-review .game-result-actions,.game-scoreboard .game-result-actions{top:72px;bottom:auto;margin:18px 0 24px}.game-result-actions>p{margin:0;font-size:13px;color:var(--muted)}.game-correct-options [data-picked=true][data-correct=false] b{color:var(--red,#dd7184)}.game-perk i{flex:0 0 auto}
