:root{color-scheme:dark;--paper:#edf0e7;--muted:#a8b8b7;--gold:#e9c17e;--mint:#bce4cc;--line:rgba(216,231,222,.23);font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:#10212c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus,input:focus,a:focus{outline:2px solid var(--gold);outline-offset:5px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button:hover{color:var(--gold)}[hidden]{display:none!important}#scene{position:fixed;top:0;right:0;bottom:0;left:0}#scene canvas{display:block;width:100%;height:100%}.cinema-shade{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,19,26,.72),transparent 52%),linear-gradient(0deg,rgba(4,17,23,.86),transparent 30%,transparent 80%,rgba(5,20,28,.35))}body.flying .cinema-shade{background:linear-gradient(0deg,rgba(4,17,23,.68),transparent 30%),linear-gradient(180deg,rgba(5,20,28,.4),transparent 25%)}#ui{position:absolute;left:0;top:0;width:1440px;height:900px;transform-origin:top left;pointer-events:none}#ui button,#ui a,#ui input{pointer-events:auto}.topbar{position:absolute;left:52px;right:52px;top:32px;height:47px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:2.4px;gap:13px}.brand-mark{display:flex;align-items:center;justify-content:center;position:relative;width:39px;height:39px;border:1px solid var(--line);font-size:20px;letter-spacing:-3px;padding-right:3px}.brand-mark span{color:var(--gold);transform:translateY(3px)}.brand-sub{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:6px}.station{display:flex;gap:10px;align-items:center;font:9px monospace;letter-spacing:1.3px}.station span{margin-left:20px;opacity:.6}i{font-style:normal}.station i,.status-dot:before,.radio i{display:inline-block;width:5px;height:5px;background:var(--mint);border-radius:50%;content:""}.top-actions{display:flex;gap:23px;align-items:center}.top-actions button{font-size:9px;letter-spacing:1px;padding:10px 0}.top-actions span{color:var(--gold);margin-left:5px}.hero-copy{position:absolute;left:64px;top:145px}.eyebrow,.small-label{font:10px monospace;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.dash{width:26px;height:1px;background:var(--gold)}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:143px;letter-spacing:1px;font-weight:400;line-height:.95;margin:25px 0 28px}h1 span{display:block;font:500 20px Arial,sans-serif;letter-spacing:9px;margin-top:21px}.lead{font-size:21px;font-weight:300;line-height:1.6;letter-spacing:.1px;color:#d0d9d7}.airframe-tag{position:absolute;right:64px;top:56%;width:284px}.small-label{font-size:9px;letter-spacing:1.7px;color:#c5d2cf}.airframe-tag b{font:22px 'Arial Narrow',Arial,sans-serif;display:block;margin-top:15px}.airframe-tag b span{font-size:10px;letter-spacing:1.6px;margin-left:14px}.airframe-rule{height:1px;background:var(--line);margin:18px 0 13px}.airframe-tag p{font:8px monospace;letter-spacing:.7px;color:#bdcfcd}.airframe-tag p span{margin:0 5px}.airframe-tag button{font:9px monospace;letter-spacing:1px;padding:16px 0}.airframe-tag button span{margin-left:40px;color:var(--gold)}.brief{position:absolute;left:64px;bottom:148px;width:334px}.brief-heading{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px}.brief-heading>span:first-child{color:var(--gold)}.status-dot{color:var(--muted);font-size:8px}.status-dot:before{margin-right:7px}.brief>p:not(.best-line){font-size:12px;line-height:1.9;color:#b4c4c4;margin:17px 0 22px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;height:57px;padding:0 22px;background:var(--gold);color:#15272c;font-size:11px;letter-spacing:1.5px;font-weight:700;text-align:left}.primary:hover{background:#f3d29c;color:#14252b}.primary span{font-size:21px;font-weight:400}.secondary-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.secondary-actions button{font:8px monospace;padding:10px 0;color:#c6d4d1;letter-spacing:.7px;border-bottom:1px solid var(--line)}.best-line{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1.3px;color:var(--muted);margin:20px 0 0}.best-line b{color:var(--paper);font-size:10px}.mission-strip{position:absolute;left:64px;right:64px;bottom:38px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;gap:38px}.mission-strip>div{display:flex;gap:15px;align-items:center}.mission-strip b{font-size:26px;font-weight:300;color:var(--gold)}.mission-strip span{font:9px monospace;letter-spacing:1.3px}.mission-strip small{display:block;color:var(--muted);font:11px Arial,sans-serif;letter-spacing:0;margin-top:8px}.mission-strip>i{height:1px;width:48px;background:var(--line)}.mission-strip .variant{margin-left:auto;font:8px/1.8 monospace;letter-spacing:.6px;color:#97acb0;text-align:right}.inspect-title{position:absolute;left:64px;top:150px}.inspect-title h2{font-family:Impact,sans-serif;font-size:54px;font-weight:400;margin:18px 0}.inspect-title p{color:var(--muted);font:12px monospace}.inspect-tools{position:absolute;bottom:70px;right:64px;display:flex;align-items:center;gap:20px}.inspect-tools>button:not(.primary){font:10px monospace;border:1px solid var(--line);height:50px;padding:0 18px}.inspect-tools .primary{width:240px}.inspect-specs{display:flex;gap:50px;position:absolute;bottom:75px;left:64px}.inspect-specs span{font:9px monospace;letter-spacing:2px;color:var(--muted)}.inspect-specs b{display:block;font:27px Arial,sans-serif;margin-bottom:10px;color:var(--paper)}body.inspecting #scene{cursor:grab}body.inspecting #scene:active{cursor:grabbing}.mission-current{position:absolute;left:52px;top:116px}.mission-current h2{font-weight:400;font-size:25px;letter-spacing:1px;margin:13px 0}.mission-current p{font-size:12px;color:var(--muted);max-width:400px}.heading{position:absolute;top:116px;left:50%;transform:translateX(-50%);font:12px monospace;text-align:center;color:var(--mint)}.heading>span{display:block;font-size:9px;letter-spacing:3px;margin-bottom:8px}.heading b{font-size:24px;letter-spacing:5px;font-weight:400}.heading>div{font-size:24px}.flight-readout{position:absolute;top:43%;width:140px;color:var(--mint);text-shadow:0 1px 8px #112b32}.flight-readout.speed{left:16%}.flight-readout.altitude{right:16%;text-align:right}.flight-readout>span{display:block;font:9px monospace;letter-spacing:3px}.flight-readout b{display:block;font:48px monospace;font-weight:300;letter-spacing:1px;margin-top:10px}.flight-readout small{font:9px monospace;letter-spacing:1.2px}.readout-rule{height:1px;background:rgba(188,228,204,.5);margin:16px 0 12px}.flight-readout em{font:10px monospace;letter-spacing:1px;font-style:normal}#reticle{position:absolute;width:240px;height:180px;left:50%;top:45%;transform:translate(-50%,-50%);color:var(--mint)}#reticle svg{position:absolute;top:70px;left:20px;width:200px;height:90px;fill:none;stroke:currentColor;stroke-width:1.3}.horizon{position:absolute;top:50%;left:0;width:100%;height:100%;text-align:center;transform-origin:50% 0}.horizon span{display:block;font:10px monospace;opacity:.6}.horizon i{display:block;width:160px;margin:35px auto;border-top:1px solid rgba(188,228,204,.35)}#waypoint{position:absolute;left:50%;top:30%;text-align:center;color:var(--mint);font:9px monospace;transform:translate(-50%,-50%);text-shadow:0 2px 8px #123438}#waypoint>span{display:block;font-size:37px}#waypoint b{display:block;margin-top:6px;font-weight:400;letter-spacing:1px}#waypoint small{display:block;margin-top:6px;font-size:9px}#warning{position:absolute;top:26%;left:50%;transform:translateX(-50%);color:#ffd18c;border:1px solid #ffd18c;padding:10px 20px;background:#372c20b0;font:12px monospace;letter-spacing:2px}.configuration{position:absolute;right:52px;top:118px;width:210px}.configuration button{display:flex;align-items:center;width:100%;padding:12px 0;font:9px monospace;border-bottom:1px solid var(--line);letter-spacing:1px}.configuration b{margin-left:auto;font-weight:400;color:var(--mint)}.configuration kbd{margin-left:16px;border:1px solid var(--line);font:8px monospace;padding:2px 4px;color:var(--muted)}.configuration i{height:4px;width:4px;border-radius:50%;background:#60706e;margin-right:10px}.configuration [aria-pressed=true] i{background:var(--mint);box-shadow:0 0 8px #c7fce2}.throttle-control{position:absolute;bottom:90px;left:52px;width:190px}.throttle-control label{font:9px monospace;letter-spacing:1.7px}.throttle-control label span{float:right;opacity:.6}.throttle-control input{display:block;width:100%;margin:18px 0;accent-color:var(--gold);cursor:pointer}.throttle-ends{display:block;font:8px monospace;color:var(--muted)}.throttle-ends b{float:right;font-weight:400}.radio{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);text-align:center;width:670px}.radio>span{font:8px monospace;letter-spacing:2px;color:var(--gold)}.radio i{margin-right:9px;background:var(--gold)}.radio p{font-size:15px;line-height:1.5;margin:16px 0}.radio small{color:var(--muted);font:9px monospace;letter-spacing:.5px}.radar{position:absolute;bottom:46px;right:52px;width:220px}.radar>div,.radar p{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1.5px;color:var(--mint)}.radar>div b{font-weight:400}.radar canvas{margin-top:8px;width:220px;height:180px;background:rgba(10,29,33,.5);border:1px solid var(--line)}.radar p{margin:8px 0 0;color:var(--muted)}.dialog{pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:470px;background:rgba(12,28,35,.97);border:1px solid #52686a;padding:38px 42px;box-shadow:0 25px 150px rgba(0,0,0,.35)}.dialog h2{font-size:38px;font-weight:400;letter-spacing:-1.2px;line-height:1.15;margin:22px 0 16px}.dialog p{font-size:13px;line-height:1.8;color:#b7c8c8}.dialog .primary{margin-top:24px}.text-button{display:block;margin:20px auto 0;text-align:center;font:9px monospace;letter-spacing:1px}.score-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font:9px monospace;letter-spacing:1px}.score-line b{font:42px monospace;font-weight:400;color:var(--gold)}.result-stats{display:flex;justify-content:space-between;margin-top:23px;color:var(--muted);font:8px monospace;letter-spacing:1px}.result-stats b{display:block;color:var(--paper);font:17px monospace;margin-top:9px}.dialog lg-feedback{display:block;margin-top:22px}.dialog lg-new-best{display:block;margin-bottom:20px}.help-dialog{width:510px}.controls-grid{display:grid;grid-template-columns:1fr auto;gap:12px;font:11px monospace;color:var(--muted);padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.controls-grid b{font-weight:400;color:var(--paper)}#loading{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);padding:20px 28px;background:#172b34;font:10px monospace;letter-spacing:2px;box-shadow:0 0 100px #10252c}#loading span{display:inline-block;width:6px;height:6px;background:var(--gold);margin-right:15px}#touch-controls{display:none}.phone .topbar{left:32px;right:32px;top:28px}.phone .station{display:none}.phone .top-actions{gap:17px}.phone .top-actions button{font-size:13px}.phone .brand{font-size:14px}.phone .brand-sub{font-size:9px}.phone .hero-copy{left:38px;top:140px}.phone h1{font-size:140px}.phone h1 span{font-size:22px}.phone .lead{font-size:22px}.phone .airframe-tag{right:38px;top:53%;width:260px}.phone .airframe-tag b{font-size:26px}.phone .airframe-tag b span{font-size:9px}.phone .airframe-tag button{font-size:14px}.phone .brief{left:38px;bottom:175px;width:390px}.phone .brief-heading{font-size:12px}.phone .brief-heading .status-dot{font-size:10px}.phone .brief>p:not(.best-line){font-size:16px}.phone .primary{height:76px;font-size:17px}.phone .secondary-actions button{font-size:12px}.phone .best-line{font-size:11px}.phone .mission-strip{left:38px;right:38px;bottom:48px;gap:26px;padding-top:25px}.phone .mission-strip>i,.phone .mission-strip .variant{display:none}.phone .mission-strip>div{gap:10px}.phone .mission-strip span{font-size:9px;letter-spacing:.2px}.phone .mission-strip small{max-width:140px;font-size:12px;line-height:1.3}.phone .mission-strip b{font-size:28px}.phone .inspect-title{left:38px;top:140px}.phone .inspect-tools{left:38px;right:38px;bottom:75px;gap:12px}.phone .inspect-tools>button:not(.primary){font-size:14px;height:70px;padding:0 15px}.phone .inspect-tools .primary{font-size:13px;flex:1}.phone .inspect-specs{left:38px;bottom:190px}.phone .inspect-specs span{font-size:13px}.phone .mission-current{left:32px;top:120px}.phone .mission-current h2{font-size:24px}.phone .mission-current .eyebrow{font-size:12px}.phone .mission-current p{max-width:320px;font-size:16px}.phone .heading{top:130px;left:75%}.phone .heading b{font-size:35px}.phone .heading>span{font-size:12px}.phone .flight-readout.speed{left:35px}.phone .flight-readout.altitude{right:35px}.phone .flight-readout{top:39%;width:135px}.phone .flight-readout>span,.phone .flight-readout small{font-size:12px;letter-spacing:1px}.phone .flight-readout em{font-size:12px}.phone .configuration{top:auto;bottom:370px;right:32px;width:235px}.phone .configuration button{font-size:13px;padding:15px 0}.phone .configuration kbd{display:none}.phone .radar{bottom:100px;right:32px}.phone .radar>div,.phone .radar p{font-size:11px}.phone .radio{width:640px;bottom:315px}.phone .radio p{font-size:17px}.phone .radio>span{font-size:11px}.phone .radio small{display:none}.phone .throttle-control{left:32px;bottom:595px;width:190px}.phone .throttle-control label,.phone .throttle-ends{font-size:13px}.phone .throttle-control label span{display:none}.phone .throttle-control input{height:32px}.phone .dialog{width:610px;padding:45px}.phone .dialog h2{font-size:48px}.phone .dialog p{font-size:19px}.phone .dialog .eyebrow{font-size:13px}.phone .controls-grid{font-size:17px;gap:16px}.phone .text-button{font-size:14px;padding:10px}.phone .result-stats{font-size:12px}.phone .result-stats b{font-size:21px}.phone .score-line{font-size:13px}.phone #warning{top:28%;font-size:16px;white-space:nowrap}.touch #touch-controls,.phone #touch-controls{display:flex;position:absolute;bottom:83px;left:32px;align-items:center;gap:8px}.touch #touch-controls button,.phone #touch-controls button{border:1px solid rgba(201,228,216,.4);background:rgba(14,34,42,.6);width:64px;height:74px;font:25px monospace;border-radius:8px;touch-action:none;user-select:none}.touch #touch-controls div button,.phone #touch-controls div button{display:block;width:110px;font-size:16px;margin:7px 0}.touch #touch-controls button.held,.phone #touch-controls button.held{background:var(--gold);color:#11252d}.touch:not(.phone) #touch-controls{bottom:35px;left:45px}.touch:not(.phone) .throttle-control{bottom:240px}.touch:not(.phone) .radio{bottom:50px;width:550px}.touch:not(.phone) .radio small{display:none}.dialog{max-height:94%;overflow-y:auto}.variant a{color:#cad9d7}
.airframe-tag{top:auto;bottom:150px}.phone .airframe-tag{top:auto;bottom:620px;left:38px;right:auto;width:300px}.phone .airframe-tag .airframe-rule,.phone .airframe-tag p,.phone .airframe-tag .small-label{display:none}.phone .airframe-tag b{font-size:20px}.phone .airframe-tag button{padding-top:12px}.phone .brief{bottom:165px}.phone .hero-copy{top:135px}.phone .lead{font-size:20px}
.phone .top-actions button{font-size:17px}.phone .top-actions{gap:14px}.phone .eyebrow{font-size:15px}.phone .brief-heading{font-size:16px}.phone .brief-heading .status-dot{font-size:13px}.phone .brief>p:not(.best-line){font-size:20px}.phone .primary{font-size:22px}.phone .brief{width:470px}.phone .secondary-actions button{font-size:16px}.phone .best-line,.phone .best-line b{font-size:15px}.phone .mission-strip span{font-size:13px}.phone .mission-strip small{font-size:15px}.phone .mission-strip{gap:20px}.phone .airframe-tag{bottom:560px}.phone .airframe-tag button{font-size:18px}.phone .inspect-title p{font-size:18px}.phone .inspect-tools .primary{font-size:16px}.phone .configuration button{font-size:17px}.phone .radio p{font-size:21px}.phone .mission-current p{font-size:19px}.phone .throttle-control label,.phone .throttle-ends{font-size:16px}

.compact .station{display:none}.compact .top-actions button{font-size:13px}.compact .brief-heading{font-size:12px}.compact .brief>p:not(.best-line){font-size:16px}.compact .primary{font-size:15px;height:65px}.compact .secondary-actions button,.compact .best-line{font-size:11px}.compact .airframe-tag{width:265px}.compact .airframe-tag button{font-size:12px}.compact .mission-strip{gap:22px}.compact .mission-strip>i,.compact .mission-strip .variant{display:none}.compact .mission-strip span{font-size:10px}.compact .mission-strip small{font-size:13px;max-width:150px}.compact .radio{width:500px;bottom:30px}.compact .radio small{display:none}.compact .radar{bottom:160px}.compact .throttle-control{bottom:145px}.compact .inspect-tools{bottom:70px;gap:12px}.compact .inspect-specs{bottom:165px}.compact .mission-current p{max-width:260px}

.phone .top-actions{width:420px;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.phone .topbar{height:auto;align-items:flex-start}.phone .top-actions button{font-size:15px}.radio small{display:block;max-width:100%;line-height:1.7}

.impact-result{left:40px;transform:translateY(-50%);width:440px}.phone .impact-result,.compact .impact-result{left:50%;transform:translate(-50%,-50%)}

.brief{width:440px}.mission-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-actions button{min-width:0;width:100%;height:57px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px}.inspect-action{border:1px solid rgba(233,193,126,.7);background:rgba(12,29,36,.85);color:var(--gold);font-weight:700}.inspect-action:hover{background:rgba(233,193,126,.16)}.phone .mission-actions button{font-size:17px;height:72px;padding:0 14px;letter-spacing:0}.compact .mission-actions button{height:65px;font-size:13px}#launch{width:240px;height:49px;margin-top:18px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}#launch kbd{font:11px monospace;border:1px solid currentColor;border-radius:3px;padding:4px 6px}.phone #launch{width:285px;height:66px;font-size:21px}.phone #launch kbd{font-size:16px}

.menu-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.menu-options button{border:1px solid var(--line);background:rgba(12,29,36,.75);padding:12px 10px;font:11px monospace;letter-spacing:1px}.menu-options button:hover{border-color:var(--gold);color:var(--gold)}.phone .menu-options button{font-size:16px;padding:15px 10px}.phone .airframe-tag{bottom:710px}.phone .top-actions{width:auto;max-width:340px}

#continue-flight{margin-bottom:12px;height:48px}.phone #continue-flight{height:62px;font-size:19px}.brief.has-flight .brief-heading,.brief.has-flight>p:not(.best-line){display:none}

/* Mission selection and the trainer's live qualification card. */
.mission-select{position:absolute;left:64px;top:113px;display:flex;gap:9px}.mission-select button{width:172px;padding:12px 14px;border:1px solid var(--line);background:rgba(12,29,36,.7);text-align:left}.mission-select button.selected{border-color:var(--gold);background:rgba(233,193,126,.13)}.mission-select span{display:block;color:var(--muted);font:8px monospace;letter-spacing:1.3px}.mission-select b{display:block;margin-top:7px;font:12px Arial,sans-serif;letter-spacing:1.4px}.hero-copy{top:193px}.hero-copy h1{font-size:116px;margin-top:14px}.hero-copy h1 span{font-size:17px;letter-spacing:7px}.airframe-tag{bottom:160px}.brief{bottom:148px}.brief>p:not(.best-line){margin:12px 0 16px}.menu-options{margin-top:12px;padding-top:12px}.menu-options button{padding:10px}.station b,.radio b,.radar p>b{font-weight:400}.mission-select button:disabled{opacity:.5}
#training-checklist{position:absolute;right:52px;top:265px;width:210px;background:rgba(9,26,30,.76);border:1px solid var(--line);padding:15px}.checklist-title{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:var(--gold)}#lesson-list{list-style:none;margin:12px 0 0;padding:0;font:10px monospace}#lesson-list li{display:flex;align-items:center;gap:9px;color:#8fa4a3;padding:6px 0}#lesson-list li:before{content:'○';color:#728986;font-size:12px}#lesson-list li.current{color:#fff1d8}#lesson-list li.current:before{content:'›';color:var(--gold)}#lesson-list li.complete{color:var(--mint)}#lesson-list li.complete:before{content:'✓';color:var(--mint)}.maneuver-meter{height:3px;background:#4a5b5b;margin-top:12px}.maneuver-meter i{display:block;height:100%;width:0;background:var(--gold);transition:width .1s linear}#maneuver-progress{font:9px/1.6 monospace;color:var(--muted);margin-bottom:0}#training-full{border:1px solid var(--gold);background:#273530;color:var(--gold);padding:12px;font:10px monospace;letter-spacing:.6px;margin-top:10px}#training-full kbd{margin-left:12px}#lesson-toast{position:absolute;top:220px;left:50%;transform:translateX(-50%);font:11px monospace;letter-spacing:2px;color:var(--gold);background:rgba(9,26,30,.8);padding:12px 18px;max-width:380px;text-align:center}#training-debrief{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line);font:10px monospace;color:var(--mint)}#training-debrief .missed{color:#c5947e}#next-mission{font-size:10px;letter-spacing:.6px}.phone .mission-select{left:38px;top:112px}.phone .mission-select button{width:250px;padding:16px}.phone .mission-select span{font-size:12px}.phone .mission-select b{font-size:18px}.phone .hero-copy{top:230px}.phone .hero-copy h1{font-size:134px}.phone .hero-copy h1 span{font-size:22px}.phone #training-checklist{top:320px;right:32px;width:225px;padding:12px}.phone #lesson-list{font-size:12px}.phone #lesson-list li{padding:5px 0}.phone .checklist-title{font-size:11px}.phone #maneuver-progress{font-size:11px}.phone .heading{left:75%;top:130px}.phone #training-full{font-size:15px;max-width:280px}.phone #lesson-toast{top:260px;font-size:13px}.phone .mission-current p{max-width:350px}.compact .hero-copy{top:205px}.compact .mission-select span{font-size:10px}.compact .mission-select b{font-size:14px}.compact #training-checklist{top:300px}.phone #training-debrief{font-size:14px}

#ui[data-training="true"]:not(.phone) .flight-readout.altitude{right:22%}#ui.phone[data-training="true"] .flight-readout{top:47.5%}#ui.phone[data-training="true"] #training-checklist{top:300px;width:205px}#ui.phone[data-training="true"] #lesson-list li{padding:4px 0}#ui.compact[data-training="true"] .flight-readout.altitude{right:28%}

#ui.phone[data-training="true"] .throttle-control{bottom:450px}#ui.phone[data-training="true"] .configuration{bottom:450px}#touch-controls button.touch-brake{font:16px monospace;width:72px;line-height:1.4}

.flight-readout em{display:block;margin-top:6px}.flight-readout .low-fuel{color:#ffbb78}.burner-hold{margin-top:12px;padding:12px 6px;border:1px solid var(--line);font:10px monospace;width:100%;touch-action:none}.burner-hold.held{background:#8d461e;color:#fff}.inspect-tools{flex-wrap:wrap;max-width:900px}.phone .inspect-tools{max-width:560px}.phone .burner-hold{font-size:13px}.phone .configuration{max-width:470px;flex-wrap:wrap}.configuration button{white-space:nowrap}
/* Three aircraft, two Hercules configurations; all options remain in the main menu. */
.livery-options{display:flex;gap:8px;margin:0 0 14px}.livery-options button{flex:1;border:1px solid var(--line);padding:11px 8px;font:9px monospace;white-space:nowrap;background:rgba(8,24,29,.65)}.livery-options button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}.livery-options i{display:inline-block;width:10px;height:10px;margin-right:7px;vertical-align:-1px}.gray-swatch{background:#8d989c}.blue-swatch{background:#143d86;border-top:3px solid #efc52f}.phone .mission-select{right:38px;gap:6px}.phone .mission-select button{width:auto;flex:1;padding:14px 11px}.phone .mission-select b{font-size:15px;letter-spacing:.5px}.phone .mission-select span{font-size:9px;letter-spacing:.5px}.phone .livery-options button{font-size:13px;padding:15px 8px}.phone .livery-options i{width:13px;height:13px}#ui[data-aircraft="c130"] .hero-copy h1{font-size:100px}#ui.phone[data-aircraft="c130"] .hero-copy h1{font-size:122px}

.configuration{max-width:760px;flex-wrap:wrap;justify-content:flex-end}#weight-value{font-size:9px;letter-spacing:.4px}.menu-options{grid-template-columns:1fr 1fr}.brief{max-height:calc(100% - 180px);overflow-y:auto}#clearance{border-color:var(--gold);color:var(--gold)}#reverse.held{background:#6b4525}

#ui:not(.phone) .configuration{top:auto;bottom:178px;left:50%;right:auto;transform:translateX(-50%);width:690px;display:grid;grid-template-columns:repeat(4,1fr);gap:0 14px;background:rgba(9,26,30,.65);padding:8px 16px}#ui:not(.phone) .configuration button{padding:10px 0;font-size:9px}#ui:not(.phone) .configuration kbd{margin-left:7px}.phone .configuration{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;width:440px}.phone .configuration button{font-size:13px}
#ui:not(.phone):not(.compact) .brief{bottom:115px}
/* Level first, aircraft second. All flight settings remain in the ready menu. */
.level-picker{position:absolute;left:64px;top:200px;width:800px}.level-picker h2{font:500 64px/1.05 var(--display,Arial);letter-spacing:-2px;margin:14px 0 20px}.level-picker>p:not(.eyebrow){font-size:17px;color:#b8c7c4}.level-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.level-cards button{text-align:left;background:linear-gradient(140deg,rgba(27,49,51,.97),rgba(12,28,33,.9));border:1px solid #67776a;padding:28px 26px;min-height:225px;color:#e9eee6;cursor:pointer}.level-cards button:hover{border-color:var(--gold);background:#283e3d}.level-cards span,.level-cards small,.level-cards em{display:block}.level-cards span{font:11px monospace;letter-spacing:2px;color:var(--gold)}.level-cards b{display:block;font-size:29px;letter-spacing:-.8px;margin:23px 0 14px}.level-cards small{font-size:13px;line-height:1.7;color:#b9cac5}.level-cards em{font:10px monospace;letter-spacing:.5px;margin-top:28px;color:var(--gold)}
.selection-trail{position:absolute;left:64px;top:112px;display:flex;align-items:center;gap:20px;font:10px monospace;letter-spacing:1.4px}.selection-trail button{background:transparent;color:var(--gold);border:0;padding:8px 0;cursor:pointer}.selection-trail span{color:#e3e9df}.selection-trail b{color:#9caeaa;font-weight:400}.mission-select{top:156px}.mission-select button{width:195px}.mission-select span{font-size:9px;letter-spacing:.7px}.hero-copy{top:249px}.hero-copy h1,#ui[data-aircraft="c130"] .hero-copy h1{font-size:88px}.hero-copy h1 span{font-size:15px;letter-spacing:4px}
#ui[data-setup="level"] .mission-select,#ui[data-setup="level"] .selection-trail,#ui[data-setup="level"] .hero-copy,#ui[data-setup="level"] .brief,#ui[data-setup="level"] .airframe-tag,#ui[data-setup="level"] .mission-strip{display:none}
#ui[data-setup="aircraft"] .level-cards,#ui[data-setup="aircraft"] .hero-copy,#ui[data-setup="aircraft"] .brief,#ui[data-setup="aircraft"] .airframe-tag,#ui[data-setup="aircraft"] .mission-strip{display:none}
#ui[data-setup="aircraft"] .level-picker{top:200px}#ui[data-setup="aircraft"] .mission-select{top:390px}#ui[data-setup="aircraft"] .mission-select button{width:240px;padding:28px 22px}#ui[data-setup="aircraft"] .mission-select b{font-size:21px;margin-top:17px}#ui[data-setup="ready"] .level-picker{display:none}
.phone .selection-trail,.phone .level-picker{left:38px;right:38px;width:auto}.phone .selection-trail{top:145px;flex-wrap:wrap;gap:10px 20px;font-size:13px}.phone .level-picker{top:240px}.phone .level-picker h2{font-size:58px}.phone .level-picker>p:not(.eyebrow){font-size:22px;line-height:1.6}.phone .level-cards{grid-template-columns:1fr;gap:22px}.phone .level-cards button{padding:32px;min-height:210px}.phone .level-cards b{font-size:36px}.phone .level-cards small{font-size:20px}.phone .level-cards em,.phone .level-cards span{font-size:14px}.phone .mission-select{top:215px}.phone .hero-copy{top:325px}.phone .hero-copy h1,#ui.phone[data-aircraft="c130"] .hero-copy h1{font-size:102px}.phone .hero-copy h1 span{font-size:19px}#ui.phone[data-setup="aircraft"] .level-picker{top:230px}#ui.phone[data-setup="aircraft"] .mission-select{top:470px;display:flex;flex-direction:column}#ui.phone[data-setup="aircraft"] .mission-select button{width:100%;flex:none;padding:28px}#ui.phone[data-setup="aircraft"] .mission-select b{font-size:27px}#ui.phone[data-setup="aircraft"] .mission-select span{font-size:14px}.compact .level-picker{width:800px}.compact .hero-copy{top:250px}

#ui.phone .airframe-tag{display:none}#ui.phone .brief{width:calc(100% - 76px)}#ui.phone .selection-trail b{display:none}
#ui.phone .brief{padding:20px;background:linear-gradient(100deg,rgba(8,24,28,.8),rgba(8,24,28,.55));border:1px solid rgba(199,207,190,.16)}

#fps-counter{position:fixed;right:12px;bottom:10px;z-index:10;pointer-events:none;user-select:none;font:11px/1.4 monospace;font-variant-numeric:tabular-nums;color:#bce4cc;background:rgba(8,24,29,.75);border:1px solid rgba(188,228,204,.2);border-radius:3px;padding:3px 7px;min-width:61px;text-align:right}

#weapon-hud{position:absolute;left:50%;bottom:180px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;padding:12px 18px;border:1px solid #d18365;background:#15252de8;color:#ffc3a8;font-size:12px;letter-spacing:1px}#weapon-hud[hidden],#bogey-marker[hidden]{display:none}#weapon-hud b{font-size:13px}#weapon-hud.locked{border-color:#baffc8;color:#baffc8}#weapon-hud button{padding:10px 14px;background:#baffc8;color:#12231b;font-weight:700}#weapon-hud button:disabled{opacity:.4}#bogey-marker{position:absolute;width:26px;height:26px;border:2px solid #ff9778;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}#bogey-marker.locked{border-color:#baffc8}#bogey-marker span{position:absolute;left:20px;top:20px;white-space:nowrap;color:#ffd0bb;background:#12232bbd;padding:4px 7px;transform:rotate(-45deg);font-size:11px}#bogey-marker.offscreen{border-style:dashed}.phone #weapon-hud{bottom:340px;gap:10px;width:460px;flex-wrap:wrap;justify-content:center}.compact #weapon-hud{bottom:250px}
#weapon-reticle{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:1px solid #b9e3c8;border-radius:50%;color:#b9e3c8;text-align:center;line-height:30px;font-size:23px;pointer-events:none}#weapon-reticle[hidden]{display:none}#weapon-reticle.locked{border-width:2px;color:#d0ffb7}

/* One flight-controls panel: weapon status flows above configuration buttons. */
#ui .configuration #weapon-hud{position:static;transform:none;width:auto;margin:0;grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding:10px 0;background:none;border:0;border-bottom:1px solid var(--line)}
#ui .configuration #weapon-hud[hidden]{display:none}
#ui #weapon-status{margin:0;font-size:12px;grid-column:1}
#ui #weapon-detail{font:10px monospace;grid-column:1}
#ui #weapon-hud #fire-missile{grid-column:2;grid-row:1 / 3;width:auto;padding:10px 14px;margin:0;border:0;font-size:11px}
#ui .configuration #flight-help{color:var(--gold)}
.carrier-missions{display:flex;gap:10px;margin:12px 0}.carrier-missions[hidden]{display:none}.carrier-missions button{flex:1;padding:12px 8px;border:1px solid var(--line);font:10px monospace;text-align:left}.carrier-missions span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.carrier-missions [aria-pressed="true"]{border-color:var(--gold);color:var(--gold);background:#b5a16c15}
.phone .carrier-missions button{font-size:14px}.phone .carrier-missions span{font-size:11px}
#ui[data-loading="true"] button,#ui[data-loading="true"] input{pointer-events:none}#ui[data-loading="true"] #home{opacity:.45}
#loading{z-index:100;max-width:80%;white-space:nowrap}#loading b{font-weight:400}#loading span{animation:loading-pulse 1s ease-in-out infinite alternate}@keyframes loading-pulse{to{opacity:.2}}
#scene,.cinema-shade{top:0;right:0;bottom:0;left:0}
#ui.phone .configuration{bottom:430px;background:rgba(9,26,30,.8);padding:8px 16px}#ui.phone[data-training="true"] .configuration{bottom:450px}

/* Menu content flows in one scrollable column as mission options expand. */
#ui .brief{top:250px;bottom:115px;max-height:none;padding-right:8px}
#ui .brief .hero-copy{position:static;text-align:left;margin:0 0 18px}
#ui .brief .hero-copy h1{font-size:44px;line-height:1.05;margin:0}
#ui .brief .hero-copy h1 span{font-size:12px;letter-spacing:3px;margin-top:6px}
#ui:not(.phone) .menu-options{grid-template-columns:repeat(3,1fr)}
#ui:not(.phone) .menu-options button{font-size:9px;padding:10px 5px;letter-spacing:.5px}
#ui.phone .brief{top:325px;bottom:165px;padding:20px}
#ui.phone .brief .hero-copy h1{font-size:64px}
#ui.phone .brief .hero-copy h1 span{font-size:18px}

/* Four aircraft remain reachable on narrow screens. */
#ui.phone[data-setup="ready"] .mission-select{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#ui.phone[data-setup="ready"] .mission-select button{width:auto;padding:10px 12px}
#ui.phone[data-setup="ready"] .brief{top:370px}
#ui.phone[data-setup="aircraft"] .mission-select{bottom:50px;overflow-y:auto}

/* Keep cockpit instruments clear; every command remains in the same control strip. */
#ui:not(.phone)[data-camera="cockpit"] .configuration{bottom:22px}
#ui:not(.phone)[data-camera="cockpit"] .radio{left:64px;top:222px;bottom:auto;width:330px;text-align:left;transform:none}
#ui:not(.phone)[data-camera="cockpit"] .radio p{font-size:12px;margin:8px 0}
#ui #lesson-toast{top:185px}

/* Faults share the existing instrument column, clear of mission warnings. */
#systems-status{color:#ffbf76!important;font-size:10px!important;line-height:1.5;max-width:200px;white-space:normal}
/* Chrome 76 (2019 school Chromebooks) has no flex gap. game.js adds .no-flex-gap there; grid gap already works. */
.no-flex-gap .brand>*+*{margin-left:13px}
.no-flex-gap .station>*+*{margin-left:10px}
.no-flex-gap .top-actions>*+*{margin-left:23px}
.no-flex-gap .eyebrow>*+*{margin-left:12px}
.no-flex-gap .secondary-actions>*+*{margin-left:12px}
.no-flex-gap .mission-strip>*+*{margin-left:38px}
.no-flex-gap .mission-strip>div>*+*{margin-left:15px}
.no-flex-gap .inspect-tools>*{margin-right:20px;margin-bottom:20px}.no-flex-gap .inspect-tools>*+*{margin-left:0}
.no-flex-gap .inspect-specs>*+*{margin-left:50px}
.no-flex-gap .phone .top-actions>*{margin-right:17px;margin-bottom:17px}.no-flex-gap .phone .top-actions>*+*{margin-left:0}
.no-flex-gap .phone .mission-strip>*+*{margin-left:26px}
.no-flex-gap .phone .mission-strip>div>*+*{margin-left:10px}
.no-flex-gap .phone .inspect-tools>*{margin-right:12px;margin-bottom:12px}.no-flex-gap .phone .inspect-tools>*+*{margin-left:0}
.no-flex-gap .touch #touch-controls>*+*{margin-left:8px}
.no-flex-gap .phone #touch-controls>*+*{margin-left:8px}
.no-flex-gap .phone .top-actions>*{margin-right:14px;margin-bottom:14px}.no-flex-gap .phone .top-actions>*+*{margin-left:0}
.no-flex-gap .phone .mission-strip>*+*{margin-left:20px}
.no-flex-gap .compact .mission-strip>*+*{margin-left:22px}
.no-flex-gap .compact .inspect-tools>*{margin-right:12px;margin-bottom:12px}.no-flex-gap .compact .inspect-tools>*+*{margin-left:0}
.no-flex-gap .phone .top-actions>*{margin-right:18px;margin-bottom:10px}.no-flex-gap .phone .top-actions>*+*{margin-left:0}
.no-flex-gap .mission-select>*+*{margin-left:9px}
.no-flex-gap #lesson-list li>*+*{margin-left:9px}
.no-flex-gap .livery-options>*+*{margin-left:8px}
.no-flex-gap .phone .mission-select>*+*{margin-left:6px}
.no-flex-gap .selection-trail>*+*{margin-left:20px}
.no-flex-gap .phone .selection-trail>*{margin-right:20px;margin-bottom:10px}.no-flex-gap .phone .selection-trail>*+*{margin-left:0}
.no-flex-gap #weapon-hud>*+*{margin-left:15px}
.no-flex-gap .phone #weapon-hud>*{margin-right:10px;margin-bottom:10px}.no-flex-gap .phone #weapon-hud>*+*{margin-left:0}
.no-flex-gap .carrier-missions>*+*{margin-left:10px}
.no-flex-gap #ui.phone[data-setup="aircraft"] .mission-select>*+*{margin-left:0;margin-top:6px}
/* :focus-visible is also missing there: hide focus rings after pointer input only. */
.no-focus-visible.pointer-input button:focus,.no-focus-visible.pointer-input a:focus{outline:none}
/* Touch drags orbit the inspection view and never scroll or refresh the page. */
html{overscroll-behavior:none}#scene,#scene canvas{touch-action:none}[data-key]{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* Small scale (a maximized 1366x768 Chromebook renders the 1440x900 board at about 0.72): 8-10 px type becomes 11-13 px. Set in game.js size(). */
#ui.small-scale .brand-sub{font-size:11px;letter-spacing:1.2px}
#ui.small-scale .station{font-size:12px;letter-spacing:1.0px}
#ui.small-scale .top-actions button{font-size:12px}
#ui.small-scale .eyebrow,#ui.small-scale .small-label{font-size:13px;letter-spacing:1.2px}
#ui.small-scale .small-label{font-size:12px;letter-spacing:1.0px}
#ui.small-scale .airframe-tag b span{font-size:13px;letter-spacing:1.0px}
#ui.small-scale .airframe-tag p{font-size:11px}
#ui.small-scale .airframe-tag button{font-size:12px}
#ui.small-scale .brief-heading{font-size:12px}
#ui.small-scale .status-dot{font-size:11px}
#ui.small-scale .secondary-actions button{font-size:11px}
#ui.small-scale .best-line{font-size:11px;letter-spacing:1.0px}
#ui.small-scale .best-line b{font-size:13px}
#ui.small-scale .mission-strip span{font-size:12px;letter-spacing:1.0px}
#ui.small-scale .mission-strip .variant{font-size:11px}
#ui.small-scale .inspect-tools>button:not(.primary){font-size:13px}
#ui.small-scale .inspect-specs span{font-size:12px;letter-spacing:1.2px}
#ui.small-scale .heading>span{font-size:12px;letter-spacing:1.8px}
#ui.small-scale .flight-readout>span{font-size:12px;letter-spacing:1.8px}
#ui.small-scale .flight-readout small{font-size:12px}
#ui.small-scale .flight-readout em{font-size:13px}
#ui.small-scale .horizon span{font-size:13px}
#ui.small-scale #waypoint{font-size:12px}
#ui.small-scale #waypoint small{font-size:12px}
#ui.small-scale .configuration button{font-size:12px}
#ui.small-scale .configuration kbd{font-size:11px}
#ui.small-scale .throttle-control label{font-size:12px;letter-spacing:1.0px}
#ui.small-scale .throttle-ends{font-size:11px}
#ui.small-scale .radio>span{font-size:11px;letter-spacing:1.2px}
#ui.small-scale .radio small{font-size:12px}
#ui.small-scale .radar>div,#ui.small-scale .radar p{font-size:11px;letter-spacing:1.0px}
#ui.small-scale .text-button{font-size:12px}
#ui.small-scale .score-line{font-size:12px}
#ui.small-scale .result-stats{font-size:11px}
#ui.small-scale #loading{font-size:13px;letter-spacing:1.2px}
#ui.small-scale .mission-select span{font-size:11px;letter-spacing:1.0px}
#ui.small-scale .checklist-title{font-size:12px}
#ui.small-scale #lesson-list{font-size:13px}
#ui.small-scale #maneuver-progress{font-size:12px}
#ui.small-scale #training-full{font-size:13px}
#ui.small-scale #training-debrief{font-size:13px}
#ui.small-scale #next-mission{font-size:13px}
#ui.small-scale .burner-hold{font-size:13px}
#ui.small-scale .livery-options button{font-size:12px}
#ui.small-scale #weight-value{font-size:12px}
#ui.small-scale .level-cards em{font-size:13px}
#ui.small-scale .selection-trail{font-size:13px;letter-spacing:1.0px}
#ui.small-scale .mission-select span{font-size:12px}
#ui.small-scale #weapon-detail{font-size:13px}
#ui.small-scale .carrier-missions button{font-size:13px}
#ui.small-scale .carrier-missions span{font-size:11px}
#ui.small-scale #systems-status{font-size:13px}
#ui.small-scale .flight-readout{width:190px}
/* Carrier glide-slope ball: an amber dot against green datum bars, right of the reticle. */
#ball{position:absolute;left:50%;top:45%;width:56px;height:120px;margin:-60px 0 0 150px;pointer-events:none}#ball i{position:absolute;top:58px;width:16px;height:3px;background:#7dd69a;box-shadow:0 0 6px rgba(125,214,154,.7)}#ball i:first-child{left:0}#ball i:nth-of-type(2){right:0}#ball b{position:absolute;left:20px;top:52px;width:16px;height:16px;border-radius:50%;background:#ffab40;box-shadow:0 0 10px rgba(255,171,64,.85);transition:transform .08s linear}#ball.centered b{background:#ffd27a}#ball span{position:absolute;left:-40px;right:-40px;text-align:center;font:11px monospace;letter-spacing:1px;color:var(--mint);text-shadow:0 1px 6px #112b32}#ball-call{top:-18px}#lineup-cue{bottom:-20px;color:#ffb347}#ui.small-scale #ball span{font-size:13px}
/* Compact (portrait and Chromebook split screen): the control strip sits between the throttle and the radar, in two columns. */
#ui.compact .configuration{left:252px;right:282px;width:auto;max-width:560px;margin:0 auto;transform:none;grid-template-columns:repeat(2,1fr)}
#ui.compact .top-actions button{font-size:13px}

/* Operation stakes stay beside mission guidance; radio instructions remain visible. */
#ui .brief #operation-brief{border-left:2px solid var(--gold);padding:9px 12px;background:rgba(9,26,30,.65);font:12px/1.6 Arial,sans-serif;color:var(--gold);margin:10px 0 16px}
#ui #operation-status{max-width:350px;font:11px/1.6 monospace;color:var(--gold);letter-spacing:.3px;border-left:2px solid currentColor;padding-left:9px}
#ui #operation-status.urgent{color:#ffb49c}
#ui .radio #operation-radio{font:12px/1.5 Arial,sans-serif;color:var(--gold);margin:0 0 6px}
#operation-debrief{font:12px/1.6 monospace;color:var(--gold);border-top:1px solid var(--line);padding-top:12px}
#ui.small-scale #operation-status,#ui.small-scale .radio #operation-radio,#ui.small-scale .brief #operation-brief{font-size:14px}
#ui.phone #operation-status{max-width:325px;font-size:14px}
#ui.phone .radio #operation-radio{font-size:17px}
#ui.phone .brief #operation-brief,#ui.phone #operation-debrief{font-size:18px}

#ui[data-operation-radio="true"] .radio #radio{display:none}

/* Canyon guidance stays readable against close, sunlit cliffs. */
#ui[data-strike="true"] .mission-current{max-width:430px;padding:12px 16px;background:rgba(8,24,29,.76);border-left:2px solid var(--gold)}
#ui[data-strike="true"] .mission-current p{color:#dce5dc}
#ui.phone[data-strike="true"] .mission-current{max-width:350px;padding:12px}

#ui[data-strike="true"] #wingman-status{font:10px/1.5 monospace;color:#8ef0ff;margin:8px 0 0}
#ui.phone[data-strike="true"] #wingman-status{font-size:12px}
.escort-marker{position:absolute;transform:translate(-50%,-100%);padding:5px 7px;background:rgba(8,24,29,.8);font:10px/1.4 monospace;white-space:nowrap;pointer-events:none}.escort-marker.friendly{color:#8ef0ff;border-bottom:1px solid #8ef0ff}.escort-marker.hostile{color:#ffad94;border-bottom:1px solid #ffad94}.phone .escort-marker{font-size:12px}

/* The mission menu is the entry point; aircraft browsing remains a secondary path. */
.mission-board{display:none;position:absolute;left:64px;right:64px;top:120px;bottom:36px;overflow-y:auto;pointer-events:auto;padding:0 12px 20px 0}
#ui[data-setup="missions"] .mission-board{display:block}
#ui[data-setup="missions"] .level-picker,#ui[data-setup="missions"] .selection-trail,#ui[data-setup="missions"] .mission-select,#ui[data-setup="missions"] .brief,#ui[data-setup="missions"] .airframe-tag,#ui[data-setup="missions"] .mission-strip{display:none}
.board-heading{padding:0 0 18px}.board-heading h2{font-size:42px;font-weight:400;letter-spacing:-1px;margin:12px 0}.board-heading>p:last-child{font-size:16px;color:#c4d1cf;line-height:1.5;margin:0}
.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mission-card{display:flex;flex-direction:column;text-align:left;padding:23px;background:rgba(9,27,34,.94);border:1px solid #52686a;min-height:210px}.mission-card:hover{background:#193740;border-color:var(--gold)}.mission-card.featured{border-color:var(--gold);background:rgba(37,47,43,.96)}.mission-card>span{font:11px/1.5 monospace;letter-spacing:.7px;color:var(--gold)}.mission-card>b{font-size:26px;font-weight:400;margin:13px 0 0;color:var(--paper)}.mission-card>p{font-size:15px;line-height:1.5;color:#c4d1cf;margin:12px 0 20px}.mission-card>em{font:11px monospace;letter-spacing:.8px;color:var(--gold);font-style:normal;margin-top:auto}
.board-resume{display:block;width:100%;text-align:left;padding:18px 22px;margin-bottom:18px;border:1px solid #91e4c5;background:#173731}.board-resume span,.board-resume em{display:block;font:11px monospace;letter-spacing:1px;color:var(--mint);font-style:normal}.board-resume b{display:block;font-size:22px;font-weight:400;margin:8px 0 10px}.board-footer{display:flex;flex-wrap:wrap;padding:22px 0}.board-footer>*{font:12px monospace;color:#d6dfd7;padding:12px 0;margin-right:30px}.board-footer button{color:var(--gold)}
#flight-options{margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;pointer-events:auto}#flight-options summary{cursor:pointer;font:12px monospace;color:var(--gold)}#flight-options summary>span{display:block;color:var(--muted);font:12px Arial,sans-serif;margin:8px 0 0 16px}.exercise-choice{font:11px monospace;color:var(--gold);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:8px}.practice-note{font:11px/1.5 Arial,sans-serif;color:var(--muted);align-self:center}.secondary-actions{align-items:center}
.phone .mission-board{left:32px;right:24px;top:120px;bottom:30px}.phone .board-heading h2{font-size:48px}.phone .board-heading>p:last-child{font-size:20px}.phone .mission-grid,.compact .mission-grid{grid-template-columns:1fr 1fr}.phone .mission-card{padding:20px;min-height:260px}.phone .mission-card>span{font-size:13px}.phone .mission-card>b{font-size:30px}.phone .mission-card>p{font-size:19px}.phone .mission-card>em{font-size:13px}.phone .board-footer>*{font-size:16px}.phone .board-resume b{font-size:28px}.phone .board-resume span,.phone .board-resume em{font-size:15px}.phone #flight-options summary,.phone .exercise-choice{font-size:17px}.phone #flight-options summary>span,.phone .practice-note{font-size:16px}
#ui[data-setup="ready"][data-training="false"] .mission-select{display:none}
#ui[data-setup="ready"][data-training="false"] .brief{top:170px}
#ui.phone[data-setup="ready"][data-training="false"] .brief{top:210px}

.board-heading{text-shadow:0 2px 5px #071920}.board-heading>p:last-child{color:#e1e9e4}.phone .mission-card{min-height:300px}.phone .mission-card>b{font-size:32px}.phone .mission-card>p{font-size:22px}.phone .mission-card>span{font-size:15px}

/* Dedicated touch pedals keep roll controls consistent across liftoff. */
.touch #touch-controls .touch-roll-column button,.phone #touch-controls .touch-roll-column button{width:64px;font-size:12px}
