/* Basic Instrument Advance (WIHH) */
body[data-course="ia2"] .legs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.slide .rose{color:var(--rose)} .slide .mint{color:var(--mint)} .slide .gold{color:var(--gold)} .slide .sky{color:var(--sky)} .slide .violet{color:var(--violet)}
svg .rose{fill:var(--rose)} svg .mint{fill:var(--mint)} svg .gold{fill:var(--gold)} svg .sky{fill:var(--sky)} svg .violet{fill:var(--violet)}
.title.t-sm{font-size:72px}
.grid3.x-obj4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.x-obj4 .card{padding:30px 28px}
.x-play{margin-left:auto!important;background:rgba(233,185,73,.12)!important;border-color:rgba(233,185,73,.6)!important;color:var(--gold)!important}
.x-play:hover{background:var(--gold)!important;color:var(--navy)!important}

/* range */
.x-rng{display:grid;grid-template-columns:200px 1fr 150px;align-items:center;gap:16px;font:600 17px var(--mono);letter-spacing:.04em;color:var(--soft)}
.x-rng.sm{grid-template-columns:120px 1fr 110px}
.x-rng b{font:700 20px var(--mono);color:var(--gold);text-align:right}
.x-rng input{appearance:none;-webkit-appearance:none;width:100%;height:8px;border-radius:8px;background:rgba(124,196,240,.25);outline:none;cursor:pointer}
.x-rng input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--gold);border:4px solid var(--navy);box-shadow:0 0 0 2px var(--gold)}
.x-rng input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gold);border:4px solid var(--navy)}

/* cover */
.x-cover-chart{position:absolute!important;right:-40px;top:0;bottom:0;width:1300px;opacity:.16;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);filter:invert(1) hue-rotate(180deg) saturate(.6)}
.x-cover-chart img{width:100%;height:100%;object-fit:cover}
.x-cover-bg{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none}
.active .x-cover-route{transition:stroke-dashoffset 3.5s 1s var(--ease);stroke-dashoffset:0}
.x-cover-wp{opacity:.8}

