@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;font-family:Barlow,Arial,sans-serif;color:#f5efe2;background:#091821}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #75edff;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}#game{position:relative;width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#0a202e;isolation:isolate;touch-action:none;user-select:none}#scene{display:block;width:100%;height:100%;outline:none}.topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;padding:20px 34px;gap:25px;z-index:5;background:linear-gradient(#061019c9,transparent)}.brand{display:flex;gap:17px;align-items:center;color:#f5efe2;text-decoration:none}.brand strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:47px;font-weight:900;font-style:italic;letter-spacing:-2px;line-height:1;position:relative;transform:rotate(-3deg)}.brand strong span{position:absolute;left:0;bottom:-5px;width:62px;height:4px;background:#e55348;transform:rotate(-5deg)}.brand-sub{font-family:'Barlow Condensed',sans-serif;letter-spacing:1.7px;font-size:13px;line-height:1.2;font-weight:700}.area{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;border-right:1px solid #b5d6da44;padding-right:22px;gap:3px;font-family:'Barlow Condensed',sans-serif;letter-spacing:2px}.area span{color:#d2ad70;font-size:12px}.area b{font-size:17px;font-weight:600}.utilities{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid #bdcfda44;border-radius:8px;background:#0a172568;font-size:24px;display:grid;place-items:center}.icon-btn:hover{background:#35607480}.pause{font-family:Arial,sans-serif;font-weight:900;font-size:22px}.hud{position:absolute;top:108px;left:32px;display:flex;gap:18px;align-items:center;z-index:3;filter:drop-shadow(0 3px 2px #07121b);transition:opacity .3s}.portrait{width:62px;height:64px}.portrait canvas{width:100%;height:100%;object-fit:contain}.health{color:#ff645c;font-size:30px;letter-spacing:1px;white-space:nowrap}.stat{display:flex;align-items:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-size:25px;min-width:58px}.stat b{font-weight:600;letter-spacing:1px}.stat b span{font-size:18px;color:#ced7d9}.coin-icon{background:linear-gradient(90deg,#b97010,#ffe39c,#eaa331);border:2px solid #ffdf75;box-shadow:0 0 0 2px #654b21,inset 0 0 0 2px #ab721f;border-radius:50%;width:25px;height:32px;text-align:center;line-height:26px;color:#fff2b2;font-weight:900}.ammo-icon{width:15px;height:29px;border-radius:4px;background:linear-gradient(90deg,#04788d,#96f8ff,#02a1c2);border-top:5px solid #24414c;border-bottom:5px solid #24414c;box-shadow:0 0 11px #37d8ff55}.key-icon{font-size:41px;color:#ffd46e;line-height:1}.objective{position:absolute;right:36px;top:116px;display:flex;align-items:center;gap:9px;background:#081924a8;border:1px solid #8a9d9c38;border-radius:5px;padding:10px 14px;font-size:14px;color:#f0e6d0}.diamond{color:#ffce71;font-size:21px}.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;padding:110px 9% 65px;background:linear-gradient(90deg,#04131df0 0%,#071c2b9c 35%,#08192908 76%);overflow-y:auto}.overlay.hidden{display:none}.menu{max-width:550px}.eyebrow{font-family:'Barlow Condensed',sans-serif;color:#8edade;font-size:14px;letter-spacing:3.5px;font-weight:600;margin:0 0 18px}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(48px,5.8vw,88px);font-style:italic;font-weight:900;letter-spacing:-1.5px;line-height:.94;margin:0 0 28px;position:relative;text-shadow:0 3px 2px #09232b}.title-slash{height:5px;width:90px;background:#e95d4e;display:block;transform:rotate(-5deg);margin-top:16px}#menu-description{font-size:16px;line-height:1.65;color:#c0d0d4;margin:0 0 26px}.primary{border:1px solid #ffe1a0;border-bottom:4px solid #a5732f;color:#182631;background:linear-gradient(#ffe09b,#eebd64);border-radius:5px;box-shadow:0 5px 24px #dfa84726;min-height:54px;padding:0 22px;min-width:254px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-family:'Barlow Condensed',sans-serif;font-size:21px;letter-spacing:1.7px;font-weight:800;text-transform:uppercase;transition:transform .15s,filter .15s}.primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.menu-secondary{display:flex;gap:18px;margin-top:17px}.menu-secondary button{background:none;border:0;padding:0;color:#c0d0d4;font-size:14px}.menu-secondary button span{display:inline-block;border:1px solid #c4dbe66b;border-radius:50%;width:17px;height:17px;margin-left:6px;font-size:12px}.level-note{display:flex;align-items:center;gap:12px;color:#b9cbd1;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:1.9px;margin-top:38px}.level-note>span{border:1px solid #6b96a175;border-radius:4px;padding:6px 8px;color:#dcb16a}.level-note i{font-style:normal;color:#d2ad70}#help-panel{max-width:410px;margin-top:20px;font-size:14px;line-height:1.6;color:#cee1e6;background:#081926df;padding:8px 18px;border-left:2px solid #78cace}kbd{font:600 12px Barlow,Arial,sans-serif;border:1px solid #aac1cc66;border-bottom-width:2px;border-radius:3px;min-width:22px;padding:3px 5px;display:inline-block;text-align:center;margin-right:4px;color:#e1eaec}.desktop-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:26px;padding:26px 34px 19px;background:linear-gradient(transparent,#050f17d9);color:#b8cbd4;font-size:11px;letter-spacing:1.7px;z-index:3}.footer-site{margin-left:auto;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;color:#d3e0df}.touch-controls{position:absolute;inset:auto 0 20px;display:none;justify-content:space-between;padding:0 max(24px,env(safe-area-inset-left));pointer-events:none;z-index:3}.control-group{display:flex;gap:20px}.touch-controls button{pointer-events:auto;width:84px;height:84px;border:2px solid #edeee0a8;border-radius:50%;background:radial-gradient(#73889442,#15242a6b);box-shadow:inset 0 0 18px #eaf7ee18,0 2px 6px #0004;backdrop-filter:blur(2px);touch-action:none}.touch-controls button.active{background:#aecdd070;border-color:#fff}.touch-controls svg{width:52px;height:52px;fill:#f4f6e6;stroke:#f4f6e6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#toast{position:absolute;top:27%;left:50%;transform:translateX(-50%);background:#0b293bea;border:1px solid #62cbd180;border-radius:6px;padding:12px 20px;color:#d8fcf8;z-index:6;opacity:0;transition:opacity .2s;text-align:center;pointer-events:none}#toast.show{opacity:1}.rotate-hint{display:none}.ready .hud,.ready .objective{opacity:0}.playing .overlay{display:none}.paused .touch-controls,.ready .touch-controls,.won .touch-controls,.lost .touch-controls{display:none!important}[hidden]{display:none!important}
@media(pointer:coarse),(max-width:1000px){.touch-controls{display:flex}.desktop-controls{display:none}.topbar{padding:12px 22px}.hud{top:84px;left:22px;gap:12px}.objective{top:88px;right:22px;font-size:12px}.portrait{width:49px;height:53px}.health{font-size:25px}.stat{font-size:22px}.overlay{padding:76px 8% 35px}.level-note{margin-top:22px}.primary{min-height:50px}.topbar .brand-sub{display:none}h1{font-size:58px}}
@media(max-height:550px){.topbar{padding:10px 20px}.brand strong{font-size:32px}.brand strong span{width:46px}.brand-sub{font-size:10px}.area b{font-size:14px}.area span{font-size:10px}.icon-btn{width:34px;height:34px;font-size:20px}.hud{top:62px;left:20px;gap:13px}.portrait{width:42px;height:45px}.health{font-size:24px}.stat{font-size:22px}.coin-icon{width:20px;height:27px;line-height:22px;font-size:20px}.objective{top:68px;right:20px;padding:6px 10px;font-size:12px}.overlay{padding:66px 8% 25px}h1{font-size:49px;margin-bottom:14px}.eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:11px}.title-slash{margin-top:9px;height:4px}#menu-description{font-size:14px;line-height:1.4;margin-bottom:16px}.level-note{margin-top:20px;font-size:10px}.menu-secondary{margin-top:12px}.primary{min-height:45px;min-width:228px;font-size:18px}.touch-controls{bottom:15px}.touch-controls button{width:72px;height:72px}.touch-controls svg{width:44px;height:44px}.desktop-controls{padding:20px 22px 12px}.menu #help-panel{position:absolute;left:47%;top:27%;max-width:43%;font-size:12px}}
@media(max-width:600px) and (orientation:portrait){.brand-sub,.area{display:none}.utilities{margin-left:auto}.hud{left:14px;gap:11px;top:86px}.health{font-size:24px}.portrait{width:42px}.stat{min-width:auto;font-size:21px}.objective{top:152px;left:20px;right:auto}.overlay{padding:100px 8% 130px;align-items:center;background:linear-gradient(90deg,#061927e8,#06192766)}h1{font-size:64px}.eyebrow{font-size:12px;letter-spacing:2px}.level-note{font-size:10px;letter-spacing:1px;gap:8px}.touch-controls{bottom:43px;padding:0 14px}.control-group{gap:10px}.touch-controls button{width:68px;height:68px}.rotate-hint{display:block;position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#c0d1d7;font-size:12px}.ready .rotate-hint{z-index:6}.touch-help{display:block}}

.story-intro{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:70px 24px;background:linear-gradient(90deg,#071925ed,#0a273bbd,#071925d9);pointer-events:none;text-align:center}.story-card{max-width:630px}.story-card h2{font:900 italic clamp(42px,6vw,76px)/.98 'Barlow Condensed',Impact,sans-serif;margin:0 0 24px;color:#fff0cc}.story-card>p:not(.eyebrow){font-size:clamp(18px,2.4vw,25px);line-height:1.55;margin:0 auto;max-width:530px;color:#e6f0ed}.story-timer{height:3px;background:#bedfe12d;width:150px;margin:30px auto 0;overflow:hidden}.story-timer span{display:block;height:100%;width:0;background:#efc47e}.intro .hud,.intro .objective{opacity:0}.intro .touch-controls,.exiting .touch-controls{display:none!important}.intro .desktop-controls{opacity:0}.touch-controls button{position:relative}.touch-controls button.enter-ready{border-color:#a5ffdd;box-shadow:0 0 18px #6befd26b;background:#124e4f99}.enter-ready svg{transform:translateY(-5px)}.control-caption{position:absolute;bottom:5px;left:0;right:0;font:700 11px Barlow,Arial,sans-serif;letter-spacing:1px;color:#defff1}.desktop-controls{gap:20px}@media(max-height:550px){.story-card h2{font-size:42px;margin-bottom:15px}.story-card>.eyebrow{margin-bottom:12px}.story-card>p:not(.eyebrow){font-size:19px;max-width:460px}.story-timer{margin-top:18px}}

.chapter-picker{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.chapter-picker button{display:flex;align-items:center;gap:8px;background:#0c2432c9;color:#bed4d8;border:1px solid #82999666;border-radius:5px;padding:10px 12px;font:600 14px Barlow,Arial,sans-serif;min-height:44px}.chapter-picker button span{font:700 15px 'Barlow Condensed',Arial,sans-serif;color:#eac982}.chapter-picker button[aria-pressed=true]{border-color:#e4c082;color:#fff0cc;background:#4d463354}.chapter-picker button:hover{border-color:#a4ece8}.chapter-picker+.menu-secondary{margin-top:14px}.level-note{margin-top:20px;flex-wrap:wrap;line-height:1.5}#game[data-level="2"] .story-intro{background:linear-gradient(90deg,#101f2aee,#344439bd,#182a28dd)}
@media(max-height:550px){.chapter-picker{margin-top:12px;gap:8px}.chapter-picker button{font-size:12px;padding:7px 10px;min-height:38px}.level-note{margin-top:12px}.overlay:has(.chapter-picker){padding-top:68px;align-items:flex-start}.menu{max-width:550px}}

#game[data-level="2"] .story-intro{background:linear-gradient(90deg,#1d1021ef,#452e24b9,#101529e0)}#game[data-level="2"] .story-card h2{color:#ffe6a5}#game[data-level="2"] .eyebrow{color:#ffc66f}@media(max-height:550px){#game[data-level="2"] .menu h1{font-size:44px}}

/* Inventory controls extend the HUD without moving any of the original controls. */
.stat{position:relative}#ammo-type{position:absolute;left:24px;top:100%;font:700 9px Barlow,Arial;letter-spacing:1px;color:#bdebf4}.flight-hud{position:absolute;left:35px;top:182px;z-index:3;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #8ed8e85c;border-radius:6px;background:#082337c9;min-width:245px}.pack-icon{font-size:30px;color:#7fecff}.flight-hud b{font:700 11px Barlow,Arial;letter-spacing:1px}.fuel-track{height:7px;width:134px;background:#06121f;border-radius:3px;margin-top:5px;overflow:hidden}.fuel-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#138ec6,#8bf8ff)}.flight-hud time{font:700 18px 'Barlow Condensed',Arial;color:#c8f6ff}.jetpack-toggle{position:absolute;right:35px;bottom:85px;z-index:3;display:flex;align-items:center;gap:7px;background:#102e43df;border:1px solid #83ddeb;border-radius:8px;padding:10px 13px;min-height:45px;touch-action:none}.jetpack-toggle>span{font-size:25px;color:#8feaff}.jetpack-toggle b{font:700 11px Barlow,Arial;letter-spacing:1px}.jetpack-toggle[aria-pressed=true]{background:#176777e8;border-color:#b8fbff;box-shadow:0 0 16px #50e4ff55}.ready .flight-hud,.intro .flight-hud,.ready .jetpack-toggle,.paused .jetpack-toggle,.lost .jetpack-toggle,.won .jetpack-toggle,.intro .jetpack-toggle,.exiting .jetpack-toggle{display:none}.desktop-controls{gap:14px;letter-spacing:.7px}.desktop-controls kbd{font-size:11px}#game[data-level="3"] .story-intro{background:linear-gradient(100deg,#082945ee,#163b52cc,#123858cf)}#game[data-level="3"] .eyebrow{color:#a9ecff}
@media(pointer:coarse),(max-width:1000px){.flight-hud{top:149px;left:22px;padding:6px 10px;min-width:225px}.jetpack-toggle{right:24px;bottom:120px}.jetpack-toggle kbd{display:none}}
@media(max-height:550px){.flight-hud{top:116px;left:20px;padding:5px 9px;min-width:216px}.flight-hud b{font-size:9px}.pack-icon{font-size:22px}.fuel-track{width:121px;height:5px}.jetpack-toggle{right:24px;bottom:103px;padding:6px 10px;min-height:40px}#game[data-level="3"] .menu h1{font-size:43px}.chapter-picker button{font-size:11px;padding:7px 9px}.level-note{font-size:9px}}
@media(max-width:600px) and (orientation:portrait){.flight-hud{top:202px;left:20px}.jetpack-toggle{bottom:129px;right:14px}.menu-secondary{flex-wrap:wrap}.chapter-picker{max-width:310px;gap:6px}.chapter-picker button{font-size:11px;padding:8px 9px;min-height:36px}#game[data-level="3"] h1{font-size:58px}}

/* Flight is a temporary layer. Original on-foot positions remain untouched. */
.piloting .touch-controls,.piloting .desktop-controls,.piloting .hud,.piloting .flight-hud,.piloting .jetpack-toggle{display:none!important}
.fighter-hud{position:absolute;top:106px;left:35px;right:35px;z-index:3;display:flex;justify-content:space-between;gap:18px;pointer-events:none}.plane-health,.boss-health{background:#101f32d9;border:1px solid #d4ae6a8a;border-radius:8px;padding:12px 16px;box-shadow:0 5px 25px #07121d50}.plane-health small,.boss-health small{display:block;font:700 11px Barlow,Arial;letter-spacing:1.8px;color:#c4e7ed}.plane-health b{font-size:25px;letter-spacing:2px;color:#ff725e}.plane-health em{display:block;font:600 10px Barlow,Arial;color:#b4f1f1}.boss-health{width:min(42vw,360px)}.boss-health strong{display:block;font:800 23px 'Barlow Condensed',Arial;letter-spacing:1px;margin:3px 0 8px}.boss-track{height:10px;border:1px solid #e9b58499;background:#050d1d;border-radius:6px;overflow:hidden}.boss-track span{display:block;height:100%;background:linear-gradient(90deg,#9e2732,#ff9f52);transition:width .2s}.boss-health #boss-status{display:block;font:600 10px Barlow,Arial;letter-spacing:.7px;color:#ffddb1;margin-top:6px}.flight-caption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;max-width:90%;padding:10px 17px;border:1px solid #c9e5e24a;border-radius:30px;background:#0b2232cb;font:600 12px Barlow,Arial;text-align:center;pointer-events:none}.fighter-access{position:absolute;right:35px;bottom:141px;z-index:3;background:#172e40ed;border:1px solid #f2cb83;border-radius:8px;padding:12px 14px;min-height:45px;font:700 12px Barlow,Arial;color:#ffebbf;touch-action:none}.fighter-access kbd{margin-left:7px}.fighter-access:disabled{cursor:default;opacity:.65}.ready .fighter-access,.paused .fighter-access,.intro .fighter-access,.exiting .fighter-access,.won .fighter-access,.lost .fighter-access,.fighter-help .fighter-access{display:none}
.fighter-help .chapter-picker,.fighter-help #menu-secondary,.fighter-help .level-note,.fighter-help #help-panel{display:none}.fighter-help .menu h1{font-size:clamp(40px,5vw,65px)}.fighter-help .menu{max-width:650px}.fighter-instructions{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font:600 16px Barlow,Arial;color:#e7f0e9;margin:18px 0}.fighter-instructions span{padding:6px 0;border-bottom:1px solid #b7d6da22}.flight-equipment{font:500 12px Barlow,Arial;color:#bdd4d7;line-height:1.6;margin:14px 0}.piloting .objective{display:none}#game[data-level="4"] .story-intro{background:linear-gradient(90deg,#1e2336ed,#76453dcc,#18283cdc)}#game[data-level="4"] .eyebrow{color:#ffdab0}
@media(pointer:coarse),(max-width:1000px){.fighter-access{right:24px;bottom:168px}.fighter-access kbd{display:none}.fighter-hud{top:85px;left:22px;right:22px}.flight-caption{bottom:20px;font-size:13px}}
@media(max-height:550px){.fighter-hud{top:67px;left:20px;right:20px}.plane-health,.boss-health{padding:7px 11px}.plane-health b{font-size:21px}.boss-health{width:255px}.boss-health strong{font-size:19px;margin:2px 0 5px}.plane-health small,.boss-health small{font-size:9px}.fighter-access{bottom:151px;right:24px;padding:9px 12px;min-height:38px}.flight-caption{bottom:13px;font-size:11px;padding:8px 13px}.fighter-help .menu h1,#game[data-level="4"] .menu h1{font-size:41px}.fighter-instructions{margin:9px 0;font-size:13px;gap:3px 18px}.fighter-help .menu #menu-description{margin-bottom:10px;font-size:14px}.fighter-help .eyebrow{margin-bottom:8px}}
@media(max-width:600px) and (orientation:portrait){.fighter-hud{top:133px;left:15px;right:15px;gap:8px}.plane-health,.boss-health{padding:8px 10px}.boss-health{width:58%}.boss-health strong{font-size:18px}.plane-health b{font-size:20px}.plane-health small,.boss-health small{font-size:9px;letter-spacing:1px}.fighter-access{bottom:182px;right:14px}.fighter-instructions{grid-template-columns:1fr;font-size:15px;gap:2px}.flight-caption{bottom:55px;width:90%}}

@media(max-height:550px){.fighter-hud{top:60px}.boss-health strong{font-size:17px}.boss-track{height:7px}.plane-health,.boss-health{padding:6px 10px}.boss-health #boss-status{font-size:9px;margin-top:4px}}

.land-flight{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;min-height:52px;padding:13px 27px;border:1px solid #ffdda0;border-radius:9px;background:linear-gradient(135deg,#ffe3a2,#e9b863);box-shadow:0 5px 28px #151c3c66;color:#172a3b;font:800 18px "Barlow Condensed",Arial;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;touch-action:manipulation}.land-flight:hover{filter:brightness(1.08)}.land-flight:focus-visible{outline:3px solid #a9fff1;outline-offset:5px}.land-flight:disabled{cursor:default;filter:none;background:#cfb981}.land-flight>span:first-child{font-size:25px}@media(max-height:550px){.land-flight{bottom:65px;min-height:47px;padding:9px 23px;font-size:17px}}@media(max-width:600px) and (orientation:portrait){.land-flight{bottom:117px;width:220px;justify-content:center}}

/* Boarding guidance is screen-space, separate from checkpoint labels by the flags. */
.boarding-prompt{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:13px;min-height:56px;padding:11px 22px;background:#102c3cf5;border:1px solid #ffe0a0;border-radius:9px;box-shadow:0 4px 22px #03131d77;color:#fff0cd;touch-action:manipulation}.boarding-prompt>span:first-child{font-size:28px;color:#ffcf75}.boarding-prompt strong{display:block;font:800 20px "Barlow Condensed",Arial;letter-spacing:1.2px;text-transform:uppercase}.boarding-prompt small{display:block;margin-top:3px;font:600 12px Barlow,Arial;color:#d6f1ed}.boarding-prompt:hover,.fighter-access.board-ready{background:#234b58;border-color:#fff0be}.boarding-prompt:focus-visible{outline:3px solid #8ff8ec;outline-offset:5px}@media(max-height:550px){.boarding-prompt{bottom:24px;min-height:51px;padding:8px 18px}.boarding-prompt strong{font-size:18px}.boarding-prompt small{font-size:11px}}@media(max-width:600px) and (orientation:portrait){.boarding-prompt{bottom:126px;left:14px;transform:none;width:210px;padding:10px 13px}.boarding-prompt strong{font-size:18px}.boarding-prompt small{font-size:11px}}
/* Citadel-only additions preserve the shared movement, fire, jump and pause rectangles. */
.citadel-hud{position:absolute;top:105px;right:35px;z-index:3;padding:11px 15px;display:flex;gap:18px;align-items:center;border:1px solid #a8eaff80;border-radius:8px;background:#0d2944e8;color:#c8f6ff;font:700 20px 'Barlow Condensed',Arial;letter-spacing:1px}.citadel-hud span{font-size:17px;color:#f0fbff}.ready .citadel-hud,.intro .citadel-hud{display:none}#game[data-level="5"] .eyebrow{color:#a8edff}#game[data-level="5"] .story-intro{background:linear-gradient(110deg,#0d2747ed,#245478d9,#0d2747ed)}#game[data-level="5"] .story-card h2{color:#d0f7ff}#game[data-level="5"] .menu h1{color:#e5f8ff}
@media(max-height:550px){.citadel-hud{top:72px;right:20px;padding:7px 11px;font-size:18px}.citadel-hud span{font-size:15px}#game[data-level="5"] .menu h1{font-size:43px}}
@media(max-width:600px) and (orientation:portrait){.citadel-hud{top:258px;right:20px;padding:7px 10px;font-size:18px;gap:12px}#game[data-level="5"] .menu h1{font-size:55px}}

#game[data-level="5"] .objective{top:165px;max-width:480px} @media(max-height:550px){#game[data-level="5"] .objective{top:158px;left:20px;right:auto;max-width:calc(100% - 40px);font-size:12px}} @media(max-width:600px) and (orientation:portrait){#game[data-level="5"] .objective{top:156px;max-width:calc(100% - 40px);font-size:12px}}

@media(max-height:550px) and (orientation:landscape){#game[data-level="5"] .objective{top:auto;bottom:20px;left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 420px);font-size:12px;padding:7px 10px;}}

/* Campaign map and supplies stay scrollable on small screens. */
.overlay{align-items:flex-start}.menu{margin-block:auto;max-width:620px;width:100%}.chapter-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:570px}.chapter-picker button{position:relative;flex-wrap:wrap;justify-content:flex-start;min-width:0;text-align:left}.chapter-status{display:block;flex-basis:100%;font:700 9px Barlow,Arial;letter-spacing:1px;color:#8ee0d6}.chapter-locked{opacity:.62}.chapter-locked .chapter-status{color:#d3baa0}.menu-secondary{flex-wrap:wrap;line-height:1.5}#shop-open{color:#ffe099}#toast{z-index:30}dialog{color:#eef7f8;border:1px solid #83bac4;border-radius:14px;background:#0c2532;max-width:740px;width:calc(100% - 28px);max-height:calc(100dvh - 30px);overflow:auto;padding:24px;box-shadow:0 24px 100px #000a}dialog::backdrop{background:#021019cc}dialog header{display:flex;justify-content:space-between;gap:14px}dialog h2{font:800 30px 'Barlow Condensed',Arial;margin:0}dialog .eyebrow{font-size:11px;margin-bottom:8px}#shop-close{align-self:flex-start;background:#234553;border:1px solid #7197a5;border-radius:8px;width:42px;height:42px}#shop-balance{color:#ffe099;font-weight:700}#shop-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#shop-items article{padding:16px;border:1px solid #56747d;border-radius:8px;background:#132f3e}#shop-items h3{margin:0;font-size:17px}#shop-items p{font-size:13px;color:#bed4dc;min-height:32px}#shop-items button{padding:10px;background:#efd098;color:#142a35;border:0;border-radius:5px;min-height:42px;width:100%;font-weight:700}#shop-items button:disabled{background:#294653;color:#c1cbd0;cursor:default}.shop-note{font-size:12px;color:#abc3cb}#shop-message{color:#9ef2d5;min-height:20px}@media(max-width:600px){#shop-items{grid-template-columns:1fr}.chapter-picker{max-width:none}.menu h1{font-size:48px}.overlay{padding-bottom:80px}dialog{padding:18px}}@media(max-height:550px){.chapter-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.menu{max-width:660px}.chapter-picker button{font-size:10px}.chapter-status{font-size:8px}.overlay{padding-bottom:35px}}

@media(min-width:1000px){.chapter-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px}.menu h1{font-size:60px;margin-bottom:18px}.menu .eyebrow{margin-bottom:12px}.menu #menu-description{margin-bottom:18px}.chapter-picker button{font-size:12px;padding:8px 10px}.chapter-status{font-size:8px}}

.shop-shortcut{border:1px solid #ffe4a4;border-radius:7px;background:linear-gradient(#ffdfa1,#e6b566);color:#172b34;min-width:64px;min-height:42px;padding:6px 10px;font:800 16px 'Barlow Condensed',Arial;letter-spacing:1px;box-shadow:0 2px 12px #e9b95f33;flex-shrink:0}.menu>#shop-open{display:block;margin-top:12px;padding:12px 18px;border:1px solid #d8b675;border-radius:6px;background:#253735;color:#ffe1a0;min-height:44px;font-weight:700}.menu>#shop-open span{color:#fff2ce}@media(max-height:550px){.shop-shortcut{min-height:34px;min-width:55px;font-size:14px}.menu>#shop-open{margin-top:8px;padding:8px 14px}}@media(max-width:600px){.topbar{gap:10px;padding-inline:14px}.utilities{gap:6px}.shop-shortcut{min-width:60px}.topbar .brand strong{font-size:36px}}

/* Use the actual iframe/fullscreen viewport, even on short folded-phone displays. */
html,body{width:100%;height:100%;overflow:hidden}
html[data-touch-controls] .touch-controls{display:flex}
html[data-touch-controls] .desktop-controls{display:none}
.touch-controls{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px))}
@media(orientation:landscape) and (max-height:550px){
 .touch-controls{bottom:max(10px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));z-index:6}
 .touch-controls button{width:clamp(48px,21dvh,72px);height:clamp(48px,21dvh,72px);flex-shrink:0}
 .touch-controls svg{width:65%;height:65%}.control-group{gap:12px}
 .jetpack-toggle{bottom:calc(clamp(48px,21dvh,72px) + max(10px,env(safe-area-inset-bottom,0px)) + 8px);right:max(16px,env(safe-area-inset-right,0px))}
 .topbar{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
 .rotate-hint{display:none}
}

.landscape-prompt{position:absolute;z-index:7;left:50%;bottom:max(12px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:grid;grid-template-columns:1fr 32px;gap:4px 8px;width:min(260px,calc(100% - 360px));padding:10px;border:1px solid #deb975;border-radius:9px;background:#0c2735f5;box-shadow:0 4px 18px #0006;text-align:center}.landscape-prompt>span{grid-column:1/-1;font:600 11px Barlow,Arial;color:#e0e7e4}.landscape-prompt button{min-height:36px;border:0;border-radius:5px;background:#efcb87;color:#17303a;font-weight:700;font-size:13px}.landscape-prompt #dismiss-maximize{background:#264453;color:#dce9ed}@media(orientation:landscape) and (max-width:620px){.landscape-prompt{width:200px;bottom:calc(clamp(48px,21dvh,72px) + 20px)}}
@media(max-width:600px) and (orientation:portrait){.touch-controls{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));bottom:max(43px,env(safe-area-inset-bottom,0px))}}
/* Train telemetry occupies its own area; shared buttons retain their exact rectangles. */
.train-hud{position:absolute;top:105px;right:35px;z-index:3;display:grid;gap:5px;min-width:236px;padding:11px 15px;border:1px solid #d6b88288;border-radius:8px;background:#102539e8;color:#fff0cc;pointer-events:none}.train-hud small{font:700 11px Barlow,Arial;letter-spacing:2px;text-transform:uppercase;color:#aed9e6}.train-hud strong{font:800 21px 'Barlow Condensed',Arial;letter-spacing:1px}.train-hud>span{font:700 11px Barlow,Arial;letter-spacing:.5px;color:#ffd58d}.train-route{height:3px;background:#90b2b133;margin-top:3px}.train-route i{display:block;height:100%;background:#ffc575}.ready .train-hud,.intro .train-hud{display:none}#game[data-level="6"] .objective{top:215px;max-width:430px}#game[data-level="6"] .eyebrow{color:#ffd99c}#game[data-level="6"] .story-intro{background:linear-gradient(110deg,#101f39ee,#432e3cce,#14243bea)}#game[data-level="7"] .eyebrow{color:#dceab2}#game[data-level="7"] .story-intro{background:linear-gradient(110deg,#143e36ed,#33574cc9,#153531e8)}
@media(max-height:550px){.train-hud{top:67px;right:20px;min-width:205px;padding:8px 12px;gap:3px}.train-hud strong{font-size:18px}.train-hud small,.train-hud>span{font-size:9px}#game[data-level="6"] .objective{top:158px;left:20px;right:auto;max-width:calc(100% - 40px);font-size:11px}}
@media(max-width:600px) and (orientation:portrait){.train-hud{top:258px;right:20px;min-width:200px;padding:8px 12px}#game[data-level="6"] .objective{top:156px;left:20px;right:auto;max-width:calc(100% - 40px);font-size:11px}}

.sunrise-hud{border-color:#e5d39780;background:#233e38ed}.sunrise-hud small{color:#c4edc1}.sunrise-hud strong{color:#fff3d1}#game[data-level="8"] .objective{top:215px;max-width:450px}#game[data-level="8"] .story-intro{background:linear-gradient(110deg,#273c37ef,#685241bd,#162e2ce8)}#game[data-level="8"] .eyebrow{color:#ffe3ab}
@media(max-height:550px){#game[data-level="8"] .objective{top:158px;left:20px;right:auto;max-width:calc(100% - 40px);font-size:11px}}
@media(max-width:600px) and (orientation:portrait){#game[data-level="8"] .objective{top:156px;left:20px;right:auto;max-width:calc(100% - 40px);font-size:11px}}

/* Finale additions do not alter the shared movement or pause button geometry. */
.finale-hud{border-color:#eac46e88;background:#172734eb;min-width:260px}.finale-hud small{color:#edd4a0}.finale-hud strong{color:#ffdf8d}.finale-hud canvas{width:260px;height:66px;max-width:100%}#game[data-level="9"] .objective{top:285px;max-width:450px}#game[data-level="9"] .story-intro{background:linear-gradient(110deg,#152d35ee,#5f4c2ace,#142434ee)}#game[data-level="9"] .eyebrow{color:#ffdfa1}
#finale-caption{position:absolute;top:19%;left:8%;right:8%;z-index:4;pointer-events:none;text-align:center;text-shadow:0 3px 16px #05131e,0 1px 4px #041019}#finale-caption h2{font:900 italic clamp(30px,5vw,68px)/1 'Barlow Condensed',Impact,sans-serif;color:#ffe19b;margin:0 0 14px}#finale-caption p{font-size:clamp(14px,2vw,21px);color:#fff4d6;margin:0}.treasure .hud,.celebrating .hud,.treasure .objective,.celebrating .objective,.treasure .flight-hud,.celebrating .flight-hud{opacity:0}.treasure .touch-controls,.celebrating .touch-controls,.treasure .jetpack-toggle,.celebrating .jetpack-toggle{display:none!important}
#final-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;max-width:550px}#final-stats div{padding:12px;background:#17353edb;border:1px solid #e6c27a66;border-radius:7px}#final-stats dt{font:600 11px Barlow,Arial;color:#c4d5d6}#final-stats dd{font:800 27px 'Barlow Condensed',Arial;color:#ffe29b;margin:4px 0 0}#final-actions{display:flex;gap:12px;margin-top:13px}#final-actions button{padding:12px 18px;min-height:44px;border:1px solid #cfb780;border-radius:6px;background:#203d46;color:#fff1c4}#game[data-level="9"].won .menu{max-width:630px}#game[data-level="9"].won .overlay{background:linear-gradient(90deg,#081b28ee,#173943ad,transparent)}
@media(max-height:550px){.finale-hud{top:62px;right:20px;min-width:230px;max-width:250px}.finale-hud canvas{height:43px;width:210px}#game[data-level="9"] .objective{top:185px;left:auto;right:20px;max-width:260px;font-size:11px}#finale-caption{top:19%}#final-stats{gap:7px;margin:12px 0}#final-stats div{padding:8px}#final-stats dd{font-size:23px}#game[data-level="9"] .menu h1{font-size:43px}}
@media(max-width:600px) and (orientation:portrait){.finale-hud{top:245px;right:16px;min-width:220px}#game[data-level="9"] .objective{top:154px;left:16px;right:16px;max-width:none}#final-stats{grid-template-columns:repeat(2,1fr)}#finale-caption{top:26%}}
