:root{
  --blue:#1769e8;--blue2:#0f4fb9;--navy:#102b5a;--sky:#eaf6ff;--white:#fff;--ink:#102348;--muted:#61708d;--gold:#ffc928;--green:#39b86b;--red:#ef5f66;--purple:#7b4fe9;--panel:#ffffffee;--shadow:0 18px 50px rgba(29,77,142,.16);--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f9fdff,#edf6ff);min-height:100vh}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.hidden{display:none!important}.eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-size:.78rem}.glass-panel{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(25,94,186,.12);box-shadow:var(--shadow)}.btn{border:0;border-radius:15px;padding:13px 22px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--blue),#328dff);color:#fff;box-shadow:0 10px 24px rgba(23,105,232,.25)}.btn.secondary{background:#fff;color:var(--blue);border:1px solid #c9ddfb}.btn.gold{background:linear-gradient(135deg,#ffdb3c,#ffae00);color:#503300;box-shadow:0 10px 24px rgba(255,190,0,.25)}
.app-frame{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:linear-gradient(180deg,#f7fbff,#eef6ff);border-right:1px solid #dceaff;display:flex;flex-direction:column;gap:18px;z-index:20}.brand{background:linear-gradient(155deg,#60b8ff,#164ee4);color:#fff;padding:20px 10px;border-radius:24px;text-align:center;box-shadow:0 15px 35px rgba(30,92,197,.28);text-shadow:0 2px 0 rgba(0,0,0,.1)}.brand span,.brand strong,.brand em{display:block}.brand span{font-size:1.25rem;font-weight:1000}.brand strong{font-size:1.75rem;color:#ffd72f}.brand em{font-style:normal;background:#183d98;border-radius:9px;padding:5px;margin-top:7px;font-weight:900;letter-spacing:.08em}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;font-weight:800;color:#29416d}.sidebar nav a span{font-size:1.25rem}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(135deg,var(--blue),#3a8cff);color:#fff;box-shadow:0 10px 25px rgba(23,105,232,.23)}.player-mini{padding:14px;border-radius:18px;text-align:center;margin-top:auto}.player-mini img{width:72px;height:72px;object-fit:cover;border-radius:50%;margin:-42px auto 8px;border:5px solid #fff;box-shadow:0 5px 18px rgba(0,0,0,.15)}.player-mini small,.player-mini strong,.player-mini span{display:block}.player-mini strong{font-size:1.1rem}.player-mini span{font-weight:900;color:var(--blue);margin:6px}.mini-progress,.wide-progress,.unit-progress,.race-progress{height:9px;background:#dfeafa;border-radius:999px;overflow:hidden}.mini-progress i,.wide-progress i,.unit-progress i,.race-progress i{display:block;height:100%;background:linear-gradient(90deg,#35bc6d,#8bdd67);border-radius:inherit}.wallet-mini{display:flex;justify-content:space-around;font-weight:900;background:#fff;border-radius:15px;padding:11px;box-shadow:0 8px 18px rgba(37,75,135,.08)}.sound-toggle{border:0;background:#e3efff;color:#23467c;border-radius:14px;padding:10px;font-weight:800}.main-area{min-width:0}.topbar{height:85px;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #e0ecfa;position:sticky;top:0;z-index:15}.welcome{display:flex;align-items:center;gap:12px}.welcome>span{font-size:2rem}.welcome strong,.welcome small{display:block}.welcome small{color:var(--muted);margin-top:3px}.top-stats{display:flex;align-items:center;gap:10px}.top-stats>span{display:grid;grid-template-columns:auto auto;column-gap:7px;align-items:center;background:#f4f8ff;border:1px solid #dbe8f9;border-radius:15px;padding:9px 12px}.top-stats b{font-size:1.05rem}.top-stats small{grid-column:2;color:var(--muted);font-size:.7rem}.mobile-menu{display:none}.page-content{padding:24px 28px 45px;max-width:1650px;margin:auto}
.game-hero{height:450px;border-radius:30px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:#9bd8ff}.game-hero>img{width:100%;height:100%;object-fit:cover}.game-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,82,.9) 0%,rgba(3,31,82,.48) 38%,transparent 68%)}.hero-overlay{position:absolute;z-index:2;left:52px;top:55px;color:#fff;max-width:520px}.hero-overlay .eyebrow{color:#ffe37b}.hero-overlay h1{font-size:3.7rem;line-height:1;margin:8px 0 18px;text-shadow:0 4px 12px rgba(0,0,0,.3)}.hero-overlay h1 em{font-style:normal;color:#ffe35b}.hero-overlay p{font-size:1.15rem;line-height:1.6;max-width:470px}.hero-buttons{display:flex;gap:12px;margin-top:22px}.hero-dashboard{position:absolute;z-index:3;right:30px;bottom:25px;display:flex;background:rgba(255,255,255,.92);border-radius:19px;padding:12px 18px;gap:20px;box-shadow:0 12px 30px rgba(0,0,0,.16)}.hero-dashboard span{font-size:.78rem;color:var(--muted);text-align:center}.hero-dashboard b{display:block;color:var(--ink);font-size:1.25rem}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:32px 0 18px}.section-heading h2{font-size:2rem;margin:5px 0 0}.section-heading>a{color:var(--blue);font-weight:900}.unit-world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.unit-world-card{height:330px;border-radius:25px;background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow);transition:.25s}.unit-world-card:hover{transform:translateY(-6px)}.unit-card-top{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between}.unit-card-top span{background:var(--unit);border-radius:999px;padding:7px 12px;font-weight:1000}.unit-card-top b{background:rgba(8,25,62,.66);backdrop-filter:blur(8px);border-radius:999px;padding:7px 11px}.unit-card-copy{position:absolute;left:22px;right:22px;bottom:18px}.unit-card-copy h3{font-size:1.65rem;margin:0}.unit-card-copy p{margin:6px 0 12px;color:#e7f1ff}.unit-card-copy small{display:block;margin:7px 0 11px}.unit-card-copy a,.unit-card-copy button{display:inline-block;border:0;background:#fff;color:#123e79;border-radius:12px;padding:10px 15px;font-weight:1000}.unit-world-card.locked{filter:grayscale(.35)}.unit-world-card.locked button{opacity:.7}.home-lower-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;margin-top:22px}.continue-card,.daily-card{border-radius:22px;padding:17px;display:flex;align-items:center;gap:18px}.continue-thumb{width:160px;height:95px;background-size:cover;background-position:center;border-radius:16px;display:grid;place-items:center}.continue-thumb span{font-size:2.7rem}.continue-card>div:nth-child(2){flex:1}.continue-card h3,.daily-card h3{margin:4px 0}.continue-card p,.daily-card p{color:var(--muted);margin:4px 0 10px}.daily-icon{font-size:3rem}.page-banner{min-height:230px;border-radius:28px;padding:42px;color:#fff;background-size:cover;background-position:center;box-shadow:var(--shadow)}.page-banner h1{font-size:3rem;margin:7px 0}.page-banner p{font-size:1.1rem}.units-page{margin-top:22px}.unit-hero,.lesson-hero{min-height:330px;border-radius:28px;padding:36px;color:#fff;background-size:cover;background-position:center;box-shadow:var(--shadow);position:relative}.unit-hero>a,.lesson-hero>a{display:inline-block;color:#fff;background:rgba(255,255,255,.18);padding:8px 12px;border-radius:12px}.unit-hero .eyebrow,.lesson-hero .eyebrow{display:block;color:#ffe465;margin-top:35px}.unit-hero h1,.lesson-hero h1{font-size:3.2rem;margin:6px 0 10px}.unit-hero p,.lesson-hero p{font-size:1.1rem;max-width:650px}.unit-hero-progress{display:flex;align-items:center;gap:12px;margin-top:25px}.unit-hero-progress>div{width:300px;height:11px;background:rgba(255,255,255,.27);border-radius:999px;overflow:hidden}.unit-hero-progress i{display:block;height:100%;background:#7ae070}.lesson-list{display:grid;gap:15px}.lesson-row-card{display:grid;grid-template-columns:46px 120px 1fr minmax(300px,1fr) 44px;align-items:center;gap:15px;background:#fff;border:1px solid #e0ebf8;border-radius:22px;padding:14px;box-shadow:0 12px 30px rgba(33,77,138,.09)}.lesson-row-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#43a0ff);color:#fff;font-weight:1000}.lesson-row-image{height:92px;border-radius:15px;background-size:cover;background-position:center}.lesson-row-copy span{color:var(--blue);font-weight:900;font-size:.75rem}.lesson-row-copy h3{margin:4px 0}.lesson-row-copy p{color:var(--muted);margin:4px 0 9px}.lesson-row-games{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-row-games a{background:#f2f7ff;border:1px solid #dce9fa;border-radius:14px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:5px}.lesson-row-games a span{font-size:1.7rem;grid-row:1/3}.lesson-row-games a b{font-size:.86rem}.lesson-row-games a em{font-style:normal;color:var(--blue);font-size:.73rem}.round-arrow{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:1.4rem}.lesson-hero-stats{display:flex;gap:10px;margin-top:22px}.lesson-hero-stats span{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.25);padding:9px 13px;border-radius:12px;font-weight:800}.circular-progress,.big-ring{--p:0;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p)*1%),#e3edf8 0);position:relative}.circular-progress:after,.big-ring:after{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.circular-progress b,.big-ring b{position:relative;z-index:2}.game-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lesson-game-card{min-height:430px;border-radius:27px;background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow)}.game-card-badge{position:absolute;top:18px;left:18px;background:linear-gradient(135deg,var(--blue),#4ca6ff);padding:9px 13px;border-radius:13px;font-weight:1000}.game-card-content{position:absolute;left:26px;right:26px;bottom:23px}.game-type{color:#ffe273;font-weight:900}.game-card-content h3{font-size:2rem;margin:5px 0}.game-card-content p{color:#e8f0ff;line-height:1.5}.game-meta{display:flex;gap:8px;margin:14px 0}.game-meta span{background:rgba(255,255,255,.15);padding:7px 10px;border-radius:10px;font-size:.82rem}.lesson-reward{border-radius:22px;padding:18px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.lesson-reward>div:first-child{display:flex;align-items:center;gap:13px}.lesson-reward>div:first-child>span{font-size:3rem}.lesson-reward p{margin:4px 0;color:var(--muted)}.reward-items{display:flex;gap:10px}.reward-items span{background:#f4f8ff;border-radius:12px;padding:10px;font-weight:900;color:var(--blue)}.tournament-banner{background:linear-gradient(90deg,#163d95,#3c84ff)}.tournament-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.tournament-card{min-height:430px;border-radius:28px;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:end;background-size:cover;background-position:center;box-shadow:var(--shadow)}.tournament-card>span{font-size:4rem}.tournament-card small{color:#ffe474;font-weight:900}.tournament-card h3{font-size:2.2rem;margin:8px 0}.tournament-card p{max-width:500px}.tournament-card>div{display:flex;gap:10px;margin:12px 0}.tournament-card>div b{background:rgba(255,255,255,.16);padding:9px 12px;border-radius:12px}.achievement-banner{background:linear-gradient(90deg,#5b41d3,#8f6cff)}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:22px}.achievement-card{background:#fff;border-radius:22px;padding:22px;text-align:center;box-shadow:0 12px 28px rgba(42,75,132,.09);border:1px solid #e1eaf8}.achievement-card>span{font-size:3.5rem}.achievement-card p{color:var(--muted)}.achievement-card b{color:var(--green)}.achievement-card.locked{filter:grayscale(1);opacity:.55}.progress-summary{border-radius:28px;background:linear-gradient(135deg,#1870ec,#55b6ff);color:#fff;padding:30px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.progress-summary h1{font-size:3rem;margin:6px 0}.big-ring{width:130px;height:130px}.summary-chips{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}.summary-chips span{background:rgba(255,255,255,.17);padding:10px 13px;border-radius:12px}.progress-list{display:grid;gap:13px;margin-top:20px}.progress-unit{border-radius:20px;padding:13px;display:grid;grid-template-columns:100px 1fr auto;gap:14px;align-items:center}.progress-unit img{height:75px;width:100px;object-fit:cover;border-radius:14px}.progress-unit h3{margin:3px 0}.progress-unit span{color:var(--blue);font-weight:900;font-size:.75rem}.progress-unit small{color:var(--muted)}.how-banner{background:linear-gradient(90deg,#0d60cf,#50aaff)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:22px}.guide-card{background:#fff;padding:24px;border-radius:22px;box-shadow:0 12px 28px rgba(36,74,134,.09)}.guide-card>span{font-size:3rem}.guide-card p{color:var(--muted);line-height:1.6}
/* Standalone game shell */
.standalone-game{min-height:100vh;background:radial-gradient(circle at top,#eaf7ff,#dcecff);padding:16px}.game-shell{max-width:1500px;margin:auto}.game-hud{height:78px;border-radius:23px;padding:12px 18px;display:flex;align-items:center;gap:15px;position:relative;z-index:20}.icon-btn{border:0;background:#e8f2ff;color:var(--blue);width:46px;height:46px;border-radius:50%;font-size:1.35rem;font-weight:1000}.game-hud-title{display:flex;align-items:center;gap:12px;flex:1}.game-hud-title strong,.game-hud-title small{display:block}.game-hud-title small{color:var(--muted);margin-top:3px}.game-icon{font-size:2.3rem}.hud-meters{display:flex;gap:9px}.hud-meters span{background:#f2f7ff;border-radius:13px;padding:10px 12px;font-weight:900}.game-stage{min-height:calc(100vh - 115px);margin-top:12px;border-radius:28px;overflow:hidden;position:relative}.game-toast{position:fixed;z-index:99;left:50%;top:90px;transform:translate(-50%,-25px);opacity:0;padding:12px 20px;border-radius:999px;color:#fff;font-weight:900;transition:.25s}.game-toast.show{opacity:1;transform:translate(-50%,0)}.game-toast.success{background:var(--green)}.game-toast.error{background:var(--red)}.question-modal{border-radius:22px;padding:20px;max-width:540px;margin:auto}.question-kicker{color:var(--blue);font-weight:900;text-transform:uppercase;font-size:.75rem}.question-modal h2{font-size:1.65rem;line-height:1.35}.question-options{display:grid;gap:9px}.answer-option{border:1px solid #d8e5f6;background:#fff;border-radius:14px;padding:12px;text-align:left;font-weight:850;color:var(--ink);display:flex;align-items:center;gap:10px}.answer-option>span{width:30px;height:30px;border-radius:50%;background:#edf4ff;display:grid;place-items:center;color:var(--blue)}.answer-option:hover{border-color:#6ba8f3;background:#f5f9ff}.answer-option.correct{background:#e9faef;border-color:#48bd73}.answer-option.wrong{background:#fff0f0;border-color:#ed6b70}.question-feedback{min-height:20px;color:var(--muted);font-weight:800}.game-result-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at center,#f9fdff,#ddecff)}.result-card{width:min(620px,92vw);border-radius:30px;padding:38px;text-align:center}.result-burst{font-size:5rem}.result-card h1{font-size:2.4rem}.result-score strong{font-size:4rem;color:var(--blue);display:block}.result-score span{font-size:2rem}.result-rewards{display:flex;justify-content:center;gap:12px;margin:20px}.result-rewards span{background:#eef5ff;border-radius:13px;padding:11px;font-weight:900}.result-actions{display:flex;justify-content:center;gap:10px}
/* Penalty */
.stadium-scene{min-height:720px;background:linear-gradient(#58b7ff 0 30%,#5fa853 30% 100%);position:relative;overflow:hidden;border-radius:28px}.stadium-scene:before{content:"";position:absolute;left:-5%;right:-5%;top:14%;height:210px;background:repeating-linear-gradient(90deg,#0d3775 0 40px,#153f84 40px 80px);clip-path:polygon(0 10%,100% 0,93% 100%,7% 100%);opacity:.92}.stadium-lights:before,.stadium-lights:after{content:"✦ ✦ ✦ ✦ ✦ ✦";position:absolute;top:12%;color:#fff;font-size:1.5rem;letter-spacing:26px}.stadium-lights:before{left:6%}.stadium-lights:after{right:4%}.scoreboard{position:absolute;top:25px;left:50%;transform:translateX(-50%);background:#09275d;color:#fff;padding:12px 22px;border-radius:14px;font-weight:1000;z-index:4}.scoreboard span{margin-left:25px}.goal-frame{position:absolute;left:50%;top:30%;transform:translateX(-50%);width:470px;height:250px;border:12px solid #fff;border-bottom-width:8px;z-index:3}.goal-net{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 32px,#ffffff55 33px 35px),repeating-linear-gradient(0deg,transparent 0 28px,#ffffff55 29px 31px)}.keeper{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-size:5rem;transition:.6s;z-index:2}.keeper.dive-left{transform:translateX(-170%) rotate(-25deg)}.keeper.dive-center{transform:translateX(-50%) translateY(-35px)}.keeper.dive-right{transform:translateX(70%) rotate(25deg)}.football-ball{position:absolute;left:50%;bottom:95px;transform:translateX(-50%);font-size:3.2rem;z-index:6;transition:.8s cubic-bezier(.2,.8,.2,1)}.football-ball.shoot-left{transform:translate(-225px,-300px) scale(.55)}.football-ball.shoot-center{transform:translate(-50%,-335px) scale(.55)}.football-ball.shoot-right{transform:translate(175px,-300px) scale(.55)}.penalty-player{position:absolute;left:35%;bottom:35px;font-size:6.5rem}.aim-controls{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:10px;z-index:10}.aim-controls button{border:0;background:#fff;color:var(--blue);border-radius:14px;padding:13px 20px;font-weight:1000}.mission-panel{position:absolute;right:28px;top:95px;width:430px;z-index:12}.shoot-ready{background:#fff;border-radius:20px;padding:20px;text-align:center;font-weight:1000;color:var(--blue)}
/* Racing */
.race-scene{min-height:720px;background:#86d3ff;border-radius:28px;position:relative;overflow:hidden}.race-sky{height:35%;background:linear-gradient(#71c7ff,#dff4ff)}.mountains{height:100%;background:linear-gradient(135deg,transparent 22%,#7db789 23% 40%,transparent 41%),linear-gradient(225deg,transparent 29%,#5d9d75 30% 47%,transparent 48%);background-size:420px 220px}.race-road{position:absolute;left:12%;right:12%;top:23%;bottom:-20%;background:linear-gradient(90deg,#4f5967 0 7%,#303a48 7% 93%,#4f5967 93%);clip-path:polygon(36% 0,64% 0,100% 100%,0 100%);overflow:hidden}.road-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 32%,#fff0 32% 33%,#fff 33% 34%,transparent 34% 66%,#fff 66% 67%,transparent 67%),repeating-linear-gradient(0deg,transparent 0 70px,#fff 70px 110px,transparent 110px 190px);animation:roadMove 1s linear infinite;opacity:.7}.nitro-on .road-lines{animation-duration:.28s}.race-car{position:absolute;bottom:48px;font-size:5.4rem;z-index:5;transition:.35s}.race-car.lane-0{left:24%}.race-car.lane-1{left:44%}.race-car.lane-2{left:64%}.rival-car{position:absolute;top:24%;left:49%;font-size:2.5rem;animation:rival 5s linear infinite}.road-obstacle{position:absolute;top:42%;left:31%;font-size:2rem;animation:obstacle 4.8s linear infinite}.race-dashboard{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:min(680px,90%);padding:12px 18px;border-radius:17px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;z-index:9}.race-controls{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:10}.race-controls button{border:0;border-radius:16px;padding:14px 22px;background:#fff;color:var(--blue);font-weight:1000}.race-question{position:absolute;right:24px;top:105px;width:440px;z-index:12}.race-bump{animation:bump .45s}.race-scene.nitro-on{filter:saturate(1.25)}@keyframes roadMove{to{background-position:0 190px}}@keyframes rival{from{transform:translateY(0)}to{transform:translateY(500px) scale(1.8)}}@keyframes obstacle{from{transform:translateY(0)}to{transform:translateY(500px) scale(1.5)}}@keyframes bump{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
/* Runner */
.runner-scene{min-height:720px;border-radius:28px;background:linear-gradient(#8ed4ff 0 45%,#7ccb67 45%);position:relative;overflow:hidden}.runner-world{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 32%,rgba(255,255,255,.24) 32% 34%,transparent 34% 66%,rgba(255,255,255,.24) 66% 68%,transparent 68%)}.runner-avatar{position:absolute;bottom:60px;font-size:5rem;z-index:4;transition:.35s}.runner-avatar.lane-0{left:16%}.runner-avatar.lane-1{left:46%}.runner-avatar.lane-2{left:76%}.runner-avatar.jumping{transform:translateY(-80px) rotate(-8deg)}.gate-row{position:absolute;top:34%;left:3%;right:3%;display:grid;grid-template-columns:repeat(3,1fr);gap:3%}.answer-gate{height:210px;border:8px solid #fff;border-bottom:25px solid #fff;background:linear-gradient(180deg,#1769e8cc,#0b3f9ecc);color:#fff;border-radius:24px 24px 6px 6px;font-weight:1000;padding:12px}.answer-gate b{display:block;font-size:2.2rem}.answer-gate span{font-size:1.1rem}.answer-gate.passed{background:#33b86dcc}.answer-gate.crash{background:#df545acc}.runner-prompt{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:min(700px,90%);padding:15px;border-radius:18px;text-align:center}.runner-prompt h2{margin:5px}.runner-controls{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.runner-controls button{border:0;border-radius:15px;padding:14px 23px;background:#fff;color:var(--blue);font-weight:1000}
/* Phonics */
.phonics-scene{min-height:720px;border-radius:28px;background:radial-gradient(circle at top,#b7e9ff,#458ce9);position:relative;overflow:hidden}.phonics-arena{position:absolute;inset:0}.phonics-banner{position:absolute;z-index:5;left:22px;top:22px;padding:15px 22px;border-radius:18px}.phonics-banner h2{margin:4px 0}.falling-word{position:absolute;top:-80px;border:0;background:#fff;color:#174f9f;padding:13px 18px;border-radius:999px;font-weight:1000;font-size:1.1rem;box-shadow:0 10px 25px rgba(0,0,0,.15);animation:fallWord linear forwards;z-index:4}.falling-word:hover{transform:scale(1.08)}.phonics-meter{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);background:#082f71;color:#fff;border-radius:16px;padding:13px 22px;font-weight:1000}.phonics-meter span{margin-left:25px}@keyframes fallWord{to{transform:translateY(780px) rotate(15deg)}}
/* Dialogue */
.dialogue-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#f5fbff,#dbeeff);padding:25px;display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.dialogue-characters{border-radius:25px;background:url('../assets/images/lesson-banner.jpg') center/cover;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:end;padding:25px}.speaker{text-align:center;font-size:7rem}.speaker span{display:block;background:#fff;padding:7px;border-radius:12px;font-size:1rem}.speech-stage{min-height:250px}.dialogue-board{border-radius:22px;padding:22px;overflow:auto}.sortable-lines{display:grid;gap:9px;margin:15px 0}.sortable-line{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;background:#f4f8ff;border:1px solid #dce8f8;border-radius:14px;padding:10px}.sortable-line>span{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.sortable-line p{margin:0}.sortable-line button,.story-chip button,.timeline-task button{border:0;background:#e6f0ff;border-radius:8px;color:var(--blue);font-weight:1000}
/* Memory */
.memory-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#f6fbff,#d7eaff);padding:30px;position:relative}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1050px;margin:65px auto}.memory-card{height:145px;border:0;border-radius:20px;position:relative;transform-style:preserve-3d;transition:.55s;background:none}.memory-card.open,.memory-card.matched{transform:rotateY(180deg)}.memory-card span{position:absolute;inset:0;border-radius:20px;display:grid;place-items:center;padding:15px;backface-visibility:hidden;box-shadow:var(--shadow)}.card-back{background:linear-gradient(135deg,var(--blue),#5bb5ff);color:#fff;font-size:3rem}.card-front{background:#fff;color:var(--ink);transform:rotateY(180deg);font-weight:900}.memory-card.matched .card-front{background:#e9faef;border:2px solid #55c57e}.memory-status{position:absolute;top:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:16px}
/* Detective */
.detective-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#1d385c,#10243f);padding:30px;display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.detective-office{border-radius:25px;background:linear-gradient(#b88654,#7b4e2a);position:relative;padding:30px}.detective-avatar{font-size:8rem;position:absolute;bottom:15px;left:20px}.evidence-board{margin-left:180px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.evidence-card{background:#f5deb7;border:8px solid #6e4524;border-radius:8px;padding:18px;text-align:center;min-height:210px;box-shadow:0 8px 18px rgba(0,0,0,.25)}.evidence-card span{font-size:4.5rem;display:block}.detective-case{border-radius:23px;padding:22px;align-self:center}
/* Story */
.story-scene{min-height:720px;border-radius:28px;background:linear-gradient(#8ed5ff,#eaf7ff);padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.story-map{position:relative;border-radius:25px;background:linear-gradient(135deg,#76bb69,#d0e998);overflow:hidden;min-height:630px}.story-map:before{content:"";position:absolute;left:9%;right:9%;top:50%;height:16px;background:#f2d18f;border-radius:999px;transform:rotate(-8deg)}.story-location{position:absolute;left:calc(10% + var(--i)*18%);top:calc(18% + (var(--i)%2)*35%);text-align:center}.story-location span{display:grid;place-items:center;width:85px;height:85px;background:#fff;border-radius:50%;font-size:3rem;box-shadow:0 10px 22px rgba(0,0,0,.17)}.story-location small{display:block;background:#173f86;color:#fff;border-radius:999px;padding:5px;margin-top:5px}.story-panel{padding:22px;border-radius:23px;overflow:auto}.story-sort{display:grid;gap:9px;margin:15px 0}.story-chip{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;background:#f4f8ff;border:1px solid #dbe8f9;border-radius:14px;padding:11px}.story-chip>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff}
/* Maze */
.maze-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#c6edff,#eefbff);padding:25px;display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.maze-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:8px;background:#164f8f;padding:12px;border-radius:24px;min-height:630px}.maze-cell{background:#0d315d;border-radius:14px;display:grid;place-items:center;font-size:2rem;border:4px solid #0b2647}.maze-cell.path{background:#e9c47b;border-color:#d6aa55}.maze-cell.player{background:#fff;box-shadow:0 0 0 6px #62c6ff}.maze-cell.goal{background:#ffe16b}.maze-side{border-radius:23px;padding:22px}.maze-controls{text-align:center;margin-top:18px}.maze-controls button{border:0;background:var(--blue);color:#fff;border-radius:13px;width:54px;height:48px;margin:4px;font-weight:1000}.maze-ready{padding:20px;background:#edf5ff;border-radius:14px;text-align:center;font-weight:900;color:var(--blue)}
/* Builder */
.builder-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#dff3ff,#fff3d0);display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:25px}.builder-world{border-radius:25px;background:linear-gradient(#86cfff 0 55%,#7fc56b 55%);position:relative}.construction-zone{position:absolute;inset:0}.builder-avatar{position:absolute;bottom:30px;left:35px;font-size:7rem}.build-structure{position:absolute;right:50px;bottom:85px;display:grid;grid-template-columns:repeat(3,85px);gap:9px}.structure-block{height:70px;background:#d8a152;border:5px solid #a87332;border-radius:8px;opacity:.25;transform:translateY(30px);transition:.45s}.structure-block.built{opacity:1;transform:translateY(0)}.builder-panel{border-radius:23px;padding:22px}.builder-slots,.builder-bank{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.build-slot{min-width:110px;min-height:58px;border:2px dashed #89a8cf;background:#f8fbff;border-radius:13px;font-weight:900;color:#789}.build-slot.filled{border-style:solid;background:#e8f8ee;color:#174f36}.word-brick{border:0;background:linear-gradient(135deg,var(--blue),#5bb3ff);color:#fff;border-radius:13px;padding:13px 17px;font-weight:1000}.word-brick.selected{outline:5px solid #ffdb4f}
/* Simulation */
.sim-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#e5f6ff,#eef7d8);padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.sim-world{border-radius:25px;background:url('../assets/images/question-scene.jpg') center/cover;position:relative}.sim-clock{position:absolute;top:18px;left:18px;background:#fff;border-radius:14px;padding:10px 14px;font-weight:1000}.sim-avatar{position:absolute;left:35px;bottom:30px;font-size:7rem}.sim-location{position:absolute;right:55px;bottom:50px;font-size:8rem}.sim-panel{border-radius:23px;padding:22px}.sim-timeline{display:grid;gap:9px;margin:15px 0}.timeline-task{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:9px;background:#f4f8ff;border-radius:13px;padding:10px}.timeline-task>span{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:1000}
/* Puzzle */
.puzzle-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#ddeeff,#f8edff);padding:25px;display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.puzzle-picture{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#173f7b;border-radius:25px;padding:12px}.puzzle-tile{background:linear-gradient(135deg,#163d8b,#6d5de8);border-radius:14px;display:grid;place-items:center;min-height:190px;transition:.6s}.puzzle-tile span{font-size:5rem;filter:blur(18px);opacity:.15;transition:.6s}.puzzle-tile.revealed{background:#fff}.puzzle-tile.revealed span{filter:none;opacity:1;transform:scale(1.1)}.puzzle-question{border-radius:23px;padding:22px;align-self:center}
/* Football */
.football-scene{min-height:720px;border-radius:28px;background:linear-gradient(#6dc8ff 0 25%,#4ca34d 25%);padding:25px;display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.pitch{border:7px solid #fff;background:repeating-linear-gradient(90deg,#4da44e 0 80px,#57ad58 80px 160px);border-radius:25px;position:relative;min-height:660px}.pitch:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:5px solid #fff}.pitch:after{content:"";position:absolute;left:50%;top:50%;width:180px;height:180px;border:5px solid #fff;border-radius:50%;transform:translate(-50%,-50%)}.pitch-goal{position:absolute;right:0;top:35%;width:90px;height:180px;border:8px solid #fff;border-right:0}.teammate{position:absolute;border:0;background:none;font-size:5rem;z-index:3}.t1{left:15%;top:20%}.t2{left:52%;top:48%}.t3{left:23%;bottom:13%}.match-ball{position:absolute;left:45%;bottom:25px;font-size:3rem;transition:.65s;z-index:5}.match-ball.pass-left{transform:translate(-230px,-360px)}.match-ball.pass-center{transform:translate(45px,-250px)}.match-ball.pass-right{transform:translate(-145px,-90px)}.opponents{position:absolute;right:25%;top:35%;font-size:3rem}.football-question{border-radius:23px;padding:20px;align-self:center}
/* Tournament */
.tournament-scene{min-height:720px;border-radius:28px;background:linear-gradient(135deg,#dbefff,#fff2cb);padding:25px}.tournament-path{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.tour-stop{background:#fff;border:1px solid #dce8f7;border-radius:20px;padding:16px;text-align:center;opacity:.55}.tour-stop.active{opacity:1;transform:translateY(-5px);box-shadow:0 15px 30px rgba(30,90,180,.18);border-color:#5ba4fa}.tour-stop span{font-size:3rem;display:block}.tour-stop b{display:block}.tournament-arena{max-width:700px;margin:40px auto;border-radius:25px;padding:25px}
@media(max-width:1200px){.app-frame{grid-template-columns:210px 1fr}.unit-world-grid{grid-template-columns:repeat(2,1fr)}.top-stats span:nth-child(3),.top-stats span:nth-child(4){display:none}.lesson-row-card{grid-template-columns:42px 100px 1fr 250px 40px}.achievement-grid{grid-template-columns:repeat(3,1fr)}.game-hero{height:400px}.hero-overlay h1{font-size:3rem}.race-question,.mission-panel{width:380px}.dialogue-scene,.story-scene,.detective-scene,.builder-scene,.sim-scene,.puzzle-scene,.football-scene{grid-template-columns:1fr}}
@media(max-width:850px){.app-frame{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:.25s;box-shadow:0 0 35px rgba(0,0,0,.25)}.sidebar.open{left:0}.mobile-menu{display:block;border:0;background:#e9f2ff;color:var(--blue);width:44px;height:44px;border-radius:12px}.welcome{display:none}.topbar{padding:12px 16px}.top-stats>span{padding:7px 9px}.page-content{padding:16px}.game-hero{height:520px}.game-hero:after{background:linear-gradient(0deg,rgba(3,31,82,.93),rgba(3,31,82,.15))}.hero-overlay{left:24px;right:24px;top:auto;bottom:80px}.hero-overlay h1{font-size:2.5rem}.hero-dashboard{left:18px;right:18px;bottom:14px;justify-content:space-around}.unit-world-grid,.game-card-grid,.tournament-grid,.home-lower-grid{grid-template-columns:1fr}.unit-world-card{height:360px}.lesson-row-card{grid-template-columns:42px 80px 1fr 40px}.lesson-row-games{grid-column:2/5}.lesson-row-card .round-arrow{grid-column:5}.unit-hero h1,.lesson-hero h1{font-size:2.5rem}.lesson-reward{display:grid;gap:15px}.achievement-grid,.guide-grid{grid-template-columns:repeat(2,1fr)}.standalone-game{padding:6px}.game-hud{height:auto;flex-wrap:wrap}.hud-meters{width:100%;justify-content:center}.game-stage{min-height:820px}.stadium-scene,.race-scene,.runner-scene,.phonics-scene,.memory-scene,.dialogue-scene,.story-scene,.detective-scene,.maze-scene,.builder-scene,.sim-scene,.puzzle-scene,.football-scene,.tournament-scene{min-height:820px}.mission-panel,.race-question{left:15px;right:15px;top:auto;bottom:110px;width:auto}.goal-frame{width:310px;height:190px}.penalty-player{left:12%;font-size:5rem}.football-ball{bottom:105px}.aim-controls{bottom:28px}.dialogue-scene,.story-scene,.detective-scene,.maze-scene,.builder-scene,.sim-scene,.puzzle-scene,.football-scene{display:block;overflow:auto}.dialogue-characters,.story-map,.detective-office,.maze-grid,.builder-world,.sim-world,.puzzle-picture,.pitch{min-height:430px;margin-bottom:15px}.memory-grid{grid-template-columns:repeat(3,1fr)}.race-road{left:2%;right:2%}.race-dashboard{top:12px}.runner-prompt{top:12px}.tournament-path{grid-template-columns:1fr}.tour-stop{display:flex;align-items:center;gap:12px}.tour-stop span{font-size:2rem}.evidence-board{margin-left:90px}.evidence-card{min-height:150px}.story-location{left:calc(6% + var(--i)*18%)} }
@media(max-width:560px){.top-stats span:nth-child(2){display:none}.game-hero{height:560px}.hero-overlay h1{font-size:2.15rem}.hero-buttons{flex-direction:column;align-items:flex-start}.hero-dashboard{font-size:.75rem}.section-heading h2{font-size:1.5rem}.unit-world-card{height:320px}.lesson-row-card{grid-template-columns:38px 65px 1fr}.lesson-row-card .round-arrow{display:none}.lesson-row-games{grid-column:1/4}.lesson-hero-stats{flex-wrap:wrap}.achievement-grid,.guide-grid{grid-template-columns:1fr}.progress-unit{grid-template-columns:75px 1fr}.progress-unit>a{grid-column:2}.memory-grid{grid-template-columns:repeat(2,1fr);margin-top:80px}.memory-card{height:120px}.question-modal{padding:14px}.question-modal h2{font-size:1.25rem}.game-hud-title small{display:none}.hud-meters span{padding:7px}.stadium-scene,.race-scene,.runner-scene,.phonics-scene{min-height:760px}.scoreboard{font-size:.8rem}.goal-frame{width:250px;height:160px}.keeper{font-size:3.8rem}.football-ball{font-size:2.6rem}.aim-controls button{padding:10px}.race-controls{bottom:15px}.race-question{bottom:90px}.answer-gate{height:180px;padding:5px}.answer-gate span{font-size:.82rem}.falling-word{font-size:.9rem}.lesson-row-games a{font-size:.78rem}}


/* Primary 1 accessibility and phonics audio additions */
button,a{touch-action:manipulation}.answer-option{min-height:62px;font-size:1.05rem}.question-modal h2{font-size:clamp(1.35rem,3vw,1.9rem)}
.listen-question,.hear-target{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,#ffe85c,#ffbd32);color:#173c73;font-weight:1000;box-shadow:0 8px 18px rgba(255,178,33,.3);margin:4px 0 13px}
.falling-word{min-width:120px;min-height:58px;font-size:1.05rem}.falling-word span{font-size:1.5rem;margin-right:7px}.phonics-banner p{margin:8px 0 0;color:#496587}
@media(max-width:700px){.answer-option{min-height:58px;font-size:1rem}.hear-target,.listen-question{width:100%}.phonics-scene{min-height:660px}.falling-word{min-width:105px}}
.portal-return-actions { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 8px; }
.portal-return-actions a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 1px solid rgba(45, 111, 225, .2); border-radius: 12px; color: #1851a1; background: rgba(255, 255, 255, .9); box-shadow: 0 6px 14px rgba(40, 88, 160, .1); font-size: 11px; font-weight: 900; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.portal-return-actions a:hover { transform: translateY(-2px); background: #eaf3ff; }
@media (max-width: 760px) { .portal-return-actions { position: static; transform: none; order: 3; width: 100%; margin-top: 8px; } .portal-return-actions a { flex: 1; justify-content: center; padding: 9px 10px; font-size: 10px; } }
