:root{--navy:#07345b;--blue:#0877c9;--blue2:#0ba7e8;--ink:#0f2740;--muted:#61788d;--line:#d7e7f1;--paper:#f4fbff;--green:#27b363;--yellow:#ffd83d;--danger:#c73535;--shadow:0 14px 40px rgba(7,52,91,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#eefaff,#f9fcff);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,select{font:inherit}.app-shell{width:min(1180px,calc(100% - 34px));margin:auto}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(7,52,91,.1)}.brand{display:flex;gap:10px;align-items:center;color:var(--navy);text-decoration:none}.brand-mark{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#051c2e,#0877c9);color:#ffdf41;border:3px solid #0b8de0;font-weight:1000}.brand span:last-child{display:grid}.brand small{color:var(--muted);font-size:.72rem}.nav{display:flex;align-items:center;gap:18px}.nav a{color:var(--navy);text-decoration:none;font-weight:800;font-size:.92rem}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer}.view{display:none;padding:52px 0}.view.active{display:block}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:900;color:var(--blue)}h1{font-size:clamp(3rem,7vw,5.9rem);line-height:.91;margin:13px 0 20px;letter-spacing:-.055em;color:var(--navy)}h1 span{color:var(--blue)}.hero-copy>p{max-width:630px;font-size:1.15rem;line-height:1.65;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{border:0;border-radius:15px;padding:14px 20px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:48px}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 9px 24px rgba(8,119,201,.26)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn.danger{color:var(--danger)}.btn.small{padding:10px 15px;min-height:42px}.btn:disabled{opacity:.42;cursor:not-allowed}.feature-chips{display:flex;gap:8px;flex-wrap:wrap}.feature-chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:800;color:var(--muted)}.origin-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:14px;box-shadow:var(--shadow);transform:rotate(1deg)}.origin-card img{display:block;width:100%;border-radius:20px}.hero-art-card img{aspect-ratio:16/9;object-fit:cover}.origin-label{font-weight:900;margin:7px 5px 12px}.origin-card p{font-size:.86rem;color:var(--muted);margin:10px 6px}.power-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px}.power-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:21px;box-shadow:0 8px 28px rgba(7,52,91,.05)}.power-icon{font-size:2.25rem}.power-grid h3{margin:12px 0 7px}.power-grid p{margin:0;color:var(--muted);line-height:1.5}.story-card{margin-top:24px;padding:30px;border-radius:25px;background:linear-gradient(135deg,#052c4b,#075c98);color:white;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.story-card .eyebrow{color:#79d7ff}.story-card h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:8px 0}.story-card p{line-height:1.7;color:#d8efff}.map-head,.game-head,.progress-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.map-head h2,.game-head h2,.progress-hero h2{font-size:2.6rem;margin:5px 0 0;color:var(--navy)}.map-head p,.progress-hero p{color:var(--muted)}.map-score{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 16px;font-weight:900}.world-map{display:grid;gap:12px;margin-top:28px}.world-card{display:grid;grid-template-columns:58px 112px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:18px;box-shadow:0 10px 34px rgba(7,52,91,.06);position:relative;overflow:hidden}.world-card.mastered{border-color:#8bd9aa}.world-card.locked{opacity:.62}.world-number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:1000;background:#eff8fe;color:var(--blue)}.world-art{height:88px;border-radius:20px;display:grid;place-items:center;font-size:3rem;background:linear-gradient(135deg,#e6f7ff,#cceeff)}.world-art.reef{background:linear-gradient(135deg,#fff1dd,#c9f7ee)}.world-art.islands{background:linear-gradient(135deg,#e4fff1,#d6efff)}.world-copy h3{font-size:1.45rem;margin:5px 0}.world-copy p{margin:0;color:var(--muted)}.world-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.world-meta span{font-size:.76rem;padding:5px 8px;border-radius:999px;background:#f1f7fb;color:var(--muted);font-weight:800}.map-route{text-align:center;color:#a2bccf;font-weight:1000;letter-spacing:.4em}.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:.84rem;font-weight:800}.mission-type{margin-top:6px;display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f6ff;color:var(--blue);font-weight:900;font-size:.75rem}.stat-row{display:flex;gap:9px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 13px;display:grid;grid-template-columns:auto auto;column-gap:5px;align-items:center}.stat small{grid-column:1/-1;color:var(--muted);font-size:.68rem}.setup-panel{display:flex;gap:15px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;margin:20px 0}.setup-panel>div{display:grid;gap:6px;min-width:180px}.setup-panel label{font-size:.78rem;font-weight:900;color:var(--muted)}select{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;color:var(--ink);min-height:48px}.game-layout{display:grid;grid-template-columns:1.55fr .65fr;gap:18px}.stage-card,.meter-card,.challenge-card,.mastery-card,.parent-card{background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 9px 32px rgba(7,52,91,.06)}.sky{position:relative;min-height:440px;overflow:hidden;background:linear-gradient(#91dcff 0 58%,#0e8cd0 58% 100%);transition:background .5s}.sky[data-world="add"]{background:linear-gradient(#bce9ff 0 58%,#17a0db 58% 100%)}.sky[data-world="mul"]{background:linear-gradient(#bdf3ee 0 58%,#1a88b6 58% 100%)}.sky[data-world="div"]{background:linear-gradient(#d5f2ff 0 58%,#197fc5 58% 100%)}.sun{position:absolute;right:8%;top:8%;width:68px;height:68px;border-radius:50%;background:#ffe139;box-shadow:0 0 0 14px rgba(255,225,57,.15)}.cloud{position:absolute;width:105px;height:34px;border-radius:999px;background:white;opacity:.8}.cloud:before,.cloud:after{content:"";position:absolute;background:white;border-radius:50%}.cloud:before{width:46px;height:46px;left:17px;bottom:0}.cloud:after{width:62px;height:62px;right:9px;bottom:0}.c1{left:8%;top:12%}.c2{left:42%;top:20%;transform:scale(.65)}.island{position:absolute;left:8%;top:49%;width:190px;height:90px}.sand{position:absolute;bottom:0;width:190px;height:72px;background:#f6a72d;border-radius:100% 100% 25% 25% / 100% 100% 35% 35%}.palm{position:absolute;font-size:72px;left:52px;top:-52px;z-index:2}.agator-portrait{position:absolute;right:5%;top:22%;width:240px;height:265px;z-index:4;overflow:visible;transition:transform .5s;filter:drop-shadow(0 12px 16px rgba(0,42,80,.22))}.agator-portrait img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.agator-portrait.powering{animation:heroPulse .72s ease}.water-power{position:absolute;right:26%;top:44%;z-index:5;font-size:54px;opacity:0;transform:scale(.5);transition:.45s}.water-power.show{opacity:1;transform:scale(1);animation:powerBurst .8s ease}.ocean{position:absolute;left:0;right:0;bottom:0;height:43%;background:linear-gradient(#148ed1,#056aa8);transition:height .8s ease}.wave-line{position:absolute;left:-5%;width:110%;height:35px;border-radius:50%;border-top:7px solid rgba(255,255,255,.8);animation:waveDrift 3.4s ease-in-out infinite}.w1{top:0}.w2{top:60px;opacity:.55;animation-delay:.4s}.w3{top:120px;opacity:.38;animation-delay:.8s}.mission-banner{position:absolute;left:20px;right:20px;bottom:18px;z-index:8;background:rgba(255,255,255,.94);border-radius:15px;padding:12px;text-align:center;font-weight:900;color:var(--navy)}.villages{position:absolute;left:30%;top:51%;font-size:35px;z-index:3}.boss-badge{position:absolute;left:20px;top:18px;z-index:9;background:#3a1f57;color:#fff2a6;border:2px solid #ffd83d;border-radius:999px;padding:8px 12px;font-weight:1000;font-size:.78rem;letter-spacing:.08em}.hidden{display:none!important}.meter-card{padding:23px}.meter-card h3{font-size:1.7rem;margin:8px 0}.meter-card p{color:var(--muted);line-height:1.5}.meter-labels,.target-row{display:flex;justify-content:space-between;margin-top:25px;align-items:center}.meter-labels span,.target-row span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted)}.meter-track{height:26px;background:#e8f4fa;border-radius:999px;overflow:hidden;margin-top:9px}.meter-fill{height:100%;width:100%;background:linear-gradient(90deg,#0ba7e8,#0877c9);transition:width .8s}.mission-progress{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.mission-progress span{width:16px;height:16px;border-radius:50%;background:#dbeaf3}.mission-progress span.done{background:var(--green)}.mission-progress span.current{background:var(--yellow);outline:3px solid rgba(255,216,61,.25)}.mission-progress span.boss-dot{border:2px solid #6b438b}.reward-panel{margin-top:22px;padding:12px;border-radius:15px;background:#f4faff;display:grid;gap:3px}.reward-panel span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.challenge-card{padding:24px;margin-top:18px}.challenge-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.equation{font-size:clamp(2.2rem,6vw,4rem);font-weight:1000;letter-spacing:.02em;margin-top:6px}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.answer-btn{min-height:74px;border:2px solid #cfe3f1;background:#f8fcff;border-radius:18px;color:var(--navy);font-size:1.75rem;font-weight:1000;cursor:pointer;transition:.18s}.answer-btn:hover{transform:translateY(-2px);border-color:#8cc8ee}.answer-btn.wrong{opacity:.35}.answer-btn.correct{border-color:var(--green);background:#eefbf3}.feedback{margin-top:15px;background:#f5faff;border:1px solid var(--line);border-radius:15px;padding:14px;min-height:55px;color:var(--ink)}.challenge-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.progress-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:4px}.progress-grid span{font-size:2rem}.progress-grid strong{font-size:2.2rem;color:var(--navy)}.progress-grid small{color:var(--muted);font-weight:800}.progress-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.mastery-card{padding:24px}.mastery-row{display:grid;grid-template-columns:145px 1fr 48px;align-items:center;gap:12px;margin:15px 0}.mastery-track{height:14px;border-radius:999px;background:#e5f1f8;overflow:hidden}.mastery-fill{height:100%;background:linear-gradient(90deg,#0ca7e8,#27b363);border-radius:999px}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.badge{border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:4px}.badge span{font-size:1.7rem}.badge small{color:var(--muted)}.badge.locked{opacity:.48;filter:grayscale(.5)}.badge.earned{background:#f5fff8;border-color:#a9dfbc}.parent-card{margin-top:18px;padding:24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.parent-card h3{font-size:1.6rem;margin:7px 0}.parent-card p{color:var(--muted)}.parent-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.parent-summary>div{border-radius:16px;background:#f5faff;padding:15px;display:grid}.parent-summary strong{font-size:1.7rem;color:var(--navy)}.parent-summary span{font-size:.78rem;color:var(--muted);font-weight:800}.reward-toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#062f51;color:#fff;border:2px solid #ffd83d;border-radius:18px;padding:14px 18px;font-weight:900;box-shadow:var(--shadow);transform:translateY(130%);opacity:0;transition:.35s}.reward-toast.show{transform:translateY(0);opacity:1}footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;gap:20px}footer p{margin:0}@keyframes heroPulse{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-3deg) scale(1.04)}}@keyframes powerBurst{0%{transform:scale(.3) translateX(30px)}60%{transform:scale(1.15) translateX(-8px)}100%{transform:scale(1) translateX(0)}}@keyframes waveDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}@media(max-width:900px){.hero-grid,.game-layout,.story-card,.progress-layout,.parent-card{grid-template-columns:1fr}.hero-grid{gap:26px}.origin-card{transform:none}.power-grid,.progress-grid{grid-template-columns:repeat(2,1fr)}.setup-panel{align-items:stretch;flex-wrap:wrap}.setup-panel>div{flex:1}.setup-panel .btn{width:100%}.game-head,.map-head{align-items:flex-start;flex-direction:column}.sky{min-height:390px}.meter-card{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.meter-card .mission-progress,.meter-card .reward-panel{grid-column:1/-1}.nav a{display:none}.world-card{grid-template-columns:48px 90px 1fr}.world-card>.btn{grid-column:2/-1}.parent-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.app-shell{width:min(100% - 24px,1180px)}.view{padding:32px 0}.brand small{display:none}.power-grid,.progress-grid,.badge-grid,.parent-summary{grid-template-columns:1fr}.answer-grid{grid-template-columns:repeat(2,1fr)}.challenge-top{align-items:flex-start;flex-direction:column}.stat-row{width:100%;overflow:auto}.stat{min-width:92px}.meter-card{grid-template-columns:1fr}.meter-card .mission-progress,.meter-card .reward-panel{grid-column:auto}.sky{min-height:350px}.agator-portrait{width:150px;height:175px;right:2%;top:29%}.agator-portrait img{width:100%;height:100%;object-fit:contain;transform:none}.island{transform:scale(.78);transform-origin:left center}.mission-banner{font-size:.78rem}.progress-hero{align-items:flex-start;flex-direction:column}.mastery-row{grid-template-columns:110px 1fr 38px}footer{flex-direction:column}.hero-copy>p{font-size:1rem}.world-card{grid-template-columns:42px 1fr}.world-art{grid-column:1/-1;height:100px}.world-copy{grid-column:1/-1}.world-card>.btn{grid-column:1/-1}.world-number{width:40px;height:40px}}

/* Phase 4: immersive game hub */
.game-hub{padding:18px 0 44px}.game-hub.active{display:block}.hub-topbar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:12px}.hub-logo{font-size:clamp(1.75rem,4vw,3rem);font-weight:1000;letter-spacing:-.06em;transform:rotate(-2deg);white-space:nowrap;text-shadow:0 3px 0 #fff,0 5px 0 rgba(7,52,91,.22)}.hub-logo span{color:#fff;-webkit-text-stroke:2px #0877c9}.hub-logo strong{color:#ffd329;-webkit-text-stroke:2px #07345b}.hub-nav{justify-self:center;background:linear-gradient(180deg,#168be1,#0966b6);padding:6px;border-radius:18px;display:flex;gap:4px;box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 8px 18px rgba(7,52,91,.16)}.hub-nav a,.hub-nav button{border:0;background:transparent;color:white;text-decoration:none;font-weight:900;border-radius:13px;min-height:46px;padding:0 14px;display:flex;gap:7px;align-items:center;cursor:pointer}.hub-nav .active,.hub-nav a:hover,.hub-nav button:hover{background:#063c70;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}.hub-star{background:#07345b;color:#fff;border-radius:18px;padding:10px 16px;font-size:1.25rem;font-weight:1000;box-shadow:0 8px 18px rgba(7,52,91,.18)}
.hub-scene{position:relative;min-height:610px;border-radius:30px;overflow:hidden;background:linear-gradient(#58bfff 0 35%,#26a9e7 35% 46%,#0b8ed2 46% 100%);border:1px solid #80caef;box-shadow:0 18px 50px rgba(7,52,91,.16)}.hub-scene:before{content:"";position:absolute;inset:43% 0 auto;height:18%;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent)}.hub-mountains{position:absolute;left:10%;right:13%;top:25%;height:120px;background:linear-gradient(140deg,transparent 0 12%,#5f9c85 12% 20%,transparent 20% 27%,#4c8a7c 27% 39%,transparent 39% 45%,#699f80 45% 57%,transparent 57% 64%,#4c877a 64% 77%,transparent 77%);opacity:.7}.hub-cloud{position:absolute;width:125px;height:30px;border-radius:999px;background:rgba(255,255,255,.82)}.hub-cloud:before,.hub-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.hub-cloud:before{width:55px;height:55px;left:15px;bottom:0}.hub-cloud:after{width:72px;height:72px;right:8px;bottom:0}.hc1{left:28%;top:13%;transform:scale(.75)}.hc2{left:52%;top:16%;transform:scale(.55)}.hc3{right:7%;top:11%;transform:scale(.7)}.hub-volcano{position:absolute;right:2%;top:14%;font-size:7rem;filter:drop-shadow(0 10px 10px rgba(15,45,65,.25))}.hub-message{position:absolute;left:2.5%;top:7%;z-index:8;background:rgba(255,255,255,.94);border:4px solid #1e97e4;border-radius:24px;padding:16px 20px;font-size:clamp(1.35rem,2.4vw,2.1rem);line-height:1.05;color:var(--navy);box-shadow:0 12px 24px rgba(7,52,91,.12)}.hub-agator{position:absolute;left:1%;bottom:2%;width:min(26%,300px);max-height:430px;object-fit:contain;z-index:7;filter:drop-shadow(0 14px 16px rgba(0,38,72,.28))}.hub-ocean{position:absolute;inset:46% 0 0;background:linear-gradient(#16aee9,#0478bc 78%,#056aa7);overflow:hidden}.hub-ocean i{position:absolute;left:-10%;width:120%;height:56px;border-radius:50%;border-top:6px solid rgba(255,255,255,.65);animation:waveDrift 4s ease-in-out infinite}.hub-ocean i:nth-child(1){top:5%}.hub-ocean i:nth-child(2){top:38%;opacity:.45;animation-delay:.7s}.hub-ocean i:nth-child(3){top:72%;opacity:.3;animation-delay:1.2s}
.world-map-scene{position:absolute;left:25%;right:5%;top:43%;bottom:8%;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start;z-index:6}.world-map-scene .map-route{display:none}.world-map-scene .world-card{display:flex;flex-direction:column;gap:8px;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible;opacity:1;text-align:center}.world-map-scene .world-number{display:none}.world-map-scene .world-art{width:100%;height:138px;border-radius:50% 50% 35% 35%;display:grid;place-items:center;font-size:4.2rem;border:5px solid rgba(255,255,255,.65);box-shadow:0 12px 18px rgba(0,50,82,.25);background:radial-gradient(circle at 50% 15%,#89db6a 0 25%,#2e9c57 26% 37%,#efbb54 38% 55%,#3ac0e8 56% 100%)}.world-map-scene .world-art.bay{background:radial-gradient(circle at 50% 18%,#8fe67d 0 26%,#4aa75d 27% 38%,#c5a75f 39% 52%,#2eafe7 53% 100%)}.world-map-scene .world-art.reef{background:radial-gradient(circle at 50% 24%,#435b95 0 28%,#b942a9 29% 40%,#f39f49 41% 55%,#26aee0 56% 100%)}.world-map-scene .world-art.islands{background:radial-gradient(circle at 50% 18%,#91df75 0 28%,#58846a 29% 40%,#8f8b6a 41% 55%,#2eafe7 56% 100%)}.world-map-scene .world-copy{width:100%;background:linear-gradient(180deg,#0b7fd0,#075fa9);border:2px solid rgba(255,255,255,.55);color:white;border-radius:17px;padding:10px 8px;box-shadow:0 7px 14px rgba(0,45,80,.22)}.world-map-scene .world-card.locked .world-copy{background:linear-gradient(180deg,#69499a,#4f337b)}.world-map-scene .world-card.locked:nth-of-type(7) .world-copy{background:linear-gradient(180deg,#9b6c24,#684415)}.world-map-scene .world-copy .eyebrow{font-size:.62rem;color:#d6f2ff;letter-spacing:.06em}.world-map-scene .world-copy h3{font-size:1rem;margin:2px 0;color:#fff}.world-map-scene .world-copy p{display:none}.world-map-scene .world-meta{justify-content:center;margin-top:4px}.world-map-scene .world-meta span{background:rgba(255,255,255,.15);color:white;padding:3px 6px}.world-map-scene .world-card>.btn{width:100%;min-height:38px;padding:8px 10px;border-radius:13px;font-size:.8rem;box-shadow:none}.world-map-scene .world-card.locked .world-art{filter:saturate(.65) brightness(.78)}.hub-sign{position:absolute;right:1.5%;bottom:4%;z-index:7;transform:rotate(3deg);display:grid;gap:4px}.hub-sign span{background:#b8752f;color:#3e240e;border:3px solid #744217;border-radius:8px;padding:8px 12px;font-weight:1000;text-align:center;line-height:1.05;box-shadow:0 5px 0 #5b361c}.hub-dock{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 12px}.dock-card{border:0;border-radius:20px;min-height:98px;padding:12px 18px;color:#fff;text-decoration:none;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 9px 0 rgba(7,52,91,.18),0 14px 28px rgba(7,52,91,.15)}.dock-card span{grid-row:1/3;font-size:2.5rem}.dock-card strong{font-size:1.45rem}.dock-card small{font-weight:800;opacity:.95}.dock-card.play{background:linear-gradient(#12c955,#07943d)}.dock-card.progress{background:linear-gradient(#118fe7,#0764b5)}.dock-card.badges{background:linear-gradient(#ffc71d,#d89400)}.dock-card.settings{background:linear-gradient(#9c55eb,#6d32c9)}.hub-tagline{width:max-content;max-width:100%;margin:auto;background:#07345b;color:#fff;border-radius:17px;padding:9px 38px;font-size:1.15rem;font-weight:1000;box-shadow:inset 0 2px 0 rgba(255,255,255,.15)}
@media(max-width:1000px){.hub-topbar{grid-template-columns:1fr auto}.hub-nav{grid-row:2;grid-column:1/-1;justify-self:stretch;overflow:auto}.hub-nav a,.hub-nav button{flex:1;justify-content:center}.hub-scene{min-height:700px}.world-map-scene{left:31%;right:3%;top:37%;grid-template-columns:repeat(2,1fr);gap:14px}.world-map-scene .world-art{height:105px}.hub-agator{width:31%;bottom:4%}.hub-message{font-size:1.45rem}.hub-sign{display:none}}
@media(max-width:650px){.game-hub{padding-top:10px}.hub-logo{font-size:2rem}.hub-nav span{display:none}.hub-nav a,.hub-nav button{padding:0 12px}.hub-star{font-size:1rem;padding:8px 10px}.hub-scene{min-height:790px;border-radius:22px}.hub-message{left:4%;right:4%;top:4%;font-size:1.2rem;text-align:center}.hub-agator{width:42%;left:1%;bottom:2%}.hub-volcano{font-size:4rem;right:-2%;top:18%}.world-map-scene{left:43%;right:3%;top:31%;bottom:4%;grid-template-columns:1fr;gap:9px}.world-map-scene .world-card{display:grid;grid-template-columns:76px 1fr auto;align-items:center;text-align:left}.world-map-scene .world-art{width:76px;height:72px;font-size:2.4rem;grid-row:1}.world-map-scene .world-copy{grid-row:1;padding:7px}.world-map-scene .world-copy h3{font-size:.86rem}.world-map-scene .world-meta{display:none}.world-map-scene .world-card>.btn{grid-row:1;width:auto;min-height:44px;font-size:0;padding:0 12px}.world-map-scene .world-card>.btn:after{content:'›';font-size:1.8rem}.world-map-scene .world-card.locked>.btn:after{content:'🔒';font-size:1rem}.hub-dock{grid-template-columns:repeat(2,1fr)}.dock-card{min-height:82px;grid-template-columns:44px 1fr}.dock-card span{font-size:2rem}.dock-card strong{font-size:1.05rem}.dock-card small{font-size:.7rem}.hub-tagline{font-size:1rem;padding:8px 20px}}

/* Phase 5: distinct playable worlds + environmental reactions */
.stage-card{position:relative}.sky{isolation:isolate}.sky>*{z-index:2}.world-decor{position:absolute;inset:0;z-index:1;pointer-events:none;transition:filter .6s ease,opacity .6s ease}.mission-goal{position:absolute;left:20px;top:62px;z-index:9;background:rgba(255,255,255,.9);border:2px solid rgba(8,119,201,.25);border-radius:999px;padding:7px 11px;font-size:.74rem;font-weight:1000;color:var(--navy);box-shadow:0 7px 18px rgba(7,52,91,.09)}.mission-banner{display:grid;gap:3px}.mission-banner strong{font-size:.92rem}.mission-banner span{font-size:.72rem;color:#55738b;font-weight:800}.world-status{margin-top:18px;padding:12px;border-radius:15px;background:linear-gradient(135deg,#eef9ff,#f9fdff);border:1px solid #d8ebf5;display:grid;gap:3px}.world-status span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.world-status strong{color:var(--navy)}.boss-threat{position:absolute;z-index:3;pointer-events:none;transition:.6s ease;filter:drop-shadow(0 10px 10px rgba(4,31,52,.22))}.sky.world-solved .boss-threat{opacity:.05;transform:translateY(-45px) scale(.7)}.sky.world-solved .world-decor{filter:saturate(1.2) brightness(1.08)}

/* Subtraction Sea */
.sky[data-world="sub"]{background:linear-gradient(#8edcff 0 46%,#56c5e8 46% 57%,#087ec1 57% 100%)}.sky[data-world="sub"] .world-decor:before{content:"";position:absolute;left:-4%;right:-4%;bottom:33%;height:74px;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.86) 0 5px,transparent 6px 22px);opacity:.72}.sky[data-world="sub"] .world-decor:after{content:"⚠️";position:absolute;left:24%;top:45%;font-size:2.5rem;transform:rotate(-8deg)}.sky[data-world="sub"] .boss-threat{right:2%;top:8%;font-size:7rem}.sky[data-world="sub"] .boss-threat:before{content:"🌊"}.sky[data-world="sub"].world-solved .world-decor:after{content:"✅"}

/* Summoning Bay */
.sky[data-world="add"]{background:linear-gradient(#a6e7ff 0 48%,#e7f8d8 48% 58%,#19a7d7 58% 100%)}.sky[data-world="add"] .world-decor:before{content:"";position:absolute;left:4%;top:39%;width:35%;height:25%;border-radius:48% 48% 18% 18%;background:linear-gradient(155deg,#63906b 0 38%,#b2d66f 39% 57%,#d5b15c 58% 76%,#6fcce9 77%);box-shadow:inset -24px -8px 0 rgba(255,255,255,.18)}.sky[data-world="add"] .world-decor:after{content:"💧";position:absolute;left:21%;top:39%;font-size:3.2rem;filter:grayscale(.7);opacity:.55}.sky[data-world="add"] .boss-threat{right:4%;top:10%;font-size:6rem}.sky[data-world="add"] .boss-threat:before{content:"⛈️"}.sky[data-world="add"].world-solved .world-decor:after{content:"💦";filter:none;opacity:1}

/* Multiplication Reef */
.sky[data-world="mul"]{background:linear-gradient(#73d2ec 0 29%,#2f9ecb 29% 48%,#087bb0 48% 100%)}.sky[data-world="mul"] .sun,.sky[data-world="mul"] .cloud{opacity:.18}.sky[data-world="mul"] .world-decor:before{content:"🪸  🐠  🪸  🐟  🪸";position:absolute;left:4%;right:4%;bottom:23%;font-size:3.6rem;letter-spacing:.2em;white-space:nowrap;filter:drop-shadow(0 7px 4px rgba(0,32,68,.2))}.sky[data-world="mul"] .world-decor:after{content:"🫧  🫧     🫧";position:absolute;left:16%;top:17%;font-size:2rem;opacity:.7}.sky[data-world="mul"] .boss-threat{right:4%;top:12%;font-size:6rem}.sky[data-world="mul"] .boss-threat:before{content:"⚡🪸"}.sky[data-world="mul"].world-solved .world-decor:before{content:"🪸  🐠 🐠  🪸  🐟 🐟  🪸"}

/* Division Islands */
.sky[data-world="div"]{background:linear-gradient(#bcecff 0 45%,#7dd8ee 45% 56%,#1689c6 56% 100%)}.sky[data-world="div"] .world-decor:before{content:"";position:absolute;left:5%;right:5%;top:43%;height:24%;background:radial-gradient(ellipse at 15% 65%,#d8a95b 0 8%,#6c9b55 9% 14%,transparent 15%),radial-gradient(ellipse at 50% 58%,#d8a95b 0 9%,#6c9b55 10% 16%,transparent 17%),radial-gradient(ellipse at 84% 63%,#d8a95b 0 8%,#6c9b55 9% 14%,transparent 15%)}.sky[data-world="div"] .world-decor:after{content:"🏠      🏠      🏠";position:absolute;left:9%;right:5%;top:45%;font-size:2.5rem;letter-spacing:.4em;white-space:nowrap}.sky[data-world="div"] .boss-threat{right:3%;top:10%;font-size:6rem}.sky[data-world="div"] .boss-threat:before{content:"🚪🔒"}.sky[data-world="div"].world-solved .world-decor:after{content:"🏠💧    🏠💧    🏠💧"}

/* Correct-answer transformation */
.sky.world-solved .mission-goal{background:#ebfff2;border-color:#86d5a4;color:#17663a}.sky.world-solved .mission-goal:before{content:"✓ ";font-weight:1000}.sky.world-boss{box-shadow:inset 0 0 0 5px rgba(255,216,61,.55)}.sky.world-boss:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(125deg,transparent 0 45%,rgba(255,255,255,.18) 46% 48%,transparent 49% 100%);animation:bossFlash 2.2s infinite;pointer-events:none}.sky.world-boss .sun{filter:saturate(.4)}.sky.world-boss .boss-threat{display:block!important;animation:bossHover 1.7s ease-in-out infinite}.sky.world-boss.world-solved:after{display:none}.sky.world-boss.world-solved{box-shadow:inset 0 0 0 5px rgba(39,179,99,.38)}
@keyframes bossHover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(10px) rotate(2deg)}}@keyframes bossFlash{0%,75%,100%{opacity:0}80%{opacity:.7}84%{opacity:0}88%{opacity:.35}}
@media(max-width:560px){.mission-goal{left:10px;top:50px;font-size:.63rem}.boss-threat{font-size:4rem!important}.sky[data-world="mul"] .world-decor:before{font-size:2.3rem}.sky[data-world="div"] .world-decor:after{font-size:1.8rem;letter-spacing:.12em}}

/* Phase 6 — campaign story layer */
.campaign-story{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,.9fr) minmax(130px,.55fr);gap:14px;align-items:stretch;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(11,79,120,.15);border-radius:22px;background:linear-gradient(135deg,#f7fcff,#edf8ff);box-shadow:0 10px 28px rgba(15,85,130,.08)}
.campaign-story p{margin:.45rem 0 0;color:#35576d;line-height:1.5;font-weight:650}.campaign-objective,.mission-rating{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 14px;border-radius:16px;background:white;border:1px solid rgba(11,79,120,.11)}
.campaign-objective span,.mission-rating span{font-size:.68rem;letter-spacing:.08em;font-weight:900;color:#5c7b8e}.campaign-objective strong{color:#0b5079;line-height:1.25}.mission-rating{text-align:center}.mission-rating strong{font-size:1.6rem;letter-spacing:.06em;color:#9aa9b3;transition:.25s ease}.mission-rating strong.earned{color:#f5a400;transform:scale(1.06)}
.world-card.mastered{outline:2px solid rgba(244,180,0,.35)}.world-meta span:first-child{color:#f5a400;font-weight:900;letter-spacing:.06em}
.world-boss .boss-threat{animation:bossFloat 1.8s ease-in-out infinite}.world-boss .mission-banner{border-color:rgba(176,36,36,.32)}
@keyframes bossFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.world-boss .boss-threat{animation:none}.mission-rating strong.earned{transform:none}}
@media (max-width:780px){.campaign-story{grid-template-columns:1fr}.mission-rating{text-align:left}.mission-rating strong{font-size:1.4rem}}

/* Phase 6.1 — immersive gameplay redesign */
body.playing{background:#052847}.playing .app-shell{width:100%;max-width:none}.playing .topbar{display:none}.playing footer{display:none}
#playView.active{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0;min-height:100vh;background:radial-gradient(circle at 70% -20%,#1fb4eb 0,#0877c9 28%,#06345a 70%,#031f37 100%);color:#fff}
#playView>.game-head,#playView>.setup-panel,#playView>.campaign-story,#playView>.game-layout,#playView>.challenge-card{width:min(1280px,calc(100% - 28px));margin-left:auto;margin-right:auto}
#playView>.game-head{position:sticky;top:0;z-index:40;align-items:center;padding:12px 14px;margin-top:10px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(3,31,55,.82);backdrop-filter:blur(16px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
#playView .game-back{min-height:48px;display:inline-flex;align-items:center;padding:0 15px;border-radius:13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:1000}
#playView .game-title-block{min-width:0;flex:1}#playView .game-head .eyebrow{color:#6ed7ff}#playView .game-head h2{color:#fff;font-size:clamp(1.45rem,3vw,2rem);margin:2px 0}
#playView .mission-type{background:rgba(255,216,61,.16);color:#ffe66b;border:1px solid rgba(255,216,61,.32)}
#playView .stat{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff;min-width:82px}#playView .stat small{color:#b9d8ea}
#playView>.setup-panel{margin-top:0;margin-bottom:0;padding:10px 12px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);box-shadow:none;backdrop-filter:blur(10px)}
#playView>.setup-panel label{color:#c8e8f7}#playView>.setup-panel select{background:#f8fdff;border:0}
#playView>.campaign-story{margin-bottom:0;padding:10px 12px;background:rgba(1,26,48,.55);border-color:rgba(255,255,255,.15);box-shadow:none;color:#fff}
#playView .campaign-story p{color:#d7edf8;margin:.2rem 0 0}#playView .campaign-objective,#playView .mission-rating{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14)}#playView .campaign-objective span,#playView .mission-rating span{color:#9dcee5}#playView .campaign-objective strong{color:#fff}
#playView>.game-layout{position:relative;display:block;margin-top:0}
#playView .stage-card{border:0;border-radius:28px;background:#083b65;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden}
#playView .sky{min-height:clamp(500px,58vw,720px);border-radius:28px}
#playView .meter-card{position:absolute;right:18px;top:18px;z-index:20;width:min(300px,34%);padding:16px 17px;border-radius:18px;background:rgba(3,31,55,.78);border:1px solid rgba(255,255,255,.2);box-shadow:0 16px 36px rgba(0,0,0,.28);backdrop-filter:blur(14px);color:#fff}
#playView .meter-card .eyebrow{color:#66d8ff}#playView .meter-card h3{color:#fff;margin:4px 0;font-size:1.35rem}#playView .meter-card p{color:#c8e8f7;margin:4px 0 10px;font-size:.88rem}
#playView .meter-labels,#playView .target-row{margin-top:10px}#playView .meter-labels span,#playView .target-row span{color:#a8d3e6}#playView .meter-track{height:18px;background:rgba(255,255,255,.18)}#playView .world-status,#playView .reward-panel{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.13);padding:9px 10px;margin-top:10px}#playView .world-status span,#playView .reward-panel span{color:#9dcee5}#playView .world-status strong,#playView .reward-panel strong{color:#fff;font-size:.86rem}#playView .mission-progress{margin-top:12px}
#playView .agator-portrait{right:7%;top:12%;width:clamp(260px,30vw,430px);height:clamp(330px,42vw,560px);z-index:7;filter:drop-shadow(0 22px 22px rgba(0,26,55,.38))}
#playView .mission-banner{left:18px;right:auto;bottom:18px;width:min(620px,70%);padding:13px 18px;border:1px solid rgba(255,255,255,.55);background:rgba(3,31,55,.82);color:#fff;text-align:left;backdrop-filter:blur(10px);box-shadow:0 12px 28px rgba(0,0,0,.24)}#playView .mission-banner span{color:#aee5ff}
#playView .mission-goal{top:18px;left:18px;background:rgba(255,255,255,.9)}
#playView>.challenge-card{position:relative;margin-top:0;margin-bottom:18px;padding:16px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(3,31,55,.94),rgba(6,61,100,.94));box-shadow:0 18px 50px rgba(0,0,0,.25);color:#fff}
#playView .challenge-top{align-items:center}#playView .challenge-card .eyebrow{color:#6ed7ff}#playView .equation{color:#fff;font-size:clamp(2.5rem,6vw,5rem);line-height:.95;text-shadow:0 5px 20px rgba(0,0,0,.25)}
#playView .answer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}#playView .answer-btn{min-height:76px;border:2px solid rgba(255,255,255,.3);background:linear-gradient(#fff,#eaf8ff);color:#06385f;box-shadow:0 7px 0 rgba(0,31,58,.35);font-size:clamp(1.5rem,3vw,2.2rem)}#playView .answer-btn:active{transform:translateY(5px);box-shadow:0 2px 0 rgba(0,31,58,.35)}
#playView .feedback{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:#eaf8ff;min-height:50px}#playView .challenge-actions .btn.ghost{border-color:rgba(255,255,255,.25);color:#fff}#playView .challenge-actions .btn.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
@media(max-width:800px){#playView>.game-head{position:relative;flex-wrap:wrap}.playing .app-shell{width:100%}#playView>.setup-panel{display:grid;grid-template-columns:1fr 1fr}#playView>.setup-panel .btn{grid-column:1/-1}#playView .campaign-story{display:none}#playView .meter-card{right:10px;top:10px;width:42%;padding:10px}#playView .meter-card p,#playView .reward-panel,#playView .world-status{display:none}#playView .agator-portrait{right:2%;top:20%;width:45%;height:55%}#playView .mission-banner{width:70%;font-size:.78rem}#playView .answer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){#playView>.game-head,#playView>.setup-panel,#playView>.game-layout,#playView>.challenge-card{width:calc(100% - 16px)}#playView .stat-row{gap:5px}#playView .stat{min-width:68px;padding:7px 8px}#playView .sky{min-height:540px}#playView .meter-card{width:48%}#playView .agator-portrait{top:25%;width:54%;height:50%}#playView .mission-banner{left:9px;bottom:9px;width:76%;padding:9px 10px}#playView>.challenge-card{padding:13px}#playView .answer-btn{min-height:68px}}

/* Phase 6.2 — game-first homepage */
.home-game{padding-top:26px}.splash-hero{position:relative;min-height:690px;overflow:hidden;border-radius:34px;background:linear-gradient(#64c9f4 0 56%,#0b96d5 56% 66%,#0874b7 66% 100%);box-shadow:0 24px 70px rgba(4,63,105,.22);isolation:isolate}.splash-sky{position:absolute;inset:0;overflow:hidden;z-index:0}.splash-sky:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-4%;height:38%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 34px,rgba(255,255,255,.2) 36px 41px,transparent 43px 68px);opacity:.9}.splash-sun{position:absolute;right:7%;top:7%;width:92px;height:92px;border-radius:50%;background:#ffe33f;box-shadow:0 0 0 18px rgba(255,231,73,.18),0 0 55px rgba(255,226,48,.55)}.splash-cloud{position:absolute;width:145px;height:38px;border-radius:999px;background:rgba(255,255,255,.9);filter:drop-shadow(0 7px 6px rgba(5,89,139,.08))}.splash-cloud:before,.splash-cloud:after{content:"";position:absolute;bottom:0;border-radius:50%;background:inherit}.splash-cloud:before{width:60px;height:60px;left:22px}.splash-cloud:after{width:78px;height:78px;right:17px}.cloud-a{left:40%;top:12%;transform:scale(.75)}.cloud-b{right:28%;top:30%;transform:scale(.48)}.splash-island{position:absolute;z-index:1;display:grid;place-items:center;width:190px;height:78px;border-radius:50% 50% 20% 20%;background:#f2a536;font-size:74px;filter:drop-shadow(0 12px 6px rgba(0,63,98,.16))}.island-a{right:3%;top:48%;transform:scale(.8)}.island-b{left:45%;top:55%;transform:scale(.55)}.island-c{right:32%;top:47%;transform:scale(.45)}.splash-wave{position:absolute;left:-10%;width:120%;height:70px;border-radius:50%;border-top:9px solid rgba(255,255,255,.8);z-index:2}.wave-a{bottom:18%;transform:rotate(-1deg)}.wave-b{bottom:7%;opacity:.55;transform:rotate(1deg)}.splash-copy{position:relative;z-index:8;width:57%;padding:58px 0 50px 58px;color:#fff}.splash-copy .eyebrow{color:#d8f5ff;text-shadow:0 2px 10px rgba(0,54,91,.18)}.splash-logo{display:inline-flex;align-items:baseline;gap:4px;padding:7px 18px 9px;margin-bottom:22px;border:4px solid #082b4c;border-radius:999px;background:linear-gradient(135deg,#062c4f,#096ed0);box-shadow:0 7px 0 rgba(4,39,70,.25);transform:rotate(-2deg);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:1000;letter-spacing:-.04em}.splash-logo span{color:#34e875}.splash-logo strong{color:#ffdd42}.splash-copy h1{max-width:720px;margin:10px 0 18px;color:#fff;font-size:clamp(3.6rem,7.1vw,6.2rem);text-shadow:0 6px 0 rgba(3,56,94,.15),0 12px 28px rgba(0,50,85,.2)}.splash-copy h1 span{color:#ffdf45}.splash-copy>p{max-width:610px;color:#e9f8ff;font-size:1.12rem;line-height:1.6;font-weight:650;text-shadow:0 2px 12px rgba(0,48,80,.16)}.splash-actions{margin:24px 0 20px}.splash-actions .btn{min-height:58px;padding:15px 24px;border-radius:18px;font-size:1.02rem}.splash-actions .play-cta{background:linear-gradient(#ffe65d,#ffc928);color:#08365b;box-shadow:0 7px 0 #d9a400,0 15px 28px rgba(0,54,90,.24)}.splash-actions .play-cta:active{transform:translateY(4px);box-shadow:0 3px 0 #d9a400}.splash-actions .map-cta{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.75)}.splash-chips span{background:rgba(4,49,82,.55);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(8px)}.splash-character{position:absolute;right:1.5%;bottom:2%;z-index:7;width:48%;height:80%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.splash-character img{position:relative;z-index:3;width:88%;height:92%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 26px 22px rgba(0,41,73,.32))}.power-ring{position:absolute;z-index:2;left:17%;top:21%;width:68%;aspect-ratio:1;border:18px solid rgba(197,245,255,.66);border-radius:50%;box-shadow:0 0 0 13px rgba(17,178,233,.2),inset 0 0 28px rgba(255,255,255,.55);transform:rotate(-15deg)}.ring-two{left:9%;top:28%;width:82%;border-width:8px;border-style:dashed;opacity:.6}.hero-power-label{position:absolute;right:3%;bottom:9%;z-index:9;display:grid;padding:10px 14px;border:2px solid #ffe153;border-radius:14px;background:#06365d;color:#fff;box-shadow:0 8px 20px rgba(0,37,65,.3);transform:rotate(2deg)}.hero-power-label small{font-size:.6rem;letter-spacing:.13em;color:#8fe5ff;font-weight:1000}.hero-power-label strong{font-size:1.05rem;color:#ffe153}.splash-mission-card{position:absolute;z-index:9;right:3%;top:22%;display:grid;gap:2px;min-width:170px;padding:13px 16px;border:2px solid rgba(255,255,255,.75);border-radius:17px;background:rgba(4,43,73,.8);color:#fff;box-shadow:0 12px 28px rgba(0,42,73,.25);backdrop-filter:blur(10px);transform:rotate(2deg)}.splash-mission-card span{font-size:.62rem;letter-spacing:.15em;color:#8fe5ff;font-weight:1000}.splash-mission-card strong{font-size:1.5rem;color:#ffe153}.splash-mission-card em{font-style:normal;font-size:.75rem;font-weight:850}.home-quickbar{position:relative;z-index:10;width:94%;margin:-28px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;border-radius:23px;background:#fff;box-shadow:0 16px 45px rgba(7,52,91,.15)}.home-quickbar>div{display:grid;grid-template-columns:44px 1fr;column-gap:9px;align-items:center;padding:12px 14px;border-radius:16px;background:#f4fbff}.home-quickbar>div>span{grid-row:1/3;font-size:1.8rem}.home-quickbar strong{color:var(--navy)}.home-quickbar small{color:var(--muted);line-height:1.35}.home-powers{margin-top:45px}.origin-story-panel{margin-top:24px;padding:30px;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;border-radius:28px;background:linear-gradient(135deg,#062d4d,#075d98);color:#fff;overflow:hidden}.origin-story-copy .eyebrow{color:#7ee0ff}.origin-story-copy h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:9px 0 14px}.origin-story-copy p{max-width:620px;color:#d9effb;font-size:1.05rem;line-height:1.65}.origin-story-copy .btn{margin-top:8px;background:#fff}.origin-sketch{position:relative;padding:10px;border-radius:22px;background:#fff;transform:rotate(1.5deg);box-shadow:0 18px 40px rgba(0,0,0,.22)}.origin-sketch img{display:block;width:100%;max-height:310px;object-fit:cover;border-radius:15px}.origin-sketch span{position:absolute;left:20px;bottom:18px;padding:6px 9px;border-radius:8px;background:#07345b;color:#fff;font-size:.65rem;letter-spacing:.08em;font-weight:1000}
@media(max-width:900px){.splash-hero{min-height:760px}.splash-copy{width:68%;padding:42px 0 40px 38px}.splash-character{right:-7%;width:57%;height:68%}.splash-mission-card{top:auto;bottom:27%;right:2%}.home-quickbar{grid-template-columns:1fr}.origin-story-panel{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.home-game{padding-top:14px}.splash-hero{min-height:790px;border-radius:25px}.splash-copy{width:100%;padding:28px 22px 0}.splash-logo{margin-bottom:15px}.splash-copy h1{font-size:clamp(3rem,14vw,4.7rem);max-width:100%}.splash-copy>p{font-size:.96rem;max-width:95%}.splash-character{right:-7%;bottom:0;width:80%;height:47%}.splash-character img{width:100%;height:100%}.power-ring{left:18%;top:12%;width:70%;border-width:10px}.ring-two{left:12%;top:17%;width:80%;border-width:5px}.splash-mission-card{right:auto;left:18px;bottom:24%;min-width:150px;padding:9px 11px}.splash-mission-card strong{font-size:1.25rem}.hero-power-label{right:8px;bottom:4%;padding:7px 9px}.splash-sun{width:62px;height:62px;right:6%;top:5%}.island-a{right:-12%;top:59%}.island-b{left:0;top:62%}.island-c{display:none}.splash-actions{gap:8px}.splash-actions .btn{min-height:52px;padding:12px 15px}.splash-chips{max-width:80%}.splash-chips span{font-size:.7rem;padding:6px 8px}.home-quickbar{width:94%;margin-top:-18px}.origin-story-panel{grid-template-columns:1fr;padding:22px}.origin-sketch{transform:none}.home-powers{margin-top:30px}}


/* Phase 6.3 — production polish */
/* Keep the homepage hero dramatic without letting the character consume the page. */
@media (min-width: 901px){
  .splash-hero{min-height:640px}
  .splash-character{right:1%;bottom:1%;width:42%;height:69%}
  .splash-character img{width:86%;height:88%}
  .splash-mission-card{right:2.5%;top:20%}
}
@media (min-width:651px) and (max-width:900px){
  .splash-hero{min-height:700px}
  .splash-character{right:-3%;bottom:0;width:51%;height:58%}
  .splash-character img{width:94%;height:94%}
}
@media (max-width:650px){
  .splash-hero{min-height:720px}
  .splash-character{right:-3%;bottom:0;width:72%;height:40%}
  .splash-character img{width:96%;height:96%;object-position:center bottom}
  .splash-mission-card{bottom:21%}
  .hero-power-label{bottom:3%}
}

/* Phase 7 — power activation + unobstructed Math Agator HUD */
/* The Current Power HUD stays visible, but no longer sits on top of Math Agator. */
@media (min-width: 901px){
  #playView .meter-card{
    right:auto;
    left:50%;
    transform:translateX(-50%);
    top:18px;
    width:min(320px,29%);
  }
  #playView .agator-portrait{right:3.5%;top:14%}
}
@media (max-width: 900px){
  #playView .meter-card{
    right:auto;
    left:10px;
    top:58px;
    width:40%;
    transform:none;
  }
  #playView .mission-goal{left:10px;top:10px}
  #playView .agator-portrait{right:1%;top:20%;width:48%;height:56%}
}
@media (max-width: 520px){
  #playView .meter-card{left:8px;top:54px;width:44%;padding:9px}
  #playView .meter-card h3{font-size:1.05rem}
  #playView .meter-labels,#playView .target-row{font-size:.72rem}
  #playView .agator-portrait{right:0;top:25%;width:53%;height:51%}
}

/* Correct answers now feel like activating a superpower instead of updating a form. */
#playView .power-flash{
  position:absolute;inset:0;z-index:11;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 72% 50%,rgba(255,255,255,.92) 0,rgba(91,221,255,.62) 10%,rgba(16,151,220,.18) 31%,transparent 55%);
}
#playView .power-flash.activate{animation:powerFlash7 .95s ease-out}
#playView .power-callout{
  position:absolute;left:50%;top:47%;z-index:18;pointer-events:none;
  transform:translate(-50%,-50%) scale(.72);opacity:0;
  padding:12px 20px;border-radius:18px;border:2px solid #ffe35b;
  background:rgba(3,31,55,.9);color:#fff;font-weight:1000;font-size:clamp(1rem,2.2vw,1.45rem);
  letter-spacing:.03em;text-align:center;box-shadow:0 16px 38px rgba(0,0,0,.3);
}
#playView .power-callout.show{animation:powerCallout7 1.35s ease both}
#playView .star-burst{position:absolute;right:19%;top:26%;z-index:19;pointer-events:none;opacity:0}
#playView .star-burst span{position:absolute;font-size:30px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.25))}
#playView .star-burst span:nth-child(1){--sx:-55px;--sy:-75px}
#playView .star-burst span:nth-child(2){--sx:5px;--sy:-105px}
#playView .star-burst span:nth-child(3){--sx:65px;--sy:-65px}
#playView .star-burst.show{opacity:1}
#playView .star-burst.show span{animation:starBurst7 .95s cubic-bezier(.2,.8,.2,1) both}
#playView .star-burst.show span:nth-child(2){animation-delay:.08s}
#playView .star-burst.show span:nth-child(3){animation-delay:.16s}
#playView .sky.power-sequence .wave-line{animation-duration:1.05s}
#playView .sky.try-again{animation:softShake7 .34s ease}
#playView .answer-btn.correct{animation:correctPop7 .55s ease;border-color:#38c975;background:linear-gradient(#f4fff7,#d9f8e5)}
#playView .answer-btn.wrong{animation:wrongNudge7 .34s ease;opacity:.45}

@keyframes powerFlash7{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes powerCallout7{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(.96)}}
@keyframes starBurst7{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(-15deg)}25%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1.15) rotate(16deg)}}
@keyframes softShake7{0%,100%{transform:translateX(0)}30%{transform:translateX(-5px)}65%{transform:translateX(5px)}}
@keyframes correctPop7{0%{transform:scale(1)}45%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes wrongNudge7{0%,100%{transform:translateX(0)}35%{transform:translateX(-5px)}70%{transform:translateX(5px)}}

@media (prefers-reduced-motion: reduce){
  #playView .power-flash.activate,#playView .power-callout.show,#playView .star-burst.show span,
  #playView .sky.try-again,#playView .answer-btn.correct,#playView .answer-btn.wrong{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
