:root{--ink:#101a35;--blue:#2d5bf2;--blue-dark:#17358e;--orange:#ff704d;--yellow:#ffd155;--mint:#60dfad;--paper:#f7f8fc;--muted:#6e778c;--line:rgba(16,26,53,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 8% 10%,rgba(96,223,173,.16),transparent 26%),radial-gradient(circle at 94% 36%,rgba(45,91,242,.13),transparent 28%),var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,input{font:inherit}button{color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.play-nav{min-height:76px;padding:13px clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(14px)}.play-nav>a,.play-nav>button{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.game-logo{display:flex;align-items:center;gap:10px;font-weight:800}.game-logo span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--ink);color:var(--yellow);font:700 20px Unbounded,sans-serif}.math-shell{width:min(1200px,calc(100% - 32px));margin:auto;padding:50px 0 80px}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.lesson{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(480px,1.2fr);gap:clamp(35px,7vw,90px);align-items:center}.lesson h1{margin:18px 0;font:700 clamp(52px,7vw,88px)/.91 Unbounded,sans-serif;letter-spacing:-.08em}.lesson h1 em{color:var(--orange);font-style:normal}.lesson-copy>p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.65}.demo-picker{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.demo-picker button{min-height:52px;padding:11px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer;font:700 17px Unbounded,sans-serif;transition:.2s}.demo-picker button:is(:hover,.active){border-color:var(--blue);background:#eaf0ff;color:var(--blue);transform:translateY(-2px)}.lesson-board{min-height:390px;padding:clamp(22px,4vw,38px);display:grid;grid-template-columns:minmax(190px,.65fr) 1fr;gap:30px;align-items:center;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:0 28px 70px rgba(16,26,53,.1)}.column-card{position:relative;width:190px;min-height:272px;padding:45px 28px 26px;justify-self:center;border-radius:24px;background:var(--ink);color:#fff;font:700 48px/1.12 Unbounded,sans-serif;text-align:right;box-shadow:15px 17px 0 rgba(45,91,242,.18)}.column-note{position:absolute;left:16px;right:16px;top:15px;color:var(--yellow);font:700 10px/1.3 Manrope,sans-serif;text-align:center;text-transform:uppercase;letter-spacing:.08em}.column-number{padding-right:7px}.column-number.second{margin-top:8px;padding-bottom:10px;display:flex;justify-content:space-between;border-bottom:4px solid #fff}.column-number.second b{color:var(--mint);font-weight:700}.column-result{padding-top:10px;color:var(--yellow)}.lesson-steps{margin:0;padding:0;display:grid;gap:13px;list-style:none;counter-reset:steps}.lesson-steps li{position:relative;padding:15px 14px 15px 48px;border-radius:15px;background:#f4f6fb;color:#4e5870;font-size:14px;line-height:1.5;counter-increment:steps}.lesson-steps li:before{content:counter(steps);position:absolute;left:13px;top:13px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:800}.run-section{margin-top:90px}.run-heading{display:grid;grid-template-columns:1fr .8fr;gap:40px;align-items:end}.run-heading h2{margin:10px 0 0;font:700 clamp(34px,5vw,58px)/1 Unbounded,sans-serif;letter-spacing:-.065em}.run-heading p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}.level-bar{margin:30px 0 18px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:24px;background:#fff}.level-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.level-picker label{min-width:0;cursor:pointer}.level-picker input{position:absolute;opacity:0;pointer-events:none}.level-picker span{min-height:66px;padding:12px 14px;display:flex;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:15px;background:#f4f6fb;transition:.2s}.level-picker input:checked+span{border-color:var(--blue);background:#eaf0ff;box-shadow:inset 0 0 0 1px var(--blue)}.level-picker b{font-size:14px}.level-picker small{margin-top:4px;color:var(--muted);font-size:11px}.start-button,#play-again{min-width:190px;padding:14px 20px;border:0;border-radius:16px;background:var(--orange);color:#fff;cursor:pointer;font-weight:800;box-shadow:0 10px 25px rgba(255,112,77,.25);transition:.2s}.start-button:hover,#play-again:hover{transform:translateY(-2px);background:#ed5938}.start-button span,#play-again span{margin-left:12px}.game-stage{position:relative;padding:16px;border-radius:30px;background:var(--ink);box-shadow:0 34px 80px rgba(16,26,53,.2)}.game-hud{padding:3px 4px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;color:#fff}.game-hud>div{padding:8px 13px;border-right:1px solid rgba(255,255,255,.13)}.game-hud>div:last-child{border:0}.game-hud small{display:block;color:#9da9c9;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.game-hud b{display:block;margin-top:2px;font:700 18px Unbounded,sans-serif}.game-hud #lives{color:var(--orange);letter-spacing:4px;font-family:Manrope,sans-serif}.road{--runner-x:50%;position:relative;height:min(62vh,560px);min-height:430px;overflow:hidden;border-radius:22px;background:linear-gradient(#8adcf4 0 24%,#75905b 24% 29%,#31394d 29% 100%);isolation:isolate}.road:before{content:"";position:absolute;z-index:-1;left:5%;right:5%;top:24%;bottom:-12%;background:linear-gradient(90deg,#525b70,#283044 12% 88%,#525b70);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%)}.road:after{content:"";position:absolute;z-index:0;left:50%;top:31%;bottom:0;width:6px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.8) 0 30px,transparent 30px 57px);transform:translateX(-50%);opacity:.46}.road-sky i{position:absolute;z-index:-2;border-radius:50%;background:#fff;opacity:.8}.road-sky i:nth-child(1){width:100px;height:28px;left:12%;top:10%}.road-sky i:nth-child(2){width:150px;height:34px;right:10%;top:7%}.road-sky i:nth-child(3){width:68px;height:20px;right:32%;top:17%}.answer-gates{position:absolute;z-index:5;left:8%;right:8%;top:13%;display:grid;grid-template-columns:repeat(var(--gate-count),minmax(0,1fr));gap:clamp(8px,2vw,22px)}.answer-gate{min-width:0;height:92px;padding:10px;border:5px solid #fff;border-bottom-width:15px;border-radius:16px 16px 4px 4px;background:linear-gradient(135deg,var(--mint),#2fbf8a);color:var(--ink);cursor:pointer;font:700 clamp(23px,4vw,39px) Unbounded,sans-serif;box-shadow:0 12px 0 rgba(16,26,53,.2);transition:.22s}.answer-gate:nth-child(2){background:linear-gradient(135deg,var(--yellow),#f2ae2f)}.answer-gate:nth-child(3){background:linear-gradient(135deg,#ff967d,var(--orange))}.answer-gate:hover{transform:translateY(-5px) scale(1.025)}.answer-gate.correct{background:#65e7a8;box-shadow:0 0 0 7px rgba(101,231,168,.25),0 12px 0 rgba(16,26,53,.2)}.answer-gate.wrong{background:#ff6c6c;animation:shake .35s}.answer-gate:disabled{cursor:default}.road-lines{position:absolute;z-index:1;left:9%;right:9%;top:29%;bottom:0;display:grid;grid-template-columns:repeat(var(--gate-count),1fr);pointer-events:none}.road-lines i{border-right:2px solid rgba(255,255,255,.24);transform-origin:top}.road-lines i:last-child{border:0}.problem-sign{position:absolute;z-index:4;left:50%;top:48%;min-width:min(78%,560px);padding:16px 25px;border:5px solid #fff;border-radius:18px;background:var(--blue);color:#fff;text-align:center;transform:translate(-50%,-50%) rotate(-1deg);box-shadow:0 13px 0 rgba(9,20,48,.28)}.problem-sign span{display:block;color:#cbd7ff;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.problem-sign b{display:block;margin-top:4px;font:700 clamp(31px,6vw,56px)/1.05 Unbounded,sans-serif;letter-spacing:-.04em}.runner{position:absolute;z-index:6;left:var(--runner-x);bottom:28px;width:72px;height:78px;text-align:center;transform:translateX(-50%);transition:left .24s ease,bottom .58s cubic-bezier(.2,.8,.2,1),transform .3s}.runner span{position:relative;z-index:2;font-size:57px;filter:drop-shadow(0 9px 6px rgba(0,0,0,.32))}.runner i{position:absolute;left:8px;right:8px;bottom:-3px;height:13px;border-radius:50%;background:rgba(0,0,0,.26)}.road.sprinting .runner{bottom:68%;transform:translateX(-50%) scale(.72)}.road.sprinting .runner span{display:block;animation:run-bounce .16s ease-in-out infinite alternate}.road.success .problem-sign{background:#169d68}.road.failure .problem-sign{background:#d74248}.start-mark{position:absolute;z-index:2;left:16%;right:16%;bottom:12px;padding-top:5px;border-top:5px dashed rgba(255,255,255,.85);color:rgba(255,255,255,.72);font-size:11px;font-weight:800;letter-spacing:.35em;text-align:center}.ready-card{position:absolute;z-index:10;inset:29% 12% auto;padding:28px;border-radius:23px;background:rgba(16,26,53,.94);color:#fff;text-align:center;box-shadow:0 26px 60px rgba(0,0,0,.3)}.ready-card b{font:700 clamp(24px,4vw,36px) Unbounded,sans-serif}.ready-card p{max-width:500px;margin:10px auto 0;color:#b8c3df;line-height:1.55}.game-stage[data-state="playing"] .ready-card{display:none}.feedback{position:absolute;z-index:12;left:50%;bottom:22%;min-width:210px;padding:13px 18px;border-radius:999px;background:#fff;color:var(--ink);font-weight:800;text-align:center;box-shadow:0 15px 35px rgba(0,0,0,.22);opacity:0;transform:translate(-50%,14px);transition:.22s;pointer-events:none}.feedback.show{opacity:1;transform:translate(-50%,0)}.game-tip{padding:14px 5px 2px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#aab4cf;font-size:12px}.game-tip b{color:#fff}.game-tip button{padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fff;cursor:pointer}.game-tip button:disabled{opacity:.4;cursor:default}.result-overlay{position:absolute;z-index:30;inset:0;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:30px;background:rgba(11,18,38,.96);color:#fff;text-align:center}.result-overlay[hidden]{display:none}.result-medal{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:42px;box-shadow:0 0 0 14px rgba(255,209,85,.13)}.result-overlay>small{margin-top:25px;color:var(--mint);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.result-overlay h2{margin:10px 0 8px;font:700 clamp(31px,5vw,54px)/1 Unbounded,sans-serif}.result-overlay>p{margin:0;color:#b7c1db}.result-stats{margin:24px 0;display:flex;gap:40px}.result-stats div{min-width:120px;padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:16px}.result-stats b{display:block;font:700 27px Unbounded,sans-serif}.result-stats span{color:#aeb8d1;font-size:11px}.result-overlay #play-again{min-height:54px}dialog{width:min(560px,calc(100% - 30px));padding:34px;border:0;border-radius:28px;color:var(--ink);box-shadow:0 30px 100px rgba(16,26,53,.3)}dialog::backdrop{background:rgba(7,12,27,.68);backdrop-filter:blur(7px)}dialog>button{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:#eef1f8;cursor:pointer;font-size:23px}dialog h2{margin:10px 0 20px;font:700 32px Unbounded,sans-serif}dialog li{margin:10px 0;color:#566077;line-height:1.5}@keyframes run-bounce{to{transform:translateY(-8px) rotate(2deg)}}@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@media(max-width:850px){.lesson{grid-template-columns:1fr}.lesson-board{grid-template-columns:220px 1fr}.run-heading{grid-template-columns:1fr}.level-bar{grid-template-columns:1fr}.start-button{min-height:56px}.road{height:540px}}@media(max-width:600px){.play-nav{padding:10px 13px}.play-nav>a,.play-nav>button{padding:9px 11px;font-size:11px}.game-logo{font-size:0}.game-logo span{font-size:18px}.math-shell{width:min(100% - 20px,1200px);padding:32px 0 55px}.lesson h1{font-size:48px}.lesson-board{min-height:auto;padding:22px 15px;grid-template-columns:1fr}.column-card{width:170px;min-height:245px;font-size:42px}.lesson-steps{width:100%}.run-section{margin-top:65px}.run-heading p{font-size:14px}.level-picker{grid-template-columns:1fr}.level-picker span{min-height:55px}.road{height:500px;min-height:500px}.answer-gates{left:4%;right:4%;gap:6px}.answer-gate{height:78px;border-width:4px;border-bottom-width:12px;font-size:22px}.problem-sign{min-width:88%;padding:14px}.problem-sign b{font-size:30px}.game-hud{grid-template-columns:repeat(2,1fr)}.game-hud>div:nth-child(2){border:0}.runner span{font-size:50px}.game-tip{align-items:flex-start;flex-direction:column}.game-tip button{align-self:stretch}.result-stats{gap:10px}.result-stats div{min-width:105px}.ready-card{inset:31% 6% auto;padding:22px 17px}.ready-card p{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
