@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--navy:#101e32;--gold:#d8b773;--muted:#657080;--line:#e0e5eb;--paper:#f4f6f8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #c39232;outline-offset:4px}button{transition:background .15s,color .15s}h1,h2,h3,.brand{font-family:'Plus Jakarta Sans',Arial,sans-serif}.masthead{height:82px;padding:0 4%;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--navy)}.brand span{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:1.7px;padding-left:16px;border-left:1px solid #d5dbe2}.course-tag{font-size:12px;letter-spacing:1.6px;color:var(--muted);margin-left:auto}.review-tag{font-size:11px;letter-spacing:1.2px;border:1px solid #d5dbe2;padding:6px 9px;border-radius:4px;color:#657080}main{max-width:1580px;padding:30px 4% 24px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#8b6d35;margin:0 0 10px}h1{font-size:clamp(30px,3.1vw,47px);letter-spacing:-2px;margin:0;font-weight:800;line-height:1.15}h1 span{color:#ae873e}.heading>p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.steps{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;margin-bottom:22px}.step{min-width:0;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-right:1px solid var(--line);padding:16px 12px;color:#586476;font-size:13px;font-weight:600}.step:last-child{border:0}.step span{font-size:12px;border:1px solid #dce1e7;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0}.step[aria-current=step]{background:var(--navy);color:white}.step[aria-current=step] span{background:var(--gold);color:var(--navy);border-color:var(--gold)}.step:hover:not([aria-current=step]){background:#edf1f5}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:stretch}.engine-panel{background:#101d30;border-radius:14px;overflow:hidden;color:#e7edf7;min-width:0;border:1px solid #253247}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 0;gap:15px;font-size:11px;letter-spacing:1.4px}.view-title span{display:block;color:#90a0b7;font-size:12px;letter-spacing:0;margin-top:7px}#view-status{color:#d8b773;font-size:10px;letter-spacing:1.2px}.viewport{height:390px;position:relative;width:100%;background:radial-gradient(ellipse at 48% 55%,#233852 0%,#101d30 72%)}canvas{display:block;width:100%;height:100%;touch-action:none}.air-direction{position:absolute;bottom:10px;left:24px;right:24px;display:flex;justify-content:space-between;color:#8e9db1;font-size:9px;letter-spacing:1.6px;pointer-events:none}.air-direction span:nth-child(2){color:#80cced}#thrust-arrow{position:absolute;bottom:42px;left:28px;color:#ddbc72;font-size:13px;letter-spacing:1.5px}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;padding:4px 22px 16px;border-bottom:1px solid #2b3749;gap:12px}.viewer-bottom>span{font-size:11px;color:#99a7b9}.small-btn{background:#23334a;color:#dce5f2;border:1px solid #35455b;padding:8px 12px;border-radius:5px;font-size:12px}.small-btn:hover{background:#3a4d65}.viewer-bottom>div{display:flex;gap:7px}.controls{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding:17px 22px 15px}.play-btn{padding:9px 14px;border:0;background:#e2c78e;color:#142035;border-radius:6px;font-weight:700;font-size:13px;min-width:92px}.speed-label{font-size:12px;color:#adbbcd;display:flex;align-items:center;gap:8px}select{background:#213147;color:#e2eaf5;border:1px solid #41516a;border-radius:5px;padding:5px;font-size:12px}.toggle{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.toggle input{accent-color:#d8b773;width:15px;height:15px}.legend{display:flex;gap:19px;padding:0 23px 21px;flex-wrap:wrap;font-size:11px;color:#adbbcd;align-items:center}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%}.cold{background:#60b7fa}.core{background:#61e0cf}.hot{background:#ff9b5b}.legend-note{margin-left:auto;color:#8596ab}.lesson-panel{background:white;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;padding:28px;min-width:0}.stage-kicker{font-size:11px;font-weight:700;letter-spacing:1.7px;color:#96753b;margin:0 0 17px}.lesson-panel h2{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 18px}.description{font-size:16px;line-height:1.7;color:#536174;margin:0 0 22px}.key-box{background:#f3f6f8;border-left:3px solid var(--gold);padding:16px;margin:0 0 20px}.key-box h3{font-family:inherit;font-size:11px;letter-spacing:1.4px;margin:0 0 8px;color:#526172}.key-box p{font-size:14px;line-height:1.55;margin:0;color:#2d4058}.try{font-size:13px;color:#657080;line-height:1.6;margin:0 0 18px}.try strong{color:#24374f}.focus-button{padding:9px 13px;border:1px solid #d4dde7;border-radius:6px;background:white;font-size:13px;color:#233a55}.focus-button:hover{background:#edf2f7}.lesson-nav{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:12px}.outline-btn,.gold-btn{border-radius:6px;padding:10px 14px;font-size:13px;font-weight:700}.outline-btn{border:1px solid #d7dfe7;background:white;color:#526172}.gold-btn{border:1px solid var(--gold);background:var(--gold);color:#15243a}.gold-btn:hover{background:#cba65c}#stage-count{font-size:11px;color:#8290a2;white-space:nowrap}.below{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:18px 3px 0;color:#738093;font-size:12px;line-height:1.7}.below>p{margin:0}.below strong{font-weight:600;color:#506074}summary{cursor:pointer;color:#506074}details p{font-size:12px}.below a{color:#426b90;text-underline-offset:3px}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #6c819b;background:#18283ddf;color:#dae7f6;font-size:10px;border-radius:4px;padding:5px 7px;white-space:nowrap;pointer-events:auto}.hotspot::after{content:'';position:absolute;height:13px;width:1px;background:#768da6;left:50%;top:100%}.hotspot.active{color:#f4d48e;border-color:#c29b50;background:#25354a}#hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden}#load-state{position:absolute;inset:25%;display:grid;place-items:center;text-align:center;font-size:14px;line-height:1.6;color:#d5e1f2;background:#122034e6;padding:16px;border-radius:8px}#load-state[hidden]{display:none}.question-count{font-size:11px;letter-spacing:1px;color:#8591a2;margin:0 0 10px}.question{font-size:17px;line-height:1.5;margin:0 0 16px;font-weight:600}.answers{display:grid;gap:8px}.answer{background:#f6f8fa;border:1px solid #dce3eb;border-radius:7px;text-align:left;font-size:14px;line-height:1.4;padding:12px;color:#334960}.answer:hover:not(:disabled){border-color:#b58f45;background:#faf6ed}.answer.correct{background:#e8f5ef;border-color:#54a782;color:#236346}.answer.incorrect{background:#fff0ec;border-color:#cc8a70;color:#8b402c}.answer:disabled{opacity:1}.feedback{font-size:13px;line-height:1.6;margin:14px 0;color:#536174}.quiz-next{margin-top:5px}.score{font-size:48px;font-weight:800;letter-spacing:-2px;margin:18px 0;color:#23384f}.score span{font-size:20px;color:#8190a0}.review-list{font-size:13px;line-height:1.6;padding-left:18px;color:#536174}.review-list li{margin-bottom:10px}@media(min-width:1450px){.viewport{height:450px}.lesson-layout{grid-template-columns:minmax(0,1fr) 380px}.lesson-panel{padding:32px}}@media(max-width:1100px){.lesson-layout{grid-template-columns:minmax(0,1fr) 315px;gap:14px}.lesson-panel{padding:22px}.step{font-size:11px;gap:7px;padding:14px 8px}.step span{width:22px;height:22px}.controls{gap:11px;padding:15px}.legend{padding:0 15px 17px;gap:12px}.viewport{height:365px}.hotspot{font-size:9px}.viewer-bottom{padding:4px 15px 15px}.viewer-bottom>span{max-width:135px;line-height:1.5}.legend-note{margin-left:0}}@media(max-width:850px){.masthead{height:70px}.course-tag{display:none}.review-tag{margin-left:auto}.lesson-layout{grid-template-columns:1fr}.heading>p{display:none}.steps{grid-template-columns:repeat(4,1fr)}.step{border-bottom:1px solid var(--line);font-size:12px}.step:nth-child(4){border-right:0}.step:nth-child(n+5){border-bottom:0}.viewport{height:390px}.lesson-panel{padding:25px}.lesson-panel h2{font-size:27px}.description{max-width:70ch}.below{grid-template-columns:1fr;gap:12px}.viewer-bottom>span{max-width:none}.lesson-nav{padding-top:20px}.hotspot{font-size:10px}.controls{gap:20px}}@media(max-width:480px){main{padding:23px 14px}.masthead{padding:0 18px}.brand{font-size:21px;gap:10px}.brand span{font-size:9px;padding-left:10px}.review-tag{font-size:9px;padding:5px}.heading{margin-bottom:22px}h1{font-size:31px;letter-spacing:-1.5px}.step{font-size:10px;display:block;text-align:center;padding:10px 3px}.step span{margin:0 auto 6px;width:24px;height:24px}.steps{margin-bottom:15px}.viewport{height:290px}.viewer-top{padding:18px 16px 0}.view-title{font-size:10px}.view-title span{font-size:11px}#view-status{font-size:9px}.controls{gap:12px;padding:14px 15px}.legend{font-size:10px;gap:12px}.legend-note{width:100%;font-size:10px}.viewer-bottom{align-items:flex-start}.viewer-bottom>span{font-size:10px;max-width:125px}.small-btn{padding:7px 10px;font-size:11px}.air-direction{font-size:8px;left:15px;right:15px;letter-spacing:1px}.hotspot{font-size:8px;padding:4px}.lesson-panel{padding:23px}.description{font-size:16px}.toggle{font-size:12px}#load-state{inset:15%}.below{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

