
:root{
  --bg:#0B0F17; --panel:#141B2A; --panel2:#0F1522; --edge:#243046; --edge2:#33415E;
  --text:#EAEEF6; --dim:#97A3B8; --faint:#5D6A80;
  --straw:#E8B64C; --bronze:#D07845; --violet:#9B7BD8; --steel:#5CA8E0;
  --ok:#4CC38A; --bad:#E0645C;
  --temper:linear-gradient(90deg,var(--straw),var(--bronze) 38%,var(--violet) 70%,var(--steel));
  --mono:"SF Mono","Cascadia Code",Consolas,"Liberation Mono",monospace;
  --disp:"Futura","Avenir Next","Century Gothic","Trebuchet MS",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.6;
  background-image:radial-gradient(1100px 500px at 75% -100px,#16203A 0%,rgba(11,15,23,0) 60%);}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
a{color:var(--steel)}
:focus-visible{outline:3px solid var(--straw);outline-offset:2px}
button{font-family:inherit}

/* ---------- Sticky header ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,15,23,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--edge)}
.topbar .wrap{display:flex;align-items:center;gap:22px;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.logo{font-family:var(--disp);font-weight:800;letter-spacing:.16em;font-size:17px;color:var(--text);text-decoration:none}
.logo b{background:var(--temper);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--dim);text-decoration:none;padding:8px 12px;border-radius:8px}
.nav a:hover{color:var(--text);background:var(--panel)}
.nav .cta{color:#0B0F17;background:var(--straw);font-weight:700}
.nav .cta:hover{background:#F2C767;color:#0B0F17}
.temperbar{height:3px;background:var(--temper)}

/* ---------- 3D Hero viewport ---------- */
.hero3d{position:relative;min-height:640px;padding-top:96px;padding-bottom:40px}
#c3d{position:absolute;top:0;left:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
.heroveil{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,15,23,.88) 0%,rgba(11,15,23,.55) 42%,rgba(11,15,23,0) 72%)}
.herocontent{position:relative;z-index:3;pointer-events:none}
.herocontent a,.herocontent .btn{pointer-events:auto}
.hud{position:absolute;z-index:2;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--faint);pointer-events:none;text-transform:uppercase}
.hud b{color:var(--straw);font-weight:400}
.hud-tl{top:14px;left:18px}.hud-tr{top:14px;right:18px;text-align:right}
.hud-bl{bottom:14px;left:18px}.hud-br{bottom:14px;right:18px;text-align:right;color:var(--dim)}
@media (max-width:860px){.hud-tr,.hud-bl{display:none}.hero3d{min-height:560px;padding-top:72px}
  .heroveil{background:linear-gradient(180deg,rgba(11,15,23,.82) 0%,rgba(11,15,23,.55) 55%,rgba(11,15,23,.2) 100%)}}

