@font-face{font-family:ComicHero;src:url(assets/comic-headline.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/game-concept.png) 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:url(assets/map-select.png);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:url(assets/weapon-select.png);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:url(assets/weapon-select.png);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:url(assets/map-select.png);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){*{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){.confetti-layer{display:none}}
