@font-face{font-family:Pixel;src:local('Courier New');font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#102725;color:#eef6da;font-family:Arial,Helvetica,sans-serif}body{background:radial-gradient(ellipse at 50% 0,#21443b,#102725 72%);display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px 34px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffdc7c;outline-offset:5px}button:disabled{opacity:.55;cursor:wait}button{touch-action:manipulation}[hidden]{display:none!important}#app{width:100%;max-width:1440px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.wordmark{text-decoration:none;color:#eff3e2;display:flex;gap:12px;align-items:center;font-size:18px;font-weight:900;letter-spacing:1.2px}.brandmark{background:#b5ea50;box-shadow:3px 3px 0 #071d20;color:#173b36;padding:5px 10px;font-size:27px;font-style:italic}.wordmark small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#a7b8a8}.toolbar{display:flex;gap:9px;align-items:center}.edition{font-family:monospace;font-size:11px;letter-spacing:2px;color:#adbfac;margin-right:18px}.icon-button{background:rgba(217,236,200,.06);border:1px solid #52715c;color:#e2ecd2;display:grid;place-items:center;width:38px;height:38px;border-radius:3px;font-size:22px}.icon-button:hover{background:#3e5d43;border-color:#b5ea50}.game-shell{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;border:4px solid #4f7153;border-radius:5px;box-shadow:0 0 0 1px #9bac7040,0 22px 70px #00181690;background:#8acbdb}canvas{width:100%;height:100%;display:block;image-rendering:pixelated;outline:none;touch-action:none}.game-shell:fullscreen{width:100vw;height:100dvh;border:0;border-radius:0;background:#112828;display:flex;align-items:center;justify-content:center}.game-shell:fullscreen canvas{width:100%;height:100%;object-fit:contain}.screen{position:absolute;inset:0;z-index:3}.title-screen{background:linear-gradient(90deg,#0b2c28ed 0%,#123b2caf 34%,#10342608 67%,transparent 100%)}.title-content{position:absolute;left:6%;top:13%;width:53%}.eyebrow{font-family:monospace;font-size:clamp(9px,1vw,13px);letter-spacing:2px;font-weight:700;color:#cdeb9a;display:block}.eyebrow i{display:inline-block;width:6px;height:6px;background:#c1ed73;margin-right:10px}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(36px,5.9vw,82px);line-height:.98;font-weight:900;letter-spacing:1px;margin:20px 0 6px;color:#fff5c7;text-shadow:4px 4px 0 #184946,7px 7px 0 #072e31}h1 span{color:#c6ed68}.subtitle{font-family:monospace;font-weight:900;letter-spacing:clamp(2px,.5vw,7px);font-size:clamp(12px,1.65vw,22px);color:#e8f3c6;margin-top:12px}.title-content p{font-size:clamp(13px,1.4vw,19px);line-height:1.55;color:#d1e9ce;margin:24px 0}.primary-button{border:0;border-bottom:5px solid #4b792d;border-right:4px solid #699734;padding:17px 23px;background:#b8e85b;color:#203e28;font-size:15px;letter-spacing:1.2px;font-weight:900;box-shadow:4px 4px 0 #092824;display:flex;align-items:center;justify-content:space-between;gap:45px;transition:filter .15s,transform .15s}.primary-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.primary-button:active{transform:translateY(2px)}.text-button{border:0;background:none;color:#daebc9;font-size:13px;padding:15px 0;display:flex;gap:18px;align-items:center}.text-button:hover{color:#cbf189}.title-content .text-button{margin-top:5px}.season-path{position:absolute;bottom:5%;left:6%;right:6%;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:20px;border-top:1px solid #e2f2c234}.season{font-size:clamp(10px,1.15vw,15px);letter-spacing:2px;font-weight:800;color:#f1f4cc82;text-shadow:1px 1px #183e34}.season>span{font-family:monospace;font-size:12px;color:#e4f3be80;display:inline;margin-right:10px}.season small{display:block;font-family:monospace;font-size:clamp(8px,.8vw,10px);letter-spacing:1px;margin:8px 0 0 28px}.season.active{color:#c4ef75}.season.active>span{color:#c4ef75}.season.active small{color:#e1efc9}.level-stamp{position:absolute;right:5%;top:7%;font-family:monospace;font-size:11px;letter-spacing:3px;color:#163f3f;text-align:right}.level-stamp span{font-family:Impact,'Arial Black',sans-serif;display:block;font-size:38px;letter-spacing:2px;color:#164847;text-shadow:1px 1px #d8f2c9;margin-top:5px}.level-stamp small{display:block;font-size:8px;letter-spacing:1px;margin-top:4px}.hud{position:absolute;inset:0 0 auto;height:76px;z-index:2;background:linear-gradient(#092a2ddd,#113c305c,transparent);padding:12px 22px;display:flex;gap:36px;align-items:center;pointer-events:none;text-shadow:2px 2px #173b39}.hud button{pointer-events:auto;margin-left:auto}.health-group{display:flex;gap:10px;align-items:center}.health-group img{width:38px;height:45px;object-fit:contain;image-rendering:pixelated}.hud-label{display:block;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#e0efcc;margin-bottom:5px}.hud-stat strong{font-family:monospace;font-size:25px;letter-spacing:2px;color:#fff3c4}.hud-stat small{font-size:15px;color:#d1e6c1}#health{font-size:22px;color:#fc8d7c;letter-spacing:2px}.modal-screen{display:grid;place-items:center;background:#06282bbc;backdrop-filter:blur(5px)}.modal{width:min(500px,85%);padding:30px 34px;background:#163a34;border:2px solid #a8c370;box-shadow:8px 8px 0 #092422;text-align:center}.modal h2{font-family:Impact,'Arial Black',sans-serif;color:#f7f0cb;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.05;margin:18px 0}.modal p{font-size:14px;line-height:1.6;color:#ccdfc3}.modal .primary-button{width:100%;margin-top:23px}.modal .text-button{margin:auto;padding-bottom:0}.secondary-button{border:1px solid #718e60;background:#224e3f;color:#e6efd2;font-size:14px;width:100%;padding:12px;margin-top:14px}.secondary-button:hover{background:#35624b}.help-modal{width:min(590px,91%);padding:22px 30px}.help-modal h2{margin:9px 0}.help-modal>p{margin:10px 0}.controls-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:13px 18px;text-align:left;align-items:center;font-size:13px;margin:24px 0}.controls-grid span:nth-child(2n){color:#dae8cd}kbd{font-family:monospace;display:inline-block;border:1px solid #8caa7c55;border-bottom:2px solid #8caa7c70;border-radius:3px;background:#a5cc8f10;font-size:11px;padding:3px 5px;line-height:1;margin-right:3px;color:#e1efce}.help-tip{font-size:12px!important;color:#b4ccab!important}.help-modal .primary-button{margin-top:14px;padding:12px 20px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0;margin:20px 0;border-block:1px solid #6c8a5855}.result-stats strong{font-family:monospace;font-size:24px;color:#d3ee9a}.end-modal small{display:block;margin-top:22px;font-size:12px;color:#b5cbb0}.toast{position:absolute;z-index:2;top:17%;left:50%;transform:translate(-50%,-8px);background:#113f35ed;border:1px solid #9dc567;color:#f1f6d6;box-shadow:3px 3px #173a2e;font-size:14px;font-weight:600;padding:12px 20px;max-width:80%;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.loading{position:absolute;inset:0;z-index:5;background:#14392f;display:flex;align-items:center;justify-content:center;gap:15px;font-family:monospace;font-size:14px}.loader{width:20px;height:20px;border:3px solid #b4e669;border-right-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;font-family:monospace;font-size:10px;letter-spacing:1.4px;color:#b0c1a7}.route-label{display:flex;align-items:center;gap:10px}.spring-dot{width:7px;height:7px;background:#b6e874;box-shadow:0 0 8px #b6e838}.desktop-hints{display:flex;gap:18px;font-size:9px;color:#9ab092}.desktop-hints kbd{font-size:9px;color:#cad9b6}.mobile-hint{display:none}.touch-controls{position:absolute;inset:auto 0 12px;z-index:2;display:flex;justify-content:space-between;padding:0 18px;pointer-events:none}.touch-controls button{width:47px;height:47px;border-radius:8px;border:1px solid #d0e9b775;background:#173b3dbd;color:#f4f6d8;font-size:22px;font-weight:bold;pointer-events:auto;user-select:none;touch-action:none}.touch-controls button.pressed{background:#96c256e8;color:#102e28}.touch-move,.touch-actions{display:flex;align-items:flex-end;gap:8px}.touch-vertical{display:flex;flex-direction:column;gap:5px}.touch-vertical button{height:33px;width:39px;font-size:16px}.touch-controls .jump-touch{background:#b3de68bb;color:#123b28;width:58px;height:58px}.touch-controls .service-touch{background:#d9ad4bbd;color:#fff9db}.touch-actions{align-items:flex-end}.game-shell.playing{user-select:none}.game-shell.playing .touch-controls{display:none}@media(pointer:coarse){.game-shell.playing .touch-controls:not([hidden]){display:flex}.desktop-hints{display:none}.mobile-hint{display:block;font-size:10px}.game-shell.playing .toast{top:21%;font-size:12px}}@media(max-width:800px){body{padding:15px 12px}.topbar{margin-bottom:15px}.edition{display:none}.wordmark{font-size:14px}.wordmark small{font-size:8px}.brandmark{font-size:22px}.icon-button{width:32px;height:32px;font-size:20px}.title-content{top:10%;left:5%}.title-content p{margin:15px 0}.primary-button{padding:12px 17px;font-size:12px;gap:30px}.title-content .text-button{font-size:11px;padding:10px 0;margin:0}.title-content h1{margin-top:14px}.hud{height:62px;padding:8px 13px;gap:23px}.hud-label{font-size:8px;letter-spacing:.8px}.hud-stat strong{font-size:19px}.health-group img{width:27px;height:34px}#health{font-size:17px;letter-spacing:0}.level-stamp{right:4%;top:7%}.level-stamp span{font-size:30px}.season-path{bottom:5%;left:5%;right:5%;padding-top:12px;gap:10px}.season{letter-spacing:1px}.season small{margin-top:6px}.modal{padding:20px 26px}.modal h2{font-size:29px}.help-modal{padding:15px 24px}.help-modal .eyebrow{display:none}.help-modal>p{font-size:12px;margin:7px 0}.controls-grid{gap:8px 15px;font-size:11px;margin:12px 0}.help-modal .primary-button{padding:9px 15px}.help-tip{font-size:10px!important}.toast{font-size:11px;padding:9px 12px}footer{font-size:9px}.desktop-hints{gap:9px}}@media(max-width:560px) and (orientation:portrait){body{padding:15px 8px;align-items:flex-start}.wordmark{font-size:12px}.wordmark small{font-size:7px}.toolbar{gap:5px}.game-shell{aspect-ratio:3/4}canvas{height:100%;object-fit:cover;object-position:62% center}.game-shell.playing canvas{object-fit:contain;background:#183e3d}.game-shell.playing{aspect-ratio:4/3}.title-content{top:14%;width:90%;left:7%}.title-content h1{font-size:48px;margin-top:20px}.subtitle{font-size:18px;letter-spacing:3px}.title-content .eyebrow{font-size:9px}.title-content p{font-size:16px;line-height:1.6;margin:26px 0 23px}.title-content .primary-button{font-size:14px;padding:15px 22px}.title-content .text-button{font-size:13px;padding-top:19px}.title-screen{background:linear-gradient(90deg,#0b2c28eb,#10342628)}.level-stamp{top:3.5%;font-size:9px}.level-stamp span{font-size:22px}.level-stamp small{display:none}.season-path{left:7%;right:7%;gap:8px;bottom:7%}.season{font-size:9px;letter-spacing:0}.season>span{display:block;margin-bottom:7px}.season small{font-size:6px;margin:6px 0 0}.health-group img{display:none}.hud{gap:15px;padding:8px 10px}.health-group .hud-label{font-size:7px;letter-spacing:0}.hud-stat .hud-label{font-size:7px}.hud-stat strong{font-size:17px}.hud-stat small{font-size:11px}.hud .score{display:none}.hud button{width:27px;height:27px;font-size:17px}#health{font-size:16px}.touch-controls{bottom:6px;padding:0 9px}.touch-controls button{width:36px;height:36px;font-size:17px}.touch-controls .jump-touch{width:45px;height:45px}.touch-vertical button{width:31px;height:25px}.touch-move,.touch-actions{gap:5px}.modal{padding:17px 19px;width:90%;max-height:95%;overflow:auto}.modal h2{font-size:23px}.modal p{font-size:11px}.modal .primary-button{margin-top:14px;padding:10px 15px}.help-modal h2{font-size:21px;margin:0}.controls-grid{font-size:10px;gap:7px 8px;grid-template-columns:1fr 1.4fr}.controls-grid kbd{font-size:9px;padding:2px 3px}.help-tip{font-size:9px!important}.result-stats{margin:10px 0;padding:9px 0}.result-stats strong{font-size:18px}.end-modal small{font-size:10px;margin-top:13px}footer{display:block;line-height:1.5}.mobile-hint{margin-top:10px}.desktop-hints{display:none}.toast{max-width:90%;width:max-content;font-size:10px;top:24%}}@media(max-height:520px) and (orientation:landscape){body{padding:0;align-items:flex-start}.topbar,footer{display:none}#app{width:100vw;max-width:none}.game-shell{height:100dvh;width:100vw;aspect-ratio:auto;border:0;border-radius:0}canvas{object-fit:contain}.title-content{top:10%;left:8%}h1{font-size:49px}.title-content p{font-size:13px;margin:16px 0}.season-path{bottom:6%}.modal{max-height:95%;overflow:auto}.help-tip{display:none}.help-modal h2{font-size:25px}.controls-grid{margin:12px 0;gap:8px}.hud{padding-inline:30px}}

/* Controller and expanded field guide. */
.gamepad-focus{outline:3px solid #f7d67c!important;outline-offset:4px}.controller-status{color:#b9db83;font-size:10px;letter-spacing:1px}.gamepad-guide{border-top:1px solid #82995b66;text-align:left;padding-top:13px;margin-top:15px}.gamepad-guide>span{font:700 11px monospace;letter-spacing:2px;color:#b5e976}.gamepad-guide p{font-size:12px!important;line-height:1.7;margin:6px 0!important}.gamepad-guide small{display:block;font-size:10px;line-height:1.5;color:#b5cdaa}.help-modal{max-height:94%;overflow:auto;scrollbar-color:#719f65 #163a34}.help-modal .controls-grid{margin:18px 0;gap:10px 18px}footer{flex-wrap:wrap;gap:12px}.help-modal .primary-button{position:sticky;bottom:0}.gamepad-guide kbd{white-space:nowrap}@media(max-width:800px){.help-modal .controls-grid{margin:12px 0;gap:8px 10px}.gamepad-guide{padding-top:10px;margin-top:10px}.gamepad-guide p{font-size:11px!important}.controller-status{font-size:9px}.help-modal{padding:18px 24px}}@media(max-width:560px) and (orientation:portrait){.controller-status{display:block;margin-top:9px}.help-modal{padding:15px 19px}.help-modal .controls-grid{font-size:10px}.gamepad-guide p{font-size:10px!important}.gamepad-guide small{font-size:9px}}
/* Filter inventory and upgrades remain readable within the game HUD. */
.hud{gap:24px}.supplies{min-width:88px}.supplies #upgrades{display:block;font:700 10px monospace;color:#d5f599;letter-spacing:.5px}.touch-controls .service-touch{font-size:10px}.gamepad-guide{border-top:1px solid #587b56;margin-top:16px;padding-top:12px}.gamepad-guide>span{font:700 11px monospace;color:#c5ed8e}.gamepad-guide small{font-size:11px;color:#b4ccab}.help-modal{max-height:95%;overflow:auto}.gamepad-focus{outline:3px solid #ffdc7c;outline-offset:4px}.controller-status{font-size:9px;letter-spacing:.5px}@media(max-width:800px){.hud{gap:14px}.supplies{min-width:62px}.supplies #upgrades{font-size:8px}.controller-status{display:none}}@media(max-width:560px){.hud{gap:9px}.health-group .hud-label{max-width:85px}.supplies{min-width:58px}.supplies #upgrades{font-size:7px}}

.summer-button{display:block;margin-top:12px;padding:10px 14px;background:#f2b653;color:#203329;border:2px solid #f9d787;font:700 11px monospace;cursor:pointer}.season-path button.season{background:transparent;border:0;text-align:left;padding:0;cursor:pointer}.season-path button[aria-pressed="true"]{color:#d0f386}.season-path button[aria-pressed="false"]{color:#f0e6c5}.title-content p{margin:16px 0}.title-content .text-button{padding-top:9px}.title-content{top:11%}@media(max-height:520px) and (orientation:landscape){.title-content p{margin:8px 0}.title-content{top:6%}.summer-button{margin-top:7px;padding:7px 10px}.title-content h1{margin-top:10px}.season-path{bottom:4%}}@media(max-width:560px) and (orientation:portrait){.title-content{top:13%}.title-content p{margin:16px 0}.title-content .summer-button{padding:12px}.title-content .text-button{padding-top:12px}}

/* Three playable seasons fit above the route selector. */
.title-content{top:8%}.title-content h1{margin-top:12px}.title-content p{margin:12px 0}.title-content .primary-button{padding:13px 20px}.title-content .summer-button{display:inline-block;margin-right:7px;font-size:10px;padding:9px 10px}.title-content .text-button{margin-top:0;padding-top:8px}.season.active[aria-pressed="false"]>span,.season.active[aria-pressed="false"] small{color:inherit}
@media(max-width:800px){.title-content .summer-button{padding:6px;font-size:8px;margin-top:7px}.title-content h1{margin-top:8px}.title-content p{font-size:12px;margin:8px 0}.title-content .primary-button{padding:9px 15px}.title-content .text-button{padding-top:5px}}
@media(max-width:560px) and (orientation:portrait){.title-content{top:13%}.title-content .summer-button{font-size:10px;padding:10px}.title-content p{font-size:15px;margin:16px 0}}

/* Fourth-season entry stays alongside the existing level shortcuts. */
.title-content .winter-button{background:#b7e5f5;border-color:#e3f7ff;color:#193e57}.title-content{width:60%}.title-content .summer-button{font-size:9px;padding:8px}.title-content p{margin:10px 0}.season-path{gap:12px}.season-path #winterSelect[aria-pressed="true"]{color:#b9edff}
@media(max-width:800px){.title-content .summer-button{font-size:7px;padding:5px;margin-right:2px}.title-content .text-button{font-size:10px;padding:4px 0}.title-content p{font-size:11px;margin:6px 0}}
@media(max-width:560px) and (orientation:portrait){.title-content{width:90%}.title-content .summer-button{font-size:9px;padding:9px;margin-top:9px}.title-content p{font-size:15px;margin:16px 0}}

.logo-title{margin:8px 0!important;line-height:0}.logo-title img{width:min(100%,440px);height:auto;max-height:175px;object-fit:contain;object-position:left center;image-rendering:pixelated}.title-content{top:5%}.title-content .eyebrow{font-size:10px}.transition-screen{display:flex;align-items:center;justify-content:space-between;padding:7%;background:linear-gradient(120deg,#112f35f7,#235f48e8);color:#f5ffdd}.transition-screen[data-season="2"]{background:linear-gradient(120deg,#382d27f7,#995427ef)}.transition-screen[data-season="3"]{background:linear-gradient(120deg,#232d30f7,#486149ef)}.transition-screen[data-season="4"]{background:linear-gradient(120deg,#112b4bf7,#397c9cef)}.splash-copy{width:62%;z-index:1}.splash-copy h2{font:900 clamp(24px,5vw,72px) monospace;margin:12px 0;color:#e9fba5;text-shadow:4px 4px #102531}.splash-copy p{line-height:1.6;font-size:clamp(11px,1.25vw,17px)}#splashTip{color:#d4e6df;font-size:clamp(10px,1vw,14px);margin-bottom:24px}.splash-villain{width:29%;max-height:80%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(8px 12px 0 #06182755)}#gameOverTitle{color:#ffc7ba;letter-spacing:3px}#gameOverScreen .modal{max-width:470px} @media(max-width:800px){.logo-title img{max-height:105px;width:90%}.title-content{top:4%}.title-content .eyebrow{font-size:8px}.splash-copy h2{margin:6px 0}#splashTip{margin-bottom:12px}.transition-screen{padding:5%}}@media(max-width:560px) and (orientation:portrait){.logo-title img{max-height:150px}.title-content{top:7%}.transition-screen{padding:7%}.splash-copy{width:70%}.splash-villain{width:27%}}

@font-face{font-family:'Techmazing Arcade';src:url('assets/fonts/techmazing-arcade-hd.ttf') format('truetype');font-weight:400 900;font-display:swap}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hud{gap:18px}.hud .hud-label,.hud .hud-stat strong,.hud .hud-stat small,.result-stats strong,.toast,.route-label,.splash-copy h2{font-family:'Techmazing Arcade',monospace;font-weight:400}.hud .hud-stat strong{font-size:26px;letter-spacing:1px;text-shadow:2px 2px #072e31,3px 3px #072e31}.hud .hud-label{font-size:11px;letter-spacing:1px}.hud .repair-stat,.hud .supplies{display:flex;align-items:center;gap:5px}.hud .supplies{min-width:0}.filter-icon{width:38px;height:42px;object-fit:contain;image-rendering:pixelated}.equipment{display:flex;align-items:center;gap:5px;min-width:36px}.equipment-icon{width:36px;height:40px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 #09242b)}.hud .score{margin-left:auto}.hud button{margin-left:0}.toast{font-size:13px;line-height:1.6}@media(max-width:800px){.hud{gap:10px;padding:8px 12px}.hud .hud-stat strong{font-size:20px}.hud .hud-label{font-size:9px}.filter-icon{width:27px;height:32px}.equipment-icon{width:28px;height:32px}.equipment{gap:2px}.health-group{gap:5px}}@media(max-width:560px){.hud{gap:6px}.hud .hud-stat strong{font-size:16px}.hud .hud-stat small{font-size:11px}.equipment-icon{width:23px;height:27px}.filter-icon{width:22px;height:28px}.hud .hud-label{font-size:8px}.health-group img{width:26px;height:32px}}

/* Every DOM text surface inside the game shares the locally bundled pixel face. */
#gameShell,#gameShell *{font-family:'Techmazing Arcade',monospace!important;font-weight:400!important}#gameShell .icon-button{font-family:'Techmazing Arcade',monospace!important}#gameShell .title-content p{line-height:1.5;font-size:clamp(11px,1.2vw,17px)}#gameShell .subtitle{letter-spacing:3px}#gameShell .primary-button{letter-spacing:1px}#gameShell .help-modal p{line-height:1.75}#gameShell .level-stamp span{font-size:32px}#gameShell .season small{letter-spacing:.7px}#gameShell .eyebrow{letter-spacing:1.4px}@media(max-width:800px){#gameShell .title-content p{font-size:11px}#gameShell .level-stamp span{font-size:24px}#gameShell .subtitle{letter-spacing:2px}}

/* 16-bit arcade lettering: a high-resolution alphabet with enamel highlights and depth. */
#gameShell{--arcade-gold:linear-gradient(#fffde9 0%,#fff4b2 30%,#ffe176 48%,#e4a039 51%,#ffdc75 75%,#fff3ba 100%)}
#gameShell *{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#gameShell h2,#gameShell .subtitle,#gameShell .level-stamp span,#gameShell .hud-stat strong,#gameShell .result-stats strong{background-image:var(--arcade-gold);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;-webkit-text-stroke:.55px #593c22;filter:drop-shadow(1px 1px 0 #082d39) drop-shadow(1px 2px 0 #082d39);text-shadow:none!important;letter-spacing:1px}
#gameShell h2{-webkit-text-stroke:1px #604022;filter:drop-shadow(2px 2px 0 #092d3b) drop-shadow(1px 2px 0 #092d3b);line-height:1.1}
#gameShell #gameOverTitle{background-image:linear-gradient(#fff4da 0%,#ffa99a 42%,#ce3d49 48%,#f17556 75%,#ffdb99 100%);-webkit-text-stroke:1px #60202c}
#gameShell .hud-stat strong{-webkit-text-stroke:.35px #78572c;letter-spacing:.5px}
#gameShell .hud-stat small{-webkit-text-fill-color:#dae9e6;-webkit-text-stroke:0;color:#dae9e6;font-size:.58em}
#gameShell .hud-label,#gameShell .eyebrow{color:#c8f5dc;text-shadow:0 -1px #ffffff44,1px 2px #092a38;letter-spacing:1px}
#gameShell .primary-button,#gameShell .summer-button,#gameShell .secondary-button{color:#fff7d8;background:linear-gradient(#368da0 0%,#286879 47%,#174357 49%,#225c68 100%);border-color:#7cd5d6 #123447 #102b3c #86d7d3;box-shadow:inset 0 1px #e1fff099,3px 4px #081f2b;text-shadow:0 -1px #ffffff55,1px 1px #133440,2px 2px #133440;letter-spacing:.5px}
#gameShell .primary-button{border-top:2px solid #a7eee4;font-size:16px}
#gameShell .season,#gameShell .text-button{color:#f2e9c2;text-shadow:0 -1px #ffffff33,1px 2px #082e38}
#gameShell .season[aria-pressed=true]{color:#ffe58c;text-shadow:0 -1px #fff9cf,1px 2px #4a3b23}
#gameShell p,#gameShell small,#gameShell .controls-grid,#gameShell .toast{letter-spacing:.15px;text-shadow:1px 1px #092b35;line-height:1.6}
#gameShell .help-modal p{line-height:1.7;font-size:12px}#gameShell .title-content p{font-size:clamp(12px,1.25vw,18px)}
@media(max-width:800px){#gameShell .primary-button{font-size:12px}#gameShell .title-content p{font-size:11px}#gameShell h2{-webkit-text-stroke:.6px #604022}#gameShell .hud-stat strong{-webkit-text-stroke:0}}
/* Illustrated chapter cards: sprite artwork, comic framing, restrained motion. */
#gameShell{container-type:inline-size}
.comic-screen{z-index:8;background:#071e30;overflow:hidden;display:flex;flex-direction:column}
.comic-scene{position:absolute;inset:0 0 28%;background-color:#193e4d;background-repeat:no-repeat;background-size:cover;background-position:center;overflow:hidden}
.scene-spring{background-image:linear-gradient(#9cd6e522,#204d5788),url('assets/env-0.png'),url('assets/env-1.png');background-size:cover,45% auto,40% auto;background-position:center,5% 100%,95% 100%;background-color:#8dc7c7}
.scene-summer{background-image:linear-gradient(135deg,#eb95486b,#6b231f55),url('assets/summer/city1.png'),url('assets/summer/city2.png'),url('assets/summer/sunny-sky.png');background-size:cover,40% auto,35% auto,cover;background-position:center,5% 90%,90% 70%,center}
.scene-fall,.scene-villains{background-image:linear-gradient(#112c4344,#09212ca6),url('assets/fall/factory.png')}
.scene-winter{background-image:linear-gradient(#142d5b22,#30617b55),url('assets/winter/mountains.png')}
.scene-hero{background:radial-gradient(ellipse at 50% 50%,#c3e886 0%,#398b8a 40%,#102e48 80%)}
.comic-rays{position:absolute;inset:-60%;opacity:.13;background:repeating-conic-gradient(from 12deg,transparent 0deg 13deg,#f4ffe8 13deg 17deg);animation:comic-rays 36s linear infinite}
.scene-villains .comic-rays{opacity:.08}.comic-frame{position:absolute;inset:11% 2% 4%;border:3px solid #061827;box-shadow:0 0 0 2px #dfca8c55;pointer-events:none;background:radial-gradient(#071f3433 .7px,transparent 1px);background-size:5px 5px}
.comic-cast{position:absolute;inset:13% 8% 0;display:flex;align-items:flex-end;justify-content:center;gap:3%;filter:drop-shadow(5px 8px 0 #06182799)}
.comic-character{height:94%;width:43%;display:flex;align-items:flex-end;justify-content:center;animation:comic-arrive .45s ease-out both,comic-breathe 5s ease-in-out .45s infinite alternate;animation-delay:calc(var(--slot)*.09s),calc(.45s + var(--slot)*.2s)}
.comic-character img{max-height:100%;max-width:100%;object-fit:contain;image-rendering:pixelated}
.cast-1 .comic-character{height:100%;width:50%}.cast-4{left:3%;right:3%;gap:0}.cast-4 .comic-character{width:25%;height:85%}.cast-4 .comic-character:nth-child(even){height:95%}
.scene-hero .comic-character{animation:comic-arrive .6s ease-out both,comic-hero 4s ease-in-out .6s infinite alternate}
.comic-top{position:absolute;top:3%;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:2}
#gameShell .comic-top .eyebrow{font-size:clamp(8px,1.2cqw,13px);letter-spacing:.8px;text-shadow:1px 2px #061827;background:#0b2536d9;padding:7px 10px}
#gameShell #storySkip{padding:7px 11px;margin:0;font-size:clamp(9px,1.1cqw,12px);white-space:nowrap}
.comic-caption{position:absolute;left:4%;right:4%;bottom:15%;max-height:43%;overflow:auto;background:linear-gradient(145deg,#183e50fa,#092437fa);border:2px solid #e7cf84;border-left:7px solid #e7cf84;box-shadow:5px 6px #061827aa;padding:2% 2.5%;z-index:2}
#gameShell .comic-caption h2{font-size:clamp(16px,2.6cqw,34px);margin:0 0 9px;letter-spacing:.5px;line-height:1.15}
#gameShell .comic-caption p{font-size:clamp(11px,1.55cqw,19px);line-height:1.55;margin:0;color:#edf4e3;letter-spacing:.1px}
.comic-controls{position:absolute;left:4%;right:4%;bottom:3%;height:9%;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:2}
#gameShell .comic-controls .primary-button{padding:9px 17px;font-size:clamp(10px,1.45cqw,17px);gap:10px;margin:0}
#gameShell .comic-controls .text-button,#gameShell #storyPage{font-size:clamp(9px,1.25cqw,14px)}
#gameShell #storyBack:disabled{cursor:default;opacity:.25}
@keyframes comic-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes comic-breathe{from{transform:translateY(0) rotate(-.4deg)}to{transform:translateY(-5px) rotate(.4deg)}}
@keyframes comic-hero{from{transform:translate(-5px,3px) scale(1)}to{transform:translate(5px,-4px) scale(1.03)}}
@keyframes comic-rays{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.comic-rays,.comic-character,.scene-hero .comic-character{animation:none!important}}
@media(max-width:560px){.comic-caption{left:3%;right:3%;padding:2%;bottom:16%;max-height:45%}#gameShell .comic-caption h2{margin-bottom:5px}.comic-controls{left:3%;right:3%}.comic-cast{inset:17% 3% 0}.comic-top{left:3%;right:3%}.comic-top .eyebrow{max-width:65%}}

.arcade-menu{display:flex;gap:18px}.arcade-menu .text-button{font-size:10px;padding:6px 0}.arcade-scores{z-index:35;background:linear-gradient(135deg,#071d2af5,#143c40f5);display:flex;align-items:center;justify-content:center}.score-board{width:82%;color:#f5e6b9;text-align:center;font-family:'Techmazing Arcade',monospace}.score-board h2{font-size:clamp(18px,3.8vw,36px);color:#ffe091;margin:8px;text-shadow:2px 3px #70411d}.score-board table{width:100%;border-collapse:collapse;font-size:clamp(8px,1.4vw,14px);text-align:left}.score-board th{color:#81cfc8;padding:6px;border-bottom:2px solid #81cfc8}.score-board td{padding:5px 6px;border-bottom:1px solid #33565b}.score-board tbody tr:first-child{color:#ffe286}.score-board td:nth-child(3){color:#b9f781}.score-board p{font-size:10px;margin:12px}.score-actions{display:flex;justify-content:center;gap:12px}.score-actions button{font:10px 'Techmazing Arcade',monospace;background:#224a50;color:#fff0c0;border:1px solid #91b7a2;padding:9px;cursor:pointer}.score-entry{z-index:60;background:#061c30ed}.score-entry label{display:block;font:11px 'Techmazing Arcade',monospace}.score-entry input{display:block;width:90%;margin:16px auto;padding:12px;text-align:center;background:#102f41;color:#fff0a0;border:2px solid #9bcd9a;font:22px 'Techmazing Arcade',monospace;text-transform:uppercase}.score-entry button{display:block;margin:8px auto}#attractBanner{position:absolute;inset:0;pointer-events:none;z-index:40;font-family:'Techmazing Arcade',monospace;text-align:center;color:#fff0b6;text-shadow:2px 2px #132c3d}#attractBanner span{position:absolute;top:18px;left:0;right:0;font-size:12px}#attractBanner strong{position:absolute;bottom:18px;left:0;right:0;font-size:clamp(12px,2vw,20px);animation:arcadePulse 1.4s steps(2,end) infinite}@keyframes arcadePulse{50%{opacity:.4}}[hidden]{display:none!important}

.offline-download{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 28px;padding:22px;border:1px solid #527f78;background:linear-gradient(125deg,#102d35,#173e3c);border-radius:12px;color:#e6f0da}.offline-download h2{font:16px 'Techmazing Arcade',monospace;color:#d5f191;margin:0 0 10px}.offline-download p{max-width:600px;margin:0 0 8px;font-size:14px;line-height:1.5}.offline-download small{color:#adc5bc;font-size:12px}.offline-download-action{text-align:center;min-width:230px}.offline-download-action a{display:block;padding:16px;background:#c1eb75;color:#173b37;border-radius:7px;font:12px 'Techmazing Arcade',monospace;text-decoration:none;cursor:pointer}.offline-download-action a span{display:block;margin-top:8px;font:11px sans-serif}.offline-download-action a[aria-disabled=true]{opacity:.7;cursor:progress}.offline-download-action p{margin-top:8px;font-size:12px}@media(max-width:650px){.offline-download{flex-direction:column;align-items:stretch;padding:18px}.offline-download-action{min-width:0}}

.screen button:focus-visible,.screen input:focus-visible{outline:3px solid #ffdc65;outline-offset:4px;box-shadow:0 0 15px #ffdc6580}.controller-entry-help{font-size:12px;line-height:1.6}

.screen button.gamepad-focus,#gameDisplayTools button.gamepad-focus,#ipadOffline button.gamepad-focus,#ipadOffline a.gamepad-focus{outline:4px solid #fff3ac!important;outline-offset:4px!important;background:#ffdc65!important;color:#102725!important;box-shadow:0 0 0 7px #123b36,0 0 24px #ffdc65aa!important;text-shadow:none!important}
.screen button:focus:not(.gamepad-focus){outline:none!important;box-shadow:none!important}
#namePreview{display:flex;justify-content:center;gap:4px;min-height:38px;margin:12px 0;font:24px 'Techmazing Arcade',sans-serif}#namePreview span{display:inline-grid;place-items:center;min-width:24px;border-bottom:2px solid #698c77;color:#eaf6db;white-space:pre}#namePreview .name-cursor{color:#102725;background:#ffdc65;outline:2px solid #fff3ac;border-color:#ffdc65}
