/* Principles of Flight & Aerodynamics */
body[data-course="pof"] .legs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
svg .pl{font:600 17px var(--mono);fill:var(--soft)}
svg .pax{font:500 14px var(--mono);fill:var(--muted)}
svg .pl.big{font:800 26px var(--disp);letter-spacing:.04em}
svg .pl.huge{font:900 44px var(--disp);letter-spacing:.03em}
svg .mint{fill:var(--mint)} svg .rose{fill:var(--rose)} svg .gold{fill:var(--gold)} svg .sky{fill:var(--sky)} svg .violet{fill:var(--violet)}
.p-p{margin:0;font-size:21px;line-height:1.55;color:var(--soft)}
.p-note{margin:0;font-size:18px;line-height:1.5;color:var(--soft)}
.p-calc{margin:10px 0 0;font:600 22px var(--mono);color:var(--gold)}

/* cover */
.p-cover-bg{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none;opacity:.8}
.p-streams path{stroke-dasharray:18 14;animation:pFlow 3s linear infinite}
@keyframes pFlow{to{stroke-dashoffset:-64}}
.p-cover .cover-grid{position:relative;z-index:2}

/* map timeline */
.p-time{display:flex;gap:6px;margin-top:30px;height:54px}
.p-time i{flex:var(--w) 1 0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-radius:12px;background:color-mix(in srgb,var(--c) 22%,transparent);border:1px solid var(--c);font:600 16px var(--mono);font-style:normal;color:var(--text)}
.p-time b{font:900 24px var(--disp);color:var(--c)}

/* generic two column */
.p-two{display:grid;grid-template-columns:960px 1fr;gap:28px;margin-top:22px}
.p-two-l{display:flex;flex-direction:column;gap:16px;min-width:0}
.p-fig{padding:16px 18px;gap:10px}
.p-fig svg{width:100%;height:auto;display:block}
.p-exp{min-height:150px}
.p-ctl{display:flex;flex-direction:column;gap:12px}
.p-quote{margin:0;padding:22px 26px;border-left:4px solid var(--gold);border-radius:0 16px 16px 0;background:rgba(233,185,73,.08);font:italic 500 25px/1.5 var(--body);color:var(--text)}

