@font-face{font-family:ComicHero;src:url("/assets/e973b5b10864584ba0.woff") format('woff');font-display:swap}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#0b3657;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:2px solid #56bfff;border-radius:12px;background:#164b7d;color:white;padding:12px 19px;min-height:46px;font-weight:800;box-shadow:0 3px 0 #092d59}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid #fff087;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}p{line-height:1.65;color:#d1e7f7}h1,h2,h3,.comic{font-family:ComicHero,Impact,ui-sans-serif,sans-serif;letter-spacing:1px;font-weight:400}h2{font-size:34px}h3{font-size:26px}small{color:#c1d7eb}.site-backdrop{position:fixed;inset:-25px;z-index:-2;background:linear-gradient(#07335388,#072a50e8),url("/assets/dd6d5e3662310af12c.webp") center/cover;filter:blur(9px);transform:scale(1.04)}#siteHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;margin:auto;padding:24px 4% 15px}.brand{position:relative;font-family:ComicHero,Impact,sans-serif;font-style:italic;font-size:44px;letter-spacing:1px;color:#ffe358;-webkit-text-stroke:2px #082d67;paint-order:stroke fill;text-shadow:3px 4px 0 #052350,0 7px 0 #209aef;line-height:1;white-space:nowrap}.brand span{font-size:19px;position:absolute;right:9px;bottom:-13px;color:#fff079}.player-button{font-size:12px;padding:10px 14px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#113b6adc;border-color:#4389b7}.player-button>span:first-child{color:#ffd64e;font-size:20px;margin-right:7px}nav{display:flex;gap:26px}nav a{font-size:13px;font-weight:800;color:#cce6f7;padding:8px 0}nav a.active{color:#ffe45a;border-bottom:3px solid #ffdb51}main{max-width:1300px;margin:0 auto;padding:15px 4% 35px;min-height:77vh}.select-head{text-align:center;margin:10px 0 25px}.select-head h1{font-size:clamp(48px,6.3vw,80px);line-height:1;margin:0 0 14px;color:#ffe460;-webkit-text-stroke:3px #092662;paint-order:stroke fill;text-shadow:0 5px 0 #073270,3px 7px 0 #033259;letter-spacing:1px}.steps{display:inline-flex;background:#1058a3e8;border:2px solid #6edbff;border-radius:40px;box-shadow:0 4px 0 #092958;padding:4px;gap:4px;align-items:center}.steps span{padding:7px 20px;border-radius:30px;font-family:ComicHero,Impact,sans-serif;font-size:22px;letter-spacing:.7px;white-space:nowrap}.steps span.current{background:linear-gradient(#ffef65,#ffca25);color:#0a2d68}.steps i{font-style:normal;color:#4dd6ff;font-size:20px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 auto 27px}.map-card,.weapon-card{position:relative;overflow:hidden;text-align:center;background:linear-gradient(#0d4281,#0a3470);border:3px solid #5cd4ff;border-radius:25px;padding:0;box-shadow:inset 0 0 0 3px #2458a5,0 8px 0 #08285c,0 10px 30px #031e3855;transition:transform .15s,border-color .15s;min-width:0}.map-card:hover,.weapon-card:hover{transform:translateY(-4px)}.map-card.selected,.weapon-card.selected{border-color:#fff467;box-shadow:0 0 0 2px #ffca25,0 6px 0 #cd9100,0 0 26px #fff35655}.tick{position:absolute;right:11px;top:11px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffd732;border:3px solid #fff689;color:#164987;font-size:23px;box-shadow:0 3px 10px #0004}.map-art{height:auto;aspect-ratio:1.22;background-image:var(--asset-2ad941e11fa7);background-size:340% 241%;background-position:8.5% 36%;border-radius:20px 20px 0 0}.map-yard .map-art{background-position:53% 36%}.map-future .map-art{background-position:94.5% 36%}.card-content{padding:17px 14px 18px;border-top:2px solid #3b9ee3;background:linear-gradient(#125498,#082e65)}.card-content h2{font-size:clamp(24px,2.65vw,38px);color:#fff;line-height:1;margin-bottom:7px;text-shadow:2px 3px 0 #062657}.card-content p{font-size:12px;line-height:1.4;margin:0 0 14px}.weapon-icons{display:flex;justify-content:center;gap:8px}.weapon-thumb{display:inline-block;width:58px;height:40px;background-image:var(--asset-9508b1888b03);background-size:500% 380%;background-position:14% 30%;border:1px solid #5ecbff;border-radius:9px;background-color:#0c2b5b}.weapon-thumb.laser{background-position:51% 30%}.weapon-thumb.bow{background-position:86% 35%}.weapon-card .select-weapon{border:0;border-radius:20px 20px 0 0;box-shadow:none;background:none;padding:0;width:100%;display:block}.weapon-art{display:block;aspect-ratio:1.2;background-image:var(--asset-9508b1888b03);background-size:417% 294%;background-position:15% 30%;border-radius:20px 20px 0 0}.weapon-laser .weapon-art{background-position:51% 30%}.weapon-bow .weapon-art{background-position:89% 32%}.weapon-card .card-content{padding:12px 12px 16px}.weapon-card h2{font-size:32px}.sound-button{background:#07345e;border:1px solid #4dace9;font-size:11px;min-height:35px;padding:7px 11px;border-radius:30px;box-shadow:none}.sound-word{display:block;font-family:ComicHero,Impact,sans-serif;color:#ffdf49;font-size:22px;margin-bottom:4px}.actions{display:flex;justify-content:center;gap:13px;align-items:center;flex-wrap:wrap}.primary{color:#082965;font-family:ComicHero,Impact,sans-serif;font-weight:400;letter-spacing:1px;font-size:28px;background:linear-gradient(#fff267,#ffd92f 55%,#ffc023);border:3px solid #fff079;border-radius:18px;padding:13px 35px;box-shadow:0 6px 0 #d89109,0 10px 24px #08234877;min-height:58px}.secondary{background:#123e77dd;border-color:#6fb8e3}.small-note{text-align:center;margin:19px 0 0;font-size:12px;text-shadow:1px 1px 3px #022544}.subnav{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0 16px}.subnav h2{margin:0}.subnav p{margin:0;font-size:12px}.panel{background:linear-gradient(145deg,#154c81f0,#0b2f5def);border:2px solid #3f8dc0;border-radius:18px;padding:26px;box-shadow:0 5px 0 #062652}.mission-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.mission-map{height:160px;border-radius:12px;background-image:var(--asset-2ad941e11fa7);background-size:340% 241%;background-position:8.5% 36%;margin-bottom:18px}.mission-map.yard{background-position:53% 36%}.mission-map.future{background-position:94.5% 36%}.loadout-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.loadout-summary h2{font-size:26px;margin:0}.loadout-summary p{font-size:12px;margin:4px 0}.text-button{background:transparent;border:0;box-shadow:none;color:#8be6ff;font-size:12px;padding:4px;min-height:32px}.pack-select{margin:20px 0}.pack-select label{margin-bottom:7px}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stage-button{text-align:left;padding:14px;background:#092d61;border:2px solid #376c9f;font-size:12px;min-height:100px;box-shadow:none}.stage-button strong{font-family:ComicHero,Impact,sans-serif;font-size:23px;display:block;font-weight:400;margin:4px 0}.stage-button small{font-size:10px;display:block;line-height:1.4}.stage-button.selected{border-color:#ffe456;background:#295483}.stage-button.locked{opacity:.6}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#82e5ff;margin-bottom:12px}.ready-panel h2{font-size:34px}.ready-panel p{font-size:13px}.ready-panel .primary{width:100%;font-size:28px;margin-top:10px}.control-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px;margin:18px 0}.control-list span{background:#082a53;padding:10px;border-radius:8px;color:#cce7fc}.control-list b{color:#ffe775;display:block;margin-bottom:3px}label{font-size:13px;font-weight:750;display:block;margin-bottom:8px}input,textarea,select{width:100%;background:#082b51;color:white;border:2px solid #3a82b7;min-height:46px;border-radius:9px;padding:11px;font:inherit}textarea{min-height:180px;resize:vertical;line-height:1.7}.check-row{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;margin:16px 0}.check-row input{width:20px;height:20px;min-height:20px;accent-color:#ffcf2e}.form-row{margin:20px 0}.page-head{max-width:750px;margin:30px 0}.page-head h1{font-size:58px;color:#ffe566;margin-bottom:16px;line-height:1.05;text-shadow:0 4px #063271}.page-head p{font-size:14px}.learning-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.learning-cards p{font-size:13px}.word-list{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.word-list button{font-size:14px;padding:8px 12px}.callout{border-left:4px solid #ffdf56;background:#13476ecf;padding:14px 18px;font-size:12px;color:#d9efff;margin:20px 0;line-height:1.7}.review-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #4780a055;padding:10px 0;font-size:12px}.review-row span{color:#c7def5}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.badge{font-size:12px;border:1px solid #4178a3;padding:12px;border-radius:10px;background:#0b3158}.badge.earned{border-color:#ffdd61;color:#ffe98a;background:#465838}.empty{padding:55px 25px;text-align:center}.empty h2{color:#ffdf69}#siteFooter{max-width:1340px;margin:0 auto;padding:15px 4% 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#c6e2f5}#siteFooter b{margin-left:9px;color:#9ec7e0}#siteFooter button{background:none;border:0;box-shadow:none;padding:4px;min-height:32px;font-size:11px;color:#d6efff}dialog{width:min(540px,94vw);max-height:91dvh;overflow:auto;color:white;background:linear-gradient(145deg,#154f89,#082b59);border:3px solid #65cdff;border-radius:22px;padding:32px;box-shadow:0 25px 100px #001526bb}dialog::backdrop{background:#021530bc;backdrop-filter:blur(7px)}dialog h2{padding-right:20px;color:#ffe15b}dialog p{font-size:13px}.dialog-close{position:absolute;right:10px;top:10px;font-size:27px;padding:0;min-height:36px;width:36px;border:0;background:none;box-shadow:none}.profile-list{display:grid;gap:10px;margin:20px 0}.profile-list button{display:flex;justify-content:space-between;text-align:left;gap:10px}.profile-list .selected{border-color:#ffe463}.profile-add{display:flex;gap:10px}.profile-add input{min-width:0}.profile-add button{white-space:nowrap}fieldset{border:1px solid #4a89b8;border-radius:12px;padding:17px;margin:20px 0}legend{font-size:12px;padding:0 7px}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#e6f8ff;color:#092e55;border:2px solid #82dbff;box-shadow:0 8px 30px #0005;z-index:300;padding:14px 20px;border-radius:12px;width:max-content;max-width:92vw;font-size:13px;font-weight:750}.notice{background:#83551f;padding:12px 5%;color:#fff0cf;font-size:12px}.skip{position:fixed;top:-90px;padding:15px;background:white;color:#092b52;z-index:300}.skip:focus{top:0}.stats-line{display:flex;justify-content:center;gap:25px;color:#cce8f8;font-size:12px;margin:22px 0 5px}.stats-line strong{color:#ffe373;margin-right:5px}
/* First-person game HUD. The 3D canvas is a live, moving world. */
#game{position:fixed;inset:0;z-index:90;background:#153657;overflow:hidden;touch-action:none}#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%}#lookPad{position:absolute;inset:0;z-index:2;touch-action:none;cursor:crosshair}.hud-top{position:absolute;left:18px;right:18px;top:max(14px,env(safe-area-inset-top));z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;pointer-events:none}.hud-top button,.hud-top .word-panel{pointer-events:auto}.hud-top .brand{font-size:33px;pointer-events:auto;cursor:pointer}.hud-top .brand span{display:none}.hud-left{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:170px}.hud-top button{min-height:35px;padding:7px 12px;font-size:11px;border:1px solid #67b7e1;background:#092b4adf;border-radius:9px;box-shadow:none}.word-panel{background:linear-gradient(#09223ced,#102c48ee);border:2px solid #4b8db0;border-radius:17px;padding:11px 17px 9px;text-align:center;min-width:250px;max-width:60vw;box-shadow:0 5px 0 #02142755}.word-row{display:flex;justify-content:center;align-items:center;gap:10px}.word-slots{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex-wrap:nowrap}.slot{display:block;min-width:18px;font-size:34px;font-weight:900;text-shadow:1px 2px #001b37}.slot.blank{color:#fff3a3}.slot.active{color:#ffe03f;border-bottom:3px solid #ffda3d}.slot.filled{color:#cfff89}.word-slots.long{gap:5px}.word-slots.long .slot{font-size:24px;min-width:14px}.typed{font-size:29px;font-weight:850;letter-spacing:4px;min-height:44px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere;max-width:450px}.typed.empty{font-size:23px;font-family:ComicHero,Impact,sans-serif;letter-spacing:1px;padding:0}.word-panel .hear{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#078be0;border:2px solid #53d5ff;box-shadow:0 3px 0 #08549b;min-width:57px;min-height:53px;padding:5px;font-size:9px;font-weight:850}.hear b{font-size:21px}.word-panel p{font-size:9px;font-weight:900;letter-spacing:.6px;line-height:1.35;margin:7px 0 0;color:#77d6ff}.round-label{font-size:12px;font-weight:900;white-space:nowrap;background:#092742df;border:2px solid #528ab2;border-radius:30px;padding:8px 13px}.crosshair{position:absolute;left:50%;top:50%;translate:-50% -50%;width:25px;height:25px;z-index:3;pointer-events:none;filter:drop-shadow(0 1px 1px #021326)}.crosshair:before,.crosshair:after{content:'';position:absolute;background:white}.crosshair:before{left:11px;top:0;width:3px;height:25px;clip-path:polygon(0 0,100% 0,100% 36%,0 36%,0 64%,100% 64%,100% 100%,0 100%)}.crosshair:after{left:0;top:11px;width:25px;height:3px;clip-path:polygon(0 0,36% 0,36% 100%,0 100%,0 0,64% 0,100% 0,100% 100%,64% 100%,64% 0)}.crosshair.aimed:before,.crosshair.aimed:after{background:#bafdff}.aim-label{position:absolute;left:50%;top:calc(50% + 24px);transform:translateX(-50%);font-size:11px;color:white;font-weight:900;text-shadow:0 2px 3px #000;pointer-events:none;z-index:3}.hud-feedback{position:absolute;top:128px;left:50%;transform:translateX(-50%);font-size:12px;text-align:center;color:#fff;font-weight:800;text-shadow:0 2px 5px #003455;z-index:4;max-width:650px;width:75%;pointer-events:none}.hud-feedback span{background:#062b4ccb;border-radius:30px;padding:8px 16px;display:inline-block;line-height:1.4}.sound-failure{position:absolute;left:50%;top:175px;transform:translateX(-50%);z-index:7;background:#604011f2;border:1px solid #ffdc6b;border-radius:12px;width:min(480px,85vw);padding:13px;text-align:center;font-size:12px}.hud-bottom{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;align-items:end;justify-content:space-between;gap:14px;z-index:5;pointer-events:none}.hud-bottom>*{pointer-events:auto}.xp-display{display:flex;align-items:center;gap:11px;background:#062949de;border:2px solid #46769b;border-radius:13px;padding:11px 16px;font-size:18px;font-weight:900}.xp-display .star{color:#ffd143;font-size:29px}.xp-meter{height:12px;width:105px;background:#294c65;border-radius:30px;overflow:hidden}.xp-meter i{display:block;height:100%;background:linear-gradient(#ffe951,#ffbf20)}.weapon-switch{display:flex;gap:6px;background:#082845d9;padding:7px;border:2px solid #477394;border-radius:14px}.weapon-switch button{background:#0b294b;border:1px solid #4d88ad;border-radius:9px;box-shadow:none;padding:5px 4px;min-width:60px;min-height:62px;font-size:8px;text-transform:uppercase}.weapon-switch button.selected{border:2px solid #ffdb53;background:#20517d}.weapon-switch .weapon-thumb{display:block;width:49px;height:34px;margin:auto;border:0}.bottom-actions{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px;align-items:center;justify-content:center;width:max-content;max-width:90vw;flex-wrap:wrap}.bottom-actions button{background:#0b3554e8;box-shadow:none;border:1px solid #79c5e9;border-radius:10px;padding:9px 12px;min-height:38px;font-size:11px}.bottom-actions .check{background:#ffdd3b;border:2px solid #fff080;color:#0c3158;font-size:15px;font-weight:900;min-height:43px}.fire-button{position:absolute;bottom:190px;right:33px;z-index:5;width:85px;height:85px;min-height:85px;border-radius:50%;border:4px solid #fff5a3;background:linear-gradient(#ffe674,#ffc122);color:#15375d;font-family:ComicHero,Impact,sans-serif;font-size:23px;box-shadow:0 5px 0 #b57505,0 0 0 7px #07325255;touch-action:none}.joystick{position:absolute;bottom:160px;left:28px;width:110px;height:110px;border:3px solid #edfaff99;border-radius:50%;background:#07335245;z-index:5;touch-action:none;display:none}.joystick:before{content:'MOVE';position:absolute;bottom:-27px;width:100%;text-align:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 3px #092240}.joy-knob{position:absolute;inset:30px;border:2px solid #d3f3ff;border-radius:50%;background:#499acb99;pointer-events:none}.desktop-hint{position:absolute;left:20px;bottom:90px;z-index:4;font-size:9px;line-height:1.7;color:#fff;background:#092e4dcc;border-radius:8px;padding:7px 10px;pointer-events:none}.look-hint{position:absolute;right:35px;bottom:292px;z-index:4;color:#fff;font-size:9px;letter-spacing:1px;text-shadow:0 2px 4px #000;display:none;pointer-events:none}.letter-panel{position:absolute;z-index:8;right:20px;top:160px;width:300px;max-height:65vh;overflow:auto;background:#082d52f2;border:2px solid #6ac5fa;border-radius:14px;padding:16px}.letter-panel h3{font-size:22px;margin:0 0 8px}.letter-panel p{font-size:10px;margin-bottom:10px}.letter-panel .letters{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.letter-panel .letters button{padding:8px 0;min-height:40px;font-size:17px;box-shadow:none;border-width:1px}.letter-panel .close-panel{position:absolute;right:7px;top:6px;min-height:26px;font-size:18px;border:0;box-shadow:none;padding:0;width:26px;background:none}.result-overlay{position:absolute;inset:0;z-index:15;background:#092342b8;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:25px;overflow:auto;touch-action:auto}.result-card{background:linear-gradient(145deg,#155b96,#0b3166);border:3px solid #8fd8ff;border-radius:25px;padding:33px;width:min(540px,94vw);text-align:center;max-height:90dvh;overflow:auto;box-shadow:0 14px 0 #05234766,0 30px 80px #001b3780}.result-card h2{font-size:43px;color:#ffe360;margin:12px 0}.result-card .answer{font-size:35px;letter-spacing:4px;font-weight:900;color:#fff;overflow-wrap:anywhere}.result-card p{font-size:13px}.result-card .stars{font-size:28px;color:#ffe159;letter-spacing:12px}.result-card .actions{margin-top:23px}.result-card .primary{font-size:25px}.xp-reward{display:inline-block;padding:8px 15px;background:#ffe16a;color:#183b55;font-size:12px;border-radius:30px;font-weight:900;margin:14px 0}.exit-game{position:absolute;top:15px;left:15px;z-index:20}.loading-panel{text-align:center;position:absolute;inset:0;display:grid;place-content:center;padding:40px;background:#123b68}.loading-panel h2{font-size:40px;color:#ffe275}.loading-panel p{max-width:550px}.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){body:not(.full-effects) *{transition:none!important;animation:none!important}}
@media(pointer:coarse){.joystick,.look-hint{display:block}.desktop-hint{display:none}.fire-button{bottom:160px}}
@media(max-width:900px){#siteHeader{gap:15px}.brand{font-size:33px}nav{gap:17px}.choice-grid{gap:14px}.card-content h2{font-size:27px}.card-content p{font-size:10px}.card-content{padding:13px 10px}.weapon-thumb{width:44px;height:33px}.weapon-card h2{font-size:26px}.primary{font-size:25px}.hud-top .brand{font-size:23px}.hud-left{max-width:135px}.word-panel{max-width:65vw;min-width:220px;padding:8px 11px}.round-label{font-size:10px}.slot{font-size:29px}.word-slots{gap:6px}.hud-top{left:12px;right:12px;gap:8px}.xp-display{padding:7px 10px;font-size:14px;gap:8px}.xp-meter{width:65px}.xp-display .star{font-size:23px}.weapon-switch button{min-width:51px;min-height:56px}.weapon-switch .weapon-thumb{width:42px;height:31px}.hud-bottom{left:14px;right:14px;bottom:12px}.bottom-actions{bottom:86px}.mission-layout{gap:15px}.panel{padding:21px}.hud-feedback{top:120px;font-size:11px}}
@media(max-width:600px){#siteHeader{flex-wrap:wrap;padding:20px 5% 10px;gap:22px 10px}.brand{font-size:35px;order:0}.player-button{order:1;font-size:10px;min-height:36px;padding:5px 10px;max-width:135px}.player-button>span:first-child{font-size:16px;margin-right:3px}nav{order:2;width:100%;justify-content:space-between;gap:0;background:#082c5388;border-radius:10px;padding:0 15px}nav a{font-size:12px;padding:9px 5px}main{padding:10px 4.5% 25px}.select-head{margin:6px 0 20px}.select-head h1{font-size:47px;-webkit-text-stroke:2px #092662;text-shadow:0 4px #082d64}.steps{gap:0}.steps span{font-size:18px;padding:6px 12px}.steps i{font-size:16px}.choice-grid{grid-template-columns:1fr;gap:15px;max-width:450px}.map-card{display:grid;grid-template-columns:45% 55%;border-radius:18px;text-align:left;min-height:146px}.map-art{aspect-ratio:auto;height:100%;border-radius:13px 0 0 13px;background-size:420% 200%;background-position:9% 39%}.map-yard .map-art{background-position:52% 39%}.map-future .map-art{background-position:94% 39%}.card-content{display:flex;flex-direction:column;justify-content:center;padding:16px 12px;border-top:0;border-left:1px solid #3b9ee3}.card-content h2{font-size:27px}.card-content p{font-size:10px;margin-bottom:10px}.weapon-icons{justify-content:flex-start;gap:5px}.weapon-thumb{width:42px;height:31px}.tick{width:29px;height:29px;font-size:16px;right:auto;left:8px;top:8px;border-width:2px}.weapon-card{display:grid;grid-template-columns:46% 54%;text-align:left;min-height:166px;border-radius:18px}.weapon-card .select-weapon{height:100%;min-height:164px;border-radius:12px 0 0 12px}.weapon-art{height:100%;aspect-ratio:auto;background-size:480% 330%;background-position:17% 28%;border-radius:13px 0 0 13px}.weapon-laser .weapon-art{background-position:51% 29%}.weapon-bow .weapon-art{background-position:87% 29%}.weapon-card .card-content{padding:14px 12px}.weapon-card h2{font-size:27px}.sound-word{font-size:18px}.sound-button{font-size:10px;align-self:flex-start;padding:7px 9px}.actions{gap:12px}.primary{font-size:25px;padding:12px 22px;border-radius:15px;min-height:52px}.small-note{font-size:10px}.stats-line{gap:15px;font-size:10px}.mission-layout{grid-template-columns:1fr}.mission-map{height:115px}.ready-panel h2{font-size:29px}.mission-layout .panel{padding:21px}.learning-cards{grid-template-columns:1fr}.page-head{margin:15px 0 25px}.page-head h1{font-size:45px}.page-head p{font-size:13px}.panel h2{font-size:30px}.subnav h2{font-size:28px}.subnav p{font-size:10px}.review-row{font-size:11px}#siteFooter{flex-direction:column;gap:4px;align-items:center;font-size:9px}dialog{padding:28px 23px}dialog h2{font-size:31px}.hud-top{top:max(8px,env(safe-area-inset-top));left:8px;right:8px;flex-wrap:wrap;gap:5px}.hud-left{order:0;flex-direction:row;align-items:center;max-width:none;width:60%;gap:9px}.hud-top .brand{font-size:23px}.hud-top button{font-size:9px;min-height:30px;padding:6px 9px}.round-label{order:1;font-size:9px;padding:7px 9px}.word-panel{order:2;max-width:100%;width:max-content;margin:4px auto 0;padding:7px 12px;min-width:260px;border-radius:13px}.word-row{gap:10px}.word-slots{min-height:34px;gap:7px}.slot{font-size:27px;min-width:14px}.word-slots.long{gap:3px}.word-slots.long .slot{font-size:17px;min-width:10px}.word-panel .hear{min-width:47px;min-height:43px;font-size:7px;padding:3px}.hear b{font-size:19px}.word-panel p{font-size:8px;margin-top:6px}.typed{font-size:22px;letter-spacing:3px;min-height:35px;max-width:240px}.typed.empty{font-size:21px}.hud-feedback{top:145px;font-size:10px;width:85%;max-width:330px}.hud-feedback span{padding:7px 11px}.sound-failure{top:192px;font-size:11px}.joystick{width:95px;height:95px;left:21px;bottom:151px}.joy-knob{inset:25px}.fire-button{width:73px;height:73px;min-height:73px;right:24px;bottom:159px;font-size:22px}.look-hint{right:17px;bottom:252px;font-size:8px}.hud-bottom{left:9px;right:9px;bottom:max(12px,env(safe-area-inset-bottom));gap:8px}.xp-display{padding:8px;font-size:12px;gap:5px;border-radius:10px}.xp-display .star{font-size:21px}.xp-meter{display:none}.weapon-switch{gap:4px;padding:5px;border-radius:11px}.weapon-switch button{min-width:44px;min-height:52px;font-size:6px;padding:3px}.weapon-switch .weapon-thumb{width:35px;height:29px}.bottom-actions{bottom:82px;gap:5px;width:95%;max-width:95%}.bottom-actions button{min-height:36px;font-size:9px;padding:7px 9px}.bottom-actions .check{font-size:13px;min-height:39px}.letter-panel{width:285px;right:10px;top:190px;max-height:49vh;padding:13px}.letter-panel .letters button{min-height:38px;font-size:16px}.result-card{padding:25px 21px}.result-card h2{font-size:35px}.result-card .answer{font-size:29px}.result-card .primary{font-size:24px}.result-card p{font-size:12px}.crosshair{width:23px;height:23px}}
@media(max-height:520px) and (min-width:601px){.hud-top{top:8px}.hud-top .brand{font-size:25px}.word-panel{padding:5px 11px;min-width:240px;max-width:60vw}.word-slots{min-height:30px}.slot{font-size:26px}.word-panel .hear{min-height:38px;min-width:45px;font-size:7px}.word-panel p{font-size:8px;margin:3px 0}.hud-feedback{top:94px;font-size:10px}.hud-feedback span{padding:5px 12px}.joystick{bottom:86px;left:23px;width:87px;height:87px}.joy-knob{inset:22px}.fire-button{bottom:90px;right:31px;width:70px;height:70px;min-height:70px;font-size:21px}.look-hint{bottom:175px;right:25px}.hud-bottom{bottom:8px}.xp-display{font-size:12px;padding:6px 10px}.weapon-switch{padding:4px}.weapon-switch button{min-height:47px;min-width:48px;font-size:7px}.weapon-switch .weapon-thumb{height:26px}.bottom-actions{bottom:18px;max-width:53%;gap:6px;left:49%}.bottom-actions button{min-height:33px;padding:7px 9px;font-size:9px}.bottom-actions .check{font-size:12px;min-height:35px}.desktop-hint{bottom:65px;left:18px;font-size:8px}.letter-panel{top:96px;right:120px;max-height:65vh}.result-card{padding:20px;width:570px}.result-card h2{font-size:29px;margin:5px 0}.result-card p{margin:8px 0;font-size:11px}.result-card .answer{font-size:29px}.result-card .actions{margin-top:13px}.result-card .stars{font-size:22px}.result-card .primary{font-size:21px;min-height:42px;padding:8px 20px}.sound-failure{top:120px}.typed{font-size:23px;min-height:32px}}

/* Impact feedback stays out of the input path and respects reduced motion. */
.hit-celebration{position:absolute;inset:0;z-index:9;pointer-events:none;display:grid;place-items:center;overflow:hidden}
.hit-cheer{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;transform:translateY(45px);animation:letter-cheer .85s both;color:#ffe96a;filter:drop-shadow(0 4px 0 #143550) drop-shadow(0 3px 12px #072545);max-width:90vw}
.hit-cheer strong{font-family:ComicHero,Impact,sans-serif;font-size:clamp(30px,6vw,64px);line-height:1.05;font-weight:900;letter-spacing:1px;-webkit-text-stroke:1px #153b5b}
.hit-cheer>span:last-child{font-size:clamp(12px,2vw,18px);font-weight:900;letter-spacing:2px;background:#0a355de8;border:1px solid #ffee85;border-radius:30px;padding:7px 17px;color:white;max-width:90vw;overflow-wrap:anywhere}
.cheer-stars{font-size:25px;letter-spacing:10px}.neutral-cheer{color:#b4f4ff}.neutral-cheer strong{font-size:35px}.neutral-cheer>span:last-child{border-color:#8ee8ff;font-size:12px}.neutral-cheer .cheer-stars{font-size:18px}
.word-cheer{animation:word-cheer 1.25s both;transform:translateY(0);gap:12px}.word-cheer strong{font-size:clamp(37px,8vw,86px)}.word-cheer>span:last-child{font-size:clamp(22px,4vw,38px);padding:9px 24px;letter-spacing:4px}.word-cheer .cheer-stars{font-size:clamp(28px,5vw,48px)}
.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:16}.confetti{position:absolute;left:var(--x);top:-8%;width:10px;height:17px;border-radius:2px;opacity:0;animation:confetti-fall 2s var(--delay) ease-in both}.confetti-star{width:19px;height:19px;clip-path:polygon(50% 0,61% 35%,98% 35%,69% 57%,80% 95%,50% 72%,20% 95%,31% 57%,2% 35%,39% 35%)}
.word-result{animation:result-reveal .24s both}.word-result .result-card{animation:reward-pop .4s cubic-bezier(.2,.8,.3,1) both}.word-result .stars{animation:star-reward .55s .1s both}.word-result .xp-reward{animation:reward-pop .45s .16s both}.letter-landed{color:#dcff8c;animation:slot-pop .38s both}
@keyframes letter-cheer{0%{opacity:0;transform:translateY(57px) scale(.6) rotate(-5deg)}18%{opacity:1;transform:translateY(45px) scale(1.08) rotate(2deg)}34%,72%{opacity:1;transform:translateY(45px) scale(1) rotate(-1deg)}100%{opacity:0;transform:translateY(22px) scale(.94)}}
@keyframes word-cheer{0%{opacity:0;transform:scale(.55) rotate(-6deg)}18%{opacity:1;transform:scale(1.08) rotate(2deg)}35%,85%{opacity:1;transform:scale(1) rotate(-1deg)}100%{opacity:0;transform:scale(1.04)}}
@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}8%,80%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),110dvh,0) rotate(var(--turn))}}
@keyframes result-reveal{from{background:transparent;backdrop-filter:blur(0)}to{background:#092342b8;backdrop-filter:blur(5px)}}
@keyframes reward-pop{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes star-reward{from{transform:scale(.4);opacity:0}70%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}
@keyframes slot-pop{0%{transform:scale(.8)}45%{transform:scale(1.22)}100%{transform:scale(1)}}
@media(max-height:520px){.word-cheer{gap:5px}.word-cheer strong{font-size:43px}.word-cheer .cheer-stars{font-size:26px}.word-cheer>span:last-child{font-size:23px}.hit-cheer{transform:translateY(30px)}.word-cheer{transform:none}}
.reduce-motion .confetti-layer{display:none}@media(prefers-reduced-motion:reduce){body:not(.full-effects) .confetti-layer{display:none}}

/* Phonics teaching: readable sound maps and a separate, untimed practice check. */
.sound-lab{margin-bottom:28px;border-color:#7acdec;background:linear-gradient(135deg,#164f7d,#0b315b)}.sound-lab>h2{color:#ffe576}.sound-lab>h3{margin:20px 0 8px}.sound-lab>select{max-width:440px;margin-bottom:15px}.phonics-path{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.phonics-path button{display:flex;align-items:center;gap:9px;text-align:left;padding:10px;font-size:12px;box-shadow:none;border:1px solid #5b94b8;background:#0e355d}.phonics-path button span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#1c6a9e;color:#d1f6ff}.phonics-path button.selected{border-color:#ffe06b;background:#205a83}.phonics-path button.selected span{background:#ffe36b;color:#113450}.phonics-card{padding:23px;margin:12px 0;background:#072744a8;border:1px solid #548eb3;border-radius:18px;text-align:left}.phonics-card h3{font-size:32px;color:#ffdf6c;margin:10px 0}.phonics-card p{font-size:14px;line-height:1.55}.phonics-card .sound-map-label{font-size:11px;color:#c7ddec;margin-bottom:10px}.sound-map{display:flex;flex-wrap:wrap;gap:9px;align-items:stretch;margin:15px 0}.sound-unit{min-width:63px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 12px;gap:3px;background:#134c72;border:2px solid #6ca9cd;box-shadow:0 3px 0 #001d30}.sound-unit b{font-size:30px;line-height:1.05;letter-spacing:2px;color:#fff}.sound-unit small{font-size:9px;letter-spacing:.6px;color:#cfeaff}.sound-unit.vowel,.sound-unit.team{background:#1e6385}.sound-unit.focus-unit{border-color:#ffe26c;background:#6b5417}.sound-unit.silent{border-style:dashed;background:#394859}.sound-unit.unit-current{outline:3px solid #a7f470;outline-offset:3px}.phonics-explanation{padding:14px 16px;border-left:4px solid #ffdf66;background:#164867;border-radius:0 10px 10px 0;color:#f2fbff!important;margin:18px 0}.phonics-actions{display:flex;gap:8px;flex-wrap:wrap}.phonics-actions button{box-shadow:none;font-size:12px;min-height:40px;padding:8px 13px}.phonics-actions .primary{font-size:19px;margin-top:7px}.phonics-card .phonics-tip,.phonics-record{font-size:11px;margin:14px 0 0;color:#c6dfee}.sound-lab>.secondary{margin-top:18px}.sound-check-options{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.sound-check-options button{min-width:63px;font-size:25px}.sound-check-options .answer-right{background:#b9ec74;color:#15394c;border-color:#dcffa7;opacity:1}.sound-check-feedback{padding:12px;background:#173f62;border-radius:10px}.sound-check-success{border:1px solid #b9ec74;color:#e9ffd0!important}.phonics-card.compact{padding:15px;margin:14px 0;border-color:#609ec4}.phonics-card.compact h3{font-size:22px;margin:6px 0}.phonics-card.compact .sound-map{gap:6px;margin:10px 0}.phonics-card.compact .sound-unit{min-width:49px;min-height:56px;padding:5px 9px}.phonics-card.compact .sound-unit b{font-size:24px}.phonics-card.compact .phonics-explanation{font-size:13px;margin:10px 0;padding:10px 12px}.phonics-card.compact .phonics-actions button{font-size:10px;padding:7px 9px;min-height:34px}.word-result .result-card>h2{font-size:35px;margin:8px 0}.word-result .result-card>.answer{font-size:30px}.word-result .result-card>.stars{font-size:22px}.word-result .result-card>.actions{margin-top:14px}.word-result .result-card>.xp-reward{margin:10px 0}.word-result .result-card>p{margin-bottom:10px}.custom-phonics{border-style:dashed}
@media(max-width:600px){.sound-lab{padding:20px 14px}.phonics-path{grid-template-columns:repeat(2,1fr);gap:7px;margin:17px 0}.phonics-path button{font-size:10px;gap:6px;padding:9px 7px;min-height:55px}.phonics-path button span{min-width:22px;height:22px}.phonics-card{padding:16px 12px;border-radius:13px}.phonics-card h3{font-size:29px}.phonics-card p{font-size:13px}.sound-map{gap:7px}.sound-unit{min-width:52px;min-height:62px;padding:7px 9px}.sound-unit b{font-size:27px}.phonics-actions{gap:7px}.phonics-actions button{font-size:11px;padding:8px 10px}.phonics-explanation{padding:12px}.word-result .result-card{padding:20px 16px}.word-result .result-card>h2{font-size:29px}.word-result .result-card>.answer{font-size:25px}.phonics-card.compact{padding:12px 10px}.phonics-card.compact .sound-unit{min-width:43px;padding:5px 7px}}
/* First-reader flow: pictures, consistent audio icons and one obvious next action. */
nav a{display:flex;align-items:center;gap:7px}nav a b{font-size:25px}.child-head{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.child-head h1{margin:0}.guide-button{display:flex;align-items:center;gap:12px;background:#12688d;border-color:#8fe8ff;border-radius:40px;font-size:18px}.guide-button>span{font-size:34px}.child-maps .card-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.child-maps h2{font-size:clamp(24px,3vw,36px);margin:0}.map-go{display:grid;place-items:center;min-width:52px;height:52px;background:#ffe35b;color:#13345c;border-radius:50%;font-size:30px;box-shadow:0 4px 0 #b48313}.child-loadout{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.child-loadout button{display:flex;align-items:center;gap:8px;min-height:64px;padding:8px 13px}.child-loadout button.selected{border-color:#fff075;background:#466489}.child-loadout .weapon-thumb{width:78px;height:48px}.child-secondary{display:flex;justify-content:center;gap:14px;margin-top:24px}.child-secondary button{min-height:56px}.child-secondary span{font-size:25px;margin-right:8px}.parent-options{display:grid;gap:12px}.voice-note{font-size:12px;margin:16px 0}.demo-panel{text-align:center}.demo-panel h2{padding:0;font-size:44px}.demo-pictures{display:flex;align-items:center;justify-content:center;gap:14px;height:180px}.demo-ear,.demo-star{font-size:57px}.demo-star{color:#ffe466}.demo-arrow{font-size:25px;color:#87dcff}.demo-target{width:85px;height:85px;border:5px solid #ffe665;border-radius:50%;background:#197cdc;position:relative;display:grid;place-items:center}.demo-target b{font-size:54px}.demo-target i{position:absolute;right:-13px;bottom:-35px;font-size:45px;font-style:normal;animation:demo-tap 2.5s infinite}.demo-target em{position:absolute;inset:-20px;color:#ffe762;font-size:110px;font-style:normal;opacity:0;animation:demo-burst 2.5s infinite}.demo-actions{display:flex;justify-content:center;gap:20px}.demo-actions button{width:110px;min-height:82px;font-size:42px}.green-play{background:linear-gradient(#b5ff8f,#59cf5c);border-color:#d6ffc0;box-shadow:0 6px 0 #237139}.tap-mode .desktop-hint,.tap-mode .look-hint,.tap-mode .fire-button,.tap-mode #crosshair,.tap-mode #aimLabel{display:none}.tap-mode .joystick{opacity:.55;transform:scale(.8);transform-origin:bottom left}.bottom-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;line-height:1;min-width:60px;min-height:58px;padding:7px 10px}.bottom-actions small{display:block;font-size:10px;line-height:1.4;margin-top:4px;color:inherit}.fire-button small{display:block;font-size:11px}.result-next{position:sticky;top:0;z-index:2;background:#104577f5;border-radius:14px;padding:10px 0;margin:18px 0}.result-next .primary{flex:1;max-width:320px;font-size:29px;min-height:72px}.result-next .primary span{font-size:42px;vertical-align:middle}.result-next .secondary{font-size:31px;min-height:70px}.phonics-actions button{min-height:52px}.hud-top .hud-left>button:not(.brand){font-size:25px;min-width:52px}.hear{min-width:65px}.hear b{font-size:30px}
@keyframes demo-tap{0%,30%,100%{transform:translate(12px,12px)}45%,65%{transform:translate(-9px,-16px)}}@keyframes demo-burst{0%,44%,90%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}75%{opacity:0;transform:scale(1.4)}}
.reduce-motion .demo-target i,.reduce-motion .demo-target em{animation:none}.reduce-motion .demo-target em{display:none}
@media(prefers-reduced-motion:reduce){body:not(.full-effects) .demo-target i,body:not(.full-effects) .demo-target em{animation:none}body:not(.full-effects) .demo-target em{display:none}}
@media(max-width:700px){#siteHeader{gap:12px;flex-wrap:wrap}nav{gap:24px;order:3;width:100%;justify-content:center}nav a{font-size:12px}.child-head{gap:12px;margin-bottom:18px}.child-head h1{font-size:47px}.guide-button{padding:6px 12px;font-size:14px}.guide-button>span{font-size:27px}.child-maps{grid-template-columns:1fr;gap:16px}.child-maps .map-card{display:flex;min-height:142px}.child-maps .map-art{width:48%;aspect-ratio:auto;min-height:142px;flex-shrink:0;border-radius:15px 0 0 15px;background-size:340% 241%}.child-maps .card-content{flex:1;border-top:0;border-left:2px solid #3b9ee3;flex-direction:column;justify-content:center;padding:10px 8px}.child-maps h2{font-size:24px}.map-go{min-width:44px;height:44px;font-size:25px}.child-loadout{gap:7px}.child-loadout button{flex-direction:column;padding:7px;font-size:10px;min-width:90px}.child-secondary{gap:8px}.child-secondary button{font-size:12px;padding:10px}.demo-pictures{gap:7px}.demo-ear,.demo-star{font-size:39px}.demo-target{width:66px;height:66px}.demo-arrow{font-size:18px}.bottom-actions{max-width:calc(100vw - 12px);gap:5px;flex-wrap:wrap;justify-content:center}.bottom-actions button{min-width:48px;min-height:49px;font-size:21px;padding:5px 7px}.bottom-actions small{font-size:9px}.tap-mode .hud-feedback{max-width:85vw}.result-next{margin:12px 0}.result-card .phonics-card.compact{padding:12px}}
/* A chocolate-chip cookie icon stays distinct without an external image. */
.weapon-thumb.cookie{background:radial-gradient(ellipse at 30% 32%,#573023 0 6%,transparent 7%),radial-gradient(ellipse at 66% 30%,#573023 0 5%,transparent 6%),radial-gradient(ellipse at 56% 68%,#573023 0 7%,transparent 8%),radial-gradient(ellipse at 23% 68%,#573023 0 4%,transparent 5%),radial-gradient(ellipse at 80% 63%,#573023 0 4%,transparent 5%),radial-gradient(ellipse at center,#e9b571 0 54%,#bb824a 56% 63%,#16466b 65%);background-size:100% 100%;border-color:#ffe3a3}.weapon-cookie .weapon-art{background:radial-gradient(circle at 34% 39%,#573023 0 3%,transparent 3.5%),radial-gradient(circle at 57% 34%,#573023 0 4%,transparent 4.5%),radial-gradient(circle at 55% 57%,#573023 0 4%,transparent 4.5%),radial-gradient(circle at 34% 61%,#573023 0 3%,transparent 3.5%),radial-gradient(circle at center,#e8b573 0 35%,#b77c42 36% 39%,#123b69 40%);background-size:100%}.weapon-cookie .sound-word{color:#ffe0aa}.weapon-switch{flex-wrap:wrap}.weapon-switch button{min-width:58px}.child-loadout{max-width:640px;margin-inline:auto}@media(max-width:700px){.child-loadout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.child-loadout button{min-width:0}.child-loadout .weapon-thumb{width:62px;height:44px}.child-loadout button span:last-child{font-size:9px}.weapon-switch .weapon-thumb{width:38px;height:28px}}
/* Cookie impacts are viewport effects; controls remain interactive underneath. */
.cookie-crumbs{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none;contain:strict}.cookie-crumbs *{pointer-events:none!important}.crumb-origin{position:absolute;width:0;height:0}.cookie-crumb{position:absolute;display:block;width:var(--size);height:calc(var(--size)*.78);background:#d9a364;border:1px solid #885127;border-radius:36% 44% 29% 41%;box-shadow:inset 2px 3px 0 #f7d195,inset -2px -2px 0 #b17a3e,1px 3px 4px #29120935;animation:cookie-scatter var(--life) cubic-bezier(.12,.65,.36,1) var(--delay) both;will-change:transform,opacity}.cookie-crumb.cookie-chunk{background:radial-gradient(ellipse at 26% 31%,#462319 0 12%,transparent 14%),radial-gradient(ellipse at 69% 63%,#523024 0 14%,transparent 16%),radial-gradient(ellipse at 72% 18%,#623523 0 8%,transparent 10%),#e9b575;border-width:2px;clip-path:polygon(9% 12%,48% 0,94% 22%,83% 62%,98% 91%,47% 82%,10% 100%,0 57%)}.cookie-crumb.chocolate-crumb{background:#593329;border-color:#321a15;border-radius:24% 42% 20% 29%;box-shadow:inset 2px 2px 0 #875d41,1px 2px 3px #29120945}.cookie-crunch-word{display:block;position:absolute;left:0;top:0;transform:translate(-50%,-50%) rotate(-9deg);font-family:ComicHero,Impact,sans-serif;font-size:clamp(32px,7vw,60px);letter-spacing:2px;color:#ffdf92;-webkit-text-stroke:2px #6f361f;paint-order:stroke fill;text-shadow:2px 4px #6f361f;animation:cookie-crunch .6s both;white-space:nowrap}.weapon-thumb.cookie,.weapon-cookie .weapon-art{background:#0f365a url("/assets/1384329ec602d02192.svg") center/contain no-repeat;border-color:#ffda98}.weapon-cookie .weapon-art{background-color:#0c2d52}
@keyframes cookie-scatter{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}8%{opacity:1}48%{opacity:1;transform:translate(var(--mx),var(--my)) scale(1.15) rotate(calc(var(--spin)*.48))}83%{opacity:.9}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.8) rotate(var(--spin))}}
@keyframes cookie-crunch{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-9deg)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(-9deg)}65%{opacity:1}100%{opacity:0;transform:translate(-50%,-85%) scale(.95) rotate(-9deg)}}
.reduce-motion .cookie-crumbs{display:none}@media(prefers-reduced-motion:reduce){body:not(.full-effects) .cookie-crumbs{display:none}}
/* Recorded letter sounds and the 67 toy blaster. */
.weapon-thumb.sixtyseven,.weapon-sixtyseven .weapon-art{background:#143453 url("/assets/b24390362620a41417.svg") center/contain no-repeat;border-color:#ffb1ea}.weapon-sixtyseven .sound-word{color:#d8ff8f}.child-loadout{max-width:840px}.letter-panel{width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 200px);overflow:auto;overscroll-behavior:contain}.letter-panel h3{margin-bottom:8px}.letter-panel .assist-instruction{font-size:14px;margin:8px 0 12px}.assist-instruction span{display:block;font-size:28px;letter-spacing:6px;color:#ffdf68}.letter-panel .letters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.letter-panel .letters button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:56px;padding:5px;font-size:24px}.letter-panel .letters button span{font-size:12px;color:#b4ebff}.letter-panel .letters button.listening{border-color:#ffdf68;outline:2px solid #ffdf68;outline-offset:1px;background:#315d80}.assist-fire-row{position:sticky;bottom:-14px;margin-top:14px;padding:10px 0 4px;background:#103453;display:flex;gap:12px;align-items:center}.assist-fire-row p{font-size:13px;flex:1;margin:0}.assist-fire{display:flex;gap:8px;align-items:center;justify-content:center;min-height:62px;padding:10px 16px!important;min-width:138px;flex-wrap:wrap}.assist-fire b{font-size:32px}.assist-fire small{font:700 11px Arial,sans-serif}.assist-fire:disabled{opacity:.42;box-shadow:none}.child-loadout button{font-size:12px}
@media(max-width:700px){.child-loadout{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.child-loadout button{padding:6px 3px;min-height:74px}.child-loadout .weapon-thumb{width:100%;max-width:62px;height:42px}.child-loadout button span:last-child{font-size:9px}.hud-bottom .weapon-switch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;gap:3px;max-width:390px}.hud-bottom .weapon-switch button{min-width:0;min-height:52px;font-size:6px;padding:3px 2px}.weapon-switch .weapon-thumb{width:34px;height:28px;max-width:100%}.hud-bottom{gap:5px}.letter-panel{right:12px;top:175px;padding:14px;max-height:calc(100dvh - 270px)}.letter-panel .letters button{min-height:50px;font-size:22px}.letter-panel .letters{gap:6px}.letter-panel h3{font-size:27px}.letter-panel .assist-instruction{font-size:12px}.assist-fire{min-width:122px;padding:8px 12px!important}.assist-fire-row p{font-size:12px}}
@media(max-height:520px){.letter-panel{top:65px;right:12px;max-height:calc(100dvh - 135px)}.letter-panel h3{font-size:24px;margin:0}.letter-panel .assist-instruction{margin:5px 0}.assist-instruction span{display:inline;font-size:22px}.letter-panel .letters button{min-height:46px}.assist-fire-row{margin-top:7px}.assist-fire{min-height:50px}}
/* Stars carry confirmed success back to the word or the saved XP counter. */
.reward-trails{position:absolute;inset:0;z-index:11;pointer-events:none;overflow:hidden;contain:strict}.reward-trails *{pointer-events:none!important}.reward-star{position:absolute;display:block;color:#ffe773;font-size:var(--star-size);font-style:normal;line-height:1;text-shadow:0 2px 0 #9b5c18,0 0 8px #fff2a899;animation:reward-star-flight .78s cubic-bezier(.22,.64,.45,1) var(--star-delay) both;will-change:transform,opacity}.xp-display.reward-arrived{animation:reward-counter-pop .32s ease-out}
@keyframes reward-star-flight{0%{transform:translate(-50%,-50%) scale(.35);opacity:0}12%{opacity:1}30%{transform:translate(var(--burst-x),var(--burst-y)) scale(1.12);opacity:1}88%{opacity:1}100%{transform:translate(var(--fly-x),var(--fly-y)) scale(.2);opacity:0}}
@keyframes reward-counter-pop{0%,100%{transform:scale(1)}45%{transform:scale(1.07);border-color:#ffe978}}
.reduce-motion .reward-trails{display:none}@media(prefers-reduced-motion:reduce){body:not(.full-effects) .reward-trails{display:none}}

/* 3.0: a compact play HUD leaves the actual arena, barrel and targets visible. */
.mode-picker{display:flex;gap:12px;justify-content:center;margin:0 auto 24px;max-width:570px}.mode-picker button{flex:1;display:grid;grid-template-columns:45px 1fr;text-align:left;align-items:center;gap:0 10px;padding:13px 17px;background:#103750;border-color:#4d87aa}.mode-picker button>span{grid-row:span 2;font-size:37px;color:#a0e8ff}.mode-picker button b{font-size:16px}.mode-picker button small{font-size:11px;font-weight:500}.mode-picker [aria-pressed=true]{border-color:#ffe170;background:#254b63;box-shadow:0 4px 0 #ac8220}.mode-picker [aria-pressed=true]>span{color:#ffe170}
.build-badge{position:absolute;left:16px;top:70px;z-index:4;color:#e0f9ff;background:#102b42b8;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:800;letter-spacing:1px;pointer-events:none}
.hunt-radar{position:absolute;top:101px;left:16px;z-index:4;width:104px;pointer-events:none}.hunt-radar svg{display:block;width:100%;height:122px;filter:drop-shadow(0 3px 5px #08223a77)}.hunt-radar small{display:block;text-align:center;color:#effcff;background:#102a40e8;border-radius:6px;padding:3px;font-size:10px}
.hunt-movement{position:absolute;right:24px;bottom:135px;display:flex;gap:10px;z-index:5}.hunt-movement button{width:56px;height:56px;min-height:56px;border-radius:50%;background:#0d365cc9;font-size:27px;padding:2px;border-color:#afd8ef}.hunt-movement small{font:700 9px Arial,sans-serif;display:block;color:white}.hunt-movement button[aria-pressed=true]{color:#14344d;background:#b5ee73;border-color:#ddffaf}.hunt-movement button[aria-pressed=true] small{color:#14344d}
.hunt-mode .joystick{display:block;opacity:.9}.hunt-mode .fire-button{width:84px;height:84px;font-family:inherit;font-size:35px}.hunt-mode .look-hint{display:block}.hunt-mode .word-panel{border-radius:14px}.hunt-mode .hud-left .brand{font-size:27px}.hunt-mode .desktop-hint{font-size:10px;bottom:95px;left:20px}.hunt-mode .bottom-actions{bottom:90px}.hunt-mode .hit-cheer strong{font-family:inherit;font-style:italic;font-weight:950;font-size:clamp(30px,6vw,62px)}.hunt-mode .hud-feedback{max-width:470px}
.hunt-instructions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.hunt-instructions>div{display:flex;flex-direction:column;gap:7px;background:#0b2943;border:1px solid #52788e;border-radius:16px;padding:18px 6px}.hunt-instructions b{font-size:38px}.hunt-instructions span{font-size:18px;font-weight:800}.hunt-instructions small{font-size:10px}
.cookie-crumb.cookie-chunk{box-shadow:inset 3px 4px 0 #ffe1a2,inset -4px -5px 0 #b67a3f,2px 5px 5px #49241544}.cookie-crumbs{z-index:4}.cookie-crunch-word{font-size:clamp(26px,5vw,44px)}
.hud-feedback:has(#feedback:empty){display:none}
@media(max-width:700px) and (min-height:521px){
 .hud-top{top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:grid;grid-template-columns:1fr auto;gap:10px}.hud-left{grid-column:1;gap:7px}.hud-left .brand{font-size:27px;padding:7px 10px}.hud-top .hud-left>button:not(.brand){min-width:43px;min-height:43px;padding:5px 9px;font-size:24px}.round-label{grid-column:2;grid-row:1;font-size:10px;align-self:center;padding:8px 10px}.word-panel{grid-row:2;grid-column:1/-1;width:max-content;max-width:calc(100vw - 36px);margin:auto;padding:8px 16px;border-radius:15px;border-width:2px}.word-row{gap:12px}.word-panel .word-slots{font-size:32px;gap:7px}.word-panel .slot{min-width:20px}.word-panel .hear{min-width:49px;min-height:49px;padding:3px 7px;font-size:9px;border-radius:12px}.word-panel .hear b{font-size:24px}.word-panel #stageInstruction{font-size:9px;margin:6px 0 0}.hud-feedback{top:177px;font-size:11px;width:auto;min-width:160px;max-width:85vw;padding:5px 11px}.build-badge{top:64px;left:12px;font-size:7px;padding:3px 6px}.hud-bottom{left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));gap:6px}.hud-bottom .xp-display{font-size:12px;padding:8px;min-width:65px;gap:4px}.xp-display .star{font-size:22px}.hud-bottom .weapon-switch{padding:5px;gap:3px}.hud-bottom .weapon-switch button{font-size:6px;min-height:48px;padding:2px}.bottom-actions{bottom:83px;gap:5px;max-width:calc(100vw - 12px)}.bottom-actions button{font-size:20px;min-width:46px;min-height:45px;padding:4px 6px}.bottom-actions small{font-size:8px}.tap-mode .joystick{left:15px;bottom:174px;width:86px;height:86px}.hunt-mode .joystick{left:17px;bottom:168px;width:102px;height:102px}.hunt-mode .fire-button{right:22px;bottom:176px}.hunt-mode .hunt-movement{right:20px;bottom:274px;gap:7px}.hunt-mode .hunt-movement button{width:48px;height:48px;min-height:48px;font-size:25px}.hunt-radar{top:219px;left:12px;width:80px;opacity:.94}.hunt-radar svg{height:96px}.hunt-mode .look-hint{right:20px;bottom:152px;font-size:9px}.hunt-mode .desktop-hint{display:none}.hunt-mode .bottom-actions{bottom:81px}.hunt-mode .hud-feedback{max-width:75vw}.letter-panel{top:202px;max-height:calc(100dvh - 310px)}.mode-picker{gap:8px;margin-bottom:17px}.mode-picker button{grid-template-columns:30px 1fr;gap:0 6px;padding:10px}.mode-picker button>span{font-size:28px}.mode-picker button b{font-size:13px}.mode-picker button small{font-size:10px}
}
@media(max-height:520px){.build-badge{top:60px;font-size:7px;left:10px}.hunt-radar{top:83px;width:66px;left:10px}.hunt-radar svg{height:78px}.hunt-radar small{font-size:8px}.hunt-mode .joystick{width:87px;height:87px;bottom:90px;left:18px}.hunt-mode .fire-button{bottom:85px;right:28px;width:65px;height:65px;min-height:65px}.hunt-mode .hunt-movement{bottom:162px;right:22px;gap:7px}.hunt-movement button{width:43px;height:43px;min-height:43px;font-size:23px}.hunt-mode .bottom-actions{bottom:76px;max-width:52vw}.hunt-mode .desktop-hint{display:none}.hunt-mode .look-hint{bottom:152px;font-size:8px}.hunt-mode .hud-feedback{top:106px;font-size:10px;max-width:55vw}.hunt-mode .hud-left .brand{font-size:23px}}

.effect-choices{display:grid;gap:12px;margin:20px 0}.effect-choices button{display:grid;grid-template-columns:52px 1fr;text-align:left;align-items:center;gap:3px 12px;border:2px solid #72c6e5;box-shadow:none;padding:14px}.effect-choices button[aria-pressed="true"]{border-color:#ffe05b;background:#20547a}.effect-choices b{grid-row:1/3;font-size:38px;text-align:center}.effect-choices strong{font-size:21px}.effect-choices small{font-size:12px;color:#d9f3ff}

/* SPELLSTRIKE ONTARIO CURRICULUM 3.2.0 · Additive, no base game restyling */
.ont-intro{max-width:1200px;margin:0 auto;padding:24px 5px 55px}.ont-intro h1{font-size:clamp(32px,6vw,65px);line-height:1.07;margin:12px 0 16px;color:#fff;text-shadow:3px 4px 0 #07345f}.ont-intro>p{max-width:850px;font-size:16px}.ont-eyebrow,.ont-unit-index{color:#ffdc75;font-size:12px;font-weight:900;letter-spacing:.11em}.ont-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.ont-grade-btn{background:linear-gradient(140deg,#2777c5,#133b80);border:3px solid #62c8f7;border-radius:19px;min-height:120px;padding:20px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 0 #082448}.ont-grade-btn span{font:normal 44px ComicHero,Impact,sans-serif;line-height:1;color:#ffea75;text-shadow:2px 3px 0 #08265e}.ont-grade-btn strong{font-size:15px}.ont-grade-btn.selected{border-color:#ffe884}.ont-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.ont-mode-card{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:260px;border-radius:20px;border:3px solid #6ec3ff;padding:25px;background:linear-gradient(135deg,#1d6aab,#173e7b)}.ont-mode-card:nth-child(2){background:linear-gradient(135deg,#51469a,#233e7a)}.ont-mode-card h2{font-size:36px;margin:4px 0}.ont-mode-card p{font-size:15px}.ont-mode-card>b{color:#ffe97c}.ont-emoji{font-size:43px}.ont-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.ont-lesson-card{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:2px solid #67bdf2;background:linear-gradient(135deg,#23588f,#12395e);border-radius:16px;min-height:205px;padding:19px}.ont-lesson-card h2{font-size:29px;margin:4px 0}.ont-lesson-card p{font-size:14px;margin:0}.ont-unit-details{font-size:12px;color:#9de3ff}.ont-lesson-card strong{margin-top:auto;color:#ffdc69}.ont-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.ont-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;font-size:13px;color:#c4e1fa}.ont-plain{border-color:#ffdb69;background:transparent}.ont-ribbon{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;background:#092e53;border:1px solid #53b9fa;border-radius:14px;padding:13px 15px;margin-bottom:15px;color:#e5f5ff;font-size:13px}.ont-ribbon button{min-height:34px;padding:6px 10px;font-size:12px}.ont-teach-card{background:#153f6d;border:2px solid #52b8e7;border-radius:18px;padding:23px;max-width:850px}.ont-teach-card h2{margin-bottom:10px}.ont-teach-passage{background:#fbf4dd;color:#172d44;border:2px solid #e4c881;border-radius:15px;padding:18px 20px;margin:16px 0;max-height:36vh;overflow:auto}.ont-teach-passage b{color:#29456a;font-size:11px;letter-spacing:.08em}.ont-teach-passage p{color:#172d44;font-size:clamp(18px,2vw,23px);line-height:1.65;margin:5px 0;white-space:pre-wrap}.ont-examples{margin:16px 0}.ont-examples>b{font-size:12px;color:#f9d772}.ont-focus{color:#a4e5ff}.ont-help{font-size:13px}.ont-read-hud{max-width:min(76vw,840px);font-size:15px;line-height:1.25}.ont-read-hud>strong{display:block;font-size:clamp(15px,2vw,22px);line-height:1.3;color:#fff}.ont-read-hud>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ont-read-hud span{background:#104b7a;border:1px solid #7ebfe6;border-radius:8px;padding:6px 8px;font-size:clamp(12px,1.5vw,15px)}.ont-read-hud span b{color:#ffe882;margin-right:5px}
@media(max-width:650px){.ont-intro{padding:18px 4px 45px}.ont-grade-grid{gap:9px}.ont-grade-btn{min-height:92px;padding:12px 3px;border-radius:13px}.ont-grade-btn span{font-size:31px}.ont-grade-btn strong{font-size:11px}.ont-mode-grid,.ont-lesson-grid{grid-template-columns:1fr}.ont-mode-card{min-height:195px;padding:18px}.ont-mode-card h2{font-size:31px}.ont-lesson-card{min-height:160px}.ont-teach-card{padding:14px}.ont-ribbon{font-size:12px}.ont-read-hud{max-width:77vw}.ont-read-hud>strong{font-size:13px}.ont-read-hud span{padding:4px 5px;font-size:10px}.ont-teach-passage p{font-size:18px}}