/* ---------- Hero ---------- */
.hero{padding:74px 0 30px}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--dim);text-transform:uppercase;margin-bottom:18px}
.kicker i{display:inline-block;width:28px;height:2px;background:var(--temper);vertical-align:middle;margin-right:10px}
h1{font-family:var(--disp);font-weight:800;font-size:clamp(38px,6vw,68px);line-height:1.06;letter-spacing:-.01em;max-width:22ch}
h1 .grad{color:var(--straw)}
.sub{margin-top:22px;font-size:18px;color:var(--dim);max-width:60ch}
.sub strong{color:var(--text)}
.cta-row{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;padding:14px 24px;border-radius:12px;font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.05em;text-decoration:none;cursor:pointer;border:1px solid var(--edge2);color:var(--text);background:var(--panel);transition:transform .12s ease,background .12s ease}
.btn:hover{transform:translateY(-2px);background:#1A2336}
.btn-hot{background:var(--straw);border-color:var(--straw);color:#0B0F17}
.btn-hot:hover{background:#F2C767}
.hero-note{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.06em}

/* ---------- Stats strip ---------- */
.stats{display:flex;flex-wrap:wrap;gap:14px;margin:44px 0 8px}
.stat{flex:1 1 150px;background:linear-gradient(180deg,var(--panel) 0%,var(--panel2) 100%);border:1px solid var(--edge);border-radius:14px;padding:16px 18px}
.stat b{font-family:var(--disp);font-size:26px;display:block;color:var(--text)}
.stat span{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.stat em{font-style:normal;color:var(--faint);font-size:11px;display:block;margin-top:2px}

/* ---------- Sections ---------- */
section{padding:58px 0 8px}
.h2row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:8px}
h2{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.01em}
h2::after{content:"";display:block;width:64px;height:3px;background:var(--temper);border-radius:2px;margin-top:10px}
.h2note{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.06em}
.lede{color:var(--dim);max-width:70ch;margin:14px 0 26px}

/* ---------- Toolbar: search + chips ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.search{flex:1 1 260px;display:flex;align-items:center;background:var(--panel2);border:1px solid var(--edge);border-radius:12px;padding:0 14px}
.search input{flex:1;background:none;border:none;color:var(--text);font-family:var(--mono);font-size:14px;padding:12px 8px;outline:none}
.search input::placeholder{color:var(--faint)}
.search .sic{color:var(--faint);font-family:var(--mono);font-size:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.04em;padding:8px 14px;border-radius:999px;border:1px solid var(--edge);background:var(--panel2);color:var(--dim);cursor:pointer}
.chip:hover{color:var(--text);border-color:var(--edge2)}
.chip[aria-pressed="true"]{color:#0B0F17;border-color:transparent;font-weight:700}
.chip[data-t="straw"][aria-pressed="true"]{background:var(--straw)}
.chip[data-t="bronze"][aria-pressed="true"]{background:var(--bronze)}
.chip[data-t="violet"][aria-pressed="true"]{background:var(--violet)}
.chip[data-t="steel"][aria-pressed="true"]{background:var(--steel)}
.chip[data-t="silver"][aria-pressed="true"]{background:#C6CFDD}
.chip[data-t="all"][aria-pressed="true"]{background:var(--text)}

/* ---------- Progress ---------- */
.progress{display:flex;align-items:center;gap:12px;margin:8px 0 22px}
.pbar{flex:1;height:8px;border-radius:99px;background:var(--panel2);border:1px solid var(--edge);overflow:hidden}
.pfill{height:100%;width:0%;background:var(--temper);border-radius:99px;transition:width .3s ease}
.pnum{font-family:var(--mono);font-size:12px;color:var(--dim);white-space:nowrap}

/* ---------- Question cards ---------- */
.qgrid{display:flex;flex-wrap:wrap;gap:16px}
.qcard{flex:1 1 calc(50% - 8px);min-width:300px;background:linear-gradient(180deg,var(--panel) 0%,var(--panel2) 100%);border:1px solid var(--edge);border-radius:16px;padding:20px;position:relative;border-top:3px solid var(--edge)}
.qcard.t-straw{border-top-color:var(--straw)} .qcard.t-bronze{border-top-color:var(--bronze)}
.qcard.t-violet{border-top-color:var(--violet)} .qcard.t-steel{border-top-color:var(--steel)}
.qcard.t-silver{border-top-color:#C6CFDD}
.qmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.qmeta .qnum{margin-right:9px}
.qmeta .qdom{margin-right:9px}
.qnum{font-family:var(--mono);font-size:11px;color:var(--faint)}
.qdom{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.t-straw .qdom{color:var(--straw)} .t-bronze .qdom{color:var(--bronze)}
.t-violet .qdom{color:var(--violet)} .t-steel .qdom{color:var(--steel)} .t-silver .qdom{color:#C6CFDD}
.diff{font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:3px 8px;border-radius:99px;border:1px solid var(--edge2);color:var(--dim);margin-left:auto}
.qtext{font-size:16px;font-weight:600;color:var(--text);margin-bottom:14px}
.reveal{font-family:var(--mono);font-size:12.5px;padding:9px 14px;border-radius:10px;border:1px solid var(--edge2);background:transparent;color:var(--text);cursor:pointer}
.reveal:hover{background:#1A2336}
.qcard.open .reveal{background:var(--ok);border-color:var(--ok);color:#08130D}
.ans{display:none;margin-top:14px;border-top:1px dashed var(--edge2);padding-top:14px;font-size:14.5px;color:var(--dim)}
.ans strong,.ans code{color:var(--text)}
.why{margin-top:10px;font-size:13px;color:var(--dim);background:var(--panel2);border-left:3px solid var(--straw);border-radius:0 8px 8px 0;padding:10px 12px}
.plain{margin-top:12px;font-size:14px;color:var(--text);background:rgba(92,168,224,.08);border-left:3px solid var(--steel);border-radius:0 8px 8px 0;padding:11px 13px}
.plain b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:5px}
.diff[data-l="hard"],.qcard .diff.hard{border-color:var(--bronze);color:var(--bronze)}
.why b{color:var(--straw)}
.qcard.open .ans{display:block}
code{font-family:var(--mono);font-size:.92em}
.empty{display:none;color:var(--faint);font-family:var(--mono);font-size:13px;padding:24px 4px}

/* ---------- Jobs (coming soon) ---------- */
.jobs{border:1px solid var(--edge);border-radius:18px;padding:28px;background:linear-gradient(135deg,#141B2A 0%,#0F1522 60%,#131A2A 100%);position:relative;overflow:hidden}
.jobs::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 120px,rgba(92,168,224,.05) 120px 122px);pointer-events:none}
.soon{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);border:1px solid rgba(92,168,224,.45);border-radius:999px;padding:5px 12px;margin-bottom:14px}
.soon i{width:7px;height:7px;border-radius:50%;background:var(--steel);display:inline-block;animation:pulse 1.9s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.soon i{animation:none;opacity:.9}}
.jobs h2{margin-bottom:8px}
.jobs .lede{margin-bottom:20px}
.jobrow{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 6px}
.jobcard{flex:1 1 260px;background:var(--panel2);border:1px solid var(--edge);border-radius:12px;padding:16px;position:relative}
.jobcard .chk{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ok);text-transform:uppercase;margin-bottom:6px}
.jobcard h4{font-family:var(--disp);font-size:15px;margin-bottom:5px}
.jobcard p{font-size:13.5px;color:var(--dim)}
.ghost{margin-top:20px;background:rgba(224,100,92,.07);border:1px solid rgba(224,100,92,.32);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--dim)}
.ghost b{color:var(--bad);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;display:block;margin-bottom:4px}

/* ---------- Provenance ---------- */
.prov{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:5px;white-space:nowrap}
.prov-a{background:rgba(151,163,184,.12);color:var(--dim);border:1px solid var(--edge2)}
.prov-r{background:rgba(76,195,138,.13);color:var(--ok);border:1px solid rgba(76,195,138,.45)}
.qsrc{margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.03em}
.qsrc a{color:var(--steel);text-decoration:none;border-bottom:1px dotted var(--edge2)}

.sourcing{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px}
.src{flex:1 1 300px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:14px;padding:20px}
.src h3{font-family:var(--disp);font-size:16px;margin-bottom:6px}
.src .rank{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--straw);text-transform:uppercase;margin-bottom:8px}
.src p{font-size:14px;color:var(--dim)}
.submitbox{margin-top:18px;background:linear-gradient(135deg,#141B2A,#0F1522);border:1px solid rgba(76,195,138,.4);border-radius:16px;padding:22px}
.submitbox h3{font-family:var(--disp);font-size:19px;margin-bottom:6px}
.submitbox p{color:var(--dim);font-size:14.5px;max-width:66ch}
.submitbox .field{margin-top:14px}

/* ---------- Drills ---------- */
.drillrow{display:flex;flex-wrap:wrap;gap:18px}
.drill{flex:1 1 calc(50% - 9px);min-width:320px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:22px}
.drill h3{font-family:var(--disp);font-size:19px;margin-bottom:8px}
.drill .tagline{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--violet);text-transform:uppercase;margin-bottom:10px}
.figure{background:#0A0E15;border:1px solid var(--edge);border-radius:12px;padding:10px;margin:12px 0}
.figure svg{display:block;width:100%;height:auto}
.choices{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.choice{font-family:var(--mono);font-size:13.5px;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid var(--edge2);background:var(--panel2);color:var(--text);cursor:pointer}
.choice:hover{border-color:var(--violet)}
.choice.correct{background:rgba(76,195,138,.14);border-color:var(--ok);color:var(--ok)}
.choice.wrong{background:rgba(224,100,92,.10);border-color:var(--bad);color:var(--bad)}
.explain{display:none;margin-top:12px;font-size:14px;color:var(--dim);background:var(--panel2);border:1px solid var(--ok);border-radius:10px;padding:13px}
.explain.show{display:block}
.explain b{color:var(--ok)}
.drillscore{font-family:var(--mono);font-size:12px;color:var(--dim)}

/* ---------- Loops ---------- */
.looprow{display:flex;flex-wrap:wrap;gap:18px}
.loop{flex:1 1 300px;min-width:290px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:22px}
.loop h3{font-family:var(--disp);font-size:19px}
.loop .arch{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--steel);text-transform:uppercase;margin:2px 0 14px}
.round{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--edge)}
.rnum{font-family:var(--mono);font-size:11px;color:#0B0F17;background:var(--steel);border-radius:6px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:700}
.round p{font-size:13.5px;color:var(--dim)}
.round b{color:var(--text);display:block;font-size:13.5px}
.preview{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-top:12px;letter-spacing:.06em}

/* ---------- Plan tabs ---------- */
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{font-family:var(--mono);font-size:12.5px;padding:10px 16px;border-radius:10px;border:1px solid var(--edge);background:var(--panel2);color:var(--dim);cursor:pointer}
.tab[aria-selected="true"]{background:var(--text);color:#0B0F17;border-color:transparent;font-weight:700}
.plan{display:none}
.plan.show{display:flex;flex-wrap:wrap;gap:18px}
.pcol{flex:1 1 280px;min-width:270px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:20px}
.pcol h4{font-family:var(--disp);font-size:16px;margin-bottom:4px}
.pcol .sub4{font-family:var(--mono);font-size:11px;color:var(--faint);margin-bottom:12px;letter-spacing:.06em}
.task{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;color:var(--dim);cursor:pointer}
.task input{margin-top:4px;accent-color:#E8B64C;width:15px;height:15px}
.task input:checked + span{color:var(--faint);text-decoration:line-through}
.ready{font-family:var(--mono);font-size:12px;color:var(--dim);margin-top:14px}

/* ---------- Pain vignettes ---------- */
.painrow{display:flex;flex-wrap:wrap;gap:18px}
.pain{flex:1 1 300px;min-width:280px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:22px;position:relative;overflow:hidden}
.pain::before{content:"\201C";position:absolute;top:-18px;right:10px;font-family:Georgia,serif;font-size:110px;color:var(--edge);line-height:1}
.pain h3{font-family:var(--disp);font-size:16px;letter-spacing:.02em;margin-bottom:10px;color:var(--straw)}
.pain p{font-size:14.5px;color:var(--dim)}
.pain p b{color:var(--text)}
.absolve{margin-top:22px;font-size:16.5px;color:var(--text);max-width:62ch}
.absolve b{color:var(--straw)}

/* ---------- Freeze points ---------- */
.freeze{display:flex;flex-direction:column;gap:0;border:1px solid var(--edge);border-radius:16px;overflow:hidden}
.fz{display:flex;gap:18px;padding:20px 22px;background:var(--panel2);border-top:1px solid var(--edge);flex-wrap:wrap}
.fz:first-child{border-top:none}
.fznum{font-family:var(--disp);font-weight:800;font-size:26px;color:var(--straw);min-width:34px}
.fzbody{flex:1;min-width:260px}
.fz h3{font-family:var(--disp);font-size:16.5px;margin-bottom:4px}
.fz .moment{font-size:14px;color:var(--dim);margin-bottom:8px}
.fz .script{font-size:14px;color:var(--text);background:var(--panel);border-left:3px solid var(--ok);border-radius:0 10px 10px 0;padding:10px 13px}
.fz .script b{color:var(--ok);font-family:var(--mono);font-size:11px;letter-spacing:.12em}

/* ---------- Say this, not that ---------- */
.saynot{display:flex;flex-direction:column;gap:10px}
.sn{display:flex;flex-wrap:wrap;gap:10px}
.sn div{flex:1 1 300px;border-radius:12px;padding:12px 15px;font-size:14px}
.sn .no{background:rgba(224,100,92,.07);border:1px solid rgba(224,100,92,.35);color:var(--dim)}
.sn .no b{color:var(--bad);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;display:block;margin-bottom:3px}
.sn .yes{background:rgba(76,195,138,.07);border:1px solid rgba(76,195,138,.35);color:var(--text)}
.sn .yes b{color:var(--ok);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;display:block;margin-bottom:3px}

/* ---------- Founder note ---------- */
.founder{border:1px solid var(--edge2);border-radius:18px;padding:28px;background:linear-gradient(135deg,#141B2A 0%,#0F1522 55%,#131A2A 100%);position:relative}
.founder::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--temper);border-radius:3px}
.founder p{color:var(--dim);font-size:15.5px;max-width:72ch;margin-bottom:12px}
.founder p b{color:var(--text)}
.founder .sig{font-family:var(--mono);font-size:12.5px;color:var(--straw);letter-spacing:.06em}

/* ---------- Access ---------- */
.access{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}
.acard{flex:1 1 calc(50% - 9px);min-width:300px;border-radius:18px;padding:28px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);position:relative}
.acard.hot{border:1px solid rgba(232,182,76,.55);box-shadow:0 0 44px rgba(232,182,76,.09)}
.acard .tag{position:absolute;top:-12px;left:22px;background:var(--straw);color:#0B0F17;font-family:var(--mono);font-size:10px;letter-spacing:.14em;padding:5px 10px;border-radius:6px;text-transform:uppercase;font-weight:700}
.price{font-family:var(--disp);font-size:52px;font-weight:800}
.price small{font-size:14px;color:var(--dim);font-weight:400;font-family:var(--body)}
.plist{margin:16px 0 22px;padding-left:18px;color:var(--dim);font-size:14.5px}
.plist li{margin-bottom:8px}
.plist b{color:var(--text)}
.field{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
input[type=email]{flex:1;min-width:200px;padding:13px 15px;border-radius:12px;border:1px solid var(--edge2);background:var(--panel2);color:var(--text);font-family:var(--mono);font-size:14px}
.formnote{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:12px}
.ok-msg{color:var(--ok);font-family:var(--mono);font-size:13px;margin-top:12px;display:none}

footer{margin-top:70px;border-top:1px solid var(--edge);padding:22px 0 36px}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--faint)}

@media (max-width:860px){
  .nav a:not(.cta){display:none}
  .hero{padding:52px 0 20px}
  .qcard,.drill,.acard{flex-basis:100%}
  .loop,.pcol{flex-basis:100%}
}

/* ---------- symbol bar + hint ---------- */
.whint{font-size:12.5px;color:var(--faint);margin:-3px 0 8px;line-height:1.55}
.whint b{color:var(--dim);font-family:var(--mono);font-size:12px}
.symbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:6px;
  padding:9px 12px;background:rgba(15,21,34,.97);border-top:1px solid var(--edge2);
  overflow-x:auto;-webkit-overflow-scrolling:touch;backdrop-filter:blur(8px)}
.symbar.show{display:flex}
.symlab{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);flex:0 0 auto;padding-right:2px}
.symb{flex:0 0 auto;min-width:34px;height:34px;border:1px solid var(--edge2);border-radius:8px;
  background:var(--panel);color:var(--text);font-size:15px;cursor:pointer;line-height:1}
.symb:hover{border-color:var(--straw);color:var(--straw)}
.symclose{margin-left:4px;color:var(--faint)}

/* ---------- ask box ---------- */
.askcard{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);
  border-left:3px solid var(--straw);border-radius:0 16px 16px 0;padding:22px 24px;margin:26px 0 6px}
.askcard h3{font-family:var(--disp);font-size:20px;margin-bottom:7px}
.askcard p{color:var(--dim);font-size:14.5px;max-width:66ch;margin-bottom:14px}
.askcard .field input{flex:1 1 320px}

/* ---------- difficulty tiers ---------- */
.diff.easy{color:var(--ok);border-color:rgba(76,195,138,.45)}
.diff.medium{color:var(--straw);border-color:rgba(232,182,76,.45)}
.diff.hard{color:#E0645C;border-color:rgba(224,100,92,.5)}
.status{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.status.done{color:var(--ok)}
.status.tried{color:var(--straw)}

/* ---------- answer workspace ---------- */
.work{margin:14px 0 6px}
.wlab{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.work textarea{width:100%;background:var(--panel2);border:1px solid var(--edge2);border-radius:10px;color:var(--text);
  font-family:var(--body);font-size:14.5px;padding:11px 12px;resize:vertical;min-height:88px}
.work textarea:focus{outline:none;border-color:var(--straw)}
.wrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}
.wnote{font-size:12.5px;color:var(--faint)}
.wselfbtns{margin-top:10px;font-size:13px;color:var(--dim);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.grade{margin-top:12px;background:rgba(92,168,224,.08);border:1px solid rgba(92,168,224,.35);border-left:3px solid var(--steel);
  border-radius:0 10px 10px 0;padding:12px 14px;font-size:14px;color:var(--dim)}
.grade b{color:var(--text);font-family:var(--disp);font-size:18px;margin-right:8px}
.rubric{margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--faint)}
.gfup{margin-top:8px;font-size:13.5px;color:var(--dim)}
.gfup b{color:var(--steel);font-size:13.5px}
.ggood{color:var(--ok);margin-top:6px;font-size:13.5px}
.gmiss{color:var(--straw);margin-top:4px;font-size:13.5px}

/* ---------- tracker ---------- */
.tracker{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:14px;
  padding:16px 18px;margin:4px 0 14px}
.trk-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.trk-title{font-family:var(--disp);font-size:16px}
.trk-total{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.06em}
.trk-diffs{display:flex;gap:18px;margin-top:10px;font-size:13px;color:var(--dim);flex-wrap:wrap}
.trk-diffs b{color:var(--text);font-family:var(--mono);font-size:12.5px}
.trk-sync{margin-top:10px;font-size:12.5px;color:var(--faint)}
.linkbtn{background:none;border:none;color:var(--straw);cursor:pointer;font-size:12.5px;text-decoration:underline;padding:0}
.trk-more{margin-top:10px}
.trk-more summary{cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.trk-topics{margin-top:10px}
.trow{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:12.5px;color:var(--dim)}
.trow span{flex:0 0 175px}
.trow .tbar{flex:1;height:7px;border-radius:4px;background:var(--edge);overflow:hidden}
.trow .tbar div{height:100%;background:linear-gradient(90deg,var(--ok),var(--steel))}
.trow em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--faint);flex:0 0 44px;text-align:right}

/* ---------- tips & tricks popup ---------- */
.tipbtn{margin-left:8px;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--straw);background:rgba(232,182,76,.1);
  border:1px solid rgba(232,182,76,.4);border-radius:999px;padding:4px 10px;cursor:pointer}
.tipbtn:hover{background:rgba(232,182,76,.2)}
.tipbox{display:none;margin-top:12px;background:rgba(232,182,76,.07);border:1px solid rgba(232,182,76,.35);
  border-left:3px solid var(--straw);border-radius:0 10px 10px 0;padding:13px 15px;font-size:14px;color:var(--text)}
.tipbox.show{display:block}
.tipbox b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--straw);margin-bottom:5px}

/* ---------- ported paid content ---------- */
.drill{flex:1 1 calc(50% - 9px);min-width:320px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:22px}
.drill h3{font-family:var(--disp);font-size:19px;margin-bottom:8px}
.drill .tagline{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--violet);text-transform:uppercase;margin-bottom:10px}
.figure{background:#0A0E15;border:1px solid var(--edge);border-radius:12px;padding:10px;margin:12px 0}
.figure svg{display:block;width:100%;height:auto}
.loop{flex:1 1 300px;min-width:290px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;padding:22px}
.loop h3{font-family:var(--disp);font-size:19px}
.loop .arch{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--steel);text-transform:uppercase;margin:2px 0 14px}
/* ---------- Plan tabs ---------- */
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{font-family:var(--mono);font-size:12.5px;padding:10px 16px;border-radius:10px;border:1px solid var(--edge);background:var(--panel2);color:var(--dim);cursor:pointer}
.tab[aria-selected="true"]{background:var(--text);color:#0B0F17;border-color:transparent;font-weight:700}
.plan{display:none}
.plan.show{display:flex;flex-wrap:wrap;gap:18px}
.qcard,.drill,.acard{flex-basis:100%}
.loop,.pcol{flex-basis:100%}
.paidzone{position:relative}
.paidlock{text-align:center;padding:46px 24px;border:1px dashed var(--edge2);border-radius:18px;background:rgba(20,27,42,.5)}
.paidlock h3{font-family:var(--disp);font-size:22px;margin-bottom:8px}
.paidlock p{color:var(--dim);max-width:56ch;margin:0 auto 18px}

/* ---------- suggest pill (every page) — bottom-LEFT, clear of Netlify's badge ---------- */
.sgpill{position:fixed;left:18px;bottom:18px;z-index:140;background:linear-gradient(180deg,#F2C766,#E8B64C);color:#12151c;border:none;
  border-radius:999px;padding:15px 22px;font-size:15.5px;font-weight:800;cursor:pointer;letter-spacing:.01em;
  box-shadow:0 0 0 0 rgba(232,182,76,.55),0 14px 36px rgba(0,0,0,.5);display:inline-flex;align-items:center;gap:8px;
  animation:sgpulse 2.6s ease-out infinite}
.sgpill:hover{transform:translateY(-1px);filter:brightness(1.06)}
@keyframes sgpulse{0%{box-shadow:0 0 0 0 rgba(232,182,76,.55),0 14px 36px rgba(0,0,0,.5)}70%{box-shadow:0 0 0 14px rgba(232,182,76,0),0 14px 36px rgba(0,0,0,.5)}100%{box-shadow:0 0 0 0 rgba(232,182,76,0),0 14px 36px rgba(0,0,0,.5)}}
@media (prefers-reduced-motion:reduce){.sgpill{animation:none}}
.sym-open .sgpill{display:none}
.eabox.sgbox{text-align:left;max-width:560px}
.eabox.sgbox p{text-align:left}
.sgkick{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--straw);margin-bottom:8px}
.sglead{color:var(--dim);font-size:15px;line-height:1.6}
.sgrow{display:flex;align-items:center;gap:14px;margin-top:12px}
.sgrow .wnote{font-size:13px;color:var(--faint)}
.sgfounder{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:14px 16px;border-radius:12px;
  background:rgba(232,182,76,.07);border:1px solid rgba(232,182,76,.28);font-size:13.5px;color:var(--dim);line-height:1.6}
.sgfounder b{display:block;color:var(--text);margin-bottom:3px;font-size:14px}
.sgava{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#E8B64C,#5CA8E0);
  color:#12151c;font-family:var(--disp);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.eabox textarea{width:100%;background:var(--panel2);border:1px solid var(--edge2);border-radius:10px;color:var(--text);
  font-family:var(--body);font-size:14.5px;padding:11px 12px;resize:vertical;min-height:80px}
.eabox textarea:focus{outline:none;border-color:var(--straw)}
@media (max-width:700px){.sgpill{left:12px;bottom:12px;padding:13px 17px;font-size:14px}}

/* inputs: every text field matches the email fields (was browser-default white) */
input[type=text],input[type=search]:not(.search input){flex:1;min-width:200px;padding:13px 15px;border-radius:12px;border:1px solid var(--edge2);
  background:var(--panel2);color:var(--text);font-family:var(--mono);font-size:14px}
input[type=text]:focus,input[type=email]:focus{outline:none;border-color:var(--straw)}

/* ---------- early access modal + confetti ---------- */
.eaconf{position:fixed;inset:0;pointer-events:none;z-index:200}
.eamodal{display:none;position:fixed;inset:0;z-index:150;background:rgba(6,9,15,.72);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}
.eamodal.show{display:flex}
.eabox{position:relative;max-width:520px;width:100%;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge2);
  border-radius:18px;padding:30px 28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.eaclose{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--faint);font-size:26px;cursor:pointer;line-height:1}