/* tokens */
.x-tokline{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding:22px 24px;border-radius:20px;background:#081127;border:1px solid rgba(124,196,240,.25)}
.x-tokline.sm{gap:8px;padding:16px 18px;margin-top:20px}
.x-tok{font:600 34px var(--mono);letter-spacing:.02em;padding:6px 12px;border-radius:10px;border:2px solid transparent;background:rgba(234,240,250,.05);color:var(--text);cursor:pointer;transition:all .2s;--c:var(--soft)}
.x-tokline.sm .x-tok{font-size:22px;padding:5px 10px}
.x-tok:hover{border-color:var(--c)}
.x-tok.on{background:var(--c);color:var(--navy);border-color:var(--c);transform:translateY(-3px);box-shadow:0 10px 24px -10px var(--c)}
.x-tok.hd{--c:#8FA1C2}.x-tok.wind{--c:var(--sky)}.x-tok.vis{--c:var(--mint)}.x-tok.wx{--c:var(--rose)}.x-tok.cld{--c:#C9D6EA}.x-tok.tmp{--c:#F5A97F}.x-tok.qnh{--c:var(--gold)}.x-tok.tr{--c:var(--violet)}.x-tok.rmk{--c:#F7C6E0}
.x-tok.tg{border-bottom:2px dashed var(--violet);border-radius:10px 10px 4px 4px}
.x-tok{border-bottom-color:color-mix(in srgb,var(--c) 60%,transparent)}

/* A1 day */
.x-day{display:grid;grid-template-columns:1040px 1fr;gap:30px;margin-top:26px}
.x-day-sky svg{width:100%;height:auto;border-radius:22px;border:1px solid rgba(124,196,240,.25);display:block}
.x-day-sky svg *{transition:all 1s var(--ease)}
.x-day-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.x-day-tabs button{font-size:15px!important;padding:8px 12px!important}
.x-raw{padding:14px 18px;border-radius:16px;background:#081127;border:1px solid rgba(124,196,240,.25)}
.x-raw .k{font:600 13px var(--mono);letter-spacing:.16em;color:var(--sky);text-transform:uppercase}
.x-raw code{display:block;margin-top:6px;font:600 19px/1.4 var(--mono);color:var(--gold-hi)}
.x-day-note{padding:20px 24px}
.x-day-note p{margin:0;font-size:20px;line-height:1.5;color:var(--soft)}
.x-threats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.x-threats span{padding:10px 14px;border-radius:12px;background:rgba(255,138,122,.08);border:1px solid rgba(255,138,122,.3);font-size:15px;color:var(--soft)}
.x-threats b{display:block;color:var(--rose);font-size:16px}

/* A2 decoder */
.x-dec{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}
.x-dec-exp{min-height:400px;padding:34px 38px}
.x-dec-exp h3{margin:0;font:800 46px/1.1 var(--disp);text-transform:uppercase;color:var(--gold)}
.x-dec-exp p{margin:0;font-size:26px;line-height:1.5;color:var(--soft)}
.x-dec-sum{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.x-dec-sum div{padding:18px 22px;border-radius:14px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.x-dec-sum span{display:block;font:600 13px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.x-dec-sum b{font-size:25px}
.x-dec-sum .cat b{font:900 34px var(--disp);letter-spacing:.04em}
.cat.VFR{border-color:var(--mint)}.cat.VFR b{color:var(--mint)}
.cat.MVFR{border-color:var(--sky)}.cat.MVFR b{color:var(--sky)}
.cat.IFR{border-color:var(--rose)}.cat.IFR b{color:var(--rose)}
.cat.LIFR{border-color:#E06CF0}.cat.LIFR b{color:#E06CF0}

/* A3 TAF */
.x-taf{position:relative;margin-top:26px;padding:44px 24px 18px 150px;border-radius:20px;background:rgba(15,29,61,.85);border:1px solid var(--line)}
.x-taf-axis{position:absolute;left:150px;right:24px;top:10px;height:30px}
.x-taf-axis span,.x-an-ax span{position:absolute;transform:translateX(-50%);font:600 14px var(--mono);color:var(--soft);text-align:center;line-height:1.1}
.x-taf-axis small{display:block;font-size:11px;color:var(--muted)}
.x-taf-row{position:relative;height:54px;margin-top:8px}
.x-taf-lab{position:absolute;left:-130px;top:14px;font:600 15px var(--mono);letter-spacing:.1em;color:var(--muted)}
.x-taf-bar{position:relative;height:100%}
.x-taf-bar i{position:absolute;top:4px;bottom:4px;border-radius:10px;display:flex;align-items:center;padding:0 14px;font:600 16px var(--mono);font-style:normal;white-space:nowrap;overflow:hidden;color:var(--navy)}
.b-base{background:var(--sky)}.b-after{background:#C9B28A}.b-chg{background:linear-gradient(90deg,var(--sky),#C9B28A)}
.b-tempo{background:var(--rose)}.b-becmg{background:var(--violet)}
.x-taf-eta{position:absolute;top:36px;bottom:6px;margin-left:126px;width:0;transition:left .2s}
.x-taf-eta i{position:absolute;top:0;bottom:0;left:-2px;width:4px;border-radius:4px;background:var(--gold);box-shadow:0 0 18px var(--gold)}
.x-taf-eta b{position:absolute;bottom:-34px;left:0;transform:translateX(-50%);white-space:nowrap;font:700 15px var(--mono);color:var(--gold);background:var(--navy);padding:2px 8px;border-radius:8px}
.x-taf-ctl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px}
.x-taf-ctl .x-rng{grid-column:1/-1}
.x-taf-now p,.x-taf-exp p{margin:0;font-size:20px;line-height:1.5;color:var(--soft)}

/* A4 SIGMET */
.x-sg{display:grid;grid-template-columns:1fr 760px;gap:28px;margin-top:4px}
.x-sg-left{display:flex;flex-direction:column;gap:16px;min-width:0}
.x-sg-exp p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}
.x-sg-act{padding:18px 22px;border-radius:16px;background:rgba(233,185,73,.1);border:1px solid rgba(233,185,73,.4);font-size:19px;line-height:1.5;color:var(--soft)}
.x-sg-map{display:flex;flex-direction:column;gap:10px}
.x-sg-map svg{width:760px;height:520px;border-radius:20px;border:1px solid rgba(124,196,240,.25);margin-top:20px}
.sg-grid{font:500 13px var(--mono);fill:var(--muted)}
.sg-land{font:800 26px var(--disp);fill:rgba(234,240,250,.25);letter-spacing:.2em}
.sg-ap{font:700 15px var(--mono);fill:var(--text)}
.sg-rl{font:600 15px var(--mono);fill:var(--gold)}

/* A5 altimetry */
.x-alt{display:grid;grid-template-columns:840px 1fr;gap:28px;margin-top:22px}
.x-alt svg{width:100%;height:auto;display:block}
.x-alt-l svg{height:520px}
.al-ax{font:500 14px var(--mono);fill:var(--muted)}
.al-l{font:600 16px var(--mono);fill:var(--soft)}
.al-box{font:700 20px var(--mono);fill:var(--gold-hi)}
.x-alt-r .x-rng{grid-template-columns:230px 1fr 110px;font-size:15px}
.x-alt-out{margin:4px 0 0;font-size:21px;line-height:1.5;color:var(--soft)}

/* cases */
.x-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:40px}
.x-case{position:relative;text-align:left;display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:24px;background:linear-gradient(160deg,rgba(20,39,82,.92),rgba(13,26,56,.92));border:1px solid rgba(124,196,240,.2);color:var(--text);cursor:pointer;min-height:560px;transition:border-color .3s}
.x-case.on{border-color:var(--gold)}
.x-case-n{font:900 64px/1 var(--disp);color:var(--gold)}
.x-case>b{font:800 34px var(--disp);text-transform:uppercase}
.x-case p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}
.x-case code{font:600 18px var(--mono);color:var(--gold-hi)}
.x-case-a{margin-top:auto;padding:18px 20px;border-radius:16px;background:rgba(91,227,168,.1);border:1px solid rgba(91,227,168,.4);font-size:19px;line-height:1.5;color:var(--soft);opacity:0;transform:translateY(12px);transition:all .5s var(--ease);filter:blur(4px)}
.x-case-a b{color:var(--mint)}
.x-case:not(.open)::after{content:'Tap for the answer';position:absolute;left:30px;bottom:30px;font:600 15px var(--mono);letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.x-case.open .x-case-a{opacity:1;transform:none;filter:none}

/* B1 CRAFT */
.x-craft{display:grid;grid-template-columns:1fr 640px;gap:30px;margin-top:22px}
.x-radio{display:flex;flex-direction:column;gap:16px;padding:26px 30px;border-radius:24px;background:#081127;border:1px solid rgba(124,196,240,.25)}
.x-radio-head{display:flex;align-items:center;gap:14px;font:700 20px var(--mono);color:var(--sky)}
.x-led{width:14px;height:14px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);animation:xBlink 1.2s infinite}
@keyframes xBlink{50%{opacity:.3}}
.x-wave{width:200px;height:40px;margin-left:auto}
.x-radio-txt{margin:0;font-size:30px;line-height:1.55;color:var(--muted);min-height:360px}
.x-radio-txt span{transition:color .3s;border-radius:6px}
.x-radio-txt span.on{color:var(--text);background:rgba(233,185,73,.16)}
.x-radio-txt span.done{color:var(--soft)}
.x-radio-txt span[data-l].done{text-decoration:underline;text-decoration-color:rgba(233,185,73,.5);text-underline-offset:6px}
.x-radio-rb{padding:16px 20px;border-radius:16px;background:rgba(91,227,168,.08);border:1px solid rgba(91,227,168,.35);font-size:19px;line-height:1.5;color:var(--soft);opacity:0;transform:translateY(10px);transition:all .5s}
.x-radio-rb.on{opacity:1;transform:none}
.x-radio-rb b{display:block;font:600 13px var(--mono);letter-spacing:.16em;color:var(--mint);text-transform:uppercase;margin-bottom:4px}
.x-pad{position:relative;padding:60px 34px 30px;border-radius:18px;background:#F4EFD9;color:#1c2433;box-shadow:0 30px 60px -30px #000;transform:rotate(1.2deg);background-image:repeating-linear-gradient(180deg,transparent 0 47px,rgba(70,110,170,.25) 47px 48px)}
.x-pad-clip{position:absolute;top:-16px;left:50%;width:180px;height:40px;margin-left:-90px;border-radius:10px;background:linear-gradient(#b8c2d0,#6c7889)}
.x-pad-row{display:grid;grid-template-columns:62px 1fr;align-items:center;column-gap:16px;padding:18px 0;border-bottom:2px solid rgba(28,36,51,.15)}
.x-pad-row>span{grid-row:1/3;width:56px;height:56px;border-radius:12px;display:grid;place-items:center;font:900 36px var(--disp);background:#1c2433;color:#F4EFD9;transition:all .3s}
.x-pad-row small{font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(28,36,51,.55)}
.x-pad-row i{font:700 38px/1.15 'Caveat',cursive;font-style:normal;color:#1d3fb0;min-height:44px}
.x-pad-row.on>span{background:var(--gold);color:#1c2433;transform:scale(1.08)}
.x-pad-row.done>span{background:#2f8f5f}
.x-pad-x{position:absolute;right:26px;bottom:20px;font:700 40px 'Caveat',cursive;color:#2f8f5f;opacity:0;transform:scale(.6) rotate(-8deg);transition:all .5s}
.x-pad-x.on{opacity:1;transform:rotate(-8deg)}
.x-pad-x::after{content:'✓ read back'}

/* B2 readback */
.x-rb{display:grid;grid-template-columns:1fr 760px;gap:30px;margin-top:24px}
.x-rb-l{display:flex;flex-direction:column;gap:18px}
.x-chat{display:flex;flex-direction:column;gap:16px;min-height:470px}
.x-msg{display:flex;gap:14px;align-items:flex-start;opacity:0;transform:translateY(14px);transition:all .45s var(--ease)}
.x-msg.in{opacity:1;transform:none}
.x-msg span{flex:none;width:86px;padding:6px 0;text-align:center;border-radius:10px;font:700 14px var(--mono);letter-spacing:.12em}
.x-msg p{margin:0;padding:14px 20px;border-radius:16px;font-size:23px;line-height:1.45;background:rgba(15,29,61,.9);border:1px solid var(--line);color:var(--soft)}
.x-msg.atc span{background:var(--sky);color:var(--navy)}
.x-msg.pil{flex-direction:row-reverse}.x-msg.pil span{background:var(--gold);color:var(--navy)}
.x-msg.pil p{background:rgba(233,185,73,.1);border-color:rgba(233,185,73,.4)}
.x-msg.sys span{background:var(--rose);color:var(--navy)}
.x-msg.sys p{background:rgba(255,138,122,.1);border-color:rgba(255,138,122,.4)}
.x-rb-lesson{padding:18px 22px;border-radius:16px;background:rgba(91,227,168,.08);border:1px solid rgba(91,227,168,.35);font-size:20px;line-height:1.5;color:var(--soft);opacity:0;transition:opacity .5s}
.x-rb-lesson.on{opacity:1}
.x-rbg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.x-rbi{text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:rgba(15,29,61,.85);border:1px solid var(--line);color:var(--text);cursor:pointer;min-height:160px;transition:all .25s}
.x-rbi b{font-size:22px}
.x-rbi small{font-size:17px;line-height:1.35;color:var(--muted);opacity:0;transition:opacity .3s}
.x-rbi.on{border-color:var(--mint);background:rgba(91,227,168,.1)}
.x-rbi.on small{opacity:1;color:var(--soft)}
.x-rbi.on b::before{content:'✓ ';color:var(--mint)}
.x-rb-ph{margin:6px 0 0;font-size:19px;line-height:1.5;color:var(--soft)}

/* B3 lost comms */
.x-lc{display:grid;grid-template-columns:1fr 800px;gap:30px;margin-top:24px}
.x-lc-l{display:flex;flex-direction:column;gap:18px}
.x-lc-card{min-height:470px}
.x-lc-card h3{margin:0;font:800 36px var(--disp);text-transform:uppercase;color:var(--gold)}
.x-lc-card p{margin:0;font-size:21px;color:var(--soft)}
.x-ol{margin:0;padding-left:28px;display:flex;flex-direction:column;gap:10px;font-size:22px;line-height:1.45;color:var(--soft)}
.x-ol li::marker{color:var(--gold);font-weight:700}
.x-lc-r svg{width:100%;height:auto}
.lc-xpdr{font:600 120px var(--mono);fill:#FFB347;letter-spacing:.1em}
.lc-xl{font:700 20px var(--mono);fill:var(--muted);letter-spacing:.3em}
.lc-l{font:600 16px var(--mono);fill:var(--soft)}
.lc-ax{font:500 14px var(--mono);fill:var(--muted)}
.lc-big{font:900 54px var(--disp)}
.lc-n{font:700 28px var(--body);fill:var(--text)}
.lc-row{opacity:0;animation:xIn .5s var(--ease) forwards;animation-delay:calc(var(--i) * .25s)}
@keyframes xIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1}}
.lc-row{transform-box:fill-box}
.lc-draw{transition:stroke-dashoffset 2.4s var(--ease)}
.lc-draw.on{stroke-dashoffset:0}
.lc-blink{animation:xBlink 1s infinite}

/* C1 preflight */
.x-pf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:34px}
.x-pfc{position:relative;text-align:left;display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:20px;background:linear-gradient(160deg,rgba(20,39,82,.92),rgba(13,26,56,.92));border:1px solid rgba(124,196,240,.2);color:var(--text);cursor:pointer;min-height:310px;transition:all .3s}
.x-pfc span{width:58px;height:44px;border-radius:12px;display:grid;place-items:center;font:700 16px var(--mono);background:rgba(124,196,240,.15);color:var(--sky)}
.x-pfc b{font-size:27px}
.x-pfc small{font-size:19px;line-height:1.45;color:var(--soft)}
.x-pfc em{position:absolute;right:18px;top:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;border:2px solid var(--line);color:transparent;transition:all .3s}
.x-pfc.on{border-color:var(--mint);background:rgba(91,227,168,.08)}
.x-pfc.on em{background:var(--mint);border-color:var(--mint);color:var(--navy)}
.x-pf-bar{display:grid;grid-template-columns:240px 1fr 100px;align-items:center;gap:18px;margin-top:30px;font:600 17px var(--mono);color:var(--soft)}
.x-pf-bar i{height:14px;border-radius:14px;background:rgba(124,196,240,.15);overflow:hidden}
.x-pf-bar u{display:block;height:100%;width:0;background:var(--mint);transition:width .5s}
.x-pf-bar b{color:var(--mint);font-size:22px;text-align:right}

/* C2 fuel */
.x-fuel{display:grid;grid-template-columns:760px 1fr;gap:28px;margin-top:24px}
.x-fuel-in{gap:34px;padding:36px}
.x-fuel-stack{position:relative;display:flex;height:84px;border-radius:14px;background:rgba(124,196,240,.08);margin-top:14px}
.x-fuel-stack i{height:100%;transition:width .4s}
.x-fuel-stack i:first-child{border-radius:14px 0 0 14px}
.x-fuel-stack u{position:absolute;top:-14px;bottom:-14px;width:4px;margin-left:-2px;background:var(--gold);transition:left .4s;border-radius:4px}
.x-fuel-stack u span{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font:700 14px var(--mono);color:var(--gold);white-space:nowrap;text-decoration:none}
.x-fuel-tab{display:flex;flex-direction:column;gap:6px;margin-top:20px}
.x-fuel-tab div{display:grid;grid-template-columns:18px 1fr 120px;align-items:center;gap:12px;font-size:22px;color:var(--soft);padding:7px 0;border-bottom:1px solid var(--line)}
.x-fuel-tab i{width:16px;height:16px;border-radius:4px}
.x-fuel-tab b{text-align:right;font:600 20px var(--mono);color:var(--text)}
.x-fuel-tab .tot{grid-template-columns:1fr 160px;border:none;margin-top:6px}
.x-fuel-tab .tot span{font-weight:700;color:var(--text)}
.x-fuel-tab .tot b{color:var(--gold);font-size:26px}
.x-fuel-verdict{margin:6px 0 0;font-size:22px;color:var(--soft)}
.x-fuel-verdict b{font:900 30px var(--disp);letter-spacing:.06em;margin-right:8px}

/* C3 gradient */
.x-gr{display:grid;grid-template-columns:1040px 1fr;gap:28px;margin-top:24px}
.x-gr-fig svg{width:100%;height:auto}
.gr-ax{font:500 14px var(--mono);fill:var(--muted)}
.gr-l{font:600 16px var(--mono);fill:var(--soft)}
.x-gr-ctl{gap:22px}
.x-gr-ctl .x-rng{grid-template-columns:1fr;gap:8px}
.x-gr-ctl .x-rng b{text-align:left;font-size:26px}
.x-gr-out{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.x-gr-out div{padding:16px 18px;border-radius:16px;background:rgba(233,185,73,.1);border:1px solid rgba(233,185,73,.4)}
.x-gr-out span{display:block;font:600 13px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.x-gr-out b{font:900 46px var(--disp);color:var(--gold)}
.x-gr-f{margin:0;font:500 17px/1.6 var(--mono);color:var(--soft)}
.x-gr-note{margin:0;font-size:20px}

/* C4 alternate */
.x-an{display:grid;grid-template-columns:1fr 640px;gap:28px;margin-top:26px}
.x-an-bar{position:relative;height:96px;border-radius:14px;background:rgba(124,196,240,.08);margin-top:12px}
.x-an-bar i{position:absolute;top:8px;bottom:8px;display:flex;align-items:center;padding:0 10px;font:600 14px var(--mono);font-style:normal;white-space:nowrap;overflow:hidden;color:var(--navy)}
.x-an-bar i.ok{background:rgba(91,227,168,.6)}
.x-an-bar i.bad{background:rgba(255,138,122,.85)}
.x-an-bar u{position:absolute;top:-6px;bottom:-6px;border:3px solid var(--gold);border-radius:10px;background:rgba(233,185,73,.15);transition:all .2s}
.x-an-ax{position:relative;height:24px;margin-top:6px}
.x-an-chk{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.x-an-chk div{padding:16px 18px;border-radius:16px;border:1px solid}
.x-an-chk .ok{background:rgba(91,227,168,.08);border-color:rgba(91,227,168,.45)}
.x-an-chk .bad{background:rgba(255,138,122,.1);border-color:rgba(255,138,122,.5)}
.x-an-chk span{display:block;font:600 13px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.x-an-chk b{font-size:27px}
.x-123{display:grid;gap:10px}
.x-123 div{display:flex;align-items:center;gap:18px;padding:10px 16px;border-radius:14px;background:rgba(15,29,61,.85);border:1px solid var(--line);transition:all .3s}
.x-123 div.bad{border-color:var(--rose);background:rgba(255,138,122,.1)}
.x-123 b{font:900 46px/1 var(--disp);color:var(--gold);width:40px;text-align:center}
.x-123 span{font-size:23px;color:var(--soft)}
.x-an-r p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}
.x-an-v{font-size:22px!important}

/* chart viewer */
.x-cv-wrap{display:grid;grid-template-columns:1000px 1fr;gap:28px;margin-top:22px}
.cv{position:relative;width:1000px;height:707px}
.cv-frame{position:absolute;inset:0;overflow:hidden;border-radius:18px;background:#fff;border:1px solid rgba(124,196,240,.35);cursor:grab;touch-action:none;box-shadow:0 30px 60px -30px #000}
.cv-frame.grab{cursor:grabbing}
.cv-zoom{position:absolute;left:0;top:0;width:100%;aspect-ratio:2200/1555;transform-origin:0 0}
.cv-zoom img{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.cv-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cv-spot{position:absolute;opacity:0;border-radius:6px;box-shadow:0 0 0 4000px rgba(6,13,31,.55),0 0 0 3px var(--gold) inset;transition:all .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.cv-tools{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;z-index:2}
.cv-b{min-width:44px;height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(124,196,240,.4);background:rgba(11,22,48,.88);color:var(--text);font:700 22px var(--body);cursor:pointer}
.cv-b.wide{font-size:15px;font-family:var(--mono);letter-spacing:.06em}
.cv-b:hover{border-color:var(--gold);color:var(--gold)}
.x-cv-side{display:flex;flex-direction:column;gap:16px;min-width:0;height:707px}
.x-cv-list{display:flex;flex-wrap:wrap;gap:8px;max-height:330px;overflow:auto;padding-right:4px}
.cv-h,.ia-t,.br-t{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:12px;border:1px solid rgba(124,196,240,.25);background:rgba(15,29,61,.85);color:var(--soft);font:600 16px var(--body);cursor:pointer;transition:all .25s}
.cv-h span,.ia-t span,.br-t span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:700 14px var(--mono);background:rgba(124,196,240,.15);color:var(--sky)}
.cv-h:hover,.ia-t:hover,.br-t:hover{border-color:var(--gold)}
.cv-h.on,.ia-t.on,.br-t.on{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.cv-h.on span,.ia-t.on span,.br-t.on span{background:var(--navy);color:var(--gold)}
.x-cv-exp{flex:1;min-height:0}
.x-cv-exp p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}

/* routes */
.rt-line{fill:none;stroke:#E9B949;stroke-width:calc(7px * var(--k,1));stroke-linejoin:round;stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.2,1)}
.rt-line.ghost{stroke:rgba(233,185,73,.25);transition:none}
.rt-line.old{stroke:#FF8A7A;stroke-dasharray:14 10;opacity:.85}
.rt-old-l{font:700 34px var(--mono);fill:#d4483a;paint-order:stroke;stroke:#fff;stroke-width:6px}
.rt-wp{fill:#fff;stroke:#E9B949;stroke-width:4}
.rt-wp.st{fill:#E9B949}
.rt-ac-c{fill:rgba(255,215,122,.35);stroke:#FFD77A;stroke-width:3}
.rt-ac-c.solo{fill:#FFD77A;stroke:#0B1630;stroke-width:4}
.rt-ac-p{stroke:#0B1630;stroke-width:3;fill:none;stroke-linecap:round}
.x-legs{display:flex;flex-direction:column;gap:3px;flex:1 1 0;min-height:0;overflow:auto}
.x-leg{display:grid;grid-template-columns:1.3fr .7fr .8fr .7fr 1.1fr;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid transparent;background:rgba(15,29,61,.7);color:var(--soft);font:500 17px var(--mono);text-align:left;cursor:pointer;transition:all .25s}
.x-legs.spd .x-leg{grid-template-columns:1.2fr .6fr .7fr .6fr 1fr .7fr}
.x-leg.hd{background:none;cursor:default;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:2px 12px}
.x-leg b{color:var(--text);font-size:18px}
.x-leg .x-ptc{color:var(--violet);font-weight:700}
.x-leg.past{opacity:.6}
.x-leg.on{border-color:var(--gold);background:rgba(233,185,73,.14)}
.x-leg-note{margin:6px 0 0;font-size:17px;line-height:1.45;color:var(--soft)}
.cn{font:700 18px var(--mono);color:var(--mint);padding:0 3px;text-decoration-thickness:2px}
.cn.u{border-bottom:2px solid currentColor}
.cn.o{border-top:2px solid currentColor}
.x-prof{width:100%;height:auto;flex:none;border-radius:14px;background:rgba(8,17,39,.8);border:1px solid var(--line)}
.pf-n{font:600 11px var(--mono);fill:var(--muted)}
.pf-c{font:700 12px var(--mono)}
.pf-l{font:700 13px var(--mono)}
.pf-line{fill:none;stroke:rgba(233,185,73,.7);stroke-width:2.5;stroke-dasharray:6 4}
.pf-dot{fill:#FFD77A;stroke:#0B1630;stroke-width:3}

/* D3 coding */
.x-code{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}
.x-cons-row{display:grid;grid-template-columns:200px 1fr 220px;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.x-cons-row b{display:block;font-size:24px}
.x-cons-row small{font-size:17px;color:var(--muted)}
.x-cons-row code{color:var(--gold-hi);font-family:var(--mono)}
.x-cn{display:flex;justify-content:center;padding:12px;border-radius:12px;background:#fff}
.x-cn span{font:700 30px var(--body);color:#111;padding:0 4px}
.x-cn .u{border-bottom:3px solid #111}
.x-cn .o{border-top:3px solid #111}
.x-cons-row svg{width:220px;height:90px;border-radius:10px;background:rgba(8,17,39,.8)}
.x-cn-ac{stroke-dasharray:300;stroke-dashoffset:300}
.active .x-cn-ac{animation:xDraw 2s .6s forwards}
@keyframes xDraw{to{stroke-dashoffset:0}}
.x-pt svg{width:100%;height:auto;border-radius:14px;background:rgba(8,17,39,.8);margin-top:10px}
.x-pt p{margin:0;font-size:21px;line-height:1.5;color:var(--soft)}
.pt-l{font:700 18px var(--mono);fill:var(--text)}
.pt-lab{font:700 18px var(--mono);fill:var(--gold)}
.pt-draw{transition:stroke-dashoffset 1.5s var(--ease)}
.pt-draw.on{stroke-dashoffset:0}

/* D5 hold */
.x-hold{display:grid;grid-template-columns:760px 1fr;gap:28px;margin-top:22px}
.x-hold-fig{padding:16px}
.x-hold-fig svg{width:100%;height:auto}
.x-hold-side{display:flex;flex-direction:column;gap:14px}
.x-hold-inset{width:330px;height:210px;flex:none;border-radius:14px;background-color:#fff;background-repeat:no-repeat;border:2px solid var(--gold)}
.x-hold-info{padding:18px 22px}.x-hold-info p{margin:0}
.x-hold-info{font-size:20px;line-height:1.5;color:var(--soft)}
.x-hold-info .cn{color:var(--mint)}
.x-hold-side .x-rng{grid-template-columns:200px 1fr 80px}
.x-hold-entry{padding:16px 20px;border-radius:16px;background:rgba(15,29,61,.85);border:1px solid var(--line);font-size:19px;line-height:1.5;color:var(--soft)}
.x-hold-entry b{font:900 32px var(--disp);text-transform:uppercase;display:block}
.hd-fix{font:800 22px var(--mono);fill:var(--gold)}
.hd-l{font:600 16px var(--mono);fill:var(--muted)}
.hd-entry{transition:stroke-dashoffset 1.6s var(--ease)}
.hd-entry.on{stroke-dashoffset:0}

/* D6 via */
.x-via{display:grid;grid-template-columns:1fr 990px;gap:26px;margin-top:22px}
.x-via-l{display:flex;flex-direction:column;gap:14px;min-width:0}
.x-via-l .h-tabs button{font-size:15px!important;padding:8px 12px!important}
.x-via-ph p{margin:0;font-size:21px;line-height:1.45;color:var(--text)}
.x-via-svg{width:100%;height:auto;border-radius:14px;background:rgba(8,17,39,.8);border:1px solid var(--line)}
.x-via-note{margin:0;font-size:18px;line-height:1.5;color:var(--soft)}
.cv.x-via-cv{width:990px;height:700px}

/* E2 IAP */
.x-iap{display:grid;grid-template-columns:820px 1fr;gap:30px;margin-top:20px}
.x-iap-fig svg{width:820px;height:700px;border-radius:14px;box-shadow:0 30px 60px -30px #000;display:block}
#iaHi{transition:all .6s var(--ease)}
.x-iap-side{display:flex;flex-direction:column;gap:16px}
.x-iap-list{display:flex;flex-wrap:wrap;gap:8px}
.x-iap-exp p{margin:0;font-size:22px;line-height:1.5;color:var(--soft)}

/* E3 glide path */
.x-gp{display:grid;grid-template-columns:1040px 1fr;gap:28px;margin-top:22px}
.x-gp-fig svg{width:100%;height:auto}
.gp-ax{font:500 14px var(--mono);fill:var(--muted)}
.gp-l{font:700 17px var(--mono);fill:var(--soft)}
.x-gp-ctl{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.x-gp-ctl .x-rng{grid-template-columns:1fr;gap:6px}
.x-gp-ctl .x-rng b{text-align:left}
.x-gp-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.x-gp-out div{padding:12px 16px;border-radius:14px;background:rgba(233,185,73,.1);border:1px solid rgba(233,185,73,.4)}
.x-gp-out span{display:block;font:600 12px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.x-gp-out b{font:900 38px var(--disp);color:var(--gold)}
.x-br{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.x-br .br-t{width:100%}
.x-br-p{margin:4px 0 0;font-size:19px;line-height:1.5;color:var(--soft)}

.x-day-sky svg{height:672px}
.x-day-note p{font-size:23px}
.x-raw code{font-size:21px}
.x-threats span{font-size:17px;padding:14px 16px}
.x-threats b{font-size:19px}
.x-day-side{gap:20px}
