:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf0f8;background:#0d192b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#183748 0,transparent 50%);min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffd276;outline-offset:4px}header{max-width:1240px;margin:auto;padding:27px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2c3b4f}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:25px;letter-spacing:-1px;color:inherit;text-decoration:none}.mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#56e3c2;border-radius:12px;color:#0d192b;font-weight:900;font-size:29px}.mark span{font-size:20px;margin-top:-14px}.edition{font-size:12px;letter-spacing:2px;margin-left:18px;color:#9cacbe}.sample{font-size:12px;letter-spacing:1.5px;color:#bbc9d7;border:1px solid #3c4a5d;border-radius:30px;padding:8px 12px}main{max-width:1180px;margin:0 auto;padding:34px 24px 60px}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.6px;line-height:1.12;margin:8px 0 15px}h2{font-size:26px;letter-spacing:-.7px;margin:0 0 12px}h3{font-size:20px;margin:0}p{line-height:1.6}.muted{color:#b2c0d1}.eyebrow{color:#56e3c2;font-weight:750;font-size:13px;letter-spacing:2px;text-transform:uppercase}.setup-intro{max-width:650px;margin:8px auto 32px;text-align:center}.setup-intro p{margin:0}.player-grid,.arena{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:#16263b;border:1px solid #324159;border-radius:20px;padding:28px}.player-form{border-top:3px solid var(--player)}.player-label{color:var(--player);font-size:13px;letter-spacing:2px;font-weight:800;margin-bottom:23px}.p0{--player:#56e3c2}.p1{--player:#ffa892}label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}input{width:100%;background:#0e1c2e;border:1px solid #425069;padding:14px;color:#fff;border-radius:9px;font-size:16px}input::placeholder{color:#8396ae}.start-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}.primary,.secondary{padding:14px 24px;border:0;border-radius:10px;font-weight:750;min-height:48px}.primary{background:#56e3c2;color:#102235}.secondary{background:#23374e;color:#edf3fb;border:1px solid #4b6078}.start-row .primary{min-width:235px}.rule-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#354359;border:1px solid #354359;border-radius:13px;overflow:hidden}.rule-strip div{background:#132236;padding:18px;text-align:center;font-size:14px;color:#b2c0d1}.rule-strip strong{display:block;color:#edf3fb;margin-bottom:5px;font-size:22px}.details{margin-top:22px;font-size:14px;color:#b5c4d5;line-height:1.7}.details summary{cursor:pointer;font-weight:700;color:#dae3ef}.scorebar{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;position:sticky;top:0;z-index:5;background:#0d192bf5;padding:12px 0 22px;backdrop-filter:blur(10px)}.score{display:flex;align-items:center;gap:15px;min-width:0}.score.right{flex-direction:row-reverse;text-align:right}.avatar{border-radius:12px;background:color-mix(in srgb,var(--player) 15%,#0d192b);border:1px solid var(--player);color:var(--player);padding:10px;font-weight:800}.score-name{font-weight:750;overflow-wrap:anywhere}.score small{display:block;color:#a7b6c8;margin-top:4px}.points{font-size:36px;font-weight:850;color:var(--player);white-space:nowrap}.points span{font-size:13px;font-weight:500;color:#b2c0d1}.round-track{text-align:center;font-size:12px;color:#adbed1;letter-spacing:1.5px}.round-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}.round-dots i{height:6px;width:20px;border-radius:5px;background:#33445c}.round-dots i.done{background:#56e3c2}.section-top{margin:24px 0;display:flex;justify-content:space-between;gap:18px;align-items:end}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.topic{background:#172a40;color:#edf4ff;border:1px solid #3c5069;border-radius:17px;text-align:left;padding:25px;transition:transform .15s,border-color .15s}.topic:hover:not(:disabled){transform:translateY(-3px);border-color:#56e3c2}.topic-icon{height:48px;color:#56e3c2;font-family:Georgia,serif;font-size:30px;margin-bottom:24px}.topic-name{font-weight:700;font-size:20px}.topic-meta{margin-top:10px;color:#afbed0;font-size:14px}.topic:disabled{opacity:.35}.notice{background:#142c3b;border:1px solid #30566a;border-radius:12px;padding:16px 20px;color:#c7d8e6;font-size:14px;line-height:1.6}.ready{max-width:680px;margin:40px auto;text-align:center}.ready .big-icon{font-family:Georgia,serif;color:#56e3c2;font-size:65px;margin:15px}.ready .primary{margin-top:20px;width:100%}.time{background:#26374c;border-radius:12px;padding:12px 18px;font-size:25px;font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.time.urgent{background:#643d39;color:#ffd0bb}.timer-track{height:5px;border-radius:10px;background:#31425a;overflow:hidden;margin-bottom:24px}.timer-fill{height:100%;background:#56e3c2;transition:width .25s linear}.question-card{background:#f4f7fb;color:#152339;border-radius:20px;overflow:hidden;border-top:5px solid var(--player)}.question-head{padding:20px 24px;background:#e7edf4;display:flex;justify-content:space-between;align-items:center;gap:10px}.question-head small{display:block;color:#51637b;font-size:13px;margin-top:4px}.question-body{padding:24px}.question-body>p{margin:0 0 12px;font-size:16px}.math{max-width:100%;height:auto;object-fit:contain;vertical-align:middle}.equation{min-height:74px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:18px;margin:16px 0 20px;overflow:hidden}.equation img{max-height:61px;max-width:100%}.choices{display:grid;gap:10px}.choice{display:flex;gap:14px;align-items:center;text-align:left;min-height:68px;width:100%;padding:12px 14px;background:white;border:2px solid #c9d4e2;border-radius:10px;color:#152339}.choice img{max-height:44px;max-width:calc(100% - 36px)}.letter{font-size:14px;border-radius:6px;background:#e9eef5;min-width:28px;text-align:center;padding:5px;font-weight:800}.choice.selected{border-color:#167b69;background:#e9fbf5}.choice.selected .letter{background:#167b69;color:white}.difficulty{display:flex;gap:8px;margin:18px 0 12px}.difficulty button{flex:1;border:1px solid #afc0d2;border-radius:8px;padding:11px 5px;background:#eaf0f7;color:#21374c;font-size:14px;font-weight:650}.hint-btn{background:none;border:0;color:#315e88;text-decoration:underline;padding:9px 0;font-size:14px;font-weight:650}.hint-box{background:#fff6d9;border:1px solid #dfc274;border-radius:8px;padding:12px;font-size:14px;line-height:1.8;margin:12px 0}.hint-box img{max-height:37px}.lock{width:100%;margin-top:14px;background:#152e45;color:white}.locked{text-align:center;padding:65px 20px;min-height:350px}.locked-symbol{font-size:42px;color:#287d70;margin-bottom:22px}.pill{font-size:12px;padding:6px 9px;background:#d3dfeb;border-radius:8px;font-weight:800;white-space:nowrap}.feedback{padding:14px;border-radius:9px;background:#dcefe8;margin:0 0 18px;font-weight:700}.feedback.wrong{background:#f9e4dc}.review-line{font-size:14px;margin-top:18px;line-height:1.6}.review-line img{max-height:40px;max-width:100%;margin-top:8px}.review-actions{display:flex;justify-content:flex-end;margin-top:24px}.results-title{text-align:center;margin:30px 0}.results-title h1{margin-top:14px}.table-wrap{overflow-x:auto;border:1px solid #3b4f68;border-radius:15px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:16px;border-bottom:1px solid #33445b}th{background:#1b3048;color:#bfcfe0;font-size:13px}td strong{display:block;margin-bottom:4px}td small{display:block;color:#adbed2;line-height:1.6}tr:last-child td{border-bottom:0}.results-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:28px 0}.round-review{margin:16px 0;background:#17283d;padding:20px;border:1px solid #394c63;border-radius:13px}.round-review summary{cursor:pointer;font-weight:700}.round-review .arena{margin-top:20px}.error{color:#ffbd9f;font-size:14px}footer{border-top:1px solid #293b51;color:#9fb0c5;text-align:center;padding:22px;font-size:13px}.no-margin{margin:0}.sr-only{position:absolute;left:-10000px} @media(max-width:750px){header{padding:18px}.edition{display:none}main{padding:20px 16px 40px}.player-grid,.arena{grid-template-columns:1fr}.panel{padding:23px}.start-row{align-items:stretch;flex-direction:column;gap:10px}.start-row .primary{width:100%}.rule-strip{grid-template-columns:repeat(2,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr);gap:12px}.topic{padding:18px}.topic-name{font-size:17px}.scorebar{gap:10px}.avatar{display:none}.points{font-size:27px}.points span{display:none}.score{gap:8px}.score-name{font-size:14px}.score small{font-size:12px}.round-dots i{width:9px}.round-track{font-size:10px}.section-top h2{font-size:22px}.question-body{padding:19px}.sample{font-size:10px}.ready{margin:25px 0}.details{font-size:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.online-entry{max-width:570px;margin:0 auto 30px}.online-entry .primary{width:100%;margin-top:24px}.online-question{max-width:760px;margin:0 auto}.online-question .equation{min-height:95px}.connection-note{background:#624827;color:#fff0c8;border:1px solid #b49b5d;border-radius:9px;padding:13px;margin-bottom:18px;font-size:14px}.ready-players{margin:25px 0;text-align:left}.ready-players p{display:flex;justify-content:space-between;gap:12px}.ready-players strong{color:#56e3c2}.text-link{color:#56e3c2}.ready input{font-size:14px}.online-question .choices{gap:12px}

