/* ARUT Academy ecosystem: hub, Prop Simulator, Futures Lab, Crypto in Real Life. Uses the tokens from index.html. */
body.eco-wide .wrap,body.eco-wide .top .bar{max-width:1180px}
.eco{animation:view .3s ease}
.eco h1{font-size:clamp(30px,6vw,46px);line-height:1.05;margin:22px 0 8px}
.eco .lead{max-width:680px}
.eco .back{display:inline-block;margin-top:16px;font:600 12px var(--f-m);color:var(--mute);text-decoration:none}
.eco .back:hover{color:var(--ink)}
.ebadge{display:inline-block;font:700 11px var(--f-m);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:rgba(255,90,54,.15);color:var(--acc)}
.ebadge.cool{background:rgba(92,225,255,.12);color:var(--cool)}.ebadge.gain{background:rgba(46,242,161,.12);color:var(--gain)}
.ebtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;border:0;background:var(--acc);color:#000;font:800 15px var(--f-b);text-decoration:none;cursor:pointer;transition:transform .12s}
.ebtn:active{transform:scale(.97)}.ebtn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}.ebtn.gain{background:var(--gain)}.ebtn.loss{background:var(--loss);color:#fff}
.ebtn[disabled]{opacity:.35;cursor:not-allowed}.ebtn.sm{padding:8px 12px;font-size:13px;border-radius:10px}.ebtn.full{width:100%}
/* home block + hub */
.edirs{display:grid;gap:12px;margin:18px 0 6px}
@media(min-width:760px){body.eco-wide .edirs{grid-template-columns:repeat(3,1fr)}}
.edir{position:relative;display:block;padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line);text-decoration:none;overflow:hidden;transition:border-color .2s,transform .2s}
.edir:hover{border-color:var(--c,var(--acc));transform:translateY(-2px)}
.edir::before{content:"";position:absolute;inset:auto -40px -60px auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--c,var(--acc)),transparent 70%);opacity:.18}
.edir .no{font:700 12px var(--f-m);color:var(--c,var(--acc))}
.edir h3{margin:6px 0 4px;font-size:20px}.edir p{margin:0 0 12px;color:var(--ink2);font-size:14px}
.edir ul{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:4px}.edir li{font-size:13px;color:var(--mute)}.edir li::before{content:"› ";color:var(--c,var(--acc))}
.edir .go{font:800 14px var(--f-b);color:var(--c,var(--acc))}
.etiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.etile{padding:12px 10px;border-radius:14px;background:var(--panel);border:1px solid var(--line);text-decoration:none;display:block}
.etile:hover{border-color:var(--c)}.etile i{display:block;font-style:normal;font-size:22px}.etile b{display:block;font-size:13px;margin-top:6px;line-height:1.2}.etile small{color:var(--mute);font-size:11px}
.ehead{display:flex;align-items:center;gap:10px;margin-top:22px}.ehead h2{margin:0;font-size:22px}
/* coach */
.coach{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(255,90,54,.14),rgba(255,46,122,.08));border:1px solid rgba(255,90,54,.35);margin:14px 0}
.coach .av{flex:none;width:34px;height:34px;border-radius:10px;background:var(--acc);display:grid;place-items:center;color:#000;font:800 15px var(--f-b);box-shadow:0 0 18px rgba(255,90,54,.5)}
.coach .ct{flex:1;min-width:0}.coach .ct small{display:block;font:600 11px var(--f-m);color:var(--acc);letter-spacing:.05em;text-transform:uppercase}
.coach .ct p{margin:3px 0 0;font-size:15px;line-height:1.45}.coach .ct p b{color:#fff}
.coach .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.coach.ok{background:rgba(46,242,161,.08);border-color:rgba(46,242,161,.4)}.coach.ok .av{background:var(--gain);box-shadow:0 0 18px rgba(46,242,161,.4)}
.coach.bad{background:rgba(255,77,106,.08);border-color:rgba(255,77,106,.45)}.coach.bad .av{background:var(--loss);color:#fff}
.sprog{height:4px;border-radius:4px;background:var(--panel2);overflow:hidden;margin-top:8px}.sprog i{display:block;height:100%;background:var(--acc);transition:width .4s}
.hl{position:relative;z-index:2;box-shadow:0 0 0 2px var(--amber),0 0 22px rgba(255,176,32,.55)!important;animation:hlp 1.4s ease-in-out infinite;border-radius:10px}
@keyframes hlp{50%{box-shadow:0 0 0 2px var(--amber),0 0 6px rgba(255,176,32,.2)}}
/* sponsored */
.ad{margin:18px 0;padding:16px;border-radius:16px;border:1px dashed #4a4a4e;background:var(--panel)}
.adh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.adh b{font-size:16px}
.adtag{font:700 10px var(--f-m);letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:#2c2c2e;color:var(--ink2)}
.ad p{margin:8px 0 0;color:var(--ink2);font-size:14px}
.adl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px}
.adp{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);text-decoration:none}
.adp:hover{border-color:var(--pc)}.adp i{width:10px;height:10px;border-radius:3px;background:var(--pc)}.adp b{font-size:15px}.adp small{color:var(--mute);font-size:12px}
.addisc{display:block;margin-top:10px;color:var(--mute);font-size:11px;line-height:1.4}
/* shared bits */
.epanel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px}
.epanel h4{margin:0 0 10px;font:700 12px var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.cs{display:block;width:100%;height:auto}.cs .gr{stroke:#1f1f22}.cs .ax{fill:#6e6e73;font:500 10px var(--f-m)}.cs .axl{fill:#000;font:700 10px var(--f-m)}
.mono{font-family:var(--f-m)}.up{color:var(--gain)}.dn{color:var(--loss)}.mute{color:var(--mute)}
.etable{width:100%;border-collapse:collapse;font-size:13px}.etable th{text-align:left;font:600 11px var(--f-m);color:var(--mute);padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.etable td{padding:8px;border-bottom:1px solid #1a1a1c;font-family:var(--f-m);white-space:nowrap}.etable tr.new td{animation:rowin .6s ease}
@keyframes rowin{from{background:rgba(255,176,32,.18)}}
.tscroll{overflow-x:auto}
.eempty{color:var(--mute);font-size:13px;padding:8px 0}
.rng{width:100%;accent-color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:6px 10px;border-radius:99px;border:1px solid var(--line);background:var(--panel2);font:600 12px var(--f-m);color:var(--ink2);cursor:pointer}
.chip[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:#000}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:13px}.kv span{color:var(--mute)}.kv b{font-family:var(--f-m);font-weight:600;text-align:right}
.disc{color:var(--mute);font-size:12px;margin:14px 0}
/* ===== Prop simulator ===== */
.pgrid{display:grid;gap:12px}
@media(min-width:900px){.pgrid{grid-template-columns:1fr 340px}}
.meters{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
@media(min-width:760px){.meters{grid-template-columns:repeat(5,1fr)}}
.meter{padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.meter small{display:block;font:600 10px var(--f-m);letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}
.meter b{display:block;font:700 18px var(--f-m);margin:4px 0 6px}
.meter .mbar{height:6px;border-radius:6px;background:var(--panel2);overflow:hidden}.meter .mbar i{display:block;height:100%;border-radius:6px;transition:width .5s,background .5s}
.meter em{display:block;font-style:normal;font-size:11px;color:var(--mute);margin-top:5px}
.meter.warn{border-color:rgba(255,176,32,.5)}.meter.crit{border-color:rgba(255,77,106,.6);animation:shake .4s}
.ticket .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ticket label{display:flex;justify-content:space-between;font-size:13px;color:var(--ink2);margin:12px 0 4px}.ticket label b{font-family:var(--f-m);color:var(--ink)}
.ticket .sum{margin-top:12px;padding:10px;border-radius:12px;background:var(--panel2)}
.ticket .warnline{margin-top:10px;padding:10px;border-radius:12px;font-size:13px;background:rgba(255,77,106,.1);color:#ffb3c0;border:1px solid rgba(255,77,106,.35)}
.ticket .okline{margin-top:10px;padding:10px;border-radius:12px;font-size:13px;background:rgba(46,242,161,.07);color:#a9f5d4;border:1px solid rgba(46,242,161,.3)}
.lsw{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.lsw button{padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);font:800 14px var(--f-b);color:var(--mute);cursor:pointer}
.lsw button[aria-pressed=true][data-d=long]{background:var(--gain);color:#000;border-color:var(--gain)}.lsw button[aria-pressed=true][data-d=short]{background:var(--loss);color:#fff;border-color:var(--loss)}
.viol li{font-size:13px;margin:4px 0;color:#ffb3c0}.viol li.note{color:var(--amber)}
.presult{text-align:center;padding:26px 18px;border-radius:18px;margin:12px 0;background:var(--panel);border:1px solid var(--line)}
.presult .big{font:800 clamp(30px,6vw,44px)/1 var(--f-b);margin:8px 0}.presult.win{border-color:var(--gain)}.presult.win .big{color:var(--gain)}.presult.lose{border-color:var(--loss)}.presult.lose .big{color:var(--loss)}
.checks{display:grid;gap:6px;text-align:left;max-width:440px;margin:14px auto}.checks div{display:flex;gap:8px;font-size:14px}.checks i{font-style:normal;width:18px}
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}@media(min-width:700px){.rules{grid-template-columns:repeat(5,1fr)}}
.rules div{padding:12px;border-radius:12px;background:var(--panel2)}.rules b{display:block;font:800 20px var(--f-m)}.rules small{color:var(--mute);font-size:12px}
/* ===== Futures terminal ===== */
.term{--tb:#0b0e11;--tp:#161a1e;--tl:#2b3139;--tm:#848e9c;background:var(--tb);border:1px solid var(--tl);border-radius:16px;overflow:hidden;font-size:13px}
.tbar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--tl);background:var(--tp)}
.tlogo{font:800 14px var(--f-b);display:flex;align-items:center;gap:6px}.tlogo i{width:12px;height:12px;border-radius:3px;background:var(--amber)}
.tbar .tsym{font:700 15px var(--f-b)}.tbar .tpx{font:700 15px var(--f-m)}.tbar .tbal{margin-left:auto;font-family:var(--f-m);color:var(--tm)}.tbar .tbal b{color:var(--ink)}
.tbody{display:grid;grid-template-columns:1fr}
@media(min-width:980px){.tbody{grid-template-columns:170px 1fr 300px}}
.tpairs{border-bottom:1px solid var(--tl);padding:8px;display:flex;gap:6px;overflow-x:auto}
@media(min-width:980px){.tpairs{flex-direction:column;border-bottom:0;border-right:1px solid var(--tl)}}
.tpair{flex:none;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;font:600 12px var(--f-m);text-align:left}
.tpair:hover{background:var(--tp)}.tpair[aria-pressed=true]{background:var(--tp);border-color:var(--tl)}.tpair small{color:var(--tm)}
.tmid{min-width:0;border-bottom:1px solid var(--tl)}@media(min-width:980px){.tmid{border-bottom:0;border-right:1px solid var(--tl)}}
.tchart{padding:8px 4px 0;position:relative}
.tbook{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:8px 12px;border-top:1px solid var(--tl);font:500 11px var(--f-m)}
.tbook div{display:flex;justify-content:space-between;padding:1px 0;position:relative}.tbook div s{position:absolute;inset:0 0 0 auto;opacity:.12;text-decoration:none}
.tbook .a{color:var(--loss)}.tbook .a s{background:var(--loss)}.tbook .b{color:var(--gain)}.tbook .b s{background:var(--gain)}
.tform{padding:12px;display:grid;gap:10px;align-content:start}
.tseg{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tseg button{padding:8px;border-radius:8px;border:1px solid var(--tl);background:var(--tp);color:var(--tm);font:700 12px var(--f-b);cursor:pointer}
.tseg button[aria-pressed=true]{color:var(--ink);border-color:var(--amber)}
.tseg.side button[aria-pressed=true][data-v=long]{background:var(--gain);color:#000;border-color:var(--gain)}.tseg.side button[aria-pressed=true][data-v=short]{background:var(--loss);color:#fff;border-color:var(--loss)}
.tlev{display:flex;gap:6px}.tlev button{flex:1}
.tfield{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:var(--tp);border:1px solid var(--tl)}
.tfield span{color:var(--tm);font-size:12px;white-space:nowrap}.tfield input{flex:1;min-width:0;background:none;border:0;outline:0;text-align:right;font:600 13px var(--f-m)}.tfield em{font-style:normal;color:var(--tm);font-size:11px}
.tfield.bad{border-color:var(--loss)}.tfield.good{border-color:rgba(46,242,161,.6)}
.tpct{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.tpct button{padding:5px 0;border-radius:6px;border:1px solid var(--tl);background:none;color:var(--tm);font:600 11px var(--f-m);cursor:pointer}.tpct button:hover{color:var(--ink)}
.tchk{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink2)}.tchk input{accent-color:var(--amber);width:16px;height:16px}
.tinfo{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:12px}.tinfo span{color:var(--tm)}.tinfo b{font:600 12px var(--f-m);text-align:right}
.tgo{padding:12px;border-radius:10px;border:0;font:800 15px var(--f-b);cursor:pointer}.tgo.long{background:var(--gain);color:#000}.tgo.short{background:var(--loss);color:#fff}.tgo[disabled]{opacity:.35;cursor:not-allowed}
.tmsg{font-size:12px;line-height:1.4;padding:8px 10px;border-radius:8px}.tmsg.bad{background:rgba(255,77,106,.1);color:#ffb3c0}.tmsg.ok{background:rgba(46,242,161,.08);color:#a9f5d4}
.tbot{border-top:1px solid var(--tl)}
.ttabs{display:flex;gap:16px;padding:0 14px;border-bottom:1px solid var(--tl)}.ttabs button{padding:10px 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--tm);font:700 12px var(--f-b);cursor:pointer}
.ttabs button[aria-pressed=true]{color:var(--ink);border-color:var(--amber)}
.tpane{padding:6px 8px 12px;min-height:90px}
.tdim .tbody>*:not(.tfocus),.tdim .tbot:not(.tfocus){opacity:.55;transition:opacity .3s}
.sheet{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:rgba(0,0,0,.7);padding:16px;animation:view .2s}
.sheet>div{width:100%;max-width:420px;background:#111417;border:1px solid #2b3139;border-radius:18px;padding:18px}
.sheet h3{margin:0 0 6px}.sheet .levbig{font:800 40px var(--f-m);text-align:center;margin:8px 0}
.levtab{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.levtab div{padding:10px;border-radius:10px;background:#161a1e;text-align:center}.levtab small{display:block;color:#848e9c;font-size:11px}.levtab b{font:700 14px var(--f-m)}
.levbar{position:relative;height:30px;border-radius:8px;background:#161a1e;margin:10px 0;overflow:hidden}
.levbar i{position:absolute;top:0;bottom:0;width:2px}.levbar .ent{left:50%;background:#fff}.levbar .liq{background:var(--loss)}
.levbar span{position:absolute;top:7px;font:600 10px var(--f-m)}
.pnlflash{animation:pf .5s}@keyframes pf{from{background:rgba(255,176,32,.25)}}
/* ===== Crypto in Real Life ===== */
.kgrid{display:grid;gap:16px;align-items:start}
@media(min-width:900px){.kgrid{grid-template-columns:1fr 380px}}
.phone{width:100%;max-width:360px;margin:0 auto;border-radius:36px;padding:12px;background:#111;border:1px solid #2c2c2e;box-shadow:0 30px 80px rgba(124,92,255,.15)}
.screen{border-radius:26px;background:#0c0a14;min-height:600px;overflow:hidden;position:relative;display:flex;flex-direction:column}
.sbar{display:flex;justify-content:space-between;padding:10px 18px 4px;font:600 11px var(--f-m);color:#aaa}
.kapp{flex:1;padding:8px 16px 16px;display:flex;flex-direction:column;gap:12px;animation:view .25s}
.khd{display:flex;align-items:center;gap:8px;font:800 16px var(--f-b)}.khd i{width:22px;height:22px;border-radius:7px;background:var(--kc,#7c5cff)}.khd small{margin-left:auto;font:600 10px var(--f-m);color:#888;border:1px solid #333;padding:2px 6px;border-radius:6px}
.kcard{position:relative;height:170px;border-radius:18px;padding:16px;color:#fff;background:linear-gradient(135deg,var(--kc,#7c5cff),#1b1236 75%);overflow:hidden;box-shadow:0 10px 30px rgba(124,92,255,.3)}
.kcard::after{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08)}
.kcard small{font:600 11px var(--f-m);opacity:.8}.kcard .kb{font:800 30px var(--f-m);margin-top:6px}.kcard .kn{position:absolute;left:16px;bottom:14px;font:600 13px var(--f-m);letter-spacing:.12em}.kcard .kv2{position:absolute;right:16px;bottom:12px;font:800 italic 18px var(--f-b)}
.kbal{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kbal div{padding:10px 12px;border-radius:14px;background:#17142a}.kbal small{display:block;color:#9a93b8;font-size:11px}.kbal b{font:700 16px var(--f-m)}
.kact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kact button{padding:12px 4px;border-radius:14px;border:1px solid #2a2440;background:#17142a;color:#fff;font:700 12px var(--f-b);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.kact button i{font-style:normal;font-size:18px}
.kact button[disabled]{opacity:.35}
.klist{display:grid;gap:6px}.klist button,.klist div.it{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;border:1px solid #2a2440;background:#17142a;color:#fff;cursor:pointer;text-align:left;font:600 14px var(--f-b)}
.klist .ico{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:#241d40;font-size:16px}
.klist .tx{flex:1;min-width:0}.klist .tx small{display:block;color:#9a93b8;font:500 11px var(--f-b)}.klist .am{font:700 13px var(--f-m)}
.klist button[aria-pressed=true]{border-color:var(--kc,#7c5cff);background:#211a3c}
.klist .done{opacity:.55}
.kaddr{padding:12px;border-radius:14px;background:#17142a;font:600 12px var(--f-m);word-break:break-all}.kaddr em{display:block;font-style:normal;color:#f5c542;font-family:var(--f-b);font-size:12px;margin-top:8px}
.kbtn{padding:13px;border-radius:14px;border:0;background:var(--kc,#7c5cff);color:#fff;font:800 15px var(--f-b);cursor:pointer}.kbtn[disabled]{opacity:.35}.kbtn.ghost{background:none;border:1px solid #2a2440}
.kback{background:none;border:0;color:#9a93b8;font:600 13px var(--f-b);cursor:pointer;padding:0;text-align:left}
.kamt{text-align:center;font:800 34px var(--f-m);margin:6px 0}.kconv{display:flex;align-items:center;justify-content:center;gap:10px;font:700 13px var(--f-m);color:#cfc8ee}
.kconv i{font-style:normal;animation:kmv 1.2s ease-in-out infinite}@keyframes kmv{50%{transform:translateX(4px)}}
.kpay{flex:1;display:grid;place-items:center;text-align:center;gap:10px;padding:20px}
.kpay .ring{width:120px;height:120px;border-radius:50%;border:3px solid #2a2440;display:grid;place-items:center;font-size:42px;position:relative}
.kpay .ring.spin::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid transparent;border-top-color:var(--kc,#7c5cff);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.kpay .ring.ok{border-color:var(--gain);color:var(--gain);animation:ppop .5s}.kpay .ring.no{border-color:var(--loss);color:var(--loss);animation:shake .4s}
.k3ds{position:absolute;left:10px;right:10px;top:40px;z-index:3;padding:14px;border-radius:16px;background:#221b3d;border:1px solid var(--kc,#7c5cff);box-shadow:0 10px 30px rgba(0,0,0,.6);animation:fup .3s}
.kstory{display:grid;gap:10px}
.kstep{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:14px}
.kstep i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--f-m);font-style:normal;background:var(--panel2);color:var(--mute)}
.kstep.on{border-color:var(--acc)}.kstep.on i{background:var(--acc);color:#000}.kstep.ok i{background:var(--gain);color:#000}.kstep.ok{color:var(--mute)}
.wallet{--kc:#3b82f6}
.netpick{display:grid;grid-template-columns:1fr 1fr;gap:6px}.netpick button{padding:10px;border-radius:12px;border:1px solid #2a2440;background:#17142a;color:#fff;font:700 13px var(--f-m);cursor:pointer;text-align:left}.netpick button small{display:block;color:#9a93b8;font:500 10px var(--f-b)}
.netpick button[aria-pressed=true]{border-color:var(--kc)}
.confs{display:flex;gap:4px;justify-content:center}.confs i{width:18px;height:6px;border-radius:3px;background:#2a2440}.confs i.on{background:var(--gain)}
.quiz .o{margin-top:6px}
/* mobile: keep the mentor in view next to the controls */
@media(max-width:979px){.tbar{flex-wrap:wrap;gap:6px 12px}.tbar .tbal{margin-left:0;width:100%}#fcoach{position:sticky;top:54px;z-index:15}#fcoach .coach{margin:8px 0;background:#1a0f0c;box-shadow:0 8px 20px rgba(0,0,0,.6)}}
@media(max-width:899px){#ksteps{display:none}#kcoach{position:sticky;top:54px;z-index:15}#kcoach .coach{background:#16101f;box-shadow:0 8px 20px rgba(0,0,0,.6)}}
/* ===== hub: friendly overview ===== */
.hpills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}.hpills span{padding:8px 12px;border-radius:99px;background:var(--panel);border:1px solid var(--line);font-size:13px;color:var(--ink2)}
.hq{font-size:20px;margin:28px 0 12px}
.hgoals{display:grid;gap:8px}@media(min-width:760px){.hgoals{grid-template-columns:repeat(3,1fr)}}
.hgoal{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:700 15px var(--f-b);text-align:left;cursor:pointer;transition:border-color .2s,transform .15s}
.hgoal i{font-style:normal;font-size:24px}.hgoal:hover{border-color:var(--c)}.hgoal[aria-pressed=true]{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--panel))}
.hpath{display:grid;gap:12px;position:relative}
.hcard{display:flex;gap:14px;padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s,box-shadow .3s}
.hcard.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 10px 40px color-mix(in srgb,var(--c) 18%,transparent)}
.hnum{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:800 16px var(--f-m);background:var(--c);color:#000}
.hbody{flex:1;min-width:0}.hbody h3{margin:6px 0 0;font-size:20px}.hbody>p{margin:8px 0 12px;color:var(--ink2);font-size:15px;line-height:1.6}
.hmeta{display:flex;flex-wrap:wrap;gap:6px}.hmeta span{font:600 11px var(--f-m);padding:3px 8px;border-radius:99px;background:var(--panel2);color:var(--ink2)}
.hlearn{display:grid;gap:4px;padding:12px;border-radius:12px;background:var(--panel2);font-size:14px}.hlearn b{font:700 11px var(--f-m);text-transform:uppercase;letter-spacing:.05em;color:var(--c)}
.hmods{margin-top:10px;font-size:13px;color:var(--mute)}.hmods summary{cursor:pointer;color:var(--ink2)}.hmods div{margin:4px 0 0 4px}
.hfaq{display:grid;gap:8px}.hfaq details{padding:14px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.hfaq summary{cursor:pointer;font-weight:700}.hfaq p{margin:8px 0 0;color:var(--ink2);font-size:14px}
.gterm{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline dotted var(--amber);text-underline-offset:3px;cursor:help}
.gpop{display:block;margin:8px 0;padding:10px 12px;border-radius:12px;background:#1d1606;border:1px solid rgba(255,176,32,.45);font-size:14px;line-height:1.5;color:var(--ink);animation:fup .25s}.gpop b{display:block;color:var(--amber);font-size:12px;font-family:var(--f-m);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
@media(max-width:899px){#xcoach{position:sticky;top:54px;z-index:15}#xcoach .coach{margin:8px 0;background:#0c1a14;box-shadow:0 8px 20px rgba(0,0,0,.6)}}
