:root{font-family:Arial,Helvetica,sans-serif;color:#152457;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #fa8d36;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.header{height:94px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #dde3ef}.brand{display:flex;gap:11px;text-decoration:none;color:#102fbb;align-items:center}.brand>b{font-size:44px;letter-spacing:-5px;font-weight:900;padding-right:5px}.brand>span{font-size:16px;font-weight:900;letter-spacing:1px;line-height:1.1}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px}.game-title{font-size:16px;letter-spacing:1px}.game-title strong{font-weight:900}.edition{font-size:11px;background:#edf1fc;padding:7px 9px;margin-left:17px;letter-spacing:1px;border-radius:4px}.utility{border:1px solid #dce2ee;background:white;border-radius:30px;padding:11px 18px;font-size:14px;color:#263667}main{max-width:1660px;margin:auto;padding:30px 4% 18px}.level-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.eyebrow{color:#1742cb;font-size:11px;letter-spacing:2px;font-weight:800}h1{font-size:27px;letter-spacing:-.8px;margin:8px 0 0}.location{font-size:14px;text-align:right;font-weight:600}.location>span{display:block;font-size:11px;font-weight:400;color:#707c95;margin-top:7px;letter-spacing:1px}.game-shell{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;background:#9edfeb;box-shadow:0 12px 36px #203c5b18;aspect-ratio:1280 / 650;max-height:70vh;min-height:340px}canvas{display:block;width:100%;height:100%;object-fit:fill;touch-action:none}.hud{position:absolute;top:21px;left:24px;right:24px;z-index:3;display:flex;gap:22px;align-items:center;pointer-events:none}.hud-section{background:#ffffffeb;border:1px solid #fff;padding:10px 18px;border-radius:10px;min-width:124px;box-shadow:0 4px 14px #10366b08}.hud-label{font-size:10px;letter-spacing:1.5px;font-weight:800;display:block;margin-bottom:5px}.hud strong{font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}.hud small{font-size:13px;color:#73809a}.bolt{color:#d99500}.hearts strong{font-size:22px;letter-spacing:2px;display:flex;gap:3px}.heart{line-height:1}.heart.full{color:#f57751}.heart.empty{color:#f0b7a6}.route{margin-left:auto;width:215px;min-width:0}.progress{height:5px;background:#dde6ec;border-radius:5px;margin-top:10px}.progress i{display:block;height:100%;background:#173ac7;width:0;border-radius:5px}.hud-button{pointer-events:auto;flex-shrink:0;width:40px;height:40px;border:0;background:#fff;border-radius:50%;font-size:22px;color:#1438ba;margin-left:-10px}.overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding:105px 5% 45px;background:linear-gradient(90deg,#dff6ffed 0%,#dff6ffb0 35%,transparent 70%)}.overlay.hidden{display:none}.start-card{max-width:425px}.start-card h2{font-size:clamp(30px,3.3vw,53px);letter-spacing:-2px;line-height:1.02;margin:14px 0 18px;font-weight:900}.start-card p{font-size:16px;line-height:1.6;max-width:350px;color:#374b6e;margin:0 0 24px}.primary{border:0;background:#133cc7;border-radius:9px;color:#fff;padding:17px 23px;font-size:16px;font-weight:700;min-width:220px;box-shadow:0 4px 0 #0b2387}.primary span{margin-left:33px;font-size:12px}.primary:hover{background:#0d2daa}.start-hint{font-size:12px;color:#536785;margin-top:16px}.start-hint span{margin:0 8px}.start-stamp{margin-left:auto;align-self:center;margin-right:2%;font-size:clamp(20px,3vw,48px);font-weight:900;line-height:.98;color:#1638b9;transform:rotate(-8deg);letter-spacing:-1px}.start-stamp b{color:#ff5b20}.world-label{position:absolute;bottom:24px;left:24px;display:flex;gap:12px;align-items:center;color:white;pointer-events:none;text-shadow:0 1px 5px #15245760}.world-label>span{font-size:32px;font-weight:800;opacity:.55}.world-label>div{font-weight:800;font-size:18px}.world-label small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;font-weight:500}.notice{position:absolute;top:112px;left:50%;transform:translateX(-50%);border-radius:30px;background:#152457ed;color:white;font-size:14px;padding:10px 20px;z-index:4;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center}.notice.show{opacity:1}.game-bottom{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid #dce2ed;gap:20px}.modes{display:flex;align-items:center;gap:8px}.mode-label{font-size:10px;font-weight:800;letter-spacing:1px;line-height:1.7;margin-right:15px}.mode-label small{font-size:11px;font-weight:400;letter-spacing:0;color:#66728b}.mode{border:1px solid #dae0ec;background:transparent;border-radius:7px;padding:12px 14px;font-size:13px;color:#68728c}.mode>span{font-size:10px;margin-right:7px;opacity:.6}.mode.active{background:#132fc2;color:white;border-color:#132fc2}.controls{display:flex;gap:15px;color:#60708b;font-size:12px}.controls>span{white-space:nowrap;display:flex;align-items:center;gap:4px}kbd{font-family:inherit;border:1px solid #d4ddea;border-bottom-width:2px;border-radius:4px;min-width:23px;display:inline-block;text-align:center;padding:4px;background:#fff;color:#334669;font-size:11px}.footer{display:flex;justify-content:space-between;gap:12px;padding:17px 0 0;color:#7c879c;font-size:11px}.footer b{color:#445475;font-size:10px;letter-spacing:1px}.footer a{color:#6d7891}.touch-controls{display:none;position:absolute;bottom:16px;left:18px;right:18px;justify-content:space-between;pointer-events:none;z-index:4}.touch-controls>div{display:flex;gap:10px}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;border:1px solid #ffffff88;color:white;background:#142762a6;border-radius:10px;min-width:56px;height:50px;font-size:16px;font-weight:700;padding:10px}.touch-controls button:active{background:#1645dd}.game-shell:fullscreen{max-height:none;height:100vh;width:100vw}
@media(max-width:1050px){.controls{display:none}.game-bottom{justify-content:center}.start-card{max-width:360px}.hud{gap:13px}.game-title{font-size:13px}.edition{display:none}.footer>span:nth-child(2){display:none}}
@media(pointer:coarse){.touch-controls{display:flex}.world-label{bottom:80px}.start-hint{visibility:hidden}}
@media(max-width:640px){.header{height:72px;padding:0 5%}.brand>b{font-size:35px}.brand>span{font-size:11px}.brand small{font-size:8px}.game-title{display:none}main{padding:21px 12px 15px}.level-heading{padding:0 7px;margin-bottom:17px}.eyebrow{font-size:9px}h1{font-size:21px;max-width:270px}.location{display:none}.game-shell{height:65vh;max-height:600px;min-height:430px;aspect-ratio:auto;border-radius:11px}.hud{top:12px;left:12px;right:12px;gap:8px}.hud-section{min-width:80px;padding:8px 11px}.hud-label{font-size:8px}.hud strong{font-size:18px}.hud small{font-size:10px}.hearts strong{font-size:16px;letter-spacing:1px}.route{display:none}.hud-button{margin:0;width:33px;height:33px}.hud-button:first-of-type{margin-left:auto}.overlay{padding:100px 25px 60px;background:linear-gradient(90deg,#dff6ffed,#dff6ff70)}.start-card{max-width:285px}.start-card h2{font-size:38px;letter-spacing:-1.5px}.start-card p{font-size:14px;line-height:1.5}.start-stamp{display:none}.modes{gap:5px;flex-wrap:wrap;justify-content:center}.mode-label{width:100%;text-align:center;line-height:1.2;margin:0 0 7px}.mode-label br{display:none}.mode-label small{margin-left:6px}.mode{font-size:12px;padding:10px}.mode>span{display:none}.game-bottom{padding:17px 0}.footer{font-size:10px;flex-wrap:wrap;justify-content:center;text-align:center}.notice{top:88px;max-width:90%;width:max-content;font-size:12px}.world-label{font-size:15px}.touch-controls{display:flex}}
@media(max-height:550px) and (orientation:landscape){.header,.level-heading,.footer{display:none}main{padding:8px}.game-shell{height:calc(100vh - 77px);min-height:240px;max-height:none}.game-bottom{padding:9px}.overlay{padding:70px 5% 15px}.start-card h2{font-size:29px;margin:7px 0}.start-card p{font-size:12px;margin-bottom:10px;max-width:450px}.primary{padding:11px 18px}.start-hint{display:none}.hud-section{padding:6px 12px}.hud{top:10px}.start-stamp{font-size:33px}}

.audio-controls{display:flex;gap:8px;align-items:center}.audio-controls .utility[aria-pressed="true"]{color:#153bbf;background:#edf3ff;border-color:#d2defa}@media(max-width:640px){.audio-controls{gap:5px}.audio-controls .utility{padding:9px 10px;font-size:12px}}

.score{position:relative;min-width:112px}.score strong{color:#1742cb}.combo-badge{position:absolute;top:-9px;right:-10px;display:none;background:#ff7a1a;color:#fff;font-style:normal;font-weight:800;font-size:12px;letter-spacing:.5px;padding:4px 9px;border-radius:20px;box-shadow:0 4px 12px #ff7a1a66}.combo-badge.on{display:block;animation:comboPop .22s ease-out}@keyframes comboPop{from{transform:scale(.4)}to{transform:scale(1)}}.mode.locked{opacity:.48;background:#e6eaf1;border-style:dashed}.mode.locked::after{content:" · ?";font-weight:bold}.secrets{min-width:100px}.secrets strong{color:#b37c08;font-size:21px}.start-card p{max-width:370px}.mode-label{text-transform:uppercase}.game-title{white-space:nowrap}@media(max-width:1050px){.route{width:170px}.hud{gap:10px}}@media(max-width:640px){.secrets{min-width:64px;padding:8px}.secrets strong{font-size:16px}.secrets .hud-label{font-size:7px;letter-spacing:.5px}.hud{gap:6px}.hud-section{min-width:70px}.hud-button{width:29px;height:29px}.modes{gap:4px}.mode{padding:9px 8px;font-size:11px}.touch-controls button{min-width:46px;font-size:13px;padding:8px}.touch-controls>div{gap:7px}}

/* IAA palette and permitted gradients from the supplied brand guide. */
:root{--iaa-base:#132FC2;--iaa-glow:#0071FA;--iaa-light:#2ED1F7;--iaa-orange:#FF5100;--iaa-green:#30C0A2;--iaa-yellow:#FAB716;--iaa-dark:#26103F;--iaa-red:#F03246;color:var(--iaa-dark);background:#f5f7ff}
.header{border-bottom:4px solid var(--iaa-base)}.brand,.eyebrow{color:var(--iaa-base)}.edition{color:white;background:linear-gradient(110deg,var(--iaa-base),var(--iaa-glow));border-radius:0}.game-shell{border-radius:8px;border:2px solid var(--iaa-base)}.hud{top:0;left:0;right:0;gap:0;padding:14px 18px;background:linear-gradient(110deg,var(--iaa-dark),var(--iaa-base));border-bottom:3px solid var(--iaa-light);color:white}.hud-section{background:transparent;border:0;border-radius:0;box-shadow:none;min-width:98px;padding:0 16px;border-right:1px solid #ffffff40}.hud-section:first-child{padding-left:0}.hud-label{color:#fff;opacity:.8;font-size:9px;letter-spacing:1.6px}.hud strong{font-size:23px}.hud small{color:#fff9}.bolt,.hud-section:first-child strong{color:var(--iaa-light)}.score strong{color:var(--iaa-yellow)}.heart.full{color:var(--iaa-red)}.heart.empty{color:#ffffff40}.secrets strong{color:var(--iaa-green)}.enemies strong{color:var(--iaa-orange)}.enemies{min-width:100px}.route{border:0;max-width:210px;min-width:120px}.progress{background:#ffffff30}.progress i{background:linear-gradient(90deg,var(--iaa-green),var(--iaa-light))}.hud-button{margin:0 0 0 8px;color:white;background:#ffffff20;border:1px solid #ffffff60;border-radius:4px;width:35px;height:35px}.hud-button:hover{background:var(--iaa-glow)}.combo-badge{background:var(--iaa-orange);right:2px;top:-10px}.primary{background:linear-gradient(110deg,var(--iaa-base),var(--iaa-glow));border-radius:3px;box-shadow:0 4px 0 var(--iaa-dark)}.primary:hover{background:var(--iaa-base)}.start-stamp{color:var(--iaa-base)}.start-stamp b{color:var(--iaa-orange)}.notice{top:92px;background:var(--iaa-dark);border-left:4px solid var(--iaa-orange);border-radius:3px}.mode.active{background:var(--iaa-base);border-color:var(--iaa-base)}.mode{border-radius:3px}.audio-controls .utility[aria-pressed="true"]{color:var(--iaa-base)}.story-art{display:block;width:100%;height:165px;object-fit:cover;object-position:center 44%;border-radius:5px;margin:0 0 12px}.story-copy{display:block;margin-bottom:12px;font-size:13px;line-height:1.45}.result-score{font-size:28px;color:var(--iaa-base)}.story-overlay{background:#eff6fff5;overflow:auto;padding:94px 5% 24px}.story-overlay .start-card{max-width:680px;margin:auto;width:100%}.story-overlay .start-card h2{font-size:34px;letter-spacing:-1px;margin:5px 0 12px}.story-overlay .start-card p{max-width:none;font-size:13px;line-height:1.5;margin-bottom:14px}.story-overlay .story-art{float:right;width:40%;height:210px;margin:0 0 8px 22px}.story-overlay .primary{min-width:180px;padding:13px 18px}
@media(max-width:1050px){.hud{padding:12px}.hud-section{min-width:83px;padding:0 11px}.route{min-width:85px}.hud strong{font-size:21px}.hud-label{font-size:8px;letter-spacing:1px}}
@media(max-width:640px){.hud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 29px 29px;gap:3px;padding:10px 7px}.hud-section{padding:0 5px;min-width:0}.hud strong,.secrets strong{font-size:15px}.hud-label,.secrets .hud-label{font-size:6px;letter-spacing:.3px}.hud small{font-size:8px}.hud .route{display:none}.hud-button{width:27px;height:29px;font-size:19px;margin:0}.hearts strong{font-size:14px;gap:1px}.hud-section.enemies{border:0}.combo-badge{font-size:9px;padding:2px 4px;top:-7px;right:0}.notice{top:69px}.story-overlay{padding:75px 22px 20px}.story-overlay .start-card h2{font-size:28px}.story-overlay .story-art{float:none;width:100%;height:125px;margin:0 0 10px}.story-overlay .start-card p{font-size:11px}.story-copy{font-size:12px}}
@media(max-height:550px) and (orientation:landscape){.hud{padding:7px 12px}.hud strong{font-size:18px}.hud-label{margin-bottom:3px}.story-overlay{padding:64px 5% 16px}.story-overlay .story-art{height:150px}.story-overlay .start-card h2{font-size:26px}.notice{top:67px}}
.liaa-coin-slots{display:flex;gap:1px;align-items:center}.liaa-coin-slots img{width:19px;height:19px;object-fit:contain;opacity:.28;filter:grayscale(1)}.liaa-coin-slots img.collected{opacity:1;filter:none}.secrets strong{display:flex;align-items:center;gap:5px;color:var(--iaa-yellow)}.hud-section.secrets{min-width:124px}.secrets .hud-label{letter-spacing:1px}
@media(max-width:1050px){.hud-section.secrets{min-width:110px}.liaa-coin-slots img{width:15px;height:15px}.secrets strong{font-size:18px;gap:3px}}
@media(max-width:640px){.hud-section.secrets{min-width:0}.secrets strong{display:flex;flex-direction:column;align-items:flex-start;font-size:12px;gap:0}.liaa-coin-slots img{width:11px;height:11px}.secrets .hud-label{letter-spacing:.3px}.hud{align-items:center}}
.boost-controls{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}.boost-button{border:0;border-radius:4px;padding:11px 16px;background:linear-gradient(110deg,var(--iaa-green),var(--iaa-light));color:var(--iaa-dark);font-weight:900;font-size:13px;white-space:nowrap;min-width:110px}.boost-button:disabled{opacity:.45}.boost-button.boost-active{opacity:1;background:var(--iaa-yellow)}.boost-controls small{font-size:8px;font-weight:800;letter-spacing:.4px;color:var(--iaa-base)}.boost-button:not(:disabled):hover{filter:brightness(1.08)}.touch-controls .boost-button{min-width:60px;font-size:12px;background:var(--iaa-base);border-color:var(--iaa-light)}.touch-controls .boost-active{background:var(--iaa-yellow);color:var(--iaa-dark)}
@media(max-width:1200px){.controls{display:none}.game-bottom{justify-content:center}}
@media(max-width:640px){.game-bottom{flex-wrap:wrap;gap:10px}.boost-controls{flex-direction:row;gap:10px}.boost-controls small{font-size:9px}.boost-button{padding:9px 13px;min-width:105px}.touch-controls .boost-button{min-width:52px;font-size:10px;padding:7px}.touch-controls>div{gap:5px}}
.player-label{display:inline-block;font-size:11px;margin-left:12px;color:var(--iaa-base);max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.start-scores{display:block;border:0;background:transparent;color:var(--iaa-base);padding:10px 0;font-size:12px;font-weight:800}.game-dialog{border:2px solid var(--iaa-base);border-radius:8px;padding:28px;color:var(--iaa-dark);background:#fff;max-width:calc(100vw - 28px);max-height:85vh;box-shadow:0 20px 80px #26103f50}.game-dialog::backdrop{background:#26103fbf}.game-dialog h2{font-size:36px;letter-spacing:-1px;margin:8px 0 15px}.game-dialog p{font-size:14px;line-height:1.5}.player-dialog{width:430px}.player-dialog label{display:block;font-size:10px;letter-spacing:1.5px;font-weight:800;margin-top:24px}.player-dialog input{display:block;width:100%;padding:13px 15px;border:2px solid #132fc240;border-radius:4px;margin-top:8px;font:700 20px Arial;color:var(--iaa-dark);background:#f5f7ff}.player-dialog input:focus{outline:2px solid var(--iaa-glow);outline-offset:2px}.form-error{color:var(--iaa-red);min-height:20px;margin:8px 0}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-actions .primary{min-width:0;padding:13px 18px}.secondary-button{border:1px solid var(--iaa-base);padding:10px 14px;border-radius:3px;background:white;color:var(--iaa-base);font-size:12px;font-weight:800}.secondary-button:hover{background:#edf3ff}.scores-dialog{width:690px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-close{border:0;background:#132fc210;color:var(--iaa-base);font-size:25px;width:34px;height:34px;border-radius:4px}.score-table-wrap{overflow:auto}.score-table{width:100%;border-collapse:collapse;font-size:14px}.score-table th{text-align:left;padding:12px 10px;background:linear-gradient(110deg,var(--iaa-dark),var(--iaa-base));color:white;font-size:9px;letter-spacing:1px;white-space:nowrap}.score-table td{padding:12px 10px;border-bottom:1px solid #132fc218;white-space:nowrap}.score-table td:nth-child(2){font-weight:800;max-width:190px;overflow:hidden;text-overflow:ellipsis}.score-table td:nth-child(3){color:var(--iaa-base);font-weight:900;text-align:right;font-variant-numeric:tabular-nums}.score-table th:nth-child(3){text-align:right}.score-table tr:nth-child(-n+3) td:first-child{color:#a26c00;font-weight:900}.score-table tr.your-score{background:#fab71625}.your-best{font-weight:800;color:var(--iaa-base)}.game-dialog .score-note{font-size:11px;color:#626779}.score-save-panel{border-top:1px solid #132fc230;margin-top:15px;padding-top:10px}.score-save-panel p{font-size:12px;margin:0 0 8px}.score-actions{display:flex;gap:8px}.story-overlay .score-save-panel p{font-size:12px}.header .audio-controls{flex-wrap:nowrap}
@media(max-width:640px){.header .audio-controls .utility{padding:8px 7px;font-size:10px}.header{padding:0 12px}.game-dialog{padding:21px}.game-dialog h2{font-size:29px}.score-table th,.score-table td{padding:10px 7px}.score-table{font-size:12px}.scores-dialog .score-note{font-size:10px}}