.invite-qr{margin:24px auto;max-width:300px}.invite-qr>div{background:#fff;padding:0;border-radius:12px;overflow:hidden}.invite-qr svg{display:block;width:100%;height:auto}.invite-qr figcaption{color:#c7d8e6;font-size:14px;line-height:1.5;margin-top:12px}

select{width:100%;background:#0e1c2e;color:#fff;border:1px solid #425069;border-radius:9px;padding:14px;font:inherit}.question-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}.question-tools button{background:#e5edf5;border:1px solid #9fb4c9;color:#1c3751;border-radius:10px;padding:14px 7px;font-size:15px;font-weight:650}.question-tools button:last-child{background:#fff0bc;border-color:#d5b54e}.question-tools strong{display:block;margin-top:4px}.tool-note{font-size:14px;color:#536b82;margin-bottom:24px!important}.score-breakdown{font-size:14px;line-height:1.7;margin-bottom:18px;color:#425a70}.worked{margin-top:22px;border-top:1px solid #cad7e3;padding-top:18px}.worked summary{cursor:pointer;font-weight:750;font-size:16px}.worked ol{padding-left:24px}.worked li{padding:5px 0 13px}.worked li p{font-size:15px;margin:5px 0 10px}.step-math{overflow-x:auto;padding:5px 0}.step-math .math{max-height:85px;max-width:100%}.equation .math{max-height:100px}.online-question .equation{overflow-x:auto}.points{font-size:30px}.time{font-size:22px}@media(max-width:750px){.points{font-size:23px}.question-tools{gap:6px}.question-tools button{font-size:14px}.time{font-size:18px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scorebar{gap:6px}}

.calculator-label{display:table;padding:6px 12px;border:1px solid #b8c8d8;border-radius:6px;background:#eef4fa;color:#152339;font-size:14px;font-weight:700;margin:16px 0 8px;}

.question-graph{margin:18px 0;padding:8px;background:#fff;border-radius:12px}.question-graph img{display:block;width:100%;height:auto;max-width:560px;margin:auto}.choices .math{max-width:100%;height:auto}.choices .choice{min-width:0}

/* Solo Quest extends the existing navy, mint and light question surfaces. */
[hidden]{display:none!important}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:28px auto}.mode-card{color:#eaf0f8;background:#162b3d;border:1px solid #56e3c2;border-radius:20px;padding:32px;text-align:left}.mode-card h2{font-size:30px;margin-top:18px}.mode-card p{color:#c2d2df;min-height:64px;font-size:16px}.mode-card>strong{color:#56e3c2}.duel-mode{border-color:#e7a58f;background:#2a2b3e}.duel-mode .eyebrow,.duel-mode>strong{color:#ffbca6}.mode-card:hover{filter:brightness(1.12)}.solo-wrap{max-width:800px;margin:auto}.solo-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.solo-wrap fieldset{border:0;padding:0;margin:28px 0 20px;min-width:0}.solo-wrap legend{font-size:18px;font-weight:750;margin-bottom:12px}.solo-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.solo-options label{display:flex;align-items:center;gap:10px;border:1px solid #4b6078;background:#0e1c2e;border-radius:12px;padding:16px;margin:0;font-size:16px;line-height:1.5}.solo-wrap input[type=radio],.solo-wrap input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#56e3c2}.solo-topic-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.solo-wrap .check-label{display:flex;align-items:center;gap:10px;margin:0;padding:12px 8px;font-size:15px;font-weight:500;line-height:1.5}.solo-intro{margin-top:24px}.solo-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.solo-actions button{flex:1;min-width:160px}.solo-scorebar{display:flex;justify-content:space-between;gap:18px;padding:16px 0;position:sticky;top:0;z-index:5;background:#0d192bf5;border-bottom:1px solid #35465b;backdrop-filter:blur(10px)}.solo-scorebar>div:last-child{text-align:right}.solo-scorebar strong{display:block;font-size:22px;color:#56e3c2;overflow-wrap:anywhere}.solo-scorebar strong span{font-size:14px}.solo-scorebar small{display:block;color:#b2c0d1;font-size:14px;line-height:1.5;margin-top:5px}.solo-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.solo-tools button[aria-pressed=true]{opacity:1;border:2px solid #167b69;background:#e0f7ef}.solo-feedback-note{margin:24px 0;font-size:16px}.solo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.solo-stats>div{border:1px solid #3c5069;border-radius:14px;padding:20px;background:#172a40}.solo-stats strong{display:block;color:#56e3c2;font-size:30px}.solo-stats span{display:block;font-size:14px;line-height:1.5;margin-top:7px}.solo-recommendations{padding-left:20px;line-height:1.6}.solo-recommendations li{margin:14px 0}.solo-review-skill{display:block;font-weight:400;margin-top:8px;line-height:1.5;color:#bfcfe0}.solo-wrap .round-review>.question-card{margin-top:20px}.solo-history-item{display:block;width:100%;background:#172a40;border:1px solid #4b6078;color:#eaf0f8;border-radius:12px;padding:20px;margin:16px 0;text-align:left}.solo-history-item span{display:block;margin-top:9px;line-height:1.5}.solo-wrap .question-head small{font-size:14px}.solo-wrap .question-head{flex-wrap:wrap}.solo-wrap .choices .math{max-width:calc(100% - 42px)}.solo-wrap .worked li p{font-size:16px}.solo-wrap button{min-height:48px}.solo-wrap .section-top{align-items:center}.solo-wrap .section-top>div{min-width:0}.solo-wrap .section-top h2{overflow-wrap:anywhere}select:focus-visible{outline:3px solid #ffd276;outline-offset:4px}
@media(max-width:600px){.mode-grid,.solo-fields,.solo-options,.solo-topic-list{grid-template-columns:1fr}.mode-card{padding:25px}.mode-card p{min-height:0}.solo-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.solo-scorebar{gap:12px}.solo-scorebar strong{font-size:19px}.solo-scorebar small{font-size:14px}.solo-scorebar>div{max-width:55%}.solo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.solo-stats>div{padding:15px}.solo-wrap .section-top{flex-wrap:wrap}.solo-wrap .question-body{padding:16px}.solo-wrap .round-review{padding:12px}.solo-wrap .panel{padding:20px}.solo-wrap .pill{font-size:14px;white-space:normal}.solo-wrap h1{letter-spacing:-1px}.sample{max-width:130px;text-align:center;line-height:1.4}}
a.mode-card{text-decoration:none;color:inherit}
.join-code-panel{max-width:760px;margin:28px auto}.join-code-panel h2{margin-bottom:4px}.join-code-panel p{margin:6px 0}.join-code-row{display:flex;gap:12px;align-items:center}.join-code-row input{min-width:0;text-transform:uppercase;letter-spacing:.25em;font-weight:800;font-size:22px}.join-code-row button{white-space:nowrap}.host-room-code{display:block;max-width:380px;text-align:center;margin:12px auto 18px;font-size:clamp(30px,8vw,48px);font-weight:850;letter-spacing:.18em;background:#0d192b;color:#56e3c2;border:2px solid #56e3c2}.room-code-note{font-size:14px;letter-spacing:.08em;color:#b3c9dc}.invite-alternatives{margin-top:24px}.invite-alternatives summary{cursor:pointer;color:#b9c8d9;font-size:14px}.join-code-panel [role=status]{min-height:24px;color:#ffc1cf;font-size:14px}@media(max-width:480px){.join-code-row{flex-wrap:wrap}.join-code-row input,.join-code-row button{width:100%}.join-code-panel{padding:20px}}

/* Three-player rooms keep each score legible on narrow screens. */
.p2{--player:#bea5ff}
.scorebar.three-scores,.scorebar.lobby-scores{grid-template-columns:repeat(3,minmax(0,1fr))}
.three-scores .round-track,.lobby-scores .round-track{grid-column:1/-1;grid-row:1}
.three-scores .score,.lobby-scores .score{flex-direction:row;text-align:left}
.three-scores .score>div:nth-child(2){min-width:0;flex:1}
@media(max-width:750px){.three-scores .score,.lobby-scores .score{flex-wrap:wrap;gap:4px}.three-scores .score>div:nth-child(2){flex-basis:100%}.three-scores .points{font-size:24px}.three-scores .score small{display:none}.three-scores .round-dots{display:none}.scorebar.three-scores,.scorebar.lobby-scores{gap:10px;padding-bottom:12px}}

.team-mode{border-color:#a694ef}.team-mode .eyebrow,.team-mode strong{color:#c5b6ff}.quest-modes{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

/* Keep the room-code form tucked behind a compact menu action. */
.join-code-entry{max-width:760px;margin:28px auto;text-align:center}.join-friend-toggle{display:inline-flex;align-items:center;justify-content:center;gap:16px}.join-friend-toggle span{display:inline-block;transition:transform .15s}.join-friend-toggle[aria-expanded=true] span{transform:rotate(180deg)}.join-code-entry .join-code-panel{margin:14px 0 0;text-align:left}
