:root{--ink:#20221f;--paper:#fafaf7;--muted:#777970;--line:#d4d5ce;--pale:#efefe9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:13px}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:2px;padding:8px 11px}button:hover{background:var(--pale);border-color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #333;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover{background:#444}button.active{background:var(--ink);color:white}header{padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink)}.brand{display:flex;gap:15px;align-items:center}.insignia{border:2px solid var(--ink);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font:24px Georgia,serif}.brand h1{font-size:30px;letter-spacing:5px;margin:0;font-weight:800}.brand p{font:10px monospace;letter-spacing:1.5px;margin:5px 0 0}.header-actions{display:flex;align-items:center;gap:18px}.switch{display:flex;align-items:center;gap:7px;font-size:12px}input[type=checkbox]{accent-color:#222}main{max-width:1600px;margin:auto;padding:0 36px}.brief-strip{display:flex;justify-content:space-between;gap:15px;padding:20px 0;font:10px monospace;letter-spacing:.5px;color:var(--muted)}.brief-strip b{color:var(--ink);margin-left:8px;font-weight:500}.stage-strip{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:22px;border:1px solid var(--line)}.stage{padding:13px 12px;font:10px monospace;letter-spacing:.5px;border-right:1px solid var(--line);color:var(--muted)}.stage:last-child{border:0}.stage.current{background:var(--ink);color:#fff}.stage.done{background:var(--pale);color:var(--ink)}.stage span{margin-right:10px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid var(--ink)}.plot-panel{min-width:0;border-right:1px solid var(--ink)}.section-heading{min-height:43px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 15px;font:10px monospace;letter-spacing:1px}.section-heading button{font:10px monospace;padding:4px 7px}.chart-wrap{position:relative;background-image:radial-gradient(#d9dad3 .6px,transparent .6px);background-size:18px 18px}#chart{width:100%;height:420px;display:block}.plot-tag{position:absolute;left:16px;bottom:16px;font:9px/1.8 monospace;color:var(--muted)}.plot-status{position:absolute;right:16px;bottom:16px;background:var(--paper);font:9px monospace;border:1px solid var(--line);padding:6px}.telemetry{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.readout{padding:13px 12px;border-right:1px solid var(--line)}.readout:last-child{border:0}.readout small{display:block;font:9px monospace;color:var(--muted);margin-bottom:5px}.readout strong{font:23px monospace;letter-spacing:-1px}.readout em{font:9px monospace;margin-left:3px;font-style:normal}.profile-heading{font:9px monospace;padding:12px 15px 0;display:flex;justify-content:space-between;color:var(--muted)}#profile{width:100%;height:115px;display:block}aside{display:flex;flex-direction:column;min-height:650px}#coach{padding:20px;min-height:187px;border-bottom:1px solid var(--ink)}#coach .eyebrow{font:10px monospace;letter-spacing:1px;color:var(--muted)}#coach h2{font:25px/1.15 Georgia,serif;margin:10px 0}#coach p{font-size:12px;line-height:1.65;margin:9px 0}.hint-values{font:11px/1.8 monospace;background:var(--pale);padding:9px 12px;margin-top:12px}.radio-heading select{font:11px monospace;padding:5px}#log{height:170px;overflow:auto;padding:5px 15px;flex:1;max-height:230px}.message{border-bottom:1px solid var(--line);padding:10px 0;font-size:11px;line-height:1.6}.message small{display:block;font:9px monospace;color:var(--muted);margin-bottom:3px}.message.player{padding-left:10px;border-left:2px solid #555}#radioActions{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid var(--line)}#radioActions button{font:10px monospace;text-align:left;padding:9px}#feedback{font:11px/1.6 monospace;padding:0 15px 12px;min-height:24px}.controls{border:1px solid var(--ink);margin-top:18px}.command-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;padding:16px;gap:20px}form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px}form label{font:9px monospace;letter-spacing:.5px}form label span{float:right;color:var(--muted)}form input,form select{display:block;width:100%;height:40px;border:1px solid var(--line);margin-top:7px;background:transparent;padding:7px;font:19px monospace}form select{font-size:15px}form button{height:40px;font-size:11px}.config{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.config button{font:9px monospace;padding:8px}.config b{display:block;margin-top:4px}.config button:first-child{grid-column:span 2}.nav-commands{border-top:1px solid var(--line);padding:11px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-commands span{font:9px monospace;color:var(--muted);margin-right:12px}.nav-commands button{font:10px monospace}footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font:9px monospace;color:var(--muted);gap:15px}.transport{display:flex;align-items:center;gap:14px;font:11px monospace;color:var(--ink)}.transport button{min-width:145px}.transport select{font-size:11px}dialog{max-width:760px;width:calc(100% - 30px);max-height:88vh;padding:0;background:var(--paper);border:2px solid var(--ink);color:var(--ink)}dialog::backdrop{background:#0007}.manual-head{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-bottom:1px solid var(--ink);font:11px monospace}.manual-body{padding:10px 30px 25px;line-height:1.7}.manual-body h2{font:32px Georgia,serif}.manual-body h3{font:12px monospace;margin-top:28px;text-transform:uppercase}.manual-body a{color:inherit}.manual-body li{margin:10px 0}.results{border:1px solid var(--ink);padding:12px;margin:12px 0}.results p{margin:4px!important}.completion{font:11px monospace;margin-top:10px}@media(min-width:1500px){#chart{height:500px}aside{min-height:720px}}@media(max-width:1100px){header{padding:20px}.header-actions{gap:8px}main{padding:0 20px}.workspace{grid-template-columns:minmax(0,1fr) 300px}.command-grid{grid-template-columns:1fr}.config{grid-template-columns:repeat(6,1fr)}.config button:first-child{grid-column:span 2}.readout{padding:12px 6px}.readout strong{font-size:19px}.stage{padding:12px 5px;font-size:9px}.stage span{margin-right:3px}footer>span{display:none}}@media(max-width:760px){header{align-items:flex-start;gap:16px;flex-direction:column;padding:18px}.header-actions{width:100%;flex-wrap:wrap;justify-content:space-between}.header-actions button{font-size:11px}main{padding:0 12px}.brief-strip{flex-wrap:wrap;justify-content:flex-start;gap:10px 20px}.stage-strip{overflow:auto;margin-bottom:12px;grid-template-columns:repeat(7,minmax(100px,1fr))}.workspace{display:flex;flex-direction:column}.plot-panel{border-right:0;border-bottom:1px solid var(--ink)}#chart{height:360px}.telemetry .readout strong{font-size:17px}.readout small{font-size:8px}aside{min-height:0}#coach{min-height:0}#log{height:140px;flex:auto}#profile{height:95px}form{grid-template-columns:repeat(2,1fr)}form button{grid-column:span 2}.command-grid{padding:12px;gap:12px}.config{grid-template-columns:repeat(3,1fr)}footer{padding:15px 0}.transport{gap:8px;flex-wrap:wrap;font-size:10px}.transport button{min-width:120px}.plot-tag{font-size:8px}.plot-status{font-size:8px}}

#coach button[data-coach]{margin-top:14px;background:var(--ink);color:var(--paper);width:100%;font:11px monospace;padding:11px}#coach button[data-coach]:hover{background:#444}

.radio-tuning{padding:12px 15px;border-bottom:1px solid var(--line);background:var(--pale)}.radio-tuning>span{font:9px monospace;letter-spacing:.8px;display:block;margin-bottom:8px}.radio-tuning>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.radio-tuning button{font:12px monospace;padding:10px 5px;border-color:#aaa}.radio-tuning button.active{background:var(--ink);color:white;border-color:var(--ink)}

.clearance-card{margin:12px 15px 0;padding:10px;border:1px solid var(--ink)}.clearance-title{font:10px monospace;letter-spacing:.7px;margin-bottom:8px}.clearance-card dl{display:grid;grid-template-columns:1fr auto;gap:7px 8px;margin:0;font:9px monospace}.clearance-card dt{color:var(--muted)}.clearance-card dd{margin:0;font-weight:bold}.clearance-card p{font-size:10px;line-height:1.5;margin:9px 0 0;color:var(--muted)}

.command-field{min-width:0}.command-field label{display:block}.scrub-control{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;border:1px solid var(--line);margin-top:7px;height:44px}.scrub-control input{width:100%;min-width:0;height:42px;margin:0;border:0;padding:5px 2px;text-align:center;font:20px monospace;cursor:ns-resize;touch-action:none;appearance:textfield;-moz-appearance:textfield}.scrub-control input::-webkit-inner-spin-button,.scrub-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scrub-control input:focus{outline:1px solid var(--ink);outline-offset:-2px;cursor:text}.scrub-control input.scrubbing{background:var(--ink);color:white;cursor:ns-resize;user-select:none}.scrub-control button{width:24px;height:42px;min-width:0;padding:0;border:0;font:17px monospace;border-radius:0;color:var(--muted)}.scrub-control button:hover{color:var(--ink);background:var(--pale)}.scrub-control button:disabled{opacity:.3}.scrub-hint{grid-column:1/-1;font:9px/1.5 monospace;color:var(--muted);margin:0;letter-spacing:0}.command-grid form{row-gap:10px}.command-grid form>button{height:44px;align-self:start;margin-top:16px}
@media(max-width:760px){.command-grid form>button{margin-top:0}.scrub-control{grid-template-columns:32px minmax(0,1fr) 32px}.scrub-control button{width:32px}.scrub-hint{font-size:9px}}

.voice-choice{display:grid;grid-template-columns:90px minmax(0,1fr) 80px;align-items:center;gap:12px;margin:12px 0}.voice-choice label{font:12px monospace}.voice-choice select{width:100%;min-width:0}.header-actions{flex-wrap:wrap}.voice-choice button{font-size:11px}#voiceAvailability{font:11px/1.6 monospace;color:var(--muted)}@media(max-width:600px){.voice-choice{grid-template-columns:1fr 80px;gap:7px}.voice-choice label{grid-column:1/-1}}

.transport .time-controls{display:flex;gap:4px}.transport .time-controls button{min-width:48px;padding:7px 9px;display:flex;align-items:center;justify-content:center;gap:5px;font:10px monospace}.time-controls svg{fill:currentColor;flex-shrink:0}.time-controls button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.config-panel{min-width:0}.config small{display:block;font:8px/1.4 monospace;margin-top:5px;letter-spacing:-.2px}.config button.config-blocked{border-style:dashed;color:var(--muted);background:var(--pale)}.config-feedback{font:9px/1.6 monospace;color:var(--muted);margin-top:9px;padding:8px 9px;border:1px solid var(--line);min-height:46px}.config-feedback strong{color:var(--ink);font-weight:normal}.config-feedback progress{display:block;width:100%;height:5px;margin:8px 0;accent-color:var(--ink)}.config-feedback span{font-size:8px}


.speaking-icon{display:none;align-items:center;gap:2px;height:14px;margin-left:9px;vertical-align:middle}.speaking .speaking-icon{display:inline-flex}.speaking-icon i{width:2px;height:4px;background:currentColor;animation:radio-signal .65s ease-in-out infinite alternate}.speaking-icon i:nth-child(2){animation-delay:-.2s}.speaking-icon i:nth-child(3){animation-delay:-.45s}.speaking-icon i:nth-child(4){animation-delay:-.1s}.message.speaking{background:var(--pale);box-shadow:inset 2px 0 var(--ink);padding-left:10px}.message.speaking small{color:var(--ink)}@keyframes radio-signal{to{height:14px}}@media(prefers-reduced-motion:reduce){.speaking-icon i{animation:none;height:10px}.speaking-icon i:nth-child(even){height:5px}}

/* Compact flight desk, with transport always within reach. */
body{padding-bottom:62px}footer{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);border-top:1px solid var(--ink);padding:10px max(20px,calc((100vw - 1528px)/2));min-height:56px;box-shadow:0 -3px 12px #20221f08}.transport{gap:12px}.controls{margin-top:10px}.controls>.section-heading{min-height:30px;padding:6px 12px}.command-grid{padding:10px 12px;gap:14px;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);align-items:start}.command-grid form{gap:6px 10px}.command-grid form>button{font-size:10px;padding:7px;height:38px}.scrub-control{height:38px;margin-top:5px;grid-template-columns:22px minmax(0,1fr) 22px}.scrub-control input{height:36px;font-size:18px}.scrub-control button{height:36px;width:22px}.scrub-hint{font-size:8px}.config{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.config button:first-child{grid-column:auto}.config button{padding:5px 3px;min-height:54px}.config b{margin-top:2px}.config small{margin-top:3px;font-size:7px}.config-feedback{min-height:0;margin-top:5px;padding:4px 7px;line-height:1.4;font-size:8px}.config-feedback progress{margin:4px 0}.nav-commands{padding:6px 12px;gap:6px}.nav-commands button{padding:6px 8px;font-size:9px}.nav-commands span{margin-right:4px;font-size:8px}
@media(min-width:1000px) and (min-height:700px){
header{height:74px;padding:12px 28px}.insignia{height:40px;width:40px;font-size:21px}.brand h1{font-size:25px}.brand p{font-size:9px}.header-actions{gap:12px}main{height:calc(100dvh - 136px);display:grid;grid-template-rows:34px 33px minmax(0,1fr) auto;gap:8px;padding:0 28px}.brief-strip{padding:9px 0;font-size:9px;align-items:center}.stage-strip{margin:0}.stage{padding:9px 10px;font-size:9px}.workspace{min-height:0;grid-template-columns:minmax(0,1fr) 330px}.plot-panel{display:grid;grid-template-rows:35px minmax(0,1fr) 58px 22px 65px;min-height:0}.section-heading{min-height:35px;padding:7px 12px}.chart-wrap{min-height:0}#chart{height:100%}.readout{padding:8px 10px}.readout strong{font-size:21px}.readout small{margin-bottom:3px}.profile-heading{padding:7px 12px 0}#profile{height:65px}aside{min-height:0;overflow-y:auto}#coach{padding:12px;min-height:0}#coach h2{font-size:22px;margin:7px 0}#coach p{line-height:1.5;margin:6px 0}.hint-values{padding:6px 9px;margin-top:7px;font-size:10px}#coach button[data-coach]{margin-top:8px;padding:8px}.radio-tuning{padding:8px 12px}.radio-tuning>span{margin-bottom:5px}.radio-tuning button{padding:6px 4px;font-size:11px}.clearance-card{margin:8px 12px 0;padding:7px}.clearance-card p{margin:6px 0 0}.clearance-card dl{gap:4px 6px}#log{flex:1 0 90px;min-height:90px;max-height:160px;padding:3px 12px}.message{padding:7px 0}#radioActions{padding:8px;gap:5px}#radioActions button{padding:7px}#feedback{padding:0 12px 7px;min-height:0}.controls{margin:0}.plot-tag,.plot-status{bottom:10px}.transport{margin:auto;max-width:1544px;width:100%}footer>span{white-space:nowrap;margin-right:28px}}
@media(max-width:999px){.command-grid{grid-template-columns:1fr}.config{grid-template-columns:repeat(5,minmax(0,1fr))}.config button:first-child{grid-column:auto}.config-feedback{font-size:9px}.config small{font-size:8px}.nav-commands{gap:6px}footer>span{display:none}}
@media(max-width:760px){body{padding-bottom:86px}.command-grid{padding:10px}.command-grid form{grid-template-columns:repeat(2,minmax(0,1fr))}.command-grid form>button{grid-column:1/-1;margin-top:0}.scrub-control{grid-template-columns:32px minmax(0,1fr) 32px}.scrub-control button{width:32px}.config{grid-template-columns:repeat(3,minmax(0,1fr))}.config button{min-height:54px}.transport{gap:7px;flex-wrap:wrap}.transport button{min-width:120px}.transport .time-controls button{min-width:44px;padding:7px}footer{padding:8px 12px;min-height:62px}.transport #clock,.transport #eat{font-size:9px}}

.control-utilities{display:flex;align-items:center;gap:12px}.control-utilities button{white-space:nowrap}@media(max-width:760px){.control-utilities{flex-wrap:wrap;gap:6px}.control-utilities #pilotMode{display:none}}

/* Preserve content height in the radio column; the column itself scrolls. */
aside>.section-heading,aside>.radio-tuning,aside>.clearance-card,aside>#radioActions,aside>#feedback,#coach{flex-shrink:0}#coach.debrief .results{max-height:170px;overflow-y:auto}#coach.debrief .results p{font-size:11px;line-height:1.5}#coach.debrief h2{font-size:24px}.chart-wrap{overflow:hidden}.action-cue{outline:3px solid #000;outline-offset:2px;animation:action-flash .6s steps(1,end) 3}button.action-cue{position:relative;z-index:1}@keyframes action-flash{0%{outline-color:#000}50%{outline-color:transparent}100%{outline-color:#000}}@media(prefers-reduced-motion:reduce){.action-cue{animation:none}}

/* TACAN shares the plot row, adding no desktop height. */
.chart-wrap{display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:0}.chart-wrap.tacan-hidden{grid-template-columns:minmax(0,1fr)}.chart-surface{position:relative;min-width:0;min-height:0;overflow:hidden}.tacan-panel{background:var(--paper);border-left:1px solid var(--line);padding:10px;overflow-y:auto;min-height:0}.tacan-panel[hidden]{display:none}.tacan-heading{font:10px monospace;letter-spacing:.6px}.tacan-heading small{display:block;font:7px monospace;color:var(--muted);margin-top:4px}#tacan{width:100%;height:auto;display:block;max-height:210px}.tacan-course{display:flex;align-items:center;justify-content:space-between;gap:5px;font:9px monospace}.tacan-course>div{display:flex}.tacan-course button{padding:4px 7px}.tacan-course input{width:48px;min-width:0;text-align:center;background:transparent;border:1px solid var(--line);font:14px monospace;padding:4px;appearance:textfield}.tacan-course input::-webkit-inner-spin-button{appearance:none}.tacan-buttons{display:flex;gap:5px;margin:8px 0}.tacan-buttons button{font:8px monospace;padding:6px;flex:1}.tacan-readings>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:5px 0;gap:5px}.tacan-readings span{font:8px monospace;color:var(--muted)}.tacan-readings b{font:12px monospace}.tacan-readings .nav-answer{background:var(--pale)}.tacan-help{font:9px/1.5 monospace;color:var(--muted);margin:8px 0 0}@media(max-width:1100px) and (min-width:761px){.chart-wrap{grid-template-columns:minmax(0,1fr) 185px}.tacan-panel{padding:7px}.tacan-course{font-size:8px}}@media(max-width:760px){.chart-wrap{display:block}.tacan-panel{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:15px;padding:12px}.tacan-heading{grid-column:1/-1}#tacan{grid-column:1;grid-row:2/6}.tacan-course,.tacan-buttons,.tacan-readings,.tacan-help{grid-column:2}.tacan-help{font-size:8px}.tacan-course{flex-wrap:wrap}}
.plot-panel>.section-heading{gap:6px;flex-wrap:wrap}.plot-panel>.section-heading>div{display:flex;gap:4px;flex-wrap:wrap}


#coach[hidden],#coachHeading[hidden],#stages[hidden],#configFeedback[hidden],#scrubHint[hidden],#profileLegend[hidden],#tacanHint[hidden],#tacanSketch[hidden],#tacanHelp[hidden]{display:none}@media(min-width:1000px) and (min-height:700px){main.practice-mode{grid-template-rows:34px minmax(0,1fr) auto}}

main.practice-mode .message[data-speaker="INSTRUCTOR"],main.practice-mode .message[data-speaker="BRIEF"],main.practice-mode .message[data-speaker="PILOT"]{display:none}

@media(max-width:760px){.telemetry{grid-template-columns:repeat(7,minmax(85px,1fr));overflow-x:auto}}

.config button.config-blocked:disabled{background:#deded8;color:#85877e;border:1px solid #c5c7be;opacity:1;cursor:not-allowed}.config button>*{pointer-events:none}

/* Keep the radio history scroll surface stable inside the sidebar. */
#log{flex:0 0 160px;height:160px;min-height:160px;max-height:160px;overflow-y:scroll;scrollbar-gutter:stable;overflow-anchor:none}
/* Embedded experience grows in the document flow rather than clipping controls. */

.draft-status{padding:8px 12px;border-bottom:2px solid #222;font:11px/1.5 monospace;text-align:center}.draft-status a{color:inherit}
.frame-notice{margin:2rem;font:16px/1.5 system-ui,sans-serif}
