*{box-sizing:border-box}body{color:#edf6f7;background:radial-gradient(at 50% -20%,#34454d 0,#172126 34%,#070b0d 76%);min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #ffcf58}main{max-width:1280px;margin:auto;padding:clamp(1rem,1.7vw,1.5rem) clamp(1rem,4vw,4rem) 3rem}header{background:linear-gradient(120deg,#171c20,#252c30 48%,#15191c);border:1px solid #38444a;border-radius:.55rem;flex-wrap:wrap;align-items:baseline;gap:.9rem 1.25rem;padding:.85rem 1.2rem;display:flex;box-shadow:inset 0 1px #5f696c,0 12px 25px #0005}h1{color:#f2eee3;letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:clamp(1.45rem,4vw,2.2rem)}.eyebrow{color:#71d5c0;text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.68rem;font-weight:800}.warning{color:#f6c15a;margin:0 0 0 auto;font-size:.78rem}nav{gap:.45rem;margin:.7rem 0 .9rem;display:flex}nav button,.check,.secondary{color:#d8e3dd;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(#384249,#1d252a);border:1px solid #59666c;border-radius:.25rem;padding:.62rem .9rem;font-size:.76rem;font-weight:800;box-shadow:inset 0 1px #7f8a8d,0 2px 3px #0008}nav .active,.check{color:#fff;background:linear-gradient(#2f8279,#195b58);border-color:#77d9c6}nav button:disabled,.check:disabled{cursor:not-allowed;opacity:.45;filter:saturate(.35)}button,select,input{font:inherit}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f7c45e}.layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start;gap:1.25rem;display:grid}.controls{background:linear-gradient(135deg,#22292d,#111619 65%);border:1px solid #465157;border-radius:.55rem;min-width:0;padding:1.1rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #697277,inset 0 0 26px #0008,0 14px 28px #0005}.controls:before{content:"FLIGHT CONDITION";color:#7f8b8d;letter-spacing:.16em;font-size:.52rem;position:absolute;top:.45rem;right:.7rem}.controls.challenge:before{content:"KNOWLEDGE CHECK"}h2{color:#d8e1dc;text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.76rem}label{color:#d4ddd7;gap:.38rem;margin:.75rem 0;font-size:.82rem;display:grid}output{color:#8be2d0;font-family:ui-monospace,Consolas,monospace;font-weight:800}input,select{accent-color:#e3ae4e;width:100%}select{color:#edf2ed;background:#101518;border:1px solid #586368;border-radius:.2rem;padding:.48rem}.learn-guide,.challenge-premise{color:#b8c7c2;margin:.65rem 0 .8rem;font-size:.75rem;line-height:1.45}.challenge-premise{border-left:2px solid #68767a;padding-left:.55rem}.capture-card{background:#101619;border:1px solid #3f4c51;grid-template-columns:1fr 1fr;gap:.55rem;margin:.8rem 0;padding:.7rem;font-size:.7rem;display:grid}.capture-card div{gap:.2rem;min-width:0;display:grid}.capture-card span{color:#879795;text-transform:uppercase;letter-spacing:.05em}.capture-card b{color:#a1eadb;overflow-wrap:anywhere}.capture-reset{color:#f2be56;text-underline-offset:.18em;background:0 0;border:0;grid-column:1/-1;justify-self:start;padding:.25rem 0;font-size:.7rem;font-weight:800;text-decoration:underline}.result{overflow-wrap:anywhere;background:#171e21;border-left:3px solid #e8b557;margin-top:.85rem;padding:.75rem;font-size:.86rem;box-shadow:inset 0 0 0 1px #313b3f}.correct{border-color:#69d0a9}.incorrect{border-color:#ee8b73}.result p{color:#cbd4d0;margin:.45rem 0 0;line-height:1.45}.answer-feedback strong{font-size:1rem}.challenge-status{color:#8be2d0;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #414c51;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.65rem;font:800 .76rem ui-monospace,Consolas,monospace;display:flex}.scenario-prompt{color:#e0e7e2;margin:.7rem 0;line-height:1.42}.next-question{margin-top:.65rem}.score-card{text-align:center;gap:.75rem;display:grid}.score-card p{color:#d3ddd7;margin:0}.challenge-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800;color:#8be2d0!important}.final-score{font:900 3rem ui-monospace,Consolas,monospace;color:#fff!important}.button-row{gap:.7rem;margin-top:.4rem;display:grid}.secondary{cursor:pointer}.rules{color:#cbd4d0;border-top:1px solid #394449;margin-top:.75rem;padding-top:.65rem;font-size:.78rem;line-height:1.45}.rules summary{color:#8be2d0;cursor:pointer;letter-spacing:.04em;font-weight:800}.rules p{margin:.65rem 0}.rules ul{margin:.6rem 0;padding-left:1.15rem}.rules li+li{margin-top:.45rem}.rules a{color:#f2be56;font-weight:700}.panel{background-color:#171d20;background-image:radial-gradient(circle at 10px 10px,#81898a 0 1px,#0000 1.8px),radial-gradient(circle at 100% 0,#3e474b,#0000 34%),linear-gradient(135deg,#30383b,#151a1c 48%,#252d30);background-size:28px 28px,auto,auto;border:2px solid #465055;border-radius:.65rem;grid-template-columns:repeat(3,minmax(130px,1fr));align-items:center;gap:clamp(.45rem,1.5vw,1.15rem);min-height:0;padding:clamp(.75rem,2vw,1.4rem);display:grid;box-shadow:inset 0 1px #737d80,inset 0 0 48px #000a,0 18px 36px #0007}.dial{filter:drop-shadow(0 7px 7px #0009);min-width:0}.dial-face{aspect-ratio:1;color:#111;background:radial-gradient(circle at 50% 43%,#fffdf2,#e3dfd1 73%,#bebcad);border:10px solid #090d0e;border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #6a7476,inset 0 0 0 5px #171c1d,inset 0 0 17px #9d9b8f,0 0 0 3px #5d686b}.dial-scale{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.major-tick,.minor-tick{stroke:#111819;vector-effect:non-scaling-stroke}.major-tick{stroke-width:2.2px}.minor-tick{stroke-width:1px}.dial-number{fill:#101617;text-anchor:middle;dominant-baseline:middle;font-family:ui-monospace,Consolas,monospace;font-size:8px;font-weight:900}.dial-name{text-align:center;color:#131a1a;letter-spacing:.12em;width:100%;font-size:clamp(.56rem,1.5vw,.82rem);font-weight:900;position:absolute;top:36%}.dial-name.vsi-name{text-align:left;white-space:nowrap;letter-spacing:.05em;width:50%;font-size:clamp(.45rem,1.1vw,.65rem);left:45%}.dial-scale-label{color:#c8d5d0;letter-spacing:.08em;text-align:center;margin-top:.6rem;font:800 .64rem ui-monospace,Consolas,monospace;display:block}.dial-note{color:#4e5755;letter-spacing:.06em;text-align:center;width:100%;font-size:clamp(.35rem,.8vw,.5rem);font-weight:800;position:absolute;top:58%}.vsi-direction{z-index:1;letter-spacing:.04em;font:900 clamp(.35rem,.8vw,.52rem) ui-monospace,Consolas,monospace;position:absolute;left:7%}.vsi-up{top:31%}.vsi-down{bottom:31%}.needle{transform-origin:bottom;background:#bf2b26;width:3px;height:39%;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:50%;left:calc(50% - 1.5px);box-shadow:0 0 2px #111}.hub{background:#121718;border:2px solid #454b4b;border-radius:50%;width:12px;height:12px;position:absolute;top:calc(50% - 6px);left:calc(50% - 6px);box-shadow:0 1px 2px #0007}.readout{box-sizing:border-box;text-align:center;background:#f5f2e7;border:2px solid #141a1b;border-radius:2px;width:max-content;min-width:32%;padding:.15em .45em .2em;font-family:ui-monospace,Consolas,monospace;font-size:clamp(.78rem,2vw,1.1rem);font-weight:900;line-height:1.05;position:absolute;bottom:10%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #aaa59a}.dial:not(.vsi-dial) .readout{min-width:29%;padding:.08em .4em .12em;font-size:clamp(.78rem,1.6vw,1rem);line-height:.95;bottom:calc(10px + 4%)}.dial:not(.vsi-dial) .readout small{font-size:.5em;line-height:1}.vsi-dial .readout{min-width:26%;bottom:25%;left:72%}.readout small{letter-spacing:.1em;font-size:.55em;display:block}@media (width<=700px){main{padding:1rem .8rem 2rem}header{padding:.9rem}.warning{width:100%;margin-left:0}.layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.controls{width:100%}.panel{grid-template-columns:minmax(0,310px);justify-content:center;gap:.8rem;min-height:auto;padding:.8rem}.dial-face{border-width:8px}.controls{padding:1rem}.dial-number{font-size:8px}.dial-name{font-size:.76rem}.dial-name.vsi-name{font-size:.58rem}.dial-note{font-size:.46rem}.dial-scale-label{font-size:.66rem}.readout,.dial:not(.vsi-dial) .readout{font-size:1rem}.vsi-direction{font-size:.48rem}}
