@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Manrope:wght@500;600;700;800&display=swap";:root{--bg: #e7e9ef;--surface: #eef0f5;--panel: #f4f6fa;--panel-border: #c9ced9;--ink: #111c38;--muted: #6f788d;--accent: #f0a61f;--accent-soft: #f7b645;--button: #8b95ad;--button-hover: #76829e;--correct: #0f8a4a;--incorrect: #b03a3a;--shadow: 0 20px 40px rgba(17, 28, 56, .08)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Manrope,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 8%,#f0a61f29,#f0a61f00 38%),radial-gradient(circle at 80% 15%,#111c381a,#111c3800 42%),linear-gradient(180deg,#e5e8ef,#dde2ec)}button,input{font:inherit}.app-shell{min-height:100vh;padding:clamp(1.2rem,3vw,2.25rem);display:grid;place-items:center}.setup-card{width:min(100%,980px);background:color-mix(in srgb,var(--surface) 92%,white 8%);border:1px solid var(--panel-border);border-radius:36px;padding:clamp(1.25rem,3vw,2.25rem);box-shadow:var(--shadow);text-align:center}.brand-icon{width:clamp(84px,12vw,100px);height:clamp(84px,12vw,100px);margin:0 auto;border-radius:22px;display:grid;place-items:center;font-size:clamp(2rem,5vw,2.35rem);background:linear-gradient(165deg,#f2af2e,#e89e0f);color:#0a1b47}.brand-title{margin:clamp(1rem,2vw,1.5rem) 0 0;font-family:Fraunces,Iowan Old Style,serif;font-size:clamp(2.9rem,8vw,6.2rem);font-weight:700;line-height:.92;letter-spacing:-.02em}.brand-title span{display:block;margin-top:.32em;color:var(--accent)}.brand-subtitle{margin:clamp(.75rem,2vw,1.4rem) auto 0;color:var(--muted);font-size:clamp(1rem,2.2vw,1.08rem);max-width:40ch}.setup-form{margin:clamp(1.45rem,3.5vw,2.2rem) auto 0;width:min(100%,760px);display:grid;gap:1.05rem}.name-input-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;border:2px solid var(--panel-border);border-radius:18px;padding:.9rem 1rem;background:color-mix(in srgb,var(--panel) 90%,white 10%)}.name-tag{color:var(--accent);font-weight:800;font-size:1.8rem;letter-spacing:.02em}.name-input-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:clamp(1.05rem,2.2vw,1.25rem)}.name-input-wrap input::-moz-placeholder{color:#7b8498}.name-input-wrap input::placeholder{color:#7b8498}.versus-label{margin:.05rem 0;font-size:clamp(1.25rem,3vw,2rem);font-weight:800;letter-spacing:.07em;color:#757f95}.primary-btn{margin-top:.2rem;border:0;border-radius:18px;padding:1rem 1.35rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:800;color:#f3f5fa;background:var(--button);cursor:pointer;transition:transform .16s ease,background-color .16s ease}.primary-btn:hover{background:var(--button-hover);transform:translateY(-1px)}.primary-btn:active{transform:translateY(0)}.battle-shell{align-items:start}.battle-page{width:min(1180px,100%);display:grid;gap:1rem}.battle-header{border:1px solid var(--panel-border);background:color-mix(in srgb,var(--surface) 92%,white 8%);border-radius:24px;padding:.9rem 1rem;box-shadow:var(--shadow)}.round-chip{display:inline-flex;align-items:center;padding:.35rem .72rem;border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1c2850;background:color-mix(in srgb,var(--accent) 22%,white 78%)}.score-row{margin-top:.7rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.score-card{min-width:168px;display:grid;justify-items:center;gap:.1rem;border:1px solid var(--panel-border);border-radius:16px;padding:.65rem .95rem;background:var(--panel)}.score-card span{font-size:.93rem;color:var(--muted);font-weight:700}.score-card strong{font-size:1.62rem;line-height:1}.score-time{margin-top:.15rem;font-size:.8rem;font-style:normal;font-weight:700;color:#66738d}.score-divider{font-weight:800;color:#727d95;letter-spacing:.06em}.battle-grid{display:grid;gap:.85rem;grid-template-columns:1fr 1fr;align-items:stretch}.duel-panel,.desmos-panel{border:1px solid var(--panel-border);background:color-mix(in srgb,var(--surface) 92%,white 8%);border-radius:24px;padding:1rem;box-shadow:var(--shadow)}.sat-calc-panel{padding:0;overflow:hidden;background:#fff}.sat-calc-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem .75rem;border-bottom:1px solid #d4d8e1;background:#f3f4f7}.sat-calc-bar strong{color:#1a1a1b;font-size:1.02rem;font-weight:700}.sat-calc-tabs{display:inline-flex;border:1px solid #c8cddd;border-radius:10px;overflow:hidden}.sat-calc-tab{padding:.34rem .72rem;font-size:.84rem;font-weight:700;color:#505a73;background:#eef1f7}.sat-calc-tab-active{color:#fff;background:#0f1118}.sat-calc-canvas{margin-top:0;border:0;border-radius:0;height:clamp(520px,72vh,790px)}.handoff-card,.question-card,.result-card,.final-card{display:grid;gap:.9rem}.exam-question-card{gap:0;padding:0;overflow:hidden;border-radius:20px;border:1px solid #cfd3de;background:#fff}.exam-toolbar{display:flex;align-items:center;gap:.75rem;min-height:56px;padding:0 .9rem;border-bottom:1px solid #d8dde7;background:#f2f3f5}.exam-number-cell{width:46px;height:40px;border-radius:2px;display:grid;place-items:center;background:#0f1116;color:#fff;font-size:1.2rem;font-weight:800}.exam-toolbar-item{color:#1f2330;font-size:.92rem;font-weight:700}.exam-timer-item{border-radius:999px;padding:.22rem .56rem;background:#dfe5f2;color:#22355f}.exam-toolbar-spacer{flex:1}.exam-question-body{padding:1.2rem;background:#fff;display:grid;gap:1rem}.exam-player-tag{margin:0;color:#5f6b86;font-size:.88rem;font-weight:700}.sat-style-prompt{color:#191e2a;font-size:clamp(1.75rem,2.7vw,2.6rem)!important;font-family:Fraunces,Iowan Old Style,serif!important;line-height:1.22!important}.handoff-card h2,.question-card h2,.result-card h2,.final-card h2{margin:0;font-family:Fraunces,Iowan Old Style,serif;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.1}.question-prompt{line-height:1.2!important}.question-prompt .mjx-chtml,.choice-btn .mjx-chtml,.result-question .mjx-chtml{font-size:1em}.handoff-card p,.result-card p,.final-card p{margin:0;color:var(--muted)}.question-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.question-meta span{font-size:.84rem;font-weight:700;color:#5f6c86;background:#dbe2ef;border-radius:999px;padding:.26rem .6rem}.choice-grid{display:grid;gap:.6rem}.choice-btn{width:100%;border:2px solid #222937;border-radius:16px;background:#fff;color:#111825;padding:.85rem .9rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease,background-color .14s ease}.choice-btn:hover{border-color:#0f1625;transform:translateY(-1px)}.choice-badge{width:2.2rem;height:2.2rem;border-radius:999px;display:grid;place-items:center;border:2px solid #20293b;color:#182134;font-size:1.15rem;font-weight:800}.choice-content{font-size:1.02rem}.choice-btn-active{border-color:#0c1322;background:#eef2f9}.exam-submit-btn{margin-top:.2rem;border-radius:14px;background:#838fa8}.exam-submit-btn:hover{background:#6f7e9e}.exam-numeric-wrap{color:#2f3952}.exam-numeric-wrap input{border:2px solid #222937;background:#fff;color:#111825}.numeric-input-wrap{display:grid;gap:.45rem;font-size:.92rem;font-weight:700;color:#4f5f80}.numeric-input-wrap input{width:100%;border:2px solid var(--panel-border);border-radius:14px;padding:.75rem .8rem;background:var(--panel);color:var(--ink);outline:none}.numeric-input-wrap input:focus{border-color:#8f9ebb}.privacy-note{margin:0;color:#616c84;font-size:.87rem}.result-question{font-weight:700;color:#314061!important}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.result-player-card{border:1px solid var(--panel-border);border-radius:14px;background:var(--panel);padding:.75rem}.result-player-card h3{margin:0;font-size:1rem}.result-player-card p{margin-top:.4rem;font-size:.92rem}.result-player-card span{color:#4e5d80;font-weight:700}.solution-panel{border:1px solid #b9c0cf;border-radius:16px;background:#eef1f7;padding:.9rem 1rem}.solution-panel h3{margin:0;font-size:1.05rem;font-weight:800;color:#1f2c4f}.solution-steps{margin:.7rem 0 0;padding-left:1.2rem;color:#334468;display:grid;gap:.34rem}.solution-steps li{line-height:1.42}.solution-answer{margin:.85rem 0 0;padding-top:.72rem;border-top:1px solid #c8cedd;color:#17284a!important;font-weight:800}.solution-answer span{color:#2f4067;font-weight:800}.speed-note{margin:0;padding:.65rem .85rem;border:1px solid #bdc7dc;border-radius:12px;background:#e8edf9;color:#23345d!important;font-weight:700}.speed-note strong{color:#122451}.correct{color:var(--correct)!important;font-weight:800}.incorrect{color:var(--incorrect)!important;font-weight:800}.winner-line{font-weight:800;color:#273967!important}.final-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.final-scores>div{border:1px solid var(--panel-border);border-radius:14px;background:var(--panel);padding:.75rem;display:grid;justify-items:center}.final-scores span{font-size:.92rem;color:var(--muted);font-weight:700}.final-scores strong{margin-top:.15rem;font-size:1.7rem;line-height:1}.final-time{margin-top:.2rem;font-size:.8rem;font-style:normal;font-weight:700;color:#5d6e8f}.final-actions{display:grid}.desmos-canvas{margin-top:.75rem;height:clamp(360px,62vh,620px);width:100%;border:1px solid var(--panel-border);border-radius:14px;overflow:hidden;background:#fff}.sat-calc-panel .desmos-canvas{margin-top:0;border:0;border-radius:0;height:clamp(520px,72vh,790px)}.exam-question-card .numeric-input-wrap input{border:2px solid #222937;background:#fff;color:#111825}.fade-up{animation:fade-up .36s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.battle-grid{grid-template-columns:1fr}.desmos-canvas{height:clamp(320px,46vh,520px)}.sat-calc-canvas{height:clamp(360px,54vh,560px)}.exam-toolbar{flex-wrap:wrap;padding:.55rem .7rem}.exam-toolbar-spacer{display:none}}@media (max-width: 680px){.app-shell{padding:.7rem}.setup-card{border-radius:28px}.name-tag{font-size:1.45rem}.result-grid,.final-scores{grid-template-columns:1fr}.score-card{min-width:138px}.duel-panel,.desmos-panel{border-radius:18px;padding:.8rem}.exam-question-body{padding:.88rem}.exam-number-cell{width:40px;height:34px;font-size:1.02rem}.choice-badge{width:2rem;height:2rem;font-size:1rem}}