.eaemoji{font-size:44px;line-height:1;margin-bottom:10px}
.eabox h3{font-family:var(--disp);font-size:24px;margin-bottom:10px}
.eabox p{color:var(--dim);font-size:15px;margin-bottom:16px}
.eabox p b{color:var(--straw)}
.eabox .field{justify-content:center}
.eadone{color:var(--ok)!important;font-weight:600}

/* ---------- early access banner ---------- */
.eabanner{display:none;background:linear-gradient(90deg,rgba(232,182,76,.14),rgba(92,168,224,.12));border-bottom:1px solid var(--edge2);
  padding:10px 24px;font-size:13.5px;color:var(--dim);text-align:center;line-height:1.55}
.eabanner b{color:var(--straw)}
.eabanner a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.eabanner.show{display:block}

/* ---------- multi-page additions ---------- */
.topicstrip{margin:22px 0 4px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--faint);
  line-height:2;max-width:74ch;text-transform:uppercase}

/* free vs paid comparison */
.cmp{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px;
  background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:16px;overflow:hidden}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--edge);font-size:14.5px;vertical-align:top}
.cmp thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);background:rgba(0,0,0,.18)}
.cmp thead th.paidcol{color:var(--straw)}
.cmp td.feat{color:var(--text);font-weight:500;width:38%}
.cmp td.free{color:var(--dim);width:31%}
.cmp td.paid{color:var(--text);width:31%;background:rgba(232,182,76,.045)}
.cmp tr:last-child td{border-bottom:none}
.yes{color:var(--ok);font-family:var(--mono);font-size:13px}
.no{color:var(--faint);font-family:var(--mono);font-size:13px}
.cmpnote{font-size:13.5px;color:var(--faint);margin-top:12px}
@media (max-width:700px){.cmp th,.cmp td{padding:11px 10px;font-size:13px}.cmp td.feat{width:40%}}

