:root{--ink:#132c3d;--navy:#102738;--teal:#16738a;--pale:#edf5f4;--line:#d8e4e4;--orange:#e47e35;--muted:#657983;--green:#287f64}*{box-sizing:border-box}body{color:var(--ink);background:#f2f6f5;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.app-shell{background:radial-gradient(circle at 80% 0,#dfeeee 0,#0000 30%),#f3f7f6;min-height:100vh}.brand-bar{color:#fff;background:var(--navy);align-items:center;gap:12px;height:74px;padding:0 5vw;display:flex}.brand-mark{color:#bde3e8;border:2px solid #8fc8d1;border-radius:9px;place-items:center;width:43px;height:43px;font-weight:900;display:grid}.brand-bar strong,.brand-bar span{display:block}.brand-bar strong{font-size:19px}.brand-bar span{color:#9db4bf;letter-spacing:1.1px;text-transform:uppercase;margin-top:2px;font-size:9px}.mode-pill{color:#c8d5da;border:1px solid #ffffff24;border-radius:20px;margin-left:auto;padding:8px 12px;font-size:11px}.mode-pill i{background:#6cc19f;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.lesson-progress{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:220px 1fr 90px;align-items:center;gap:25px;min-height:65px;padding:12px 5vw;display:grid}.lesson-progress div:first-child span,.lesson-progress div:first-child strong{display:block}.lesson-progress div:first-child span{color:#80919a;letter-spacing:1.3px;font-size:9px;font-weight:800}.lesson-progress div:first-child strong{margin-top:3px;font-size:14px}.lesson-progress>span{color:#73868f;text-align:right;font-size:10px}.progress-line{background:#e5eded;border-radius:10px;height:5px;overflow:hidden}.progress-line i{background:var(--teal);height:100%;transition:width .35s;display:block}.exercise-grid{grid-template-columns:330px 1fr;align-items:start;gap:24px;width:min(1180px,92vw);margin:27px auto;display:grid}.scenario-card,.interaction-card{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 15px 36px #1733460c}.scenario-card{padding:22px}.label{color:var(--teal);letter-spacing:1.5px;margin:0 0 10px;font-size:9px;font-weight:900}.scenario-card h1{margin:0 0 17px;font-size:21px}.aircraft{background:var(--pale);border-radius:10px;align-items:center;gap:12px;padding:13px;display:flex}.aircraft>span{width:38px;height:38px;color:var(--teal);background:#cfe5e7;border-radius:50%;place-items:center;display:grid;transform:rotate(-25deg)}.aircraft small,.aircraft strong{display:block}.aircraft small{color:#798d96;letter-spacing:1px;font-size:8px}.aircraft strong{margin-top:4px;font-size:13px}.apron-map{background:linear-gradient(135deg,#e4ece2,#f2f1e8);border-radius:11px;height:175px;margin:17px 0;position:relative;overflow:hidden}.apron{color:#67756d;background:#cfd6d0;border:1px solid #bcc7bf;width:116px;height:68px;padding:8px;font-size:9px;position:absolute;bottom:13px;left:13px}.aircraft-dot{color:var(--orange);font-size:20px;position:absolute;bottom:15px;right:18px;transform:rotate(-16deg)}.taxiway{color:#fff;background:#abb6b2;width:90px;height:15px;padding-left:38px;font-size:9px;position:absolute;bottom:39px;left:125px}.hold{color:#846622;background:#fff;border:2px solid #d8a73c;padding:3px 5px;font-size:9px;font-weight:700;position:absolute;bottom:31px;left:202px}.runway-strip{color:#fff;background:#626a6b;border:3px solid #fff;justify-content:space-between;align-items:center;width:210px;height:34px;padding:0 8px;font-size:9px;display:flex;position:absolute;top:18px;right:-27px;transform:rotate(76deg)}dl{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 16px;display:grid;overflow:hidden}dl div{background:#fff;padding:11px}dt{color:#82939b;letter-spacing:1px;font-size:8px;font-weight:800}dd{margin:4px 0 0;font-size:12px;font-weight:800}.radio-display{text-align:center;color:#fff;background:var(--navy);border-radius:9px;padding:13px}.radio-display small,.radio-display span{color:#94adb7;letter-spacing:1px;font-size:8px;display:block}.radio-display strong{color:#bee4e9;letter-spacing:2px;margin:4px 0;font-family:monospace;font-size:24px;display:block}.safety-note{text-align:center;color:#98a5aa;text-transform:uppercase;margin:9px 0 0;font-size:8px}.interaction-card{min-height:650px;padding:34px}.briefing{text-align:center;max-width:690px;margin:55px auto 0}.briefing h2,.task-heading h2{letter-spacing:-.8px;margin:4px 0 12px;font-size:34px}.briefing>p:not(.label):not(.microcopy):not(.error-message){color:var(--muted);font-size:16px;line-height:1.6}.objective{text-align:left;border-left:4px solid var(--teal);background:var(--pale);border-radius:7px;align-items:center;gap:14px;max-width:540px;margin:27px auto;padding:17px;display:flex}.objective>span{color:#fff;background:var(--teal);border-radius:50%;flex:none;place-items:center;width:37px;height:37px;font-weight:700;display:grid}.objective small,.objective strong{display:block}.objective small{color:#74878f;letter-spacing:1px;font-size:8px}.objective strong{margin-top:4px;font-size:13px}.choice-row{justify-content:center;gap:10px;display:flex}.primary,.secondary{cursor:pointer;border-radius:8px;padding:12px 17px;font-size:12px;font-weight:800}.primary{color:#fff;background:var(--orange);border:0}.secondary{color:var(--teal);background:#fff;border:1px solid #afc7cb}.primary:disabled{opacity:.6}.microcopy{color:#91a0a6;font-size:9px}.error-message{color:#8f3e27;background:#fff0eb;border-radius:7px;max-width:570px;margin:15px auto;padding:10px;font-size:11px}.task-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.task-heading h2{font-size:27px}.status{color:#677b84;text-transform:uppercase;background:#edf1f2;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:800}.status.complete{color:#1f6a52;background:#e5f4ed}.transcript{height:285px;margin:20px 0;padding:4px 8px;overflow-y:auto}.message{border-radius:10px;max-width:78%;margin:0 0 14px;padding:13px 15px}.message span{letter-spacing:1px;font-size:8px;font-weight:900}.message p{margin:5px 0 0;font-size:14px;line-height:1.45}.message.student{color:#fff;background:var(--teal);border-bottom-right-radius:2px;margin-left:auto}.message.student span{color:#bfe2e7}.message.controller{color:#fff;background:var(--navy);border-bottom-left-radius:2px}.message.controller span{color:#8fb4be}.message.coach{color:#5b6f79;background:#eef3f3;max-width:90%}.message.coach span{color:var(--teal)}.empty-radio{color:#8c9ba1;align-content:center;place-items:center;height:100%;display:grid}.empty-radio span{color:#b8cacd;font-size:30px}.empty-radio p{font-size:12px}.help-panel{border:1px solid var(--line);background:#fafcfc;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;min-height:80px;padding:14px 15px;display:flex}.help-panel small{color:#72868f;letter-spacing:1px;font-size:8px;font-weight:900}.help-panel p{color:#435c68;margin:4px 0 0;font-size:12px}.help-panel button{color:var(--teal);cursor:pointer;background:#fff;border:1px solid #abc8cd;border-radius:6px;flex:none;padding:8px 11px;font-size:10px;font-weight:700}.help-panel button:disabled{color:#8c9a9e;cursor:default}.text-radio{background:#edf4f4;border-radius:10px;margin-top:17px;padding:16px}.text-radio label{color:#647983;margin-bottom:8px;font-size:10px;font-weight:700;display:block}.text-radio div{gap:8px;display:flex}.text-radio input{border:1px solid #bdcfd1;border-radius:7px;outline:none;flex:1;min-width:0;padding:12px 13px}.text-radio input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16738a16}.text-radio button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:7px;padding:0 16px;font-size:11px;font-weight:700}.text-radio small{color:#89999f;margin-top:7px;font-size:8px;display:block}.voice-radio{text-align:center}.ptt{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#1c7991,#125469);border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:180px;height:96px;margin:17px auto 8px;display:flex;box-shadow:0 7px #0c4051}.ptt.active{background:linear-gradient(145deg,#dd7b36,#ad4f22);transform:translateY(5px);box-shadow:0 2px #76361a}.ptt span{font-size:10px}.ptt strong{letter-spacing:.8px;margin:5px 0 3px;font-size:11px}.ptt small{color:#c7e2e7;font-size:8px}.voice-radio>p{color:#66818a;font-size:9px}.voice-radio>p i{background:#55ad86;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.completion{color:#174d3c;background:#e7f4ed;border-radius:11px;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;margin-top:22px;padding:20px;display:grid}.completion>span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.completion strong{font-size:15px}.completion p{margin:4px 0 0;font-size:11px}.completion .primary{align-self:center}@media (max-width:820px){.exercise-grid{grid-template-columns:1fr}.scenario-card{grid-template-columns:1fr 1fr;gap:12px;display:grid}.scenario-card>.label,.scenario-card>h1,.apron-map{grid-column:1/-1}.scenario-card dl{margin:0}.lesson-progress{grid-template-columns:150px 1fr}.lesson-progress>span{display:none}.interaction-card{min-height:620px}.briefing{margin-top:20px}}@media (max-width:540px){.brand-bar{padding:0 17px}.mode-pill{display:none}.lesson-progress{grid-template-columns:120px 1fr;gap:12px;padding:12px 18px}.exercise-grid{gap:13px;width:94vw;margin:13px auto}.scenario-card{display:block}.apron-map{height:130px}.scenario-card dl{margin-bottom:13px}.interaction-card{padding:22px 16px}.briefing h2{font-size:29px}.choice-row{flex-direction:column}.task-heading h2{font-size:22px}.transcript{height:250px}.message{max-width:92%}.help-panel{flex-direction:column;align-items:flex-start}.text-radio div{flex-direction:column}.text-radio button{padding:11px}.completion{grid-template-columns:42px 1fr}.completion .primary{grid-column:1/-1}}
