.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.mode-tile{position:relative;overflow:hidden;min-height:230px;border:1px solid #a4e4ce44;border-radius:16px;text-align:left;padding:20px;background:linear-gradient(130deg,#132b39,#0b1928);display:flex;flex-direction:column;align-items:start}.mode-tile small,.mode-tile b,.mode-tile span{position:relative;z-index:1}.mode-tile small{font-size:8px;letter-spacing:1px;color:#a9dbc9}.mode-tile b{font:900 italic 27px/.96 Arial;letter-spacing:-1px;margin:20px 0;text-shadow:0 2px 15px #000}.mode-tile span{margin-top:auto;font-size:10px;color:#d4f6e8}.roof-tile{background:linear-gradient(#071a2b77,#071a2bee),url(assets/marina-night-v7.png) center/cover}.fight-tile{background:linear-gradient(130deg,#301f49,#102a36)}.race-tile{background:linear-gradient(130deg,#192c4d,#36203c)}.fight-tile:after{content:'';position:absolute;inset:35px -20px 25px 75px;background:url(assets/kaos-fight-v9.png) 0 0/300% 200%;opacity:.36}.race-tile:after{content:'';position:absolute;inset:95px 0 25px 0;background:url(assets/midnight-cars-v9.png) 50% 0/300% 200%;opacity:.65}.garage-art{border:1px solid #b3e6d733;border-radius:15px;background:radial-gradient(ellipse at 65% 70%,#83c9cd22,transparent 65%),linear-gradient(#081728,#17212d);overflow:hidden}.garage-art canvas{width:100%;display:block;height:auto}.row button:disabled{opacity:.4;cursor:not-allowed}.activity-host{position:fixed;inset:0;z-index:80;background:#071225;color:#e8fff3;font-family:Arial,Helvetica,sans-serif;overflow:hidden}.activity-host canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.activity-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 28px;background:linear-gradient(#06101cee,transparent);pointer-events:none}.activity-top small{display:block;font:8px monospace;letter-spacing:2px;color:#b4d7d1;margin-bottom:8px}.activity-top b{font:900 italic 30px/.95 Arial;letter-spacing:-1px}.activity-top button{pointer-events:auto;background:#0d263bd9;border:1px solid #90cfb566;padding:12px;color:#e6fff1;border-radius:9px;font:11px monospace}.activity-hud{position:absolute;top:94px;left:28px;right:28px;display:flex;justify-content:space-between;gap:15px;pointer-events:none}.activity-message{position:absolute;inset:180px 20px 170px;margin:auto;max-width:520px;overflow:auto;align-content:center;border:1px solid #a5f5d466;background:linear-gradient(130deg,#172d41f7,#121c31f7);border-radius:18px;box-shadow:0 20px 90px #000b;padding:30px}.activity-message[hidden]{display:none}.activity-message small{font:9px monospace;letter-spacing:2px;color:#b4ffdc}.activity-message h2{font:900 italic clamp(28px,5vw,42px)/1 Arial;letter-spacing:-1px;margin:18px 0}.activity-message p{font-size:12px;line-height:1.7;color:#b4cdd4}.activity-message button{display:block;width:100%;margin-top:12px;padding:15px;border:0;border-radius:9px;font:bold 12px monospace;background:linear-gradient(110deg,#c1ffe4,#7ce0d0);color:#10252b}.activity-message button.quiet{background:#183348;color:#d5eee5;border:1px solid #98c5b744}.activity-message button:disabled{opacity:.45;cursor:wait}.activity-controls{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:25px;right:25px;display:flex;justify-content:space-between;gap:18px;pointer-events:none}.activity-controls>div{display:flex;gap:8px}.activity-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;min-width:58px;height:58px;padding:12px;font:bold 11px monospace;border:1px solid #8abdc277;background:linear-gradient(#234b60e8,#0a1c2fe8);color:#dbfff1;border-radius:13px;box-shadow:0 5px 0 #040d1a}.activity-controls button:active{transform:translateY(3px);filter:brightness(1.3)}.activity-controls .special-control{background:linear-gradient(135deg,#d3b2ff,#a6ffe4);color:#142238}.activity-key-hint{position:absolute;bottom:7px;left:10px;right:10px;text-align:center;font:8px monospace;color:#a4c4c9;pointer-events:none}.fight-bar{flex:1;max-width:42%;font:10px monospace;color:#d4f8e6}.fight-bar b{display:block;margin-bottom:9px;font-size:11px}.fight-bar span{display:block;height:15px;background:#091b2d;border:1px solid #a2dec777;transform:skewX(-12deg)}.fight-bar i{display:block;height:100%;background:linear-gradient(90deg,#6dcfb4,#cbffe2);transition:width .14s}.fight-bar small{display:block;margin-top:8px;font-size:9px}.enemy-bar{text-align:right}.enemy-bar i{background:linear-gradient(90deg,#ca76b7,#f5b2c9)}.fight-timer{text-align:center;font:900 32px Arial}.fight-timer small{font:9px monospace;display:block;color:#b0c8ce;margin-top:5px}.race-readout{display:flex;flex-direction:column;padding:10px 14px;border:1px solid #a9f2d644;border-radius:12px;background:#09192bcc}.race-readout>b{font:900 italic 38px Arial}.race-readout b small{font:9px monospace}.race-readout span{font:9px monospace;color:#a6d4ce;margin-top:5px}.race-meters{width:230px;max-width:45%;padding:12px;background:#08192bcb;border:1px solid #abdccf44;border-radius:12px}.race-meters label{display:block;position:relative;font:8px monospace;padding-bottom:11px;margin-bottom:4px;color:#c0dbd4}.race-meters i{position:absolute;bottom:3px;left:0;height:3px;background:#a8ffe0;max-width:100%}body.activity-active #fx-controls{top:175px;bottom:auto;right:14px}body.activity-active #fx-settings{top:43px;bottom:auto}@media(max-width:650px){.mode-grid{grid-template-columns:1fr}.mode-tile{min-height:160px;padding:18px}.mode-tile b{font-size:30px;margin:15px 0}.mode-tile span{margin-top:0}.fight-tile:after{inset:0 5px 0 62%;opacity:.65}.race-tile:after{inset:0 0 0 45%;background-size:300% 200%}.activity-top{padding:18px 14px}.activity-top b{font-size:26px}.activity-top small{font-size:7px;letter-spacing:1px}.activity-hud{top:86px;left:14px;right:14px;gap:10px}.activity-message{inset:190px 14px 190px;padding:23px}.activity-message h2{font-size:30px}.activity-message p{font-size:11px}.activity-controls{left:12px;right:12px;gap:12px;bottom:max(29px,env(safe-area-inset-bottom))}.activity-controls>div{gap:7px}.activity-controls .fight-move{display:grid;grid-template-columns:repeat(2,1fr)}.activity-controls .fight-attacks{display:grid;grid-template-columns:repeat(3,1fr)}.activity-controls button{min-width:43px;height:48px;padding:9px;font-size:9px}.fight-attacks .special-control{grid-column:span 2}.fight-bar b{font-size:8px}.fight-bar small{font-size:7px}.fight-timer{font-size:28px}.race-readout>b{font-size:29px}.race-readout span{font-size:8px}.race-meters{padding:9px}.activity-key-hint{font-size:6px}.race-readout{padding:9px}.activity-controls #control-brake{max-width:100px}.activity-controls #control-nitro{min-width:72px}}
@media(max-height:500px){.activity-top{padding:10px 18px}.activity-top small{display:none}.activity-top b{font-size:23px}.activity-hud{top:55px}.activity-message{inset:100px 130px 80px;padding:18px}.activity-message h2{font-size:24px;margin:8px 0}.activity-message p{font-size:10px}.activity-controls{bottom:20px}.activity-controls button{height:40px;padding:8px}.fight-bar span{height:10px}.activity-key-hint{bottom:4px}body.activity-active #fx-controls{top:100px}}
/* Kaos Breach: energy shooter. */
.mode-grid{grid-template-columns:repeat(2,1fr)}.shooter-tile{background:linear-gradient(130deg,#173a47,#38203e)}.shooter-tile:after{content:'';position:absolute;inset:55px 0 25px 110px;background:url(assets/kaos-dev-atlas-v7.png) 66.666% 0/400% 400%;opacity:.5}.breach-move{display:grid!important;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(2,48px)}.breach-move #control-up{grid-column:2;grid-row:1}.breach-move #control-left{grid-column:1;grid-row:2}.breach-move #control-down{grid-column:2;grid-row:2}.breach-move #control-right{grid-column:3;grid-row:2}.breach-actions{display:grid!important;grid-template-columns:repeat(2,80px);grid-template-rows:repeat(2,48px)}.breach-actions button{min-width:0}.breach-health{width:58%;font:10px monospace}.breach-health>b{display:block;margin-bottom:8px;color:#d0ffec}.breach-health>span{display:block;height:12px;border:1px solid #94ddbd66;background:#0a1d2b}.breach-health i{display:block;height:100%;background:linear-gradient(90deg,#66c8b7,#caffdf);transition:width .1s}.breach-health small{display:block;margin-top:9px;font-size:9px;color:#9dc9c7}.breach-ammo{text-align:right;width:40%;font:11px monospace;color:#ddffee}.breach-ammo b,.breach-ammo span,.breach-ammo small{display:block}.breach-ammo span{font-size:17px;margin:7px 0}.breach-ammo small{font-size:9px;color:#9bc9ca}.breach-boss{position:absolute;top:77px;left:0;right:0;height:25px;font:9px monospace;letter-spacing:1px;padding:5px 10px;color:#ffe2bb;background:#281b32df;border:1px solid #eec59b44}.breach-boss i{position:absolute;left:0;bottom:0;height:3px;background:#f7bc91}.breach-active #fx-controls{top:205px!important}.breach-active .activity-hud{padding:9px 12px;background:#06182bd9;border:1px solid #a5dfc544;border-radius:12px}.breach-active .activity-message{inset:195px 20px 170px}@media(max-width:650px){.mode-grid{grid-template-columns:1fr}.shooter-tile:after{inset:0 0 0 57%}.breach-move{grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,46px)}.breach-actions{grid-template-columns:repeat(2,66px);grid-template-rows:repeat(2,46px)}.breach-health{font-size:8px}.breach-health small{font-size:7px}.breach-ammo{font-size:8px}.breach-ammo span{font-size:13px}.breach-ammo small{font-size:7px}.breach-active .activity-message{inset:190px 14px 180px}.breach-active .activity-controls button{height:46px}.breach-active .activity-top b{font-size:25px}}@media(max-height:500px){.breach-active .activity-hud{padding:5px 10px}.breach-health>span{height:6px}.breach-health>b{margin-bottom:4px}.breach-health small{margin-top:4px}.breach-boss{top:55px}.breach-active .activity-message{inset:115px 135px 75px}.breach-active .activity-message p{font-size:9px;margin:8px 0}.breach-active .activity-message h2{font-size:21px}.breach-active #fx-controls{top:115px!important}.breach-move,.breach-actions{grid-template-rows:repeat(2,34px);gap:5px!important}.breach-active .activity-controls button{height:34px;min-width:40px;padding:6px}}
/* Kaos Firing Range: precision target challenge. */
.range-tile{background:radial-gradient(circle at 78% 40%,#203e4d 0 10%,#a6ffe14d 10% 13%,#152b40 13% 18%,#8edacb33 18% 22%,transparent 22%),linear-gradient(125deg,#153e3d,#131e38)}.range-active .activity-hud{padding:12px 14px;border:1px solid #9fe4cc44;background:#081a2ddc;border-radius:12px}.range-hud-score,.range-hud-stats{font:11px monospace;color:#caffec}.range-hud-score b{font:bold 25px monospace;display:block;margin-bottom:7px}.range-hud-score span{display:block;font-size:9px;color:#acd4d2}.range-hud-stats{text-align:right}.range-hud-stats b,.range-hud-stats span,.range-hud-stats small{display:block}.range-hud-stats span{font-size:10px;margin:7px 0}.range-hud-stats small{font-size:8px;color:#b6c5e3}.range-active #fx-controls{top:185px!important}.range-result{padding:18px;background:#85cbb011;border:1px solid #a1e6cb44;border-radius:10px}.range-result b{font:bold 30px monospace;display:block;color:#caffdf}.range-result span{font-size:11px;line-height:1.8;color:#b1cdd0;display:block;margin-top:8px}.range-active .activity-message{inset:185px 20px 145px}.range-active #control-focus{border-color:#c3a3ff88;color:#e0ceff}@media(min-width:651px){.mode-tile.range-tile{grid-column:auto}}@media(max-width:650px){.range-hud-score b{font-size:19px}.range-hud-stats{font-size:9px}.range-hud-stats span{font-size:8px}.range-hud-score span{font-size:7px}.range-active .activity-hud{padding:10px}.range-active .activity-message{inset:180px 14px 140px}}@media(max-height:500px){.range-active .activity-message{inset:120px 140px 70px}.range-active .activity-message p{font-size:9px;margin:7px 0}.range-active .activity-message h2{font-size:23px}.range-active #fx-controls{top:120px!important}.range-hud-score b{font-size:18px}.range-active .activity-hud{padding:6px 10px}}
/* Vault Hunt city exploration. */
.vault-tile{background:linear-gradient(100deg,#092436df,#1b283a88),url(assets/marina-night-v7.png) center/cover;border-color:#ebd39d66}.vault-tile b{color:#ffe7b2}.hunt-status{font:10px monospace;color:#d2ffec;width:100%;padding:11px 14px;background:#07192cdd;border:1px solid #96cbb755;border-radius:12px}.hunt-status b,.hunt-status span,.hunt-status small{display:block}.hunt-status b{font-size:12px;margin-bottom:8px}.hunt-status span{font-size:10px;color:#ebdbb5;line-height:1.5}.hunt-status small{font-size:9px;color:#9fc3cb;margin-top:8px}.hunt-actions{display:grid!important;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(2,48px)}.hunt-actions #control-interact{grid-column:span 2}.hunt-actions .ready-action{background:linear-gradient(120deg,#e3d5a2,#a4f3d2);color:#102b2f;border-color:#ffe8b1;box-shadow:0 0 18px #e7cb8844}.hunt-active .activity-controls button{min-width:0}.hunt-active #fx-controls{top:auto!important;bottom:153px!important;left:14px;right:auto}.hunt-active .activity-message{inset:185px 20px 165px}.hunt-active .activity-message canvas{position:static;display:block;width:100%;height:auto;max-height:38vh;object-fit:contain;border:1px solid #96c6b544;border-radius:10px;background:#081929}#vaultCityMap{aspect-ratio:440/360}#vaultInterior{aspect-ratio:640/280}@media(max-width:650px){.hunt-actions{grid-template-columns:repeat(3,49px);grid-template-rows:repeat(2,46px)}.hunt-actions button{font-size:8px;padding:6px}.hunt-active .activity-message{inset:180px 14px 170px}.hunt-status{padding:10px}.hunt-status b{font-size:10px}.hunt-status span{font-size:8px}.hunt-status small{font-size:7px}}@media(max-height:500px){.hunt-active .activity-message{inset:125px 145px 80px}.hunt-active .activity-message p{font-size:9px;margin:7px 0}.hunt-active .activity-message h2{font-size:23px}.hunt-actions{grid-template-rows:repeat(2,34px)}.hunt-status{padding:6px 9px}.hunt-status b{margin-bottom:4px}.hunt-status small{margin-top:4px}.hunt-active #fx-controls{bottom:110px!important}}

/* Keep the race start reachable in narrow and landscape viewports. */
.race-active .activity-message{inset:190px 14px 105px;max-width:540px;align-content:normal;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.race-active #activityStart{position:sticky;top:0;z-index:2;min-height:48px;box-shadow:0 5px 18px #0007}
@media(max-height:500px){.race-active .activity-message{inset:100px 90px 70px;padding:15px}.race-active .activity-message h2{margin:4px 0}.race-active .activity-message p{margin:7px 0}}
@media(max-width:360px){.race-active .activity-controls{gap:6px;left:8px;right:8px}.race-active .activity-controls>div{gap:4px}.race-active .activity-controls button{min-width:38px;padding:7px}.race-active #control-nitro{min-width:60px}}

/* Coastal arcade driving: one analog pad and separate pedals. */
.race-active .activity-top{background:linear-gradient(#182640dc,transparent)}
.race-active .activity-controls{align-items:flex-end;bottom:max(22px,env(safe-area-inset-bottom));gap:16px}
.race-active .race-steering{display:flex;flex-direction:column;gap:6px;width:min(42vw,230px);pointer-events:auto}
#raceSteer{position:relative;height:78px;border:1px solid #ffedc999;border-radius:45px;background:linear-gradient(#283a55ef,#15253cef);touch-action:none;user-select:none;box-shadow:inset 0 2px 15px #0008}
#raceSteer span{display:block;text-align:center;color:#ffedcb;font:8px monospace;letter-spacing:1px;padding-top:11px;pointer-events:none}
#raceSteer i{display:block;position:absolute;left:calc(50% - 20px);bottom:9px;width:40px;height:32px;border-radius:18px;background:linear-gradient(#ffe4b5,#d88e9d);box-shadow:0 3px 8px #0008;transform:translateX(var(--steer,0px));pointer-events:none}
.race-active .race-arrows{display:flex;gap:5px;justify-content:center}
.race-active .race-arrows button{min-width:38px;height:30px;padding:5px;font-size:9px;border-radius:8px}
.race-active #raceAuto{font-size:8px;min-width:82px;background:#223e4b}
.race-active .race-pedals{display:grid;grid-template-columns:repeat(2,minmax(48px,72px));gap:7px}
.race-active .race-pedals button{min-width:0!important;height:67px;border-radius:10px;font:700 10px monospace}
.race-active #control-gas{background:linear-gradient(#b8edd0,#65ad9c);color:#123b39}
.race-active #control-brake{background:linear-gradient(#cb8496,#794c67)}
.race-active #control-nitro{grid-column:span 2;height:36px;background:linear-gradient(120deg,#ffe2a8,#f0a4bc)}
.race-active .activity-message{bottom:166px;background:linear-gradient(130deg,#26384bf7,#282439f7)}
.race-active .race-readout,.race-active .race-meters{background:#23304bdc;border-color:#ffe7b266}
.race-active #fx-controls{top:178px}
@media(max-height:500px){.race-active .activity-message{inset:95px 190px 28px}.race-active .activity-controls{bottom:16px}.race-active .race-steering{width:175px}#raceSteer{height:65px}.race-active .race-pedals button{height:48px}.race-active #control-nitro{height:30px}.race-active .race-meters{max-width:30%;padding:7px}.race-active #fx-controls{top:100px}}

/* Race and garage screens use their own full-height scroll surface. */
body.race-menu-open .overlay,body.inside.race-menu-open .overlay{display:block;position:fixed;inset:0;z-index:85!important;padding:16px;background:#101b30f5;pointer-events:auto;overflow:auto;align-items:initial;backdrop-filter:none;-webkit-overflow-scrolling:touch}
body.race-menu-open .modal,body.inside.race-menu-open .modal{max-width:760px;width:100%;max-height:none!important;overflow:visible;margin:0 auto;padding:24px;background:linear-gradient(130deg,#1d304a,#192238);pointer-events:auto}
body.race-menu-open #fx-controls{z-index:90;top:20px;right:20px}
.race-lobby-header{padding-right:80px}.race-lobby-header h2{font:900 italic 35px/1.05 Arial;letter-spacing:-1px}.race-lobby-header p{margin:12px 0}
.race-lobby-feedback{font:12px/1.6 Arial;color:#d8f1da;padding:10px 0;min-height:38px}
.race-launch-strip{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:14px;background:#071625;border:1px solid #f3c3a57a;border-radius:12px;margin-bottom:22px}
.race-launch-strip b,.race-launch-strip span{display:block}.race-launch-strip b{font-size:14px}.race-launch-strip span{font-size:10px;color:#abc8ce;margin-top:6px}
.race-launch-strip button{min-height:52px;min-width:130px;border:0;border-radius:8px;background:#ffe0aa;color:#17313a;font:bold 12px Arial}
.race-lobby section{margin:22px 0}.race-lobby h3{font:bold 11px monospace;letter-spacing:1px;color:#ffe1ad}
#raceCarPreview{display:block;width:100%;height:auto;max-height:200px;object-fit:contain;background:#1b2b42;border-radius:12px;margin:12px 0}
.race-car-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.race-car-option,.race-track-option{padding:15px 12px;border:1px solid #aacccc44;background:#152c41;text-align:left;border-radius:10px;touch-action:manipulation;color:#deeee9;min-height:105px}
.race-car-option b,.race-car-option span,.race-car-option strong,.race-car-option small{display:block}
.race-car-option b{font-size:14px}.race-car-option span{font:10px monospace;color:#abc6cd;margin:7px 0 15px}.race-car-option strong{font-size:10px;color:#ffe1aa}.race-car-option small{font-size:10px;line-height:1.5;color:#b1c8cf;margin-top:6px}
.race-car-option.selected,.race-track-option.selected{border:2px solid #b5ffdb;background:#224c4c}
.race-track-options{display:grid;gap:8px}.race-track-option{min-height:76px}.race-track-option b,.race-track-option span,.race-track-option small{display:block}.race-track-option span{font-size:11px;margin-top:6px}.race-track-option small{font-size:10px;color:#acc2ca;margin-top:7px}.race-track-option:disabled{opacity:.6;cursor:default}
.race-lobby-footer{display:grid;gap:6px;padding-bottom:env(safe-area-inset-bottom)}
.race-lobby-footer .primary{background:#ffe0aa;font-weight:bold;color:#19363c}
body.race-menu-open .row{gap:9px;align-items:flex-start}body.race-menu-open .row button{min-width:76px;min-height:46px;flex-shrink:0;touch-action:manipulation}
@media(max-width:500px){body.race-menu-open .overlay,body.inside.race-menu-open .overlay{padding:8px}body.race-menu-open .modal,body.inside.race-menu-open .modal{padding:20px 14px}.race-car-options{grid-template-columns:1fr}.race-car-option{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;min-height:80px;padding:13px}.race-car-option span{margin:0;text-align:right}.race-car-option strong{align-self:center}.race-car-option small{margin:0;text-align:right}.race-lobby-header h2{font-size:29px}.race-launch-strip{padding:12px;gap:8px}.race-launch-strip button{min-width:120px}body.race-menu-open #fx-controls{top:15px;right:14px}#raceCarPreview{max-height:160px}.race-lobby-header{padding-top:32px;padding-right:20px}}

.race-corner{display:block;max-width:220px;font:700 9px/1.5 monospace;color:#ffe1a5;margin-top:9px}
@media(max-width:650px){.race-corner{max-width:165px;font-size:8px}}
@media(max-height:500px){.race-corner{margin-top:4px;font-size:8px}}
.street-host .activity-controls{left:0;right:0;bottom:20px;display:block;padding:0 14px;pointer-events:none}.street-controls{display:flex;justify-content:space-between;align-items:end;gap:12px}.street-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:4px;pointer-events:auto}.street-pad #control-forward{grid-column:2}.street-pad #control-left{grid-column:1;grid-row:2}.street-pad #control-back{grid-column:2;grid-row:2}.street-pad #control-right{grid-column:3;grid-row:2}.street-actions{display:grid;grid-template-columns:repeat(2,minmax(58px,82px));gap:5px;pointer-events:auto}.street-host .street-controls button{min-width:0;min-height:44px;padding:8px 5px;font-size:11px;touch-action:none;user-select:none;background:#152e3ce8;border:1px solid #aaffdf80;color:#d6ffee;border-radius:10px}.street-host .street-controls button:active{background:#408976}.street-host .activity-hud{gap:8px;font-size:11px}.street-host .activity-key-hint{bottom:3px;font-size:9px}.street-host .activity-message{z-index:5}.street-host .activity-message p{font-size:14px}.street-host .activity-top b{font-size:18px}
.street-host canvas.street-gpu{z-index:0;pointer-events:none}.street-host #activityCanvas{z-index:1}.street-host .activity-top,.street-host .activity-hud,.street-host .activity-controls,.street-host .activity-key-hint{z-index:2}.street-host .activity-message{z-index:5}.street-host{background:linear-gradient(#779caf,#f1bfa7)}.street-host .activity-message{background:linear-gradient(140deg,#183139f0,#2c2935f5);backdrop-filter:blur(16px)}.street-host .activity-hud{background:#12303a9c;padding:10px 12px;border-radius:10px;top:85px;left:14px;right:14px}.street-host .activity-top{padding:18px 16px}.street-host .activity-controls{bottom:max(20px,env(safe-area-inset-bottom))}

/* Deadeye: analogue aim and a visible continuous-fire switch. */
.range-active .activity-controls{align-items:end;bottom:max(25px,env(safe-area-inset-bottom));gap:14px}.range-active .range-aim-wrap{display:block!important;pointer-events:auto}.range-aim{position:relative;width:112px;height:112px;border:2px solid #a9f4d58c;border-radius:50%;background:radial-gradient(circle,#284d56c9,#0b1b2be8);box-shadow:inset 0 0 20px #0006,0 4px 24px #0004;touch-action:none;user-select:none;cursor:move}.range-aim:before,.range-aim:after{content:'';position:absolute;background:#bfffe42b;pointer-events:none}.range-aim:before{width:1px;height:80%;top:10%;left:50%}.range-aim:after{height:1px;width:80%;left:10%;top:50%}.range-aim>span{position:absolute;left:calc(50% - 23px);top:calc(50% - 23px);width:46px;height:46px;border:1px solid #d6fff1;border-radius:50%;background:linear-gradient(#94dbca,#376971);box-shadow:0 3px 12px #0008;pointer-events:none;z-index:1}.range-aim>b{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:8px monospace;color:#d6eee5;pointer-events:none}.range-active .range-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(70px,96px));gap:7px!important;pointer-events:auto}.range-active .range-action-grid button{height:48px;min-width:0;font:bold 10px/1.5 Arial;padding:6px;touch-action:none}.range-active #rangeAutoFire{border:1px solid #f3c0d8;color:#ffd7ec;background:#38243b}.range-active #rangeAutoFire[aria-pressed=true]{background:#c2ffe2;color:#123b2e;border-color:#edfff6;box-shadow:0 0 18px #8fffd455}.range-active #rangeAutoFire:disabled{opacity:.55}.range-aim:focus-visible{outline:3px solid #ffc8ed;outline-offset:4px}@media(max-width:360px){.range-aim{width:96px;height:96px}.range-active .range-action-grid{grid-template-columns:repeat(2,70px)}}@media(max-height:500px){.range-active .activity-controls{bottom:18px}.range-aim{width:88px;height:88px}.range-active .range-action-grid button{height:36px;font-size:9px}.range-active .range-action-grid{grid-template-columns:repeat(2,78px)}}

/* Camera-relative analogue street movement. */
.street-joystick{position:relative;width:116px;height:116px;flex:none;border:2px solid #a4f5d7a6;border-radius:50%;background:radial-gradient(circle,#275565cf,#0c2232ed);box-shadow:inset 0 0 20px #0006,0 5px 25px #0006;pointer-events:auto;touch-action:none;user-select:none;cursor:move}.street-joystick:before,.street-joystick:after{content:'';position:absolute;background:#c4ffe736;pointer-events:none}.street-joystick:before{height:82%;width:1px;left:50%;top:9%}.street-joystick:after{width:82%;height:1px;top:50%;left:9%}.street-joystick>span{position:absolute;top:calc(50% - 24px);left:calc(50% - 24px);width:48px;height:48px;border-radius:50%;border:1px solid #e2fff1;background:linear-gradient(#a7edda,#417a85);box-shadow:0 4px 14px #0008;pointer-events:none;z-index:1}.street-joystick>b{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:8px monospace;color:#c6eee1;pointer-events:none}.street-joystick:focus-visible{outline:3px solid #ffbfeb;outline-offset:4px}.street-host .street-controls{align-items:end;gap:16px}.street-host .street-actions{grid-template-columns:repeat(2,minmax(64px,82px))}.street-host .street-actions button{min-height:48px;font-size:10px}.street-host .activity-key-hint{font-size:8px;max-width:95%;left:2.5%;right:2.5%}@media(max-width:360px){.street-joystick{width:100px;height:100px}.street-host .street-controls{gap:10px}.street-host .street-actions{grid-template-columns:repeat(2,66px)}}@media(max-height:500px){.street-joystick{width:88px;height:88px}.street-host .street-actions button{min-height:34px;font-size:9px}.street-host .street-actions{grid-template-columns:repeat(2,76px)}}

/* Flight controls must opt into pointer input: the shared HUD layer is click-through. */
.activity-host[data-game-theme=future] .activity-controls{align-items:flex-end}
.activity-controls .sky-flight-controls{display:flex;align-items:flex-end;gap:12px;pointer-events:auto}
#skyStick{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;flex:0 0 auto;position:relative;width:112px;height:112px;border:2px solid #67ffe288;border-radius:50%;background:#07192edb;cursor:move}
#skyThumb{position:absolute;left:33px;top:33px;width:42px;height:42px;border-radius:50%;background:#67ffe2;box-shadow:0 0 25px #67ffe288;pointer-events:none}
#skyStick b{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:9px monospace;color:#caffef;pointer-events:none}
.activity-controls .sky-direction-pad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:4px;pointer-events:auto}
.sky-direction-pad #control-up{grid-column:2}.sky-direction-pad #control-left{grid-column:1;grid-row:2}.sky-direction-pad #control-down{grid-column:2;grid-row:2}.sky-direction-pad #control-right{grid-column:3;grid-row:2}
.activity-controls .sky-direction-pad button{min-width:0;width:40px;height:40px;padding:4px;font-size:15px}
.activity-host[data-game-theme=future] #control-boost{height:76px;min-width:80px;max-width:110px;white-space:normal}
.activity-host[data-game-theme=future] #control-boost[aria-pressed=true]{background:#287f71!important;box-shadow:0 0 24px #67ffe2aa!important}
@media(max-width:390px){.activity-controls .sky-direction-pad{grid-template-columns:repeat(3,31px);grid-template-rows:repeat(2,34px)}.activity-controls .sky-direction-pad button{width:31px;height:34px}.activity-controls .sky-flight-controls{gap:6px}}
@media(max-height:500px){#skyStick{width:88px;height:88px}#skyThumb{left:21px;top:21px}.activity-host[data-game-theme=future] #control-boost{height:65px}}

/* Separate altitude and stunt actions, with readable touch targets. */
.activity-controls .sky-flight-actions{display:flex;flex-direction:column;gap:8px;pointer-events:auto}
.activity-host[data-game-theme=future] .sky-direction-pad{grid-template-columns:repeat(2,48px);grid-template-rows:repeat(3,38px)}
.activity-host[data-game-theme=future] .sky-direction-pad button{width:48px;height:38px;font-size:9px}
.activity-host[data-game-theme=future] #control-up{grid-column:span 2;grid-row:1;width:100%}
.activity-host[data-game-theme=future] #control-down{grid-column:span 2;grid-row:3;width:100%}
.activity-host[data-game-theme=future] #control-left{grid-column:1;grid-row:2}
.activity-host[data-game-theme=future] #control-right{grid-column:2;grid-row:2}
.activity-host[data-game-theme=future] #control-flip{height:42px;width:90px;font-size:10px}
.activity-host[data-game-theme=future] #control-flip:disabled{opacity:.5}
.activity-host[data-game-theme=future] .activity-hud>div{padding:9px;background:#071529c9;border:1px solid #68ffe144;border-radius:8px;font:10px/1.5 monospace}
.activity-host[data-game-theme=future] .activity-hud span{display:block;font-size:9px}
@media(max-width:390px){.activity-host[data-game-theme=future] .sky-direction-pad{grid-template-columns:repeat(2,39px)}.activity-host[data-game-theme=future] .sky-direction-pad button{width:39px}}
@media(max-height:500px){.activity-host[data-game-theme=future] .sky-direction-pad{grid-template-rows:repeat(3,29px)}.activity-host[data-game-theme=future] .sky-direction-pad button{height:29px}.activity-host[data-game-theme=future] #control-boost{height:42px}.activity-host[data-game-theme=future] #control-flip{height:34px}}

.activity-controls .retro-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,42px);gap:5px;pointer-events:auto}.retro-pad #control-up{grid-column:2}.retro-pad #control-left{grid-column:1;grid-row:2}.retro-pad #control-down{grid-column:2;grid-row:2}.retro-pad #control-right{grid-column:3;grid-row:2}.activity-controls .retro-pad button{width:48px;height:42px;min-width:0;padding:7px}.activity-controls .retro-legend{display:block;font:9px/1.8 monospace;color:#aaffdc;text-align:right;padding:9px;background:#081629cf;border-radius:8px}
.activity-host[data-game-theme=retro] .activity-hud>div{font:10px/1.5 monospace;background:#081629d9;padding:8px;border-radius:7px}.activity-host[data-game-theme=retro] .activity-hud span{display:block;font-size:9px}
.activity-host[data-game-theme=quiz] .activity-message{inset:150px 18px 35px;max-width:650px;align-content:start}.activity-host[data-game-theme=quiz] .activity-message h2{font-size:clamp(23px,4vw,34px);line-height:1.15}.activity-message .quiz-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quiz-topics button{margin:0;font-size:11px}.quiz-topics small{display:block;font-size:8px;margin-top:8px;letter-spacing:0;color:#23443c}.quiz-answers button{text-align:left;border:1px solid #88a9d066;background:#172c45;color:#e4faf2}.quiz-answers button b{color:#ffd67f;margin-right:12px}.quiz-answers button:disabled{opacity:.85;cursor:default}.quiz-answers .quiz-right:disabled{background:#25584a;color:#dbffeb;border-color:#82eebd;opacity:1}.quiz-answers .quiz-wrong:disabled{background:#583047;border-color:#ff8ebc}.quiz-feedback{margin-top:18px;padding:14px;background:#0b192d;border-radius:9px}.quiz-feedback b{font:11px monospace;color:#b8ffde}.quiz-feedback a{font:10px monospace;color:#ffd67f}.activity-host[data-game-theme=quiz] .activity-hud{font:12px monospace}.activity-host[data-game-theme=quiz] .activity-hud span{display:block;margin-top:5px}
@media(max-height:500px){.activity-host[data-game-theme=quiz] .activity-message{inset:90px 80px 15px}}

@font-face{font-family:SkyOrbit;src:url(fonts/orbitron-bold.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
.activity-host[data-game-theme=future]{font-family:SkyOrbit,monospace}
.activity-host[data-game-theme=future] .activity-top b{display:block;font-family:SkyOrbit,monospace;font-size:clamp(17px,2.6vw,28px);font-style:normal;letter-spacing:.035em;color:#c5fff2;text-shadow:0 0 16px #66ffe76b;line-height:1.25}
.sky-title-sub{display:block;margin-top:5px;font:700 9px SkyOrbit,monospace;letter-spacing:.2em;color:#87c8e7}
.activity-host[data-game-theme=future] .activity-top small{font-family:SkyOrbit,monospace;letter-spacing:.08em;font-size:7px}
.activity-host[data-game-theme=future] .activity-hud{top:105px}
.activity-host[data-game-theme=future] .activity-hud>div{flex:1;max-width:235px;min-width:0;background:linear-gradient(135deg,#0b2034eb,#111b32ed);border:1px solid #7debd975;border-radius:0;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));padding:10px 12px;font-family:SkyOrbit,monospace;box-shadow:inset 0 0 18px #75ffe30b}
.activity-host[data-game-theme=future] .activity-hud small{display:block;font:700 7px SkyOrbit,monospace;letter-spacing:.14em;color:#8ab6ca;margin-bottom:5px}
.activity-host[data-game-theme=future] .activity-hud b{display:block;font:700 clamp(18px,3vw,28px) SkyOrbit,monospace;color:#d9fff3;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #6affdf55}
.activity-host[data-game-theme=future] .activity-hud em{font:700 7px SkyOrbit,monospace;color:#94bbc9;font-style:normal}
.activity-host[data-game-theme=future] .activity-hud span{font:700 8px/1.8 SkyOrbit,monospace;letter-spacing:.015em;color:#a4d5df}
.activity-host[data-game-theme=future] .sky-hud-score b{color:#ffdf96;text-shadow:0 0 14px #ffc86b55}
.activity-host[data-game-theme=future] .activity-message h2{font:700 clamp(27px,5vw,43px)/1.2 SkyOrbit,monospace;letter-spacing:.025em;color:#c8ffef;text-shadow:2px 2px #24576c,0 0 22px #60f5dc3b}
.activity-host[data-game-theme=future] .activity-message>small{font-family:SkyOrbit,monospace;line-height:1.8;letter-spacing:.1em}
.activity-host[data-game-theme=future] .activity-message button,.activity-host[data-game-theme=future] .activity-controls button,.activity-host[data-game-theme=future] .activity-top button{font-family:SkyOrbit,monospace;letter-spacing:.025em}
.activity-host[data-game-theme=future] .activity-message p{font-family:Arial,sans-serif;line-height:1.7}
@media(max-width:420px){.activity-host[data-game-theme=future] .activity-hud>div{padding:9px}.activity-host[data-game-theme=future] .activity-hud span{font-size:7px}.activity-host[data-game-theme=future] .activity-top{align-items:flex-start}.activity-host[data-game-theme=future] .release-game-nav button{font-size:8px!important;padding:8px 6px!important}}
@media(max-height:500px){.activity-host[data-game-theme=future] .activity-top b{font-size:17px}.sky-title-sub{display:none}.activity-host[data-game-theme=future] .activity-hud{top:52px}.activity-host[data-game-theme=future] .activity-hud>div{padding:6px 10px}.activity-host[data-game-theme=future] .activity-hud small{display:none}.activity-host[data-game-theme=future] .activity-hud b{font-size:19px}.activity-host[data-game-theme=future] .activity-hud span{font-size:7px}}

.activity-host[data-game-theme=future] .flight-gpu{z-index:0;pointer-events:none}.activity-host[data-game-theme=future] #activityCanvas{z-index:1;pointer-events:none}.activity-host[data-game-theme=future].flight-3d-active #activityCanvas{visibility:hidden}.activity-host[data-game-theme=future] .activity-top,.activity-host[data-game-theme=future] .activity-hud,.activity-host[data-game-theme=future] .activity-controls,.activity-host[data-game-theme=future] .activity-key-hint{z-index:3}.activity-host[data-game-theme=future] .activity-message{z-index:5}
.sky-pickup-flash{position:absolute;left:50%;top:33%;transform:translateX(-50%);z-index:4;pointer-events:none;min-width:180px;text-align:center;padding:12px 22px;background:linear-gradient(135deg,#172b3bea,#352431ed);border:2px solid #ffe494;clip-path:polygon(0 12px,12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);box-shadow:0 0 40px #ffd17466;font-family:SkyOrbit,monospace;will-change:transform,opacity}.sky-pickup-flash small{display:block;color:#c2fff2;font-size:10px;letter-spacing:.14em}.sky-pickup-flash b{display:block;color:#ffe799;font-size:clamp(38px,7vw,60px);line-height:1.2;text-shadow:0 0 22px #ffbc5077}.sky-pickup-flash span{display:block;color:#d1e5ee;font-size:7px;letter-spacing:.16em}
.sky-graphics-status{position:absolute;bottom:175px;right:14px;z-index:3;padding:7px 10px;border:1px solid #b3f5df44;background:#081c31ba;color:#c9f9eb;font:700 8px SkyOrbit,monospace;border-radius:5px}.sky-graphics-status:disabled{opacity:.7}
@media(max-height:500px){.sky-pickup-flash{top:30%;padding:7px 15px;min-width:150px}.sky-pickup-flash b{font-size:36px}.sky-graphics-status{bottom:120px}}
@keyframes sky-points-pulse{from{text-shadow:0 0 6px #ffc46b;color:#ffe799}to{text-shadow:0 0 26px #fff3b8;color:#fff9e3}}.sky-pickup-flash b{animation:sky-points-pulse .3s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.sky-pickup-flash b{animation:none}}

.sky-flight-music{position:absolute;bottom:208px;right:14px;z-index:3;padding:9px 10px;border:1px solid #b0ffe58c;background:#10273ee8;color:#dcfff2;font:700 8px SkyOrbit,monospace;border-radius:5px}.sky-flight-music[aria-pressed=true]{color:#ffdf8e;border-color:#ffdf8e}.activity-host[data-game-theme=future] .activity-message{background:linear-gradient(135deg,#16344df5,#222b49f5);border-color:#a0f9de88}
@media(max-height:500px){.sky-flight-music{bottom:150px;font-size:7px;padding:7px}}

.activity-host[data-game-theme=future].flight-finished .activity-controls,.activity-host[data-game-theme=future].flight-finished .activity-hud,.flight-finished .sky-graphics-status,.flight-finished .sky-flight-music,.flight-finished .activity-key-hint{display:none}.activity-host[data-game-theme=future].flight-finished .activity-message{inset:auto 14px 18px;max-width:520px;padding:15px;background:linear-gradient(135deg,#102d40e8,#1d2540ed)}.activity-host[data-game-theme=future].flight-finished .activity-message h2{font-size:18px;margin:8px 0}.activity-host[data-game-theme=future].flight-finished .activity-message p{font-size:10px!important;line-height:1.5;margin:8px 0}.activity-host[data-game-theme=future].flight-finished .activity-message button{display:inline-block;width:auto;margin:3px 6px 0 0;padding:10px 14px;font-size:9px}.sky-host-caption{color:#c4ffe7!important}
@media(max-height:500px){.activity-host[data-game-theme=future].flight-finished .activity-message{max-width:440px;padding:10px;bottom:8px}.activity-host[data-game-theme=future].flight-finished .activity-message h2{font-size:14px;margin:3px 0}.activity-host[data-game-theme=future].flight-finished .activity-message p{font-size:8px!important;margin:4px 0}}

.sky-finish-notice{position:absolute;top:26%;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;padding:13px 20px 10px;background:#082239e8;border:1px solid #ccffe4;box-shadow:0 0 22px #6bffc92b;color:#e1ffed;font:700 clamp(11px,2.2vw,17px) SkyOrbit,monospace;white-space:nowrap}.sky-finish-notice:before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-conic-gradient(#f5fff6 0 25%,#091425 0 50%) 0 0/12px 12px}.sky-finish-notice[hidden]{display:none}
@media(max-height:500px){.sky-finish-notice{top:32%;padding:9px 13px 6px;font-size:10px}}

/* Oncoming traffic warning stays above both renderers without blocking flight input. */
.sky-traffic-notice{position:absolute;z-index:3;top:32%;left:50%;transform:translateX(-50%);max-width:90%;padding:8px 12px;border:1px solid #ffb57999;border-radius:5px;background:#271b28dc;color:#ffdaa3;font:700 clamp(8px,2vw,11px) SkyOrbit,monospace;white-space:nowrap;pointer-events:none;box-shadow:0 0 22px #ff715c22}.sky-traffic-notice[hidden]{display:none}@media(max-height:500px){.sky-traffic-notice{top:35%;padding:5px 9px}}
/* Pre-flight showroom: inspect a live vehicle before any simulation starts. */
.showroom-open .activity-hud,.showroom-open .activity-controls,.showroom-open .activity-key-hint,.showroom-open .sky-flight-music,.showroom-open .sky-graphics-status,.showroom-open .release-game-nav button[aria-label="Pause game"]{display:none!important}
.activity-host[data-game-theme=future].showroom-open .activity-message{inset:auto 0 0;max-width:none;width:auto;max-height:43%;padding:18px max(18px,calc((100vw - 1000px)/2));border-radius:24px 24px 0 0;background:linear-gradient(135deg,#0d2235fa,#141b30fa);border:1px solid #a1f9df55;box-shadow:0 -15px 60px #030b1788;align-content:start;overflow:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))}
.sky-showroom-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sky-showroom-heading>small{width:100%;font:700 8px SkyOrbit,monospace!important;letter-spacing:.17em}.sky-showroom-heading h2{font:800 22px/1 SkyOrbit,monospace!important;letter-spacing:-.04em!important;margin:0!important}.sky-showroom-heading h2 br{display:none}.sky-showroom-heading h2 span{color:#8afae0}.sky-showroom-heading p{font-size:10px!important;margin:0!important}
.sky-car-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.activity-message .sky-car-option{min-width:0;margin:0;padding:10px 12px;background:#102436;border:1px solid #6a899c55;color:#effff9;text-align:left;box-shadow:none;border-radius:9px;cursor:pointer}.sky-car-option.selected{border-color:var(--car-accent);background:linear-gradient(140deg,#233c4b,#102536);box-shadow:inset 0 -3px var(--car-accent)}.sky-car-option small{display:block;font:7px SkyOrbit,monospace!important;letter-spacing:.06em;color:var(--car-accent)}.sky-car-option b{display:block;font:800 21px SkyOrbit,monospace;margin:5px 0;color:var(--car-accent)}.sky-car-option span{display:block;font:9px Arial;color:#b6cdd8}
.sky-car-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.sky-car-specs small{display:block;font:7px SkyOrbit,monospace!important;color:#91abbf}.sky-car-specs b{display:block;font:700 16px SkyOrbit,monospace;color:#e3fff7;margin-top:3px}.sky-car-specs em{font:7px SkyOrbit,monospace;font-style:normal;color:#92b0c5}.sky-showroom-actions{display:grid;grid-template-columns:70px 1fr 70px;gap:9px}.activity-message .sky-showroom-actions button{margin:0;padding:12px 5px;font:700 9px SkyOrbit,monospace;border:1px solid #83d7c966;cursor:pointer}.activity-message .sky-showroom-actions .sky-inspect{background:#132c40;color:#c8e9e3}.activity-message #skyLaunch{background:linear-gradient(110deg,#a9ffe1,#65d4d8);color:#082633;box-shadow:0 0 22px #89f5d32a}.sky-flight-brief{margin:10px 0 6px;font-size:9px;color:#b6cbd8}.sky-flight-brief summary{cursor:pointer;font:8px SkyOrbit,monospace;color:#b4d8d6}.sky-flight-brief p{font-size:10px!important;margin:8px 0!important}.sky-showroom-fiction{font:7px Arial!important;color:#879cab!important;letter-spacing:0!important}
.sky-showroom-host{display:none}.showroom-open .sky-showroom-host{display:block;position:absolute;z-index:2;right:3%;top:18%;width:27%;max-width:260px;height:35%;border:1px solid #8ffff043;border-radius:12px;background:linear-gradient(#07131c,#10263a);box-shadow:0 0 36px #67e2e51a;overflow:hidden;pointer-events:none}.sky-showroom-host img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;opacity:.95}.sky-showroom-host>div{position:absolute;bottom:0;left:0;right:0;padding:10px 8px;background:linear-gradient(transparent,#071725 35%)}.sky-showroom-host small{font:6px SkyOrbit,monospace;color:#98d1d1}.sky-showroom-host b{display:block;font:700 clamp(10px,2vw,17px) SkyOrbit,monospace;color:#c9ffef;margin:4px 0}.sky-showroom-host p{font:9px/1.4 Arial;color:#c2d1de;margin:0}.host-unavailable:before{content:'E';display:block;text-align:center;font:100px SkyOrbit;color:#75dcc4}
@media(min-width:800px) and (min-height:501px){.activity-host[data-game-theme=future].showroom-open .activity-message{max-height:38%}.showroom-open .sky-showroom-host{right:12%;top:17%;height:38%}.sky-showroom-heading h2{font-size:28px!important}.sky-car-picker{gap:15px}.sky-car-option b{font-size:25px}}
@media(max-height:500px){.activity-host[data-game-theme=future].showroom-open .activity-message{inset:65px 12px 10px auto;width:42%;max-height:none;padding:12px;border-radius:14px}.sky-showroom-heading{gap:7px}.sky-showroom-heading h2{font-size:16px!important}.sky-showroom-heading p{display:none}.sky-car-picker{gap:5px;margin-top:9px}.activity-message .sky-car-option{padding:7px}.sky-car-option b{font-size:15px}.sky-car-option span{font-size:7px}.sky-car-option small{font-size:5px!important}.sky-car-specs{gap:7px;margin:10px 0}.sky-car-specs b{font-size:11px}.sky-showroom-actions{grid-template-columns:45px 1fr 45px;gap:4px}.activity-message .sky-showroom-actions button{font-size:7px;padding:10px 2px}.showroom-open .sky-showroom-host{right:auto;left:2%;top:21%;width:16%;height:65%}.sky-showroom-host p{font-size:7px}.sky-showroom-host b{font-size:9px}.sky-showroom-host small{font-size:5px}.sky-showroom-fiction{font-size:6px!important}}
@media(prefers-reduced-motion:reduce){.showroom-open *{animation:none!important}}
@media(max-width:420px) and (min-height:501px) and (max-height:700px){.activity-host[data-game-theme=future].showroom-open .activity-message{max-height:47%;padding:13px}.sky-showroom-heading{gap:7px}.sky-showroom-heading p{display:none}.sky-car-picker{margin-top:9px}.activity-message .sky-car-option{padding:8px}.sky-car-specs{margin:9px 0}.sky-flight-brief{margin-top:8px}}
.sky-showroom-heading .sky-spin-toggle{width:auto;display:inline-block;margin:0 0 0 auto;padding:7px 9px;background:#122c3e;color:#b6eee0;border:1px solid #8cd8cc55;border-radius:5px;font:700 7px SkyOrbit,monospace;cursor:pointer}

/* v82: compact rewards and an energized launch-bay console. */
.sky-pickup-flash{min-width:112px;padding:7px 13px;border-width:1px;box-shadow:0 0 22px #ffd17444}
.sky-pickup-flash small{font-size:7px;letter-spacing:.09em}.sky-pickup-flash b{font-size:clamp(27px,5vw,39px)}.sky-pickup-flash span{font-size:6px}
.activity-host[data-game-theme=future].showroom-open .activity-message{background:linear-gradient(125deg,#091a2cf5,#18223bf7 60%,#261b37f5);border-top:2px solid #9bffe2;box-shadow:0 -8px 45px #55dfd82a,inset 0 1px 30px #81d9e50a}
.sky-showroom-heading>small{color:#ffe4a1!important}.sky-showroom-heading h2{font-style:italic!important;text-shadow:2px 2px 0 #24486e,0 0 22px #55edcf30}.sky-showroom-heading h2 span{color:#9fffe1;text-shadow:0 0 20px #69ffcf66}
.activity-message .sky-car-option{position:relative;overflow:hidden;background:linear-gradient(135deg,#192b41,#101829);border-color:#7393ae55;transition:border-color .2s,background .2s,box-shadow .2s}
.activity-message .sky-car-option:before{content:'';display:block;width:30px;height:3px;margin-bottom:8px;background:var(--car-accent);box-shadow:0 0 12px var(--car-accent)}
.activity-message .sky-car-option.selected{background:linear-gradient(135deg,#244a55,#15283c);border-color:var(--car-accent);box-shadow:inset 0 -3px var(--car-accent),0 0 18px #7bffd51a}
.sky-car-specs{padding:10px 12px;background:#04122199;border-left:2px solid #85f6dd;border-radius:0 8px 8px 0}.sky-car-specs b{color:#f1ffff}
.activity-message #skyLaunch{background:linear-gradient(110deg,#bcffe5,#61f0d4 55%,#95dcff);box-shadow:0 0 26px #6cf2d340,inset 0 1px #fff9;letter-spacing:.1em}
.showroom-open .sky-showroom-host{border-color:#a3ffdf77;box-shadow:0 0 25px #73ead82c}.sky-showroom-host>div{border-top:1px solid #8bffe433}
@media(max-height:500px){.sky-pickup-flash{min-width:100px;padding:5px 10px}.sky-pickup-flash b{font-size:27px}.sky-car-specs{padding:6px 8px}.activity-message .sky-car-option:before{margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.activity-message .sky-car-option{transition:none}}

/* Larry is part of every game crew, using his original red-cap artwork. */
.larry-crew-card{display:flex;align-items:center;gap:13px;padding:10px 14px;margin:0 0 14px;border:1px solid #83d9c844;border-radius:10px;background:linear-gradient(110deg,#153e3e88,#151e3688);text-align:left}
.larry-crew-portrait{position:static!important;display:block;width:40px;height:68px;flex:0 0 40px;overflow:hidden}
.larry-crew-card>div{min-width:0}.larry-crew-card small{display:block;font-size:7px!important;color:#b6dfd1}.larry-crew-card b{display:block;font-size:13px;color:#ffe39b;margin:3px 0}.larry-crew-card p{font-size:9px!important;line-height:1.6!important;margin:0!important}
.larry-game-presence{display:flex;align-items:center;pointer-events:none}.larry-game-presence .larry-crew-portrait{width:24px;height:40px;flex-basis:24px}
.showroom-open .larry-game-presence{display:none}.showroom-open .larry-crew-card{padding:5px 10px;margin-bottom:9px}.showroom-open .larry-crew-card .larry-crew-portrait{width:28px;height:43px;flex-basis:28px}
@media(max-width:420px){.larry-crew-card{gap:9px;padding:8px 10px}.larry-crew-card p{font-size:8px!important}.activity-top .larry-game-presence{display:none}}
/* ALM Vault House / Aka's HQ: walkable rooms and a clear mobile control deck. */
.vault-house-host .activity-top b{font-size:clamp(14px,2.6vw,25px)}
.vault-host-intro{display:flex;gap:18px;align-items:center;text-align:left;margin:10px 0 18px}.vault-aka-portrait{position:static!important;width:78px;height:145px;flex-shrink:0;display:block;overflow:hidden}.vault-host-intro h2{margin:0!important}.vault-host-intro p{margin:8px 0 0!important}
.vault-mission-steps{display:grid;gap:7px;margin:14px 0;text-align:left}.vault-mission-steps span{padding:9px 12px;border-left:3px solid #ffe09b;background:#d5a6460d;font-size:9px;color:#c8ffea}
.vault-code-cards{display:flex;justify-content:center;gap:12px;margin:20px 0}.vault-code-cards span{padding:10px 18px;border:1px solid #bba27366;border-radius:8px;color:#c7d3df;font-size:9px}.vault-code-cards b{display:block;font-size:30px;color:#ffe8a4;margin-top:7px}
.vault-house-host .vault-code-input{display:block;box-sizing:border-box;width:160px;margin:10px auto;padding:12px;background:#061523;border:2px solid #8cdcbf;color:#fff2bd;font-size:28px;text-align:center;letter-spacing:.2em!important;border-radius:8px}
.vault-movement{display:flex;align-items:end;gap:12px}.vault-joystick{position:relative;width:104px;height:104px;flex:0 0 104px;touch-action:none;user-select:none;border-radius:50%;border:2px solid #9cffe187;background:radial-gradient(#81d8c522,#112638dd);box-shadow:inset 0 0 20px #78d9c51c;pointer-events:auto}.vault-joystick>span{position:absolute;left:31px;top:31px;width:38px;height:38px;border-radius:50%;background:linear-gradient(#c4ffea,#60bfa9);box-shadow:0 4px 12px #0008;pointer-events:none}.vault-joystick small{position:absolute;bottom:5px;left:0;width:100%;text-align:center;font-size:6px;pointer-events:none;color:#b9ffdf}
.vault-house-host .activity-controls{align-items:end;gap:14px;bottom:max(24px,env(safe-area-inset-bottom))}.vault-house-host .hunt-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:290px}.vault-house-host .hunt-actions button{min-width:0;min-height:46px;padding:10px 7px;font-size:9px}.vault-house-host .hunt-actions button[hidden]{display:none!important}.vault-house-host #control-interact{background:linear-gradient(120deg,#c5ffe5,#8ee0c5);color:#092b2f;border-color:#cdffe8}.vault-house-host .activity-message{max-height:calc(100dvh - 210px);overflow:auto}.vault-house-host .activity-message canvas{display:block;width:100%;height:auto;border-radius:10px;margin:14px auto;border:1px solid #f3d99b44}.vault-house-host .activity-hud{max-width:calc(100% - 24px);box-sizing:border-box}.vault-house-host .activity-key-hint{font-size:7px}
@media(max-width:700px){.vault-arrow-fallback{display:none!important}.vault-house-host .activity-controls{left:15px;right:15px}.vault-house-host .hunt-actions{max-width:220px;flex:1}.vault-house-host .hunt-actions button{font-size:8px}.vault-host-intro{gap:12px}.vault-aka-portrait{width:54px;height:110px}.vault-house-host .activity-top b{font-size:14px}.vault-house-host .activity-top{gap:8px}.vault-house-host .activity-top .release-game-nav{gap:4px}.vault-house-host .activity-message{inset:145px 14px auto;max-height:calc(100dvh - 300px);padding:20px}}
@media(max-height:500px){.vault-house-host .activity-message{inset:90px 130px 100px;max-height:none;padding:14px}.vault-joystick{width:82px;height:82px;flex-basis:82px}.vault-joystick>span{left:20px;top:20px}.vault-arrow-fallback{display:none!important}.vault-house-host .activity-controls{bottom:20px}.vault-house-host .activity-controls button{min-height:38px;padding:7px}.vault-aka-portrait{width:42px;height:75px}.vault-host-intro{margin:0 0 10px}.vault-code-cards{margin:8px}.vault-code-cards b{font-size:20px}.vault-mission-steps span{padding:5px 8px}}

/* Entrance covers the renderer handoff until a showroom is ready. */
.activity-host[data-game-theme=future].showroom-entry{background:#060e20 url('assets/skyline-detail-v76.webp') center/cover}
.showroom-entry :is(#activityCanvas,.sky-flight-3d,.activity-hud,.activity-controls,.activity-key-hint,.sky-showroom-host,.sky-graphics-status,.sky-flight-music){visibility:hidden!important;pointer-events:none!important}
.showroom-entry canvas{visibility:hidden!important}
.showroom-entry .release-game-nav button[aria-label="Pause game"]{display:none}
.activity-host[data-game-theme=future].showroom-entry .activity-message{inset:82px 0 0;max-width:none;width:100%;max-height:none;border:0;border-radius:0;background:linear-gradient(0deg,#050b1af5,#080f2988);display:flex;align-items:center;justify-content:center;overflow:auto;padding:30px 22px}
.sky-entry-card{width:min(100%,670px);text-align:center;padding:28px 0}.sky-entry-card>small{display:block;font-size:10px;letter-spacing:.15em;line-height:1.8}.activity-message .sky-entry-card h2{font-size:clamp(30px,6vw,62px);line-height:1.15!important;margin:22px 0}.sky-entry-card h2 span{color:#9bfff0!important}.sky-entry-card p{line-height:1.8;font-size:13px;color:#d0e5ee}.activity-message .sky-entry-card button{display:block;width:min(100%,420px);min-height:66px;margin:28px auto 16px;background:linear-gradient(110deg,#a4ffe5,#82dcf5);color:#09233b;border:2px solid #d1fff5;border-radius:12px;box-shadow:0 6px #266675,0 0 30px #58ffdb44;font-size:17px}.sky-entry-status{font-size:10px;line-height:1.8;color:#c2e6ed}.sky-entry-card .sky-entry-transcript{font-size:9px;letter-spacing:.04em;max-width:470px;margin:22px auto 0;color:#b7c8d9}.sky-entry-card button:disabled{opacity:.65;cursor:wait}
@media(max-height:500px){.activity-host[data-game-theme=future].showroom-entry .activity-message{inset:65px 0 0;padding:12px}.sky-entry-card{padding:4px}.activity-message .sky-entry-card h2{font-size:28px;margin:8px}.activity-message .sky-entry-card button{margin:12px auto;min-height:48px}.sky-entry-card .sky-entry-transcript{margin:8px auto}}
