:root{color-scheme:dark;--navy:#061334;--navy2:#091d4b;--blue:#0d51ca;--sky:#76d9ff;--gold:#ffc933;--text:#f5f8ff;--muted:#a8bce1;--stroke:#38558b;--card:#0e2556;--ok:#69ecc2;--bad:#ff8d9e;font-family:'Trebuchet MS',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(ellipse at 30% 16%,#0d3681 0%,transparent 42%),radial-gradient(ellipse at 90% 54%,#112c65 0%,transparent 35%),var(--navy);line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background-image:radial-gradient(1.5px 1.5px at 11% 23%,#fff 85%,transparent),radial-gradient(2px 2px at 65% 15%,#fff 85%,transparent),radial-gradient(1px 1px at 73% 72%,#fff 85%,transparent),radial-gradient(1px 1px at 27% 85%,#fff 85%,transparent),radial-gradient(2px 2px at 91% 34%,#fff 85%,transparent);background-size:370px 320px}.site-shell{max-width:1500px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.masthead{padding:13px clamp(17px,3vw,47px);display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,#f5faff 0%,#e1f1ff 100%);border-bottom:5px solid var(--gold);color:#091942}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit;min-width:0}.brand img{height:66px;width:66px;border-radius:50%;object-fit:cover;border:2px solid #d39b17;background:white}.brand strong{display:block;font-size:clamp(14px,1.55vw,22px);font-weight:900;line-height:1.18}.brand small{display:block;font-size:clamp(11px,1.1vw,15px);font-weight:750;margin-top:4px}.header-actions{display:flex;align-items:center;gap:10px}.festival-tag{font-weight:900;white-space:nowrap;font-size:13px;color:#1142a6}.festival-tag b{color:#1b80ca}.icon-btn{display:grid;place-items:center;min-width:44px;height:44px;border-radius:13px;border:1px solid #96bde1;background:white;color:#122f65;font-weight:900;font-size:20px}.screen{display:none;width:100%;animation:screenin .32s ease}.screen.active{display:block}main{flex:1}.school-banner{min-height:160px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(7,20,55,.97),rgba(6,29,76,.75) 47%,rgba(6,20,53,.14)),url('assets/school-bulding.jpeg') center 47%/cover;isolation:isolate;border-bottom:2px solid #dcae25}.banner-text{padding:30px clamp(25px,6vw,90px);max-width:850px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--gold)}.banner-text h2{font-size:clamp(22px,3vw,38px);margin:6px 0 0;line-height:1.13}.banner-text p{margin:7px 0 0;color:#e1eaff;font-size:15px}.hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:540px;gap:2%;padding:30px clamp(22px,5vw,80px) 22px;overflow:hidden;position:relative}.hero-copy{z-index:2}.pill{display:inline-block;border-radius:50px;border:1px solid #5696f2;background:#0a347f;padding:7px 18px;font-size:clamp(10px,1.3vw,14px);font-weight:900;letter-spacing:1px;color:#f5faff}.hero h1{font-weight:1000;font-size:clamp(65px,8.2vw,130px);line-height:.92;letter-spacing:-5px;margin:23px 0 18px;color:#f5faff;text-shadow:0 7px 0 #254ca0,0 14px 25px #000a}.hero h1 span:first-child{display:block;color:var(--gold);text-shadow:0 6px 0 #a86204,0 14px 24px #0008}.title-star{font-size:50px;color:var(--gold);vertical-align:top;margin-left:15px;display:inline-block;animation:twinkle 2s ease-in-out infinite}.hero-tagline{font-size:clamp(13px,1.7vw,21px);font-weight:900;letter-spacing:.5px;color:#d3e7ff}.hero-tagline b{color:var(--gold)}.hero-intro{font-size:clamp(15px,1.4vw,18px);max-width:560px;color:#cbdcff;margin:18px 0 25px}.btn{min-height:49px;border-radius:14px;font-weight:900;padding:12px 22px;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;transition:filter .15s ease,background .15s ease}.btn:hover:not(:disabled){filter:brightness(1.13)}.primary{color:#061537;background:linear-gradient(180deg,#ffe462,#ffb900);box-shadow:0 5px 0 #a85b00,0 8px 20px #0006}.secondary{color:#fff;background:#1b4f9c;border-color:#5c95ec}.outline{color:#f9fbff;background:#102956;border-color:#4e72bd}.danger{color:#fff;background:#952b51;border-color:#d86182}.hero-button{font-size:21px;min-height:65px;padding:13px 32px;border-radius:20px}.hero-button span{font-size:32px}.microcopy{color:#a7c0e5;font-size:12px}.hero-art{height:505px;position:relative;display:grid;place-items:center;isolation:isolate}.art-glow{position:absolute;width:73%;aspect-ratio:1;background:radial-gradient(circle,#286bff77,transparent 70%);filter:blur(25px)}.orbit{position:absolute;border:2px dashed #7ba6fd55;border-radius:50%;transform:rotate(-22deg)}.orbit-one{width:85%;height:65%}.orbit-two{width:99%;height:86%;transform:rotate(23deg)}.math-core{width:clamp(220px,25vw,330px);height:clamp(220px,25vw,330px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:2;background:radial-gradient(circle at 28% 22%,#54c8ff,#0c65d1 42%,#102f95 75%);border:9px solid #71ddff;box-shadow:0 0 0 10px #24569a88,0 0 55px #3983ff88,inset -13px -20px 40px #071b70}.math-core:before{content:'';position:absolute;inset:15px;border:2px dashed #a3e5ff88;border-radius:50%}.core-top,.core-bottom{font-weight:1000;letter-spacing:2px;color:white;text-shadow:0 2px 4px #0008;z-index:1}.core-top{font-size:15px}.core-bottom{font-size:22px;color:#ffe26d}.math-core strong{font-size:clamp(48px,5vw,72px);line-height:1.12;font-weight:1000;letter-spacing:2px;text-shadow:0 6px 0 #123284,0 10px 15px #0009}.core-lightning{position:absolute;right:-15px;bottom:10px;font-size:53px;transform:rotate(18deg)}.float-chip{position:absolute;z-index:3;width:73px;height:73px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(155deg,#ffe37d,#f7a700);color:#102559;font-weight:1000;font-size:37px;box-shadow:0 9px 0 #a45d02,0 13px 25px #0008;border:3px solid #fff4bc;animation:float 4s ease-in-out infinite}.chip-a{top:9%;left:12%;transform:rotate(-15deg)}.chip-b{top:5%;right:14%;animation-delay:-1s;background:linear-gradient(155deg,#88e4fc,#2891f1);border-color:#dffaff;box-shadow:0 9px 0 #175494,0 13px 25px #0008}.chip-c{top:45%;right:0%;animation-delay:-2.5s;transform:rotate(12deg)}.chip-d{bottom:5%;right:15%;animation-delay:-.6s;background:linear-gradient(155deg,#bfa3fc,#7d57ea);border-color:#e5dcff;box-shadow:0 9px 0 #43249c,0 13px 25px #0008;color:white}.chip-e{bottom:9%;left:11%;animation-delay:-2s}.chip-f{top:39%;left:0%;animation-delay:-1.4s;background:linear-gradient(155deg,#a1f5cd,#12bba1);border-color:#ddfff1;box-shadow:0 9px 0 #157b74,0 13px 25px #0008}.math-spark{position:absolute;font-size:44px;color:var(--gold);text-shadow:0 0 13px var(--gold)}.spark-a{top:7%;left:48%}.spark-b{bottom:19%;right:3%;font-size:25px}.spark-c{bottom:21%;left:4%;font-size:26px}.quick-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:10px clamp(22px,5vw,80px) 35px}.quick-features>div{padding:16px 20px;display:flex;align-items:center;gap:15px;border:1px solid #537ed5;border-radius:18px;background:linear-gradient(120deg,#173e91a9,#102c6cb5);font-size:28px}.quick-features span{display:grid}.quick-features b{font-size:16px}.quick-features small{font-size:13px;color:#c5dafd}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:3px solid var(--gold);padding:16px 35px;background:#071129;color:#eaf1ff}.footer-school{display:flex;gap:11px;align-items:center}.footer-school img{height:44px;width:44px;border-radius:50%;object-fit:cover}.footer-school span{display:grid}.footer-school b{font-size:12px}.footer-school small{font-size:11px;color:#c2d3f3}.footer>span{font-size:13px}.footer-link{background:none;border:0;color:var(--gold);font-weight:800}.section-heading{text-align:center;padding:38px 15px 25px}.section-heading h2{font-size:clamp(32px,4vw,52px);margin:3px 0 0;line-height:1.1}.section-heading p{color:var(--muted);margin:10px 0}.setup-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;padding:0 clamp(20px,4vw,68px) 54px}.setup-panel,.player-panel,.leaderboard-panel{background:linear-gradient(135deg,#122f67,#0a204d);border:1px solid #3c66a5;border-radius:23px;padding:26px}.setup-panel h3{font-size:16px;margin:0 0 17px;color:var(--gold)}.setup-panel h3:not(:first-child){margin-top:30px}.setup-panel h3 span{color:white;margin-left:8px}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mode-card{text-align:left;min-height:192px;padding:19px 15px;border-radius:18px;border:2px solid #4569a2;color:var(--text);background:#0b2558;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.mode-card.selected{border-color:var(--gold);background:#244782;box-shadow:0 0 0 2px #f8b90044}.mode-icon{font-size:30px}.mode-card strong{font-size:17px;line-height:1.2}.mode-card small{color:#dce9ff;font-size:12px}.mode-detail{color:var(--gold);font-size:12px;font-weight:800}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented button{flex:1;min-width:70px;border-radius:11px;padding:11px 9px;background:#0b2659;border:1px solid #5575ac;color:white;font-weight:850}.segmented button.selected{background:#ffcc41;color:#071435;border-color:#ffdf78}.helper-text{color:#b8cbe9;font-size:12px;line-height:1.55}.player-panel{display:flex;align-items:stretch;flex-direction:column}.player-avatar{text-align:center;font-size:65px;filter:drop-shadow(0 5px 11px #58b7ff55)}.player-panel h3{text-align:center;font-size:26px;margin:7px 0 25px}.player-panel label{font-size:14px;font-weight:800}.player-panel label span{font-size:12px;color:var(--muted);font-weight:500}.player-panel input{width:100%;background:#071636;border:1px solid #7791c1;color:white;border-radius:12px;margin-top:8px;padding:14px;font-size:16px}.player-panel .helper-text{margin-bottom:22px}.mission-summary{border:1px dashed #5f85c8;padding:14px;border-radius:13px;background:#102953;text-align:center;margin-top:auto;margin-bottom:20px;color:var(--gold);font-weight:800}.full{width:100%}.text-btn{color:#c8e4ff;background:none;border:0;padding:15px}.game-top{display:flex;justify-content:space-between;align-items:center;margin:25px auto 18px;max-width:1040px;padding:0 18px}.quest-label{color:var(--gold);font-weight:900}.divider-dot{color:#92a8d5;padding:0 6px}.exit-btn{border:1px solid #5576ab;background:#16366d;color:#f6f9ff;border-radius:10px;padding:10px 16px;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1040px;margin:auto;padding:0 18px}.stat{background:#122d62;border:1px solid #4165a1;padding:15px 20px;border-radius:16px;display:flex;flex-direction:column;align-items:center}.stat span{color:#acc5ec;font-size:12px;font-weight:900;letter-spacing:1px}.stat strong{color:#ffdc64;font-weight:1000;font-size:29px;font-variant-numeric:tabular-nums}.stat.timer-stat.warning{border-color:#ff97a1;background:#4d233f}.stat.timer-stat.warning strong{color:#ff9faf}.progress-track{height:13px;border:1px solid #4d6caa;background:#162a51;max-width:1004px;margin:22px auto;border-radius:999px;overflow:hidden}.progress-track div{width:0;height:100%;background:linear-gradient(90deg,#25cadd,#ffd449);border-radius:999px;transition:width .3s}.question-card{max-width:1004px;margin:0 auto 60px;background:linear-gradient(145deg,#153776,#0b2252);border:1px solid #5376b7;border-radius:24px;padding:clamp(20px,4vw,44px);box-shadow:0 22px 60px #0003}.question-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.topic-chip,.difficulty-chip,.points-chip{display:inline-block;border-radius:100px;padding:5px 13px;background:#1f5397;color:#e7f4ff;font-size:12px;font-weight:850}.difficulty-chip{background:#355386;color:#ffd769}.points-chip{margin-left:auto;color:#ffd43c;background:#18366d}#questionTitle{font-size:clamp(23px,3vw,34px);margin:23px 0 26px;line-height:1.3;min-height:75px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.answer{min-height:86px;display:flex;align-items:center;text-align:left;gap:16px;padding:15px 19px;border-radius:16px;background:#0c285f;color:#f5f9ff;border:2px solid #5579b7;font-size:17px;font-weight:700;transition:background .15s,border-color .15s}.answer:hover:not(:disabled){background:#1d4688;border-color:#9fdfff}.answer:disabled{opacity:1}.answer .letter{flex-shrink:0;display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#224b8c;border:1px solid #7598d4;color:#e7f4ff;font-size:15px;font-weight:900}.answer.correct{border-color:#4ce0aa;background:#0e604d}.answer.correct .letter{background:#137a63;border-color:#9affdd}.answer.incorrect{border-color:#ffa4b1;background:#79354c}.answer.incorrect .letter{background:#ab455c;border-color:#ffb4c0}.answer.dimmed{opacity:.59}.feedback-box{margin-top:22px;padding:20px 22px;border-radius:16px;border:1px solid #5abf9d;background:#0e4d48}.feedback-box.wrong{background:#49293d;border-color:#ff8e9b}.feedback-title{font-size:20px;font-weight:1000}.feedback-box p{margin:6px 0;color:#e2f5fb}.earned-label{font-size:14px;font-weight:900;color:#ffdf6c}.question-footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}.keyboard-tip{font-size:12px;color:#a9c0e8}.next-btn{margin-left:auto}.result-card{position:relative;overflow:hidden;max-width:960px;margin:40px auto 50px;padding:38px clamp(20px,4vw,55px);border:1px solid #6482c1;background:linear-gradient(160deg,#173b7e,#0a204e);border-radius:26px;text-align:center}.result-icon{font-size:76px}.result-card h2{font-size:clamp(27px,4vw,46px);margin:4px 0}.result-card>p{color:#bed4f4}.result-stars{font-size:49px;letter-spacing:11px;margin:18px 0}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.result-stats>div{display:flex;flex-direction:column;padding:14px 4px;background:#0d285b;border:1px solid #4a73b3;border-radius:15px}.result-stats strong{font-size:27px;color:#ffdb67}.result-stats span{color:#c2d6f7;font-size:12px}.badge-showcase{margin:24px 0}.badge-showcase>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}.achievement{display:inline-block;border:1px solid #d8a72c;background:#473e2c;border-radius:99px;padding:8px 14px;color:#ffea9a;font-size:13px;font-weight:800}.review-panel{text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.review-panel>div{border:1px solid #4f76b2;background:#102b5d;border-radius:15px;padding:17px}.review-panel p{margin:7px 0 0;font-size:13px;color:#c3d5f4}.save-message{font-size:13px!important}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:17px}.leaderboard-panel{max-width:850px;margin:0 auto 50px}.leaderboard-row{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;border-bottom:1px solid #39598d;padding:15px 8px}.leaderboard-row:last-child{border:0}.leaderboard-row .rank{font-size:23px;font-weight:900;color:#ffda67}.leaderboard-row strong{display:block}.leaderboard-row small{color:var(--muted)}.leaderboard-row .leader-score{font-size:23px;font-weight:900;color:var(--gold)}.leaderboard-actions{display:flex;justify-content:space-between;gap:12px;padding-top:18px}.empty-state{text-align:center;padding:50px 20px;color:#cedcf6}.modal{width:min(560px,calc(100% - 26px));max-height:min(88vh,750px);overflow:auto;border-radius:24px;background:#0e285b;color:white;border:2px solid #739bdc;padding:30px;box-shadow:0 18px 90px #000b}.modal::backdrop{background:#020917c9}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2,.modal h2{margin-top:0}.modal li{margin:12px 0;color:#dfebff}.modal-note{color:var(--gold);font-size:13px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confetti{position:absolute;inset:0;pointer-events:none}.confetti span{position:absolute;width:9px;height:15px;background:var(--gold);animation:confetti 3.8s ease-in-out infinite}.confetti span:nth-child(3n){background:#6ddbfa}.confetti span:nth-child(3n+1){background:#e69aff}@keyframes confetti{0%{transform:translateY(-80px) rotate(0);opacity:0}12%{opacity:1}90%{opacity:1}100%{transform:translateY(680px) rotate(720deg);opacity:0}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -16px}}@keyframes twinkle{50%{opacity:.6;transform:scale(1.17)}}@keyframes screenin{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;padding-inline:30px}.hero h1{font-size:clamp(55px,8vw,95px)}.hero-art{height:420px}.float-chip{width:57px;height:57px;font-size:28px}.math-core{width:235px;height:235px}.setup-grid{grid-template-columns:1fr}.mode-card{min-height:175px}.player-panel{max-width:100%}.player-avatar{display:none}}@media(max-width:700px){.masthead{padding:10px 13px}.brand img{width:51px;height:51px}.brand strong{font-size:12px}.brand small{font-size:10px}.festival-tag{display:none}.header-actions{gap:6px}.icon-btn{min-width:41px;height:41px}.school-banner{min-height:120px}.banner-text{padding:21px}.banner-text h2{font-size:23px}.banner-text p{font-size:12px}.hero{display:flex;flex-direction:column;text-align:center;gap:0;padding:34px 18px 10px}.hero-copy{display:flex;align-items:center;flex-direction:column}.hero h1{font-size:clamp(65px,15vw,100px);margin:18px 0}.hero-intro{max-width:490px}.hero-art{width:100%;max-width:470px;height:360px;margin:5px auto 0}.math-core{width:210px;height:210px}.float-chip{width:53px;height:53px;font-size:25px}.quick-features{grid-template-columns:1fr;gap:9px;padding:0 18px 28px}.quick-features>div{padding:10px 16px}.footer{flex-wrap:wrap;justify-content:center;padding:15px}.footer>span{display:none}.setup-grid{padding:0 14px 32px;gap:13px}.setup-panel,.player-panel{padding:21px 17px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:unset;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:2px 9px;padding:12px}.mode-icon{grid-row:span 3}.mode-card strong{font-size:16px}.mode-card small,.mode-detail{font-size:12px}.segmented button{font-size:13px}.game-top{margin:18px 0 13px}.stat-grid{gap:6px;padding:0 10px}.stat{padding:10px 2px}.stat span{font-size:9px}.stat strong{font-size:18px}.progress-track{margin:15px 12px}.question-card{margin:0 10px 32px;padding:19px 15px}.question-meta{gap:5px}.topic-chip,.difficulty-chip,.points-chip{font-size:10px;padding:5px 10px}.question-card h2{min-height:0;font-size:23px}.answer-grid{grid-template-columns:1fr;gap:10px}.answer{min-height:64px;font-size:15px;padding:10px 14px}.answer .letter{width:32px;height:32px}.keyboard-tip{display:none}.question-footer{justify-content:flex-end}.next-btn{width:100%}.result-card{margin:16px 10px 30px;padding:25px 14px}.result-stats{gap:7px;grid-template-columns:repeat(2,1fr)}.review-panel{grid-template-columns:1fr}.result-actions .btn{width:100%}.leaderboard-panel{margin:0 12px 30px;padding:17px}.leaderboard-row{grid-template-columns:35px 1fr auto}.leader-score{font-size:18px!important}.modal{padding:20px}}@media(max-width:390px){.brand strong{font-size:11px}.brand small{font-size:9px}.brand img{width:45px;height:45px}.hero h1{font-size:64px}.hero-tagline{font-size:12px}.segmented button{min-width:64px}.question-meta{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