/* email gate */
.gate{max-width:560px;margin:40px auto;text-align:center;background:linear-gradient(180deg,var(--panel),var(--panel2));
  border:1px solid var(--edge);border-radius:18px;padding:34px 28px}
.gate h2{font-family:var(--disp);font-size:24px;margin-bottom:10px}
.gate p{color:var(--dim);font-size:15px;margin-bottom:18px}
.gate .field{justify-content:center}
.gate .formnote{margin-top:12px}
.gated{display:none}
.stat b.statword{font-size:21px;letter-spacing:.02em;padding-top:3px}
.nav a.active{color:var(--text);background:var(--panel)}
.pagehead{padding:52px 0 12px}
.pagehead .kicker{margin-bottom:14px}
.pagehead h1{font-size:clamp(30px,4.4vw,50px);max-width:20ch}
.pagehead .sub{font-size:17px;margin-top:16px}

/* lock */
.qcard.locked{position:relative;min-height:190px}
.qcard.locked .lockbody{filter:blur(0);opacity:1}
.lockwrap{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.lockline{height:11px;border-radius:6px;background:linear-gradient(90deg,var(--edge2),var(--edge));opacity:.55}
.lockline.w1{width:92%}.lockline.w2{width:78%}.lockline.w3{width:56%}
.lockmsg{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;row-gap:10px}
.lockmsg span.txt{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.05em;flex:1 1 auto;min-width:110px}
.padlock{width:26px;height:26px;border-radius:7px;border:1px solid var(--straw);display:flex;align-items:center;justify-content:center;color:var(--straw);font-size:13px}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:9px}

