:root{color-scheme:dark;--ink:#edf5ed;--muted:#a8bdb8;--panel:rgba(15,34,39,.9);--line:rgba(206,231,217,.16);--accent:#efc17d;--mint:#b9ddba;--radius:20px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#142d35;color:var(--ink);overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}button:hover:not(:disabled){filter:brightness(1.12)}.hidden,[hidden]{display:none!important}.flight-deck,#flight-scene,.scene-vignette{position:fixed;inset:0;width:100%;height:100%}#flight-scene{outline:none}.scene-vignette{pointer-events:none;background:linear-gradient(180deg,rgba(10,27,34,.44),transparent 20%,transparent 70%,rgba(10,27,34,.4))}.topbar{position:fixed;left:30px;right:30px;top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:5;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;font-size:20px;letter-spacing:3px;font-weight:400;text-shadow:0 2px 20px #09202a}.brand b{color:var(--accent)}.brand small{display:block;font-size:8px;letter-spacing:2.3px;margin-top:5px}.brand-mark{font-size:32px;color:var(--accent)}.airport-pill{font-size:10px;letter-spacing:2px;color:#e3ede6}.top-actions{display:flex;gap:8px;align-items:center}.icon-button{background:rgba(16,36,42,.7);border:1px solid var(--line);border-radius:50%;height:38px;width:38px;font-size:19px;display:grid;place-items:center}.device-pill{font-size:10px;color:#e5ede4;background:#173139b0;padding:9px 12px;border-radius:20px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:88px 32px 28px;z-index:20;background:#091d2970;backdrop-filter:blur(7px)}.hub-overlay{background:linear-gradient(90deg,#0c222be8,#102d3670 70%,#09202a25);backdrop-filter:blur(2px)}.dialog-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(22,48,53,.98),rgba(12,31,38,.97));border-radius:var(--radius);box-shadow:0 30px 100px #00101855;padding:32px;max-height:100%;overflow:auto}.hub-card{width:min(1120px,100%);background:linear-gradient(120deg,#163139f5,#10262de8);padding:30px 36px 18px}.hub-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:2.3px;color:var(--accent)}h1,h2,p{margin:0}h1{font-size:44px;line-height:1.08;font-weight:450;letter-spacing:-1.8px;margin:12px 0 20px}h1 br{display:none}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.profile-switch{display:flex;background:#0b2027;border-radius:14px;padding:4px;gap:3px}.profile-switch button{padding:12px 18px;background:transparent;border-radius:10px;text-align:left;font-weight:650}.profile-switch button small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.profile-switch button.selected{background:#27464a;box-shadow:inset 0 0 0 1px #648476}.career-summary{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:11px;padding-bottom:22px;border-bottom:1px solid var(--line)}.career-summary>div{height:3px;width:140px;background:#34504e}.career-summary i{display:block;background:var(--accent);height:100%;width:0}.career-summary strong{margin-left:auto;color:var(--mint);font-size:10px;letter-spacing:1px;text-transform:uppercase}.hub-tabs{display:flex;gap:26px;margin:20px 0}.hub-tabs button{background:none;padding:6px 0 10px;color:var(--muted);font-size:12px;border-bottom:2px solid transparent}.hub-tabs button.selected{border-color:var(--accent);color:var(--ink)}.hub-content{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(340px,1.1fr);gap:34px;min-height:340px}.selection-list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:360px;padding-right:10px;scrollbar-width:thin;scrollbar-color:#526962 transparent}.mission-card{display:flex;align-items:center;gap:14px;background:#19353b80;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-align:left;width:100%}.mission-card.selected{background:#304a45;border-color:#b7ba83}.mission-card .mission-num{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.mission-card strong{font-size:12px;font-weight:550;display:block}.mission-card small{font-size:10px;display:block;margin-top:5px;color:var(--muted)}.mission-card .mission-status{margin-left:auto;font-size:14px;color:var(--mint)}.mission-card:disabled{opacity:.5}.flight-briefing{padding:6px 0 6px;border-left:1px solid var(--line);padding-left:32px}.flight-briefing h2{font-weight:450;font-size:29px;letter-spacing:-.8px;line-height:1.2;margin:12px 0}.flight-briefing>p{font-size:12px;line-height:1.65;color:var(--muted)}.briefing-route{display:flex;gap:20px;align-items:center;margin:20px 0;color:var(--ink);font-size:14px}.briefing-route b{font-weight:500}.briefing-route small{display:block;font-size:9px;color:var(--muted);margin-top:4px;letter-spacing:1px}.briefing-route>span{color:var(--accent)}.briefing-facts{display:flex;gap:22px;margin-bottom:14px}.briefing-facts span{font-size:10px;color:var(--muted)}.briefing-facts b{display:block;font-size:12px;color:var(--ink);margin-bottom:4px;font-weight:500}.briefing-tip{border-left:2px solid #8fa98b;padding-left:10px;font-size:11px!important}.aircraft-selector{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-top:16px;gap:12px;color:var(--muted)}select{color:var(--ink);background:#203b40;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;max-width:100%}.intro-options{display:flex;gap:24px;margin:14px 0;font-size:10px;color:var(--muted)}input[type=checkbox]{accent-color:var(--mint);vertical-align:middle}.primary-button,.secondary-button{display:block;width:100%;padding:14px 20px;border-radius:10px;font-size:12px;font-weight:650;text-align:center}.primary-button{background:var(--accent);color:#20332f}.secondary-button{background:#284148;border:1px solid var(--line);color:var(--ink)}.text-button{background:transparent;font-size:11px;color:var(--muted);padding:8px}.hub-footer{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:24px;padding-top:14px;font-size:9px;color:var(--muted)}.hub-footer>span{margin-right:auto}.hub-footer .text-button{font-size:10px}.compact-card{width:430px;padding:36px}.compact-card h2{font-weight:450;font-size:40px;line-height:1.13;letter-spacing:-1px;margin:16px 0}.compact-card>p{font-size:12px;line-height:1.7;color:var(--muted)}.dialog-actions{display:grid;gap:10px;margin-top:24px}.guidance{position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:12px;align-items:center;max-width:560px;padding:13px 19px;border-radius:14px;background:#142e36de;border:1px solid var(--line);pointer-events:none}.guidance-icon{font-size:24px;color:var(--accent)}.guidance strong{font-size:13px;font-weight:550}.guidance p{font-size:11px;line-height:1.5;color:#c1d0c9;margin-top:3px}.guidance[data-tone=warn]{border-color:#daa160;background:#493c2eea}.instrument-panel{position:fixed;bottom:72px;left:28px;width:320px;padding:18px 22px 0;z-index:4;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-kicker{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.5px;color:var(--mint)}.panel-kicker i{width:5px;height:5px;background:var(--mint);border-radius:50%}.readouts{display:flex;gap:27px;margin:15px 0}.readout>span{display:block;font-size:8px;letter-spacing:.7px;color:var(--muted)}.readout strong{font-weight:400;font-size:35px;letter-spacing:-1px;display:block;font-variant-numeric:tabular-nums;margin-top:3px;white-space:nowrap}.readout small{font-size:10px;margin-left:5px;letter-spacing:0;color:var(--muted)}.sink-readout{display:none}body[data-phase=approach] .sink-readout,body[data-phase=rollout] .sink-readout{display:block}body[data-phase=approach] .instrument-panel,body[data-phase=rollout] .instrument-panel{width:415px}.power-row{display:flex;align-items:center;gap:10px;font-size:8px;color:var(--muted);white-space:nowrap}.power-row b{font-weight:500;color:var(--ink);margin-left:3px}.power-track{height:3px;background:#3c5353;flex:1}.power-track i{height:100%;display:block;background:var(--accent)}.attitude-strip{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px;margin:12px 0}.attitude-indicator{position:relative;width:36px;height:22px;overflow:hidden;border-radius:6px;background:#334e5b}.attitude-indicator>span{position:absolute;left:-15%;right:-15%;height:100%;background:#8c806044;top:50%;border-top:1px solid #d5d8b7}.attitude-indicator>b{position:absolute;inset:0;text-align:center;padding-top:5px;color:var(--accent);font-size:10px}.attitude-strip>span:last-child{margin-left:auto}.stall-warning{display:block;font-size:9px;color:#ffd29b;margin-bottom:12px}.approach-progress{height:2px;background:#2d4549;margin:0 -22px}.approach-progress>div{height:100%;background:var(--mint)}.approach-director{position:fixed;right:28px;bottom:72px;z-index:4;width:264px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px}.director-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.director-heading strong{font-size:10px;letter-spacing:.5px;font-weight:600}.director-heading>span{font-size:8px;color:var(--muted)}.nav-readouts{display:flex;align-items:center;gap:12px;margin-top:15px}.nav-readouts #nav-arrow{font-size:25px;color:var(--accent);width:28px;text-align:center}.nav-readouts strong{font-size:12px;font-weight:500;display:block}.nav-readouts div>span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.nav-readouts>span:last-child{font-size:9px;color:var(--muted);margin-left:auto}.go-around{background:#2b4645;color:var(--mint);width:100%;padding:9px;margin-top:12px;border-radius:8px;font-size:10px}.go-around:disabled{display:none}.director-scales{display:flex;gap:25px;margin:15px 0 8px}.director-scales>div{flex:1;text-align:center;font-size:8px;color:var(--muted)}.scale-track{position:relative;height:22px;border-bottom:1px solid #819b8a;margin:3px 0 8px}.scale-track:after{content:'';position:absolute;left:50%;bottom:-4px;height:9px;border-left:1px solid #c9dcc5}.scale-track i{position:absolute;width:7px;height:7px;bottom:-4px;background:var(--accent);border-radius:50%;left:50%}.scale-track.vertical{height:22px;width:30px;margin:3px auto 8px;border-left:1px solid #819b8a;border-bottom:0}.scale-track.vertical i{left:-4px;top:50%}.scale-track.vertical:after{left:-4px;top:50%;width:9px;height:0;border-top:1px solid #c9dcc5;border-left:0}.director-scales small{font-size:8px;display:block;height:20px;line-height:1.4}#director-status{font-size:9px;color:var(--muted);text-align:center}.flight-controls{position:fixed;bottom:24px;left:28px;right:28px;z-index:4;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.flight-controls>button{pointer-events:auto;background:#18333bad;border-radius:8px}.flight-controls>span{font-size:10px;color:#e1e9dd;text-shadow:0 1px 5px #09202a;background:#18333b99;padding:8px 12px;border-radius:8px}.map-panel{position:fixed;right:28px;top:92px;width:350px;z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px}.map-panel header{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px}.map-panel canvas{width:100%;height:auto}.map-panel p{font-size:9px;color:var(--muted)}.map-panel .icon-button{width:26px;height:26px}.toast{position:fixed;top:180px;left:50%;transform:translateX(-50%);z-index:18;background:#e8d6a4;color:#223933;padding:14px 22px;border-radius:12px;box-shadow:0 5px 30px #132d3544;font-size:12px;max-width:480px}.settings-card{width:860px}.settings-card h2{font-weight:450;font-size:32px;margin:12px 0 24px;letter-spacing:-1px}.settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.help-grid>div{display:flex;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}kbd{font:inherit;color:var(--accent);font-size:10px;white-space:nowrap;min-width:110px}.small-copy{font-size:10px;line-height:1.7;color:var(--muted);margin-top:18px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:14px}.setting span b{font-size:9px;color:var(--muted);font-weight:400}.setting input[type=range]{width:120px;accent-color:var(--accent)}.controller-status{padding:14px;background:#0e242c;border-radius:10px;font-size:10px}.controller-status strong{display:block;color:var(--mint);overflow-wrap:anywhere}.controller-status p{font-size:9px;color:var(--muted);line-height:1.5;margin:8px 0}.axis-bars{display:flex;gap:6px}.axis-bars i{height:5px;width:33%;background:linear-gradient(90deg,#344b4f 50%,#e6c080 50%);border-radius:5px}.axis-mapping{display:flex;gap:7px;margin:10px 0}.axis-mapping label{flex:1;font-size:9px;color:var(--muted)}.axis-mapping select{display:block;width:100%;margin-top:4px;font-size:10px;padding:5px}.settings-card>.primary-button{margin-top:24px}.result-grade{color:var(--accent);font-size:14px;margin-bottom:14px}.result-details{margin:20px 0;border-top:1px solid var(--line)}.result-details>div{display:flex;justify-content:space-between;gap:16px;font-size:11px;border-bottom:1px solid var(--line);padding:10px 0}.result-details span{color:var(--muted)}.result-details strong{font-weight:500;text-align:right}.reward-note{color:var(--mint)!important}.render-error{position:fixed;inset:30%;z-index:100;background:#18333b;padding:35px;border:1px solid var(--accent);border-radius:16px;font-size:14px}.render-error p{line-height:1.5;margin:18px 0}.render-error a{color:var(--accent)}body[data-phase=intro] .instrument-panel,body[data-phase=intro] .guidance,body[data-phase=intro] .approach-director,body[data-phase=intro] .flight-controls,body[data-phase=intro] .airport-pill{visibility:hidden}body[data-phase=intro] .topbar{z-index:25}body[data-phase=intro] #map-toggle,body[data-phase=intro] #camera-toggle{display:none}body[data-phase=paused] .flight-controls{visibility:hidden}.empty-state{padding:20px;font-size:12px;line-height:1.7;color:var(--muted)}.mission-card.locked{opacity:.46}.mission-card small span{color:var(--accent)}
@media(max-height:780px){.overlay{padding-top:78px;padding-bottom:20px}.hub-card{padding:22px 28px 14px}h1{font-size:36px;margin:8px 0 16px}.career-summary{padding-bottom:14px}.hub-tabs{margin:14px 0}.hub-content{min-height:300px}.selection-list{max-height:310px}.flight-briefing h2{font-size:26px}.briefing-route{margin:14px 0}.hub-footer{margin-top:16px;padding-top:10px}.settings-card{padding:24px}.settings-card h2{margin:10px 0 16px}.help-grid>div{padding:8px 0}.setting{margin-bottom:10px}}
@media(max-width:950px){.topbar{left:20px;right:20px}.airport-pill{display:none}.hub-card{padding:24px}.hub-content{gap:20px;grid-template-columns:.9fr 1.1fr}.flight-briefing{padding-left:20px}.profile-switch button{padding:10px}.hub-heading h1{font-size:34px}.device-pill{display:none}.guidance{max-width:480px;top:85px}.instrument-panel{left:20px;bottom:60px}.approach-director{right:20px;bottom:60px}.flight-controls{left:20px;right:20px;bottom:14px}.flight-controls>span{font-size:8px}.map-panel{top:80px}.settings-columns{gap:20px}}
@media(max-width:650px){body{overflow:auto}.overlay{padding:80px 12px 12px}.hub-heading{display:block}.hub-heading h1{font-size:32px}.profile-switch{width:max-content;margin-bottom:12px}.hub-content{grid-template-columns:1fr}.selection-list{max-height:180px}.flight-briefing{border-left:0;padding-left:0}.hub-tabs{gap:18px}.hub-tabs button{font-size:10px}.hub-footer{flex-wrap:wrap}.hub-footer>span{width:100%}.career-summary{gap:10px}.career-summary>div{width:50px}.settings-columns{grid-template-columns:1fr}.brand{font-size:15px}.brand small{font-size:6px}.top-actions{gap:3px}.icon-button{width:32px;height:32px}.guidance{left:12px;right:12px;transform:none;max-width:none;padding:10px}.instrument-panel,body[data-phase=approach] .instrument-panel,body[data-phase=rollout] .instrument-panel{width:calc(100% - 24px);left:12px;bottom:52px;padding:12px 16px 0}.readouts{margin:10px 0}.readout strong{font-size:28px}.approach-director{right:12px;bottom:230px;width:230px}.flight-controls{left:12px;right:12px;bottom:12px}.flight-controls>span{display:none}.attitude-strip{margin:9px 0}.map-panel{left:12px;right:12px;width:auto;max-height:65vh;overflow:auto}.render-error{inset:20% 10%}}

.height-agl{display:block;color:var(--muted);font-size:9px;margin-top:3px;white-space:nowrap}

.controller-test-button{padding:9px 12px;border:1px solid var(--accent);border-radius:8px;background:#28434b;color:var(--accent);font-size:12px}#controller-test-result{line-height:1.5;color:#d6e5d8;overflow-wrap:anywhere}
.aircraft-choice{margin-top:16px}.aircraft-choice>.eyebrow,.flight-choice-label{font-size:9px}.aircraft-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:8px}.aircraft-card{min-width:0;padding:10px 14px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#19353b80}.aircraft-card strong{display:block;font-size:12px;font-weight:600}.aircraft-card small{display:block;margin-top:3px;font-size:10px;color:var(--muted)}.aircraft-card.selected{border-color:var(--accent);background:#304a45;box-shadow:inset 0 0 0 1px #efc17d33}.aircraft-card:disabled{opacity:.55}.flight-choice-label{display:block;margin-top:17px}.hub-tabs{margin:8px 0 15px}.hub-content{min-height:310px}.selection-list{max-height:325px}.flight-briefing h2{margin:9px 0 14px}.briefing-route{margin:14px 0}.intro-options{margin:12px 0}
@media(max-height:780px){.aircraft-choice{margin-top:9px}.aircraft-card{padding:7px 11px}.flight-choice-label{margin-top:10px}.hub-tabs{margin:5px 0 10px}.hub-content{min-height:265px}.selection-list{max-height:270px}}
@media(max-width:650px){.aircraft-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.aircraft-card{padding:8px}.aircraft-card strong{font-size:10px}.aircraft-card small{font-size:8px}.selection-list{max-height:180px}}

.pilot-picker{min-width:215px;max-width:270px;flex-shrink:0}.pilot-picker>label{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.pilot-picker select{width:100%;font-size:14px;padding:10px 12px}.pilot-picker>div{display:flex;justify-content:space-between;margin-top:4px}.pilot-picker .text-button{padding:6px 2px}#profile-overlay{z-index:30}.profile-field{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.profile-field input,.profile-field select{display:block;width:100%;margin-top:8px;background:#203b40;border:1px solid var(--line);color:var(--ink);padding:12px;border-radius:8px;font-size:14px}#profile-error{color:#ffd29b;margin-top:12px;font-size:12px}@media(max-width:650px){.pilot-picker{max-width:none;width:100%;margin-bottom:14px}}

.team-card{width:520px}.team-pilots{display:grid;gap:8px;margin:20px 0 12px;max-height:220px;overflow:auto}.team-pilot{display:flex;align-items:center;gap:12px;padding:12px;background:#203b40;border:1px solid var(--line);border-radius:9px;font-size:14px}.team-pilot span{overflow-wrap:anywhere}.team-pilot small{margin-left:auto;color:var(--accent);white-space:nowrap}#team-order{font-size:12px;color:var(--mint);overflow-wrap:anywhere}#team-overlay,#handoff-overlay{z-index:30}#team-open{color:var(--accent);margin-left:auto}.flight-controls #pass-flight{color:var(--accent);padding:10px 14px}#handoff-title{overflow-wrap:anywhere}.hub-tabs{flex-wrap:wrap;row-gap:4px}

.identity-card{width:530px}.identity-card h2{font-size:32px;margin:12px 0}.identity-card .profile-field{margin-top:14px}.airline-designer fieldset{border:0;padding:0;margin:16px 0}.airline-designer legend{font-size:12px;color:var(--muted);margin-bottom:8px}.airline-colors,.airline-signets{display:grid;gap:7px;grid-template-columns:repeat(6,1fr)}.airline-signets{grid-template-columns:repeat(4,1fr)}.airline-option{position:relative;cursor:pointer;text-align:center;border:1px solid var(--line);border-radius:9px;padding:8px 3px;font-size:10px;background:#132d35}.airline-option:has(input:checked){border-color:var(--accent);background:#2a4548}.airline-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.airline-option input{position:absolute;opacity:0;width:1px;height:1px}.airline-option i{display:block;width:22px;height:22px;border-radius:50%;margin:0 auto 6px;background:var(--swatch)}.airline-option svg{display:block;width:32px;height:32px;margin:0 auto 4px;color:var(--accent)}.airline-preview{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid currentColor;border-radius:12px;background:#10272e;overflow:hidden}.airline-preview>span,.handoff-airline>span{flex-shrink:0;width:48px;height:48px}.airline-preview svg,.handoff-airline svg,.brand-mark svg{width:100%;height:100%;display:block}.airline-preview strong{font-size:22px;font-weight:550;overflow-wrap:anywhere}.airline-preview small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.2px;margin-top:5px}.brand-mark{display:block;width:38px;height:38px;flex-shrink:0}#airline-name{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:1.5px}.handoff-airline{display:flex;align-items:center;gap:12px;margin:18px 0}.handoff-airline strong{overflow-wrap:anywhere;font-weight:500}@media(max-width:650px){#airline-name{max-width:150px}.airline-colors{grid-template-columns:repeat(3,1fr)}}

.workshop{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:11px;background:#173239b0}.workshop summary{cursor:pointer;color:var(--accent)}.workshop p{max-width:78ch;line-height:1.6;color:var(--muted);margin:9px 0}.workshop ul{padding-left:18px;line-height:1.8}.workshop label{display:block;margin:10px 0}.workshop li small{display:block;color:var(--muted);font-size:10px}.reserve-button{width:100%;margin-top:10px;padding:9px 6px;border:1px solid #83e9f4;border-radius:8px;color:#b6f4fb;background:#205362;font-size:11px}.reserve-button:disabled{opacity:.65}.reserve-button[hidden]{display:none}

.radar-panel{position:fixed;right:28px;bottom:72px;z-index:4;width:238px;background:#122b30e8;border:1px solid var(--line);border-radius:17px;padding:12px}.radar-panel[hidden]{display:none}.radar-panel header{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.4px}.radar-panel button{font-size:10px;background:#29443f;border:1px solid #618073;border-radius:6px;padding:5px 8px}.radar-panel canvas{display:block;width:100%;height:auto}.radar-panel p{font-size:9px;line-height:1.5;color:#b0c5ba;margin:2px 8px 0}@media(max-width:950px){.radar-panel{width:184px;right:16px;bottom:64px}}

/* A readable planning chart; the compact heading-up radar handles normal flight. */
.map-panel{width:min(580px,calc(100vw - 40px));max-height:calc(100vh - 110px);overflow:auto;z-index:7}.map-panel canvas{display:block;width:100%;height:auto}.map-panel p{font-size:11px;line-height:1.5}

/* Thumb controls stay at the edges; the middle of the flight view stays clear. */
.touch-controls{position:fixed;inset:0;z-index:8;pointer-events:none;user-select:none;-webkit-user-select:none}
.touch-left{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:194px}
.touch-power{display:flex;align-items:center;gap:5px;margin-bottom:10px}
.touch-power button{height:44px;min-width:44px;border-radius:12px;border:1px solid #cfdfd559;background:#142e36b8;font-size:24px}
.touch-power span{font-size:8px;letter-spacing:.5px}.touch-power #touch-brake{font-size:11px;min-width:62px}
.touch-rudder{height:54px;border-radius:27px;border:1px solid #cfdfd559;background:#142e3670;position:relative}
.touch-rudder span{position:absolute;left:0;right:0;top:5px;text-align:center;font-size:8px;letter-spacing:1px}
.touch-rudder i,.touch-stick i{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border:1px solid #e6ead7a8;border-radius:50%;background:#c6d6b947;transform:translate(var(--stick-x,0px),var(--stick-y,0px));pointer-events:none}
.touch-stick{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:128px;height:128px;border:1px solid #cfdfd559;border-radius:50%;background:radial-gradient(circle,#142e3620,#142e3666);text-align:center}
.touch-stick span{position:absolute;top:12px;left:0;right:0;font-size:8px;letter-spacing:.6px}.touch-stick small{position:absolute;bottom:12px;left:0;right:0;font-size:9px;color:#e7eadc}
.touch-stick,.touch-rudder,.touch-power button{pointer-events:auto;touch-action:none;-webkit-touch-callout:none}
.touch-controls .held{border-color:var(--accent);background-color:#36504a9c}
.touch-help{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:16px}
.mobile-flight-actions{display:none}.touch-enabled .mobile-flight-actions{display:grid;gap:8px}
.touch-enabled #flight-scene{touch-action:none}
.touch-enabled .flight-controls{bottom:155px}.touch-enabled #input-hint{display:none}
.touch-enabled .instrument-panel,.touch-enabled .approach-director,.touch-enabled .radar-panel{bottom:200px}
@media(max-width:950px),(max-height:500px){
 body{overflow:hidden}
 .topbar{top:max(8px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:8px}
 .brand{font-size:13px;gap:5px}.brand small,.airport-pill,.device-pill{display:none}#airline-name{max-width:120px}.brand-mark{width:26px;height:26px}
 .top-actions{gap:4px}.top-actions .icon-button{width:40px;height:40px}#sound-toggle{display:none}
 body:not([data-phase=intro]) .brand{display:none}body:not([data-phase=intro]) .topbar{justify-content:flex-end}
 .overlay{padding:max(56px,calc(env(safe-area-inset-top) + 48px)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overscroll-behavior:contain}
 .dialog-card{padding:18px;max-height:100%;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .hub-heading h1{font-size:26px}.hub-tabs{overflow-x:auto;gap:18px;flex-shrink:0}.hub-tabs button{white-space:nowrap;min-height:44px;font-size:12px}
 .hub-content{min-height:0;grid-template-columns:minmax(0,1fr)}.flight-briefing{border-left:0;padding-left:0}.selection-list{max-height:160px}
 .settings-columns{grid-template-columns:1fr}.profile-field input,.profile-field select,.pilot-picker select{font-size:16px}
 .hub-footer{flex-wrap:wrap}.hub-heading{gap:12px}.pilot-picker{min-width:160px}.aircraft-cards{min-width:0}.aircraft-card{min-width:0}
 body .instrument-panel,body[data-phase=approach] .instrument-panel,body[data-phase=rollout] .instrument-panel{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));bottom:auto;width:166px;padding:7px 10px;border-radius:10px;background:#142e36b0;pointer-events:none}
 .instrument-panel .panel-kicker,.instrument-panel .attitude-strip,.instrument-panel .sink-readout,.instrument-panel .approach-progress,.instrument-panel .power-track,.instrument-panel #flaps-value{display:none!important}
 .instrument-panel .readouts{gap:14px;margin:0 0 4px}.instrument-panel .readout strong{font-size:22px;margin:0}.instrument-panel .readout>span{font-size:7px}.instrument-panel .readout small{font-size:8px;margin-left:3px}.instrument-panel .height-agl{display:none}.instrument-panel .power-row{font-size:8px}
 .instrument-panel .stall-warning{position:fixed;top:108px;left:12px;right:12px;text-align:center;color:#ffdb9f;font-size:11px;pointer-events:none}
 .instrument-panel .reserve-button{pointer-events:auto;font-size:10px;padding:7px;margin:4px 0 0}
 .guidance{top:78px;left:max(12px,env(safe-area-inset-left));right:184px;transform:none;max-width:320px;padding:6px 9px;background:#142e3680;border:0;gap:6px}.guidance-icon{display:none}.guidance strong{font-size:11px}.guidance p{font-size:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 body .approach-director{top:62px;right:max(12px,env(safe-area-inset-right));bottom:auto;width:156px;padding:8px;border-radius:10px;background:#142e36a0}.director-heading{display:none}.nav-readouts{gap:7px}.nav-readouts strong{font-size:10px}.nav-readouts>span{font-size:22px}.go-around{padding:8px;font-size:10px}.go-around kbd{display:none}.director-scales{margin-top:0}
 body .radar-panel{display:none}.flight-controls{display:none}
 .map-panel{inset:56px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) auto;width:min(350px,calc(100vw - 24px));max-height:none;overflow:auto;z-index:12}.map-panel canvas{max-height:calc(100dvh - 145px);object-fit:contain}.map-panel p{display:none}.map-panel .icon-button{width:40px;height:40px}
 .toast{top:50%;max-width:65%;padding:8px 12px;font-size:11px;pointer-events:none}
 body[data-phase=paused] .instrument-panel,body[data-phase=paused] .guidance,body[data-phase=paused] .approach-director{visibility:hidden}
 .mobile-flight-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
}
@media(max-width:500px){
 body:not([data-phase=intro]) .topbar{left:185px}.top-actions{gap:2px}.top-actions .icon-button{width:36px;height:40px}
 .guidance{top:90px;left:12px;right:12px;max-width:none}.guidance p{-webkit-line-clamp:2}
 body .approach-director{top:166px;right:12px;width:156px}
 .touch-left{width:180px}.touch-power{gap:3px}.touch-power span{display:none}.touch-power #touch-brake{flex:1}.touch-stick{width:116px;height:116px;right:12px}
 .hub-heading{display:block}.hub-tabs button{font-size:11px}.hub-card h1{font-size:25px}
}
@media(max-height:500px) and (min-width:501px){
 .guidance{top:12px;left:190px;right:190px;max-width:none}.guidance p{-webkit-line-clamp:2}
 .hub-heading h1{font-size:22px;margin:4px 0}.career-summary{padding-bottom:8px}.hub-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .touch-stick{width:112px;height:112px}.touch-left{width:190px}.touch-power{margin-bottom:6px}.touch-rudder{height:48px}
 .compact-card h2{font-size:26px;margin:6px 0}.dialog-actions{margin-top:12px}
}
@media(max-width:950px),(max-height:500px){
 body.touch-enabled .instrument-panel,body.touch-enabled .approach-director{bottom:auto}
}

/* A visible ability button must not cover mobile guidance or steal stick space. */
@media(max-width:950px),(max-height:500px){.instrument-panel .reserve-button{min-height:44px}}
@media(max-width:950px) and (min-height:501px){body:has(#reserve-use:not([hidden])) .guidance{top:140px}body:has(#reserve-use:not([hidden])) .approach-director{top:214px}}

/* The journal occupies a paused screen, never the flight view. */
.journal-open{margin:10px 0 16px;width:100%;text-align:left}
.journal-card{max-width:1000px;width:min(1000px,96vw);max-height:94dvh;overflow-y:auto}
.journal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.journal-heading h2{font-size:clamp(26px,5vw,42px);margin:7px 0}
.journal-heading p{margin:4px 0}.journal-heading button{flex-shrink:0}
#journal-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.journal-story{border-top:3px solid var(--story-accent);background:rgba(255,255,255,.035);padding:18px;border-radius:5px;display:flex;flex-direction:column;min-width:0}
.journal-story h3{font-size:21px;line-height:1.2;margin:10px 0}.journal-story p{font-size:14px;line-height:1.55}
.journal-steps{list-style:none;padding:0;margin:10px 0}.journal-steps li{padding:13px 0;border-bottom:1px solid #ffffff14}.journal-steps p{margin:7px 0 0}.journal-steps .next{border-left:2px solid var(--story-accent);padding-left:12px}.journal-steps .unknown{font-size:13px;opacity:.6}
.journal-reward{margin-top:auto;padding:14px 0}.journal-reward strong{display:block}.journal-symbol{display:block;font-size:34px;color:var(--story-accent);margin-bottom:8px}.journal-other{grid-column:1/-1;padding:16px;background:#ffffff05}.journal-other li{margin:8px 0}
@media(max-width:760px){#journal-content{grid-template-columns:1fr}.journal-card{padding:20px;max-height:96dvh}.journal-story{padding:16px}.journal-heading{position:sticky;top:-20px;background:#172522;padding:12px 0;z-index:1}.journal-heading .eyebrow{font-size:9px}.journal-heading button{padding:10px 12px}.journal-heading h2{font-size:27px}}

.journal-heading button{width:auto;min-width:88px}

/* Surface vehicles keep only the instruments needed for driving and diving. */
body[data-vehicle] .attitude-strip,body[data-vehicle] .sink-readout,body[data-vehicle] .approach-progress,body[data-vehicle] #approach-director{display:none!important}
.surface-actions{position:absolute;bottom:70px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6;max-width:94vw;flex-wrap:wrap;justify-content:center}
.surface-actions button{background:#173a3ee8;color:#f8efd5;border:1px solid #9dc5b27a;border-radius:12px;padding:12px 14px;font:600 13px system-ui;min-height:44px}
.surface-actions button:first-child{background:#d8c08b;color:#173a3e}
body[data-vehicle] .instrument-panel{min-height:0}
body[data-vehicle][data-phase=paused] .surface-actions{display:none}
@media(max-width:950px),(max-height:500px){
 .surface-actions{bottom:calc(190px + env(safe-area-inset-bottom));width:max-content;max-width:96vw;gap:5px}
 .surface-actions button{padding:8px 10px;font-size:11px}
 body[data-vehicle] .radar-panel{display:block;top:170px;right:12px;bottom:auto;width:126px;padding:5px;pointer-events:none}
 body[data-vehicle] .radar-panel header,body[data-vehicle] .radar-panel p{display:none}
 body[data-vehicle] .radar-panel canvas{width:114px;height:114px}
}
@media(max-height:500px) and (min-width:501px){
 .surface-actions{bottom:12px;max-width:calc(100vw - 430px);left:52%}
 body[data-vehicle] .radar-panel{top:64px;right:12px;width:104px}
 body[data-vehicle] .radar-panel canvas{width:92px;height:92px}
}

body[data-vehicle] .touch-power span{display:none}body[data-vehicle] .touch-power button{min-width:44px;min-height:44px;flex-shrink:0}

.combat-entry{display:inline-flex;align-items:center;min-height:44px;padding:10px 13px;color:#e4bf79;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}.combat-entry:focus-visible{outline:2px solid #f1cc81;outline-offset:3px}
