/* Flight-only mobile shell. Shared games keep their own input and menu contracts. */
.flight-dashboard{display:none}
body.playing[data-mode=flight]{background:#102d39}
body.playing[data-mode=flight] #play{grid-template-rows:48px 72px minmax(0,1fr) 116px;background:#153b46;position:relative}
body.playing[data-mode=flight] .play-top{grid-row:1;background:#13323f;padding:0 16px}
body.playing[data-mode=flight] #home,body.playing[data-mode=flight] #pause{width:40px;height:38px;font-size:0;border-radius:13px;background:#284a57;border:1px solid #577b824d;box-shadow:0 3px 0 #0a2531}
body.playing[data-mode=flight] #home:after{content:'‹';font:28px/1 system-ui;color:#eaf2e6}
body.playing[data-mode=flight] #pause:after{content:'Ⅱ';font:800 16px/1 system-ui;color:#eaf2e6}
body.playing[data-mode=flight] .play-top h1{font-size:13px!important;letter-spacing:-.4px}
body.playing[data-mode=flight] .hud,body.playing[data-mode=flight] #play-coach{display:none!important}
body.playing[data-mode=flight] .flight-dashboard{grid-row:2;display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin:0 12px;padding:8px 12px 10px;background:#214853;border:1px solid #64908b44;border-radius:16px 16px 0 0;min-width:0;font-variant-numeric:tabular-nums}
.flight-vitals{display:flex;align-items:center;gap:9px;font-size:11px}.flight-hearts{color:#ffb19c;font-size:15px;letter-spacing:2px;white-space:nowrap}.flight-points{font-size:12px;color:#fff0bd;font-weight:800;white-space:nowrap}.flight-time{font-size:11px;color:#c1d8d9;text-align:right;align-self:center}.flight-objective{grid-column:1/-1;display:flex;gap:10px;align-items:center;min-width:0}.flight-objective>b{font-size:11px;color:#f4eecb;white-space:nowrap}.flight-goal-track{height:7px;flex:1;background:#112d38;border-radius:20px;overflow:hidden}.flight-goal-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#89d8bd,#e8d384);border-radius:20px}.flight-protection{font-size:10px;color:#a5ede2;white-space:nowrap}
body.playing[data-mode=flight] .stage{grid-row:3}
body.playing[data-mode=flight] #controls{grid-row:4;justify-content:space-between!important;padding:8px clamp(22px,7vw,72px)!important;background:linear-gradient(#1f4950,#102d39)!important;align-items:center!important;gap:20px!important}
body.playing[data-mode=flight] #controls button{flex:none!important;position:relative!important;display:flex;flex-direction:column;align-items:center;justify-content:center;width:94px!important;height:94px!important;max-width:94px;padding:5px!important;border-radius:30px!important;border:2px solid #769da2!important;box-shadow:0 5px 0 #081f2d,inset 0 2px 0 #ffffff44;font-size:12px!important;overflow:hidden;isolation:isolate}
body.playing[data-mode=flight] #controls [data-action=thrust]{background:linear-gradient(145deg,#8fa8b1,#536f83)!important;color:#fff!important;border-color:#b9cbce!important}
body.playing[data-mode=flight] #controls [data-action=dash]{background:linear-gradient(145deg,#326a75,#204354)!important;color:#fff4c5!important;border-color:#d9c187!important}
body.playing[data-mode=flight] #controls button img{width:43px;height:43px;object-fit:contain;position:relative;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 1px #10293266)}
body.playing[data-mode=flight] #controls button b{font-size:12px;position:relative;z-index:1;line-height:1.2}
body.playing[data-mode=flight] #controls button span{font-size:9px!important;margin:3px 0 0;position:relative;z-index:1;color:#e7eeea}
body.playing[data-mode=flight] #controls [data-action=dash]:before{content:'';position:absolute;inset:0;background:#081c32ac;transform:translateY(calc(var(--charge,1)*100%));transition:transform .1s linear;z-index:0}
body.playing[data-mode=flight] #controls button.unavailable img{filter:saturate(.3);opacity:.6}
body.playing[data-mode=flight] #controls button.held{transform:translateY(3px) scale(.97);filter:brightness(1.15)}
body.playing[data-mode=flight] #overlay{inset:48px 0 0!important;background:#0b2638c9;padding:14px;backdrop-filter:blur(9px)}
body.playing[data-mode=flight] #overlay .menu-panel{border:1px solid #9fbcaf77;border-top:1px solid #bdd5c599;border-radius:26px;background:linear-gradient(150deg,#294f58,#122f41);padding:22px;width:min(100%,420px);box-shadow:0 18px 60px #051a3080}
body.playing[data-mode=flight][data-phase=ready] .menu-heading{min-height:112px;padding:10px 110px 14px 0;border-bottom:1px solid #8eb7af33;margin-bottom:18px}
body.playing[data-mode=flight][data-phase=ready] .menu-heading:after{content:'';position:absolute;right:-5px;top:0;width:115px;height:116px;background:url('/assets/flight-poses-v21.png') -21px -21px/280px 280px no-repeat;filter:drop-shadow(0 7px 5px #102b4277)}
body.playing[data-mode=flight] .menu-heading .eyebrow{color:#a9e2d0;font-size:10px;letter-spacing:1px}
body.playing[data-mode=flight] #overlay .menu-panel h2{font-size:25px;line-height:1.22;letter-spacing:-1px;margin:8px 0}
body.playing[data-mode=flight] #overlay .menu-panel p{font-size:11px;line-height:1.65;color:#c1d6d6}
body.playing[data-mode=flight] .menu-settings{gap:18px}
body.playing[data-mode=flight] .choice>span{border-radius:14px;min-height:58px;background:#173747;border-color:#66899166}
body.playing[data-mode=flight] .choice input:checked+span{background:#4b766d77;border-color:#a9dbbd;box-shadow:inset 0 0 0 1px #b7e6c633}
body.playing[data-mode=flight] .choice input:checked+span b{color:#def4ca}
body.playing[data-mode=flight] #route-map button{border-radius:50%;height:44px;max-width:44px;margin:auto;background:#234754;color:#cfe3dc;border:1px solid #5f8287}
body.playing[data-mode=flight] #route-map button[aria-current=true]{background:#c3dfa5;border-color:#e6f5c8;color:#25483e;box-shadow:0 3px 0 #0f2b36}
body.playing[data-mode=flight] .stage-preview{background:#102d3c66;border-radius:12px;margin-top:12px;padding:10px 12px}
body.playing[data-mode=flight] #overlay .menu-panel #start{background:linear-gradient(#d9ecb4,#abc98c);border-color:#e5f4c9;border-radius:16px;color:#263f3b;box-shadow:0 4px 0 #081e2e;margin-top:20px;font-size:15px;min-height:50px}
@media(max-height:650px){body.playing[data-mode=flight] #play{grid-template-rows:44px 62px minmax(0,1fr) 96px}body.playing[data-mode=flight] #controls button{height:78px!important;width:88px!important;border-radius:25px!important}body.playing[data-mode=flight] #controls button img{width:32px;height:32px}body.playing[data-mode=flight] .flight-dashboard{gap:4px;padding:5px 10px}body.playing[data-mode=flight] #overlay{inset:44px 0 0!important}body.playing[data-mode=flight] #overlay .menu-panel{padding:18px}body.playing[data-mode=flight][data-phase=ready] .menu-heading{min-height:100px;margin-bottom:12px}body.playing[data-mode=flight] .menu-settings{gap:12px}}
@media(orientation:landscape) and (max-height:600px){body.playing[data-mode=flight] #play{grid-template-rows:40px minmax(0,1fr) 0;max-width:1100px!important}body.playing[data-mode=flight] .flight-dashboard{position:absolute;top:48px;left:calc(50% - 160px);width:320px;margin:0;z-index:4;border-radius:14px;opacity:.95;padding:6px 10px;gap:3px;pointer-events:none}body.playing[data-mode=flight] .stage{grid-row:2}body.playing[data-mode=flight] #controls{position:absolute!important;top:auto!important;bottom:12px!important;left:0!important;right:0!important;width:100%!important;height:80px!important;padding:0 34px!important;background:none!important;pointer-events:none!important}body.playing[data-mode=flight] #controls button{pointer-events:auto;height:76px!important;width:80px!important}body.playing[data-mode=flight] #overlay{inset:40px 0 0!important}body.playing[data-mode=flight] #overlay .menu-panel:has(.menu-settings:not([hidden])){width:min(100%,700px);max-width:700px;grid-template-columns:1fr 1fr;gap:8px 24px;padding:16px 22px}body.playing[data-mode=flight][data-phase=ready] .menu-heading{padding-right:92px;min-height:115px;margin:0}body.playing[data-mode=flight] .menu-heading:after{transform:scale(.8);transform-origin:right top}body.playing[data-mode=flight] #overlay .menu-panel h2{font-size:22px}body.playing[data-mode=flight] .menu-settings{gap:9px}body.playing[data-mode=flight] #overlay .menu-panel #start{margin-top:8px}body.playing[data-mode=flight] .stage-preview{margin-top:6px;padding:7px 10px}body.playing[data-mode=flight] .choice>span{min-height:48px}}

@media(orientation:portrait) and (max-height:650px){
 body.playing[data-mode=flight] #overlay .menu-panel{padding:16px;max-height:100%}
 body.playing[data-mode=flight][data-phase=ready] .menu-heading{padding:0 90px 10px 0;min-height:0;margin-bottom:12px}
 body.playing[data-mode=flight][data-phase=ready] .menu-heading:after{width:92px;height:96px;background-size:224px 224px;background-position:-17px -17px}
 body.playing[data-mode=flight] #overlay .menu-panel h2{font-size:22px;margin:7px 0;line-height:1.2}
 body.playing[data-mode=flight][data-phase=ready] .menu-heading p{width:calc(100% + 90px);padding-top:4px;font-size:11px;line-height:1.5}
 body.playing[data-mode=flight] .menu-settings{gap:10px}
 body.playing[data-mode=flight] .choice>span{min-height:48px;padding:8px 10px}
 body.playing[data-mode=flight] .stage-preview{padding:7px 10px;margin-top:8px;min-height:0}
 body.playing[data-mode=flight] #overlay .menu-panel #start{min-height:46px;margin-top:12px}
}