/* Compact numbered labels correspond to the lesson stages on small screens. */
.hotspot{font-size:12px}.step{font-size:12px}.legend,.toggle,.speed-label,.small-btn{font-size:12px}
@media(max-width:480px){.hotspot{font-size:0;min-width:28px;min-height:27px}.hotspot::before{content:attr(data-number);font-size:12px;font-weight:700}.hotspot.active{font-size:11px}.hotspot.active::before{display:none}.step{font-size:12px}.view-title,#view-status{font-size:11px}}


@media(max-width:360px){.steps{grid-template-columns:repeat(3,1fr)}.step{border-right:1px solid var(--line);border-bottom:1px solid var(--line)!important}.step:nth-child(3n){border-right:0}.step:nth-child(4){border-right:1px solid var(--line)}.step:last-child{border-bottom:0!important}.brand{font-size:18px;gap:8px}.brand span{font-size:8px;padding-left:8px}.masthead{gap:8px}.review-tag{font-size:8px;padding:4px}}


/* Studio lighting backdrop for the detailed cutaway. */
.viewport{background:radial-gradient(ellipse at 48% 58%,#253447 0%,#101924 55%,#0a111c 100%)}


.engine-panel+.lesson-panel a{display:inline-block;text-decoration:none}.steps:has(.step:last-child:nth-child(2)){grid-template-columns:repeat(2,1fr)}