.freebadge{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:rgba(76,195,138,.13);color:var(--ok);border:1px solid rgba(76,195,138,.4)}

/* unlock bar */
.unlockbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);
  border-radius:14px;padding:14px 16px;margin:4px 0 22px}
.ub-left{display:flex;align-items:center;gap:10px;flex:1 1 300px;min-width:0}
.ub-left span:last-child{font-size:14px;color:var(--dim)}
.ub-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ub-right input{padding:9px 12px;border-radius:9px;border:1px solid var(--edge2);background:var(--panel2);
  color:var(--text);font-family:var(--mono);font-size:13px;min-width:190px}
.unlockbar.unlocked{border-color:rgba(76,195,138,.5)}
.unlockbar.unlocked .ub-left span:last-child{color:var(--ok)}

/* builder */
.builder{display:flex;flex-wrap:wrap;gap:16px}
.bcol{flex:1 1 260px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:14px;padding:18px}
.bcol label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.bcol select,.bcol input[type=text]{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--edge2);background:var(--panel2);color:var(--text);font-family:var(--body);font-size:14.5px}
.loop{margin-top:26px;display:none}
.loop.show{display:block}
.lround{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:14px;padding:20px;margin-bottom:14px}
.lround h3{font-family:var(--disp);font-size:18px;margin-bottom:2px}
.lround .meta{font-family:var(--mono);font-size:11px;color:var(--steel);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.lq{padding:10px 0;border-top:1px solid var(--edge);font-size:14.5px;color:var(--dim)}
.lq b{color:var(--text);display:block;margin-bottom:3px;font-size:14.5px}
.lq .tag{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.08em}

/* examples / preview */
.exlabel{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--straw);border:1px dashed rgba(232,182,76,.55);border-radius:6px;padding:4px 9px;margin-bottom:14px}
.exwrap{border:1px dashed var(--edge2);border-radius:16px;padding:22px;margin-top:26px;background:rgba(20,27,42,.5)}
.exwrap>p.lede{margin-bottom:18px}
.xp{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--edge);border-radius:14px;padding:20px;margin-bottom:14px}
.xp h4{font-family:var(--disp);font-size:17px;margin-bottom:4px}
.xp .xmeta{font-family:var(--mono);font-size:11px;color:var(--steel);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.xrow{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--edge);font-size:14px;color:var(--dim);flex-wrap:wrap}
.xrow b{color:var(--text);min-width:120px;font-size:14px}
.joblist .xp{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.joblist .xp>div{flex:1 1 260px}
.stamp{font-family:var(--mono);font-size:10.5px;color:var(--ok);letter-spacing:.06em;white-space:nowrap}

/* legal */
.legal h2{font-size:24px;margin:34px 0 10px}
.legal p,.legal li{color:var(--dim);font-size:15px;margin-bottom:10px}
.legal ul{padding-left:20px}
.legal .updated{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.06em}
.notice{background:rgba(232,182,76,.08);border:1px solid rgba(232,182,76,.4);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--dim);margin:18px 0}
.notice b{color:var(--straw)}