/* A1 */
.p-atm{display:grid;grid-template-columns:330px 600px 1fr;gap:24px;margin-top:22px}
.p-gas svg{width:240px;height:240px;margin:0 auto;display:block}
.p-leg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:19px;color:var(--soft)}
.p-leg i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:10px;vertical-align:-1px}
.p-leg b{color:var(--text);margin-right:6px}
.p-gas p{margin:4px 0 0;font-size:17px;color:var(--muted)}
.p-isa svg{width:100%;height:auto}
.p-isa-out{display:flex;flex-direction:column;gap:12px}
.p-isa-out>div,.p-big{padding:14px 20px;border-radius:16px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.p-isa-out span,.p-big span,.p-dr-out span{display:block;font:600 13px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.p-isa-out>div>b{font:900 38px var(--disp);color:var(--gold)}
.p-isa-out small,.p-big small{display:block;font-size:15px;color:var(--soft)}
.p-isa-out .p-sl{border-color:rgba(124,196,240,.4)}
.p-isa-out .p-sl>b{font:700 22px var(--mono);color:var(--sky)}

/* A2 */
.p-da{display:grid;grid-template-columns:780px 1fr;gap:28px;margin-top:26px}
.p-da-in{gap:24px;padding:34px}
.p-f{margin:6px 0 0;padding:16px 18px;border-radius:14px;background:#081127;font:500 18px/1.7 var(--mono);color:var(--soft)}
.p-da-out{display:flex;flex-direction:column;gap:14px}
.p-big b{font:900 56px var(--disp);color:var(--sky)}
.p-big.gold b{color:var(--gold)}
.p-bars{display:flex;flex-direction:column;gap:10px}
.p-bar{display:grid;grid-template-columns:300px 1fr 70px;align-items:center;gap:12px;font-size:17px;color:var(--soft)}
.p-bar i{height:12px;border-radius:12px;background:rgba(124,196,240,.12);overflow:hidden}
.p-bar u{display:block;height:100%;border-radius:12px;transition:width .3s}
.p-bar b{text-align:right;font:700 18px var(--mono);color:var(--text)}
.p-perf p{margin:0;font-size:18px;color:var(--soft)}

/* A3 / A4 */
.nw-cruise{animation:nwC 4s ease-in-out infinite}
@keyframes nwC{0%,100%{transform:translate(410px,250px) scale(.9)}50%{transform:translate(420px,250px) scale(.9)}}
.nw-acc{animation:nwA 2.6s cubic-bezier(.6,0,.9,.6) infinite}
@keyframes nwA{from{transform:translate(160px,330px) scale(.8)}to{transform:translate(760px,330px) scale(.8)}}
.nw-flow{stroke-dasharray:16 12;animation:pFlow 1.6s linear infinite;animation-delay:calc(var(--i) * -.2s)}
.p-venturi{margin-top:22px;padding:10px 16px}
.p-venturi svg{width:100%;height:auto}
.p-bern-row{display:grid;grid-template-columns:620px 1fr;gap:30px;align-items:center;margin-top:20px}

/* vortices & motion */
.vortex{transform-box:fill-box;transform-origin:center;animation:spin 3s linear infinite}
.vortex.rev{animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.lt-spin{animation:spin .6s linear infinite}
.lt-flow{animation:pFlow 1.2s linear infinite;animation-delay:calc(var(--i) * -.3s)}
.turb{stroke-dasharray:10 6;animation:pFlow .9s linear infinite}
.vg-v{animation:pFlow 1s linear infinite;animation-delay:calc(var(--i) * -.3s)}
.ax-anim{transform-box:view-box;transform-origin:450px 270px}
.ax-anim.pitch{animation:axP 3s ease-in-out infinite}
.ax-anim.roll{transform-origin:450px 272px;animation:axR 3s ease-in-out infinite}
.ax-anim.yaw{transform-origin:450px 260px;animation:axY 3s ease-in-out infinite}
@keyframes axP{0%,100%{transform:rotate(0)}50%{transform:rotate(-10deg)}}
@keyframes axR{0%,100%{transform:rotate(0)}50%{transform:rotate(-18deg)}}
@keyframes axY{0%,100%{transform:rotate(0)}50%{transform:rotate(12deg)}}
.p-axcard{display:flex;flex-direction:column;gap:12px}
.p-axcard .card{padding:16px 22px;gap:4px}
.p-axcard .card b{font:800 30px var(--disp);text-transform:uppercase;color:var(--gold)}
.p-axcard small{font-size:16px;color:var(--soft)}

/* B2 */
.p-dr-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.p-dr-out div{padding:14px 18px;border-radius:16px;background:rgba(233,185,73,.1);border:1px solid rgba(233,185,73,.4)}
.p-dr-out b{font:900 40px var(--disp);color:var(--gold)}

/* C4 */
.p-fl-chart svg{width:100%;height:auto}
#s-flap .p-two{grid-template-columns:900px 1fr}

/* D1 */
.p-3ax{display:flex;flex-direction:column;gap:8px}
.p-3ax div{padding:10px 16px;border-radius:12px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.p-3ax b{display:block;font-size:19px;color:var(--gold)}
.p-3ax span{font-size:16px;color:var(--soft)}

/* D4 */
.p-stalls{display:flex;flex-wrap:wrap;gap:8px}
.p-stalls span{padding:8px 12px;border-radius:10px;background:rgba(255,138,122,.08);border:1px solid rgba(255,138,122,.35);font-size:16px;color:var(--soft)}

/* D5 */
.p-cat{border-collapse:collapse;width:100%;font-size:18px}
.p-cat th{text-align:left;font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:6px 10px}
.p-cat td{padding:9px 10px;border-top:1px solid var(--line);color:var(--soft)}
.p-cat td:last-child{font-family:var(--mono);color:var(--text)}

/* E1 */
.p-regime{position:relative;display:flex;height:58px;border-radius:12px;overflow:visible;margin-top:6px}
.p-regime i{flex:var(--w) 1 0;display:flex;align-items:center;justify-content:center;font:600 14px var(--mono);font-style:normal;color:var(--navy);text-align:center;padding:0 6px}
.p-regime i:nth-child(1){background:var(--mint);border-radius:12px 0 0 12px}
.p-regime i:nth-child(2){background:var(--gold)}
.p-regime i:nth-child(3){background:var(--rose);border-radius:0 12px 12px 0}
.p-regime u{position:absolute;top:-10px;bottom:-10px;width:4px;margin-left:-2px;border-radius:4px;background:#fff;box-shadow:0 0 12px #fff;transition:left .2s}

/* E2 */
.p-shock{padding:16px 20px;border-radius:16px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.p-shock .k{font:600 13px var(--mono);letter-spacing:.14em;color:var(--sky);text-transform:uppercase}
.p-shock div{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.p-shock b{padding:8px 14px;border-radius:10px;font-size:18px}
.p-shock .up{background:rgba(255,138,122,.15);color:var(--rose)}
.p-shock .dn{background:rgba(124,196,240,.15);color:var(--sky)}


/* ---------- deck 2 JP (ppt DKPPU): list slides, chains, Q&A ---------- */
.pf-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.pf-list.c1{grid-template-columns:1fr}
.pf-list li{display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:start;padding:22px 26px;border-radius:16px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.pf-list li i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font:900 22px var(--disp);font-style:normal;background:rgba(233,185,73,.16);color:var(--gold)}
.pf-list li span{font-size:25px;line-height:1.5;color:var(--soft)}
.pf-list li span b{color:var(--text)}
.pf-arr{color:var(--gold);font-weight:700;padding:0 2px}
.pf-alert{display:flex;gap:16px;align-items:center;margin-top:22px;padding:18px 24px;border-radius:16px;background:rgba(255,138,122,.1);border:1px solid rgba(255,138,122,.5)}
.pf-alert b{flex:none;font:900 18px var(--disp);letter-spacing:.08em;color:var(--rose)}
.pf-alert span{font-size:23px;line-height:1.45;color:var(--text)}
.pf-chains{display:flex;flex-direction:column;gap:14px;margin-top:26px}
.pf-chain{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pf-chain span{padding:14px 22px;border-radius:12px;background:rgba(15,29,61,.9);border:1px solid var(--line);font:800 24px var(--disp);letter-spacing:.04em;color:var(--text)}
.pf-chain span+span::before{content:"→";color:var(--gold);margin-right:10px;font-weight:900}
.pf-chain span:first-child{color:var(--gold)}
.pf-map{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:22px}
.pf-map .h-map-c{min-height:190px;padding:18px 16px;gap:6px}.pf-map .h-map-c span{font-size:64px}.pf-map .h-map-c b{font-size:20px}.pf-map .h-map-c small{font-size:13px}
.pf-fig{margin-top:14px;padding:12px 18px}.pf-fig svg{width:100%;max-width:860px;height:auto;display:block;margin:0 auto}
.pf-qas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin-top:22px}
.pf-qa{border-radius:14px;background:rgba(15,29,61,.85);border:1px solid var(--line);overflow:hidden}
.pf-qa summary{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;font-size:22px;line-height:1.4;color:var(--text);list-style:none}
.pf-qa summary::-webkit-details-marker{display:none}
.pf-qa summary i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font:900 17px var(--disp);font-style:normal;background:rgba(124,196,240,.14);color:var(--sky)}
.pf-qa[open] summary{border-bottom:1px solid var(--line)}
.pf-qa p{margin:0;padding:12px 18px 16px 74px;font-size:20px;line-height:1.45;color:var(--mint)}
.pf-sum{grid-template-columns:repeat(6,minmax(0,1fr))}.pf-sum .card p{font-size:16.5px}
.pdf-mode .pf-qa p{display:block}.pdf-mode .pf-qa summary::after{content:""}
