/* iMU Wealth Calculator (WAVE 1, ported from app-wealthcalc/prototype). Font: ../fonts/jost-var.woff2 (OFL). */
@font-face{font-family:Jost;src:url(../fonts/jost-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --ink:#040403;--ink2:#0b0a08;--card:#0e0d0a;--line:rgba(201,165,74,.18);--line2:rgba(242,210,122,.38);
  --text:#f3ecd9;--mute:rgba(243,236,217,.62);--dim:rgba(243,236,217,.42);
  --g1:#c9a54a;--g2:#f2d27a;--g3:#fff4c9;--g0:#8a6a24;
  --metal:linear-gradient(100deg,#a87b25 0%,#f2d27a 22%,#fff4c9 38%,#e3b955 55%,#a87b25 78%,#f2d27a 100%);
  --green:#7fd8a0;--amber:#f2c14e;--red:#ff7a66;
  --r:20px;--pad:clamp(16px,2.4vw,28px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font:300 16px/1.5 Jost,system-ui,sans-serif;min-height:100vh;overflow-x:hidden;
  background-image:radial-gradient(900px 600px at 92% -8%,rgba(201,165,74,.16),transparent 60%),radial-gradient(800px 600px at -10% 60%,rgba(201,165,74,.09),transparent 60%)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .82 0 0 0 0 .45 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}
main,.topbar,.disc{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
b,strong{font-weight:500}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--g2)}
.k{font-size:11px;letter-spacing:.22em;font-weight:400;color:var(--mute);text-transform:uppercase}
.eyebrow{font-size:12px;letter-spacing:.32em;font-weight:400;color:var(--g2);text-transform:uppercase}
.card{background:linear-gradient(180deg,rgba(255,244,201,.035),rgba(255,244,201,.01)),var(--card);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:inset 0 1px 0 rgba(255,244,201,.05),0 20px 40px -24px rgba(0,0,0,.8)}

/* top */
.topbar{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:8px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.brand-mark{font-weight:500;font-size:22px;letter-spacing:.04em;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-size:12px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.top-nav{display:flex;gap:10px;align-items:center}.top-nav a{text-decoration:none}.top-nav .btn{padding:9px 16px;font-size:14px}
.proto-tag{font-size:10px;letter-spacing:.22em;color:var(--dim);border:1px solid var(--line);padding:5px 10px;border-radius:99px}

/* hero */
.hero{padding:clamp(28px,6vw,72px) 0 40px;text-align:center}
.h1{font-weight:300;font-size:clamp(30px,5.2vw,64px);line-height:1.05;margin:14px 0 6px;letter-spacing:-.01em}
.h-gold{margin:0;font-weight:500;font-size:clamp(40px,8.4vw,112px);line-height:.98;letter-spacing:-.02em;text-transform:none}
.h-gold,.h-gold .wit{background:var(--metal);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite;
  filter:drop-shadow(0 0 22px rgba(242,210,122,.32))}
.h-gold .wit{display:inline-block}
@keyframes sheen{to{background-position:-220% 0}}
.lede{max-width:640px;margin:18px auto 0;color:var(--mute);font-size:clamp(15px,1.5vw,18px)}
.presets{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 6px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:rgba(201,165,74,.06);border-radius:99px;padding:10px 16px;font-size:15px;font-weight:400;letter-spacing:.01em;transition:.25s}
.chip:hover{background:rgba(201,165,74,.14);box-shadow:0 0 22px -4px rgba(242,210,122,.5)}
.chip[aria-pressed=true]{background:linear-gradient(180deg,#f2d27a,#c9a54a);color:#120d02;border-color:#fff4c9;box-shadow:0 0 0 3px rgba(242,210,122,.18),0 0 32px rgba(242,210,122,.55)}
.chip .ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.chip .ico.wide{width:34px}
.chip.moon{border-color:var(--g2);box-shadow:0 0 24px -6px rgba(242,210,122,.6)}
.mill-badge{font-size:11px;font-weight:500;letter-spacing:.08em;background:var(--metal);color:#120d02;border-radius:99px;padding:2px 7px}
.chip[aria-pressed=true] .mill-badge{background:#120d02;color:var(--g2)}
.mill-line{min-height:28px;margin:10px auto 0;max-width:720px;font-size:clamp(16px,1.8vw,20px);font-weight:400;color:var(--g3);opacity:0;transform:translateY(6px);transition:.5s}
.mill-line.on{opacity:1;transform:none}

.ctl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;text-align:left}
.ctl-grid.two{grid-template-columns:repeat(2,1fr)}
.ctl{padding:18px 18px 14px;transition:box-shadow .4s,border-color .4s}
.ctl:focus-within{border-color:var(--line2);box-shadow:0 0 0 1px rgba(242,210,122,.12),0 0 34px -12px rgba(242,210,122,.45)}
.ctl-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:30px}
.ctl-head label{font-size:15px;font-weight:400}
.opt{color:var(--dim);font-weight:300}
.hint{font-size:12px;color:var(--dim)}
.ctl-val{display:flex;align-items:baseline;gap:4px;margin:6px 0 4px;border-bottom:1px solid transparent}
.ctl-val .pre{font-size:22px;color:var(--g1);font-weight:300}
.ctl-val .suf{font-size:14px;color:var(--mute);margin-left:4px;white-space:nowrap}
.num{background:transparent;border:0;outline:0;color:var(--text);font:400 clamp(26px,2.4vw,32px)/1.1 Jost,sans-serif;width:100%;min-width:0;padding:2px 0;border-bottom:1px dashed rgba(201,165,74,.25);font-variant-numeric:tabular-nums}
.num:focus{border-bottom-color:var(--g2)}
.scale{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);letter-spacing:.04em}
.quick{display:flex;gap:6px;flex-wrap:wrap}
.quick button{border:1px solid var(--line);background:none;border-radius:99px;padding:2px 10px;font-size:12px;color:var(--mute)}
.quick button.on{border-color:var(--g2);color:var(--g2)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;background:rgba(0,0,0,.4)}
.seg button{border:0;background:none;border-radius:99px;padding:4px 10px;font-size:12px;color:var(--mute);letter-spacing:.02em;transition:.25s}
.seg button[aria-checked=true]{background:linear-gradient(180deg,#f2d27a,#c9a54a);color:#120d02;font-weight:400;box-shadow:0 0 16px -2px rgba(242,210,122,.55)}
.seg.big button{padding:9px 20px;font-size:15px}

/* gold slider */
input[type=range].gold{-webkit-appearance:none;appearance:none;width:100%;height:34px;background:transparent;margin:4px 0;--p:50%;touch-action:pan-y}
input[type=range].gold:focus{outline:none}
input[type=range].gold::-webkit-slider-runnable-track{height:6px;border-radius:6px;
  background:linear-gradient(90deg,#8a6a24,#f2d27a 70%,#fff4c9) 0/var(--p) 100% no-repeat,rgba(201,165,74,.14);
  box-shadow:0 0 14px -2px rgba(242,210,122,calc(var(--glow,.35)))}
input[type=range].gold::-moz-range-track{height:6px;border-radius:6px;background:rgba(201,165,74,.14)}
input[type=range].gold::-moz-range-progress{height:6px;border-radius:6px;background:linear-gradient(90deg,#8a6a24,#f2d27a 70%,#fff4c9);box-shadow:0 0 14px rgba(242,210,122,.5)}
input[type=range].gold::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;border:1px solid #fff4c9;
  background:radial-gradient(circle at 34% 30%,#fffbe6 0,#f2d27a 34%,#c9a54a 62%,#7a5a1a 100%);
  box-shadow:0 0 0 5px rgba(242,210,122,.12),0 0 22px rgba(242,210,122,.75),inset 0 -2px 4px rgba(0,0,0,.35);transition:transform .15s,box-shadow .2s}
input[type=range].gold::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:1px solid #fff4c9;background:radial-gradient(circle at 34% 30%,#fffbe6 0,#f2d27a 34%,#c9a54a 62%,#7a5a1a 100%);box-shadow:0 0 0 5px rgba(242,210,122,.12),0 0 22px rgba(242,210,122,.75)}
input[type=range].gold:active::-webkit-slider-thumb,input[type=range].gold:focus-visible::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 8px rgba(242,210,122,.16),0 0 34px rgba(242,210,122,.95)}

/* outputs */
.out{margin-top:30px;text-align:left}
.out-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.out-head h2{margin:0;font-weight:400;font-size:clamp(20px,2vw,26px)}
.out-head p{margin:0;color:var(--mute);font-size:14px}
.out-head b{color:var(--g2);font-weight:400}
.ctr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ctr{padding:18px 22px 20px;position:relative;overflow:hidden}
.ctr b{display:block;font-weight:300;font-size:clamp(34px,4.6vw,64px);line-height:1.05;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.ctr.hot{border-color:var(--line2)}
.ctr.hot b,.t-grid .hot b{background:var(--metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(242,210,122,.35))}
.ctr.hot::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;height:120%;background:radial-gradient(closest-side,rgba(242,210,122,.16),transparent);pointer-events:none}
.ctr.bump b{animation:bump .5s ease}
@keyframes bump{40%{transform:scale(1.035)}}
.mill-clock{display:flex;align-items:center;gap:14px;margin:18px auto 0;padding:14px 18px;text-align:left;max-width:760px}
.mill-clock p{margin:2px 0 0;font-size:16px}
.mill-clock p b{color:var(--g2)}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:99px;padding:15px 26px;font-size:16px;font-weight:400;text-decoration:none;border:1px solid transparent;transition:transform .15s,box-shadow .3s}
.btn.primary{color:#120d02;background:linear-gradient(180deg,#fff4c9 0%,#f2d27a 30%,#c9a54a 100%);box-shadow:0 0 0 1px rgba(255,244,201,.5) inset,0 10px 30px -10px rgba(242,210,122,.7),0 0 40px -8px rgba(242,210,122,.55)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,244,201,.7) inset,0 14px 36px -10px rgba(242,210,122,.85),0 0 60px -6px rgba(242,210,122,.7)}
.btn.ghost{color:var(--g2);border-color:var(--line2);background:rgba(201,165,74,.05)}
.btn.sm{padding:10px 18px;font-size:15px}
.arr{width:18px;height:10px;display:inline-block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M0 5h16M12 1l4 4-4 4' stroke='black' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M0 5h16M12 1l4 4-4 4' stroke='black' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.fine{font-size:12px;color:var(--dim);margin:14px auto 0;max-width:720px}
.fine a{color:var(--mute)}

/* millionaire state */
body.mill .hero .ctl,body.mill .hero .ctr{border-color:rgba(242,210,122,.55);box-shadow:0 0 0 1px rgba(242,210,122,.15),0 0 46px -10px rgba(242,210,122,.6)}
body.mill .h-gold{filter:drop-shadow(0 0 34px rgba(242,210,122,.6))}
body.mill .mill-clock{border-color:var(--g2)}
body.mill input[type=range].gold{--glow:.9}
.rocket{position:fixed;z-index:61;pointer-events:none;width:64px;height:64px;left:0;top:0;will-change:transform}
.moon-orb{position:fixed;z-index:59;pointer-events:none;right:6vw;top:12vh;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#fff9e0,#f2d27a 40%,#a87b25 80%);box-shadow:0 0 60px 10px rgba(242,210,122,.45),0 0 140px 40px rgba(242,210,122,.18);opacity:0;transform:scale(.6);transition:opacity .6s,transform .9s cubic-bezier(.2,.8,.2,1)}
.moon-orb::before,.moon-orb::after{content:"";position:absolute;border-radius:50%;background:rgba(122,90,26,.35)}
.moon-orb::before{width:22%;height:22%;left:52%;top:28%}.moon-orb::after{width:14%;height:14%;left:30%;top:58%}
.moon-orb.on{opacity:.95;transform:scale(1)}

/* section 2 */
.paths{padding:50px 0 30px;border-top:1px solid var(--line)}
.sec-head{text-align:center}
.h2{font-weight:300;font-size:clamp(28px,4vw,48px);line-height:1.08;margin:10px 0 0}
.h2 em{font-style:normal;font-weight:400;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.targets{margin-top:16px;padding:18px 22px}
.t-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.t-note{font-size:13px;color:var(--mute)}
.t-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.t-grid b{display:block;font-weight:300;font-size:clamp(26px,3vw,42px);font-variant-numeric:tabular-nums;white-space:nowrap}
.mode-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:26px 0 12px}
.mode-hint{margin:0;color:var(--mute);font-size:14px}
.mixbar{padding:14px 18px;margin-bottom:12px;position:relative}
.mixbar-track{display:flex;height:14px;border-radius:99px;overflow:hidden;background:rgba(201,165,74,.1);box-shadow:0 0 22px -6px rgba(242,210,122,.5)}
.mixbar-track i{display:block;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.mixbar-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;color:var(--mute)}
.mixbar-legend span{display:inline-flex;align-items:center;gap:6px}
.mixbar-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.mixbar-legend b{color:var(--text);font-weight:400}
.link{background:none;border:0;color:var(--g2);font-size:13px;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.mixbar .link{margin-top:4px}
.reality{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;margin-bottom:14px}
.reality p{margin:0;font-size:15px}
.reality b{color:var(--g2);font-weight:400}
.dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:7px;background:var(--amber);box-shadow:0 0 12px var(--amber)}
.dot.green{background:var(--green);box-shadow:0 0 12px var(--green)}.dot.red{background:var(--red);box-shadow:0 0 12px var(--red)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.path{padding:18px 18px 12px;display:flex;flex-direction:column;cursor:default;transition:border-color .3s,box-shadow .3s,opacity .3s}
.path.sel{border-color:var(--line2);box-shadow:0 0 40px -14px rgba(242,210,122,.55)}
.path.off{opacity:.45}
.p-head{display:flex;align-items:center;gap:10px}
.p-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(201,165,74,.1);border:1px solid var(--line)}
.p-ico svg{width:19px;height:19px;fill:none;stroke:var(--g2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.p-head h3{margin:0;font-weight:400;font-size:17px;flex:1}
.p-share{font-size:13px;color:var(--g2);font-variant-numeric:tabular-nums}
.p-money{font-size:13px;color:var(--mute);margin-top:8px}
.p-big{display:flex;align-items:baseline;gap:8px;margin:2px 0 4px}
.p-big b{font-weight:300;font-size:clamp(34px,3.4vw,46px);line-height:1.1;font-variant-numeric:tabular-nums;background:var(--metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.p-big small{color:var(--mute);font-size:14px}
.p-subs{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;color:var(--mute);margin-bottom:10px}
.p-subs b{display:block;color:var(--text);font-weight:400;font-size:15px;font-variant-numeric:tabular-nums}
.p-real{display:flex;gap:8px;font-size:13px;line-height:1.4;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}
.p-real .dot{width:8px;height:8px;margin-top:5px}
.assump{margin-top:10px;border-top:1px solid var(--line);padding-top:6px}
.assump summary{list-style:none;cursor:pointer;font-size:12px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase;padding:6px 0;display:flex;justify-content:space-between}
.assump summary::-webkit-details-marker{display:none}
.assump summary::after{content:"+";color:var(--g2);font-size:16px;letter-spacing:0}
.assump[open] summary::after{content:"\2212"}
.mini{margin:4px 0 2px}
.mini-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--mute)}
.mini-top .mv{display:flex;align-items:baseline;gap:2px;color:var(--text)}
.mini-top input{width:78px;text-align:right;background:transparent;border:0;border-bottom:1px dashed rgba(201,165,74,.3);color:var(--text);font:400 15px Jost,sans-serif;padding:1px 0;outline:0}
.mini-top input:focus{border-bottom-color:var(--g2)}
.mini input[type=range].gold{height:26px}
.mini input[type=range].gold::-webkit-slider-thumb{width:20px;height:20px;margin-top:-7px}
.share-ctl{margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(201,165,74,.07);border:1px solid var(--line)}
.share-ctl[hidden]{display:none}

.chart-card{margin-top:16px;padding:20px 22px}
.chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.chart-head h3,.courses h3,.save h3{margin:4px 0 0;font-weight:400;font-size:clamp(20px,2vw,26px)}
.legend{font-size:12px;color:var(--mute);display:flex;align-items:center;gap:6px}
.lg-line{width:18px;height:3px;background:var(--g2);display:inline-block;border-radius:2px;box-shadow:0 0 8px var(--g2)}
.lg-goal{width:18px;height:0;border-top:1px dashed var(--g3);display:inline-block;margin-left:10px}
#chart{width:100%;height:clamp(180px,26vw,280px);display:block;margin-top:14px;overflow:visible}
.chart-x{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-top:6px}
.chart-cap{margin:10px 0 0;color:var(--mute);font-size:14px}
.chart-cap b{color:var(--g2);font-weight:400}

.courses{margin-top:16px;padding:20px 22px}
.courses-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{border:1px solid var(--line);background:none;border-radius:99px;padding:6px 12px;font-size:13px;color:var(--mute)}
.chips button[aria-pressed=true]{border-color:var(--g2);color:#120d02;background:var(--g2)}
.course-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.course{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.35);text-decoration:none;color:var(--text);transition:.25s;min-height:118px}
.course:hover{border-color:var(--line2);box-shadow:0 0 26px -10px rgba(242,210,122,.6)}
.course .ct{font-size:15px;font-weight:400;line-height:1.3}
.course .tags{font-size:11px;letter-spacing:.08em;color:var(--g1);margin-top:auto}
.course .start{font-size:13px;color:var(--g2)}
.course.first{border-color:var(--line2)}
.course .badge{align-self:flex-start;font-size:10px;letter-spacing:.18em;color:#120d02;background:var(--g2);border-radius:99px;padding:2px 8px}

.save{margin-top:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  background:radial-gradient(600px 200px at 100% 0,rgba(242,210,122,.12),transparent),var(--card);border-color:var(--line2)}
.save-copy{max-width:620px}
.save-copy p{margin:8px 0 0;color:var(--mute)}
.save-sum{color:var(--g3)!important}
.save-act{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ksx-hint{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mute)}
.ksx-hint em{color:var(--dim)}

.disc{padding-top:26px;padding-bottom:120px;border-top:1px solid var(--line);margin-top:30px}
.disc p{font-size:12px;color:var(--dim);max-width:900px}
.disc b{color:var(--mute)}
.disc .proto{letter-spacing:.04em}

.dock{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;display:none;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 10px 10px 16px;border-radius:18px;background:rgba(14,13,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line2);box-shadow:0 10px 40px rgba(0,0,0,.7),0 0 30px -10px rgba(242,210,122,.5)}
.dock-num{display:flex;flex-direction:column;line-height:1.15}
.dock-num b{font-weight:400;font-size:20px;color:var(--g2)}
.dock-num span:last-child{font-size:12px;color:var(--mute)}
.dock .k{font-size:9px}

.sheet-wrap{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}
.sheet-wrap[hidden]{display:none}
.sheet{width:min(480px,100%);padding:26px 24px 22px;text-align:center;border-color:var(--line2);animation:pop .5s cubic-bezier(.2,.9,.2,1.1)}
@keyframes pop{from{transform:translateY(20px) scale(.96);opacity:0}}
.sheet h3{font-weight:400;font-size:26px;margin:6px 0}
.sheet-big{font-size:clamp(26px,7.5vw,38px);white-space:nowrap;font-weight:300;margin:0;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.sheet-ksx{color:var(--g3);font-size:15px;min-height:22px}
.coin-burst{position:relative;width:110px;height:110px;margin:0 auto 6px;display:grid;place-items:center}
.coin-burst img{position:relative;z-index:1;filter:drop-shadow(0 0 22px rgba(242,210,122,.8));animation:spin 1.2s cubic-bezier(.2,.8,.2,1)}
.coin-burst .rays{position:absolute;inset:-30px;background:repeating-conic-gradient(rgba(242,210,122,.28) 0 6deg,transparent 6deg 22deg);border-radius:50%;-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);animation:rot 9s linear infinite}
.coin-burst.nocoin{display:none}
@keyframes spin{from{transform:rotateY(540deg) scale(.4)}}
@keyframes rot{to{transform:rotate(360deg)}}
.feeds{display:grid;gap:10px;margin:16px 0;text-align:left}
.feed{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.35)}
.feed p{margin:4px 0 0;font-size:15px}
.feed .k{font-size:9.5px;letter-spacing:.16em}
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:80;background:#151309;border:1px solid var(--line2);color:var(--g3);padding:10px 16px;border-radius:99px;font-size:14px;opacity:0;pointer-events:none;transition:.35s;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* responsive */
@media (max-width:1100px){.ctl-grid{grid-template-columns:repeat(2,1fr)}.path-grid{grid-template-columns:repeat(2,1fr)}.course-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  :root{--r:18px}
  .brand-sub{display:none}
  .hero{padding-top:24px}
  .presets{gap:8px}.chip{padding:9px 13px;font-size:14px}
  .ctl-grid,.ctl-grid.two{grid-template-columns:1fr;gap:10px}
  .ctl{padding:14px 16px 10px}
  .ctr-grid{gap:8px}
  .ctr{padding:12px 12px 14px}
  .ctr b{font-size:clamp(22px,7.4vw,34px)}
  .ctr .k{font-size:10px;letter-spacing:.16em}
  .t-grid{grid-template-columns:repeat(2,1fr)}
  .path-grid{grid-template-columns:1fr}
  .course-list{grid-template-columns:1fr}
  .course{min-height:0}
  .mode-row{gap:10px}.seg.big button{padding:8px 16px}
  .dock{display:flex}
  .cta-row .btn{width:100%}
  .btn.primary{padding:15px 18px;font-size:15px}
  .mixbar .link{position:static}
  .moon-orb{width:80px;height:80px;top:9vh;box-shadow:0 0 40px 8px rgba(242,210,122,.4)}
  .save{padding:20px}.save-act{width:100%}.save-act .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.p-head h3 small{display:block;font-size:12px;color:var(--dim);font-weight:300;letter-spacing:.04em}
.p-note{font-size:12px;color:var(--dim);margin:6px 0 0}
.variant{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 6px}
.variant button{border:1px solid var(--line);background:none;border-radius:99px;padding:4px 10px;font-size:12px;color:var(--mute)}
.variant button[aria-pressed=true]{border-color:var(--g2);color:var(--g2);box-shadow:0 0 12px -4px rgba(242,210,122,.6)}
.course.idea{border-style:dashed;background:rgba(201,165,74,.05)}
.badge.ghost{background:none;color:var(--g2);border:1px solid var(--line2)}
.lede b{color:var(--g2);font-weight:400}
.p-ico .rec{fill:var(--g2);stroke:none}

/* auto-fit big counters to their card (container query units) */
.ctr,.t-grid>div,.p-big{container-type:inline-size}
.ctr b{font-size:min(clamp(34px,4.6vw,64px),calc(100cqw / (var(--n,4) * .58)))}
.t-grid b{font-size:min(clamp(26px,3vw,42px),calc(100cqw / (var(--n,4) * .58)))}
@media (max-width:640px){.ctr b{font-size:min(34px,calc(100cqw / (var(--n,4) * .58)))}}

/* ---- WAVE 1 additions ---- */
.story{margin:18px auto 0;max-width:760px;padding:22px 24px;text-align:left;border-color:var(--line2)}
.story[hidden]{display:none}
.story h3{font-weight:400;font-size:22px;margin:6px 0 8px}
.story p{color:var(--mute);margin:0 0 10px}
.story p:last-child{margin-bottom:0}
.guest-cta{display:grid;gap:10px;margin:16px 0 6px}
.guest-cta[hidden],.ksx-hint[hidden]{display:none}
.saved-note{font-size:13px;color:var(--g3);margin-top:6px}
.err{color:var(--red);font-size:14px;min-height:18px}
