/* learn module: home section (#slot-learn) + /learn/* pages. Page base styles are scoped to body.lp so the home page is untouched. Nav/footer: site.css. */
/* tokens: site.css (dark + light theme) */

/* ---------- home section ---------- */
.l-home{padding-block:clamp(72px,9vw,120px);border-top:1px solid var(--line)}
.l-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.l-card{display:grid;gap:8px;align-content:start;padding:24px 22px;border:1px solid var(--line);border-radius:8px;background:var(--navy);color:var(--fg);text-decoration:none;min-width:0;transition:border-color .2s,background .2s,transform .2s}
.l-card:hover{border-color:var(--gold);background:var(--panel);transform:translateY(-2px)}
.l-card small{font:500 0.6875rem var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.l-card h3{font:700 1.1875rem/1.35 var(--f-disp);margin:0}
.l-card p{color:var(--muted);font-size:0.9062rem;margin:0}
.l-card .go{font-size:0.875rem;color:var(--gold-hi);margin-top:6px}

/* ---------- page base (copied from index.html, scoped) ---------- */
.lp *{box-sizing:border-box}
body.lp{margin:0;background:var(--ink);color:var(--fg);font:1rem/1.75 var(--f-body);overflow-x:hidden}
.lp .wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.lp a{color:var(--gold-hi)}
.lp a:focus-visible,.lp button:focus-visible,.lp input:focus-visible,.lp select:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.lp h1,.lp h2,.lp h3{font-family:var(--f-disp);font-weight:700;text-wrap:balance;line-height:1.3;margin:0}
.lp .eyebrow{font:500 0.75rem/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}
.lp .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.lp .gold-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:4px;font:600 0.9375rem var(--f-body);text-decoration:none;border:1px solid transparent;transition:transform .2s,box-shadow .2s;white-space:nowrap;cursor:pointer}
.lp .btn:hover{transform:translateY(-2px)}
.lp .btn svg{width:18px;height:18px;flex:none}
.lp .btn-gold,.lp .menu .btn-gold{background:var(--grad-gold);color:#1a1205;box-shadow:0 8px 30px rgb(var(--gold-rgb) / .25),inset 0 1px 0 rgba(255,255,255,.5)}
.lp .btn-ig,.lp .cta-band .btn-ig{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888);color:#fff}
.lp .btn-line{border-color:var(--line-2);color:var(--fg);background:transparent}
.lp .btn-line:hover{border-color:var(--gold)}
.lp .btn-sm{padding:9px 16px;font-size:0.875rem}
.lp main{display:block}
.lp .hero-s{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 0%,rgb(var(--gold-rgb) / .12),transparent 60%),var(--ink)}
.lp .hero-s .wrap{padding-block:clamp(48px,7vw,88px) clamp(36px,5vw,56px);display:grid;gap:18px;max-width:860px;margin-left:auto;margin-right:auto}
.lp .hero-s h1{font-size:clamp(1.875rem,4.6vw,3.25rem)}
.lp .hero-s p{color:var(--fg-2);margin:0;font-size:clamp(1rem,1.4vw,1.125rem)}
.lp .crumb{font-size:0.8125rem;color:var(--dim)}
.lp .crumb a{color:var(--muted);text-decoration:none}
.lp .sec{padding-block:clamp(40px,6vw,72px)}
.lp .risk{font-size:0.8438rem;color:var(--dim);border:1px solid var(--line);border-left:3px solid var(--down);border-radius:4px;padding:16px 20px;background:var(--navy)}
.lp .risk strong{color:var(--fg)}

/* ---------- shared bits ---------- */
.lp .panel{border:1px solid var(--line);border-radius:8px;background:var(--navy);padding:clamp(18px,3vw,28px);min-width:0}
.lp .panel h2{font-size:clamp(1.375rem,2.6vw,1.75rem);margin-bottom:6px}
.lp .muted{color:var(--muted)}
.lp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lp .grid2>*{min-width:0}
.lp .cta-band{margin-top:clamp(32px,5vw,56px);border:1px solid rgb(var(--gold-rgb) / .4);border-radius:8px;padding:clamp(20px,3vw,32px);background:linear-gradient(135deg,rgb(var(--gold-rgb) / .10),transparent 60%),var(--navy);display:grid;gap:14px;justify-items:start}
.lp .cta-band h2{font-size:clamp(1.375rem,2.6vw,1.875rem)}
.lp .cta-band p{margin:0;color:var(--fg-2)}
.lp label{display:grid;gap:6px;font-size:0.875rem;color:var(--muted)}
.lp input,.lp select{font:500 1rem var(--f-mono);color:var(--fg);background:var(--ink);border:1px solid var(--line-2);border-radius:4px;padding:11px 12px;width:100%;min-width:0}
.lp input:focus,.lp select:focus{border-color:var(--gold);outline:none}
.lp .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:16px}
.lp .seg{display:inline-flex;border:1px solid var(--line-2);border-radius:4px;overflow:hidden}
.lp .seg button{font:500 0.875rem var(--f-body);background:transparent;color:var(--muted);border:0;padding:10px 16px;cursor:pointer}
.lp .seg button[aria-pressed=true]{background:var(--gold);color:#1a1205}
.lp .out{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:6px}
.lp .big{font:700 clamp(1.875rem,4vw,2.625rem)/1.1 var(--f-brand);font-variant-numeric:tabular-nums}
.lp .formula{font:500 0.8438rem/1.7 var(--f-mono);color:var(--muted);background:var(--ink);border:1px solid var(--line);border-radius:4px;padding:12px 14px;overflow-wrap:anywhere}
.lp .warn{color:var(--amber);font-size:0.9062rem}
.lp .warn:empty{display:none}
.lp .up{color:var(--up)}.lp .down{color:var(--down)}

/* hub */
.lp .hub h2{font-size:clamp(1.375rem,2.6vw,1.875rem);margin:clamp(28px,4vw,44px) 0 16px}
.lp .hub h2:first-child{margin-top:0}

/* article */
.lp .article{max-width:760px;margin:0 auto}
.lp .article h2{font-size:clamp(1.375rem,2.8vw,1.875rem);margin:40px 0 12px}
.lp .article h3{font-size:1.1875rem;margin:26px 0 8px}
.lp .article p,.lp .article li{color:var(--fg-2)}
.lp .article ul,.lp .article ol{padding-left:1.3em}
.lp .article li{margin-bottom:6px}
.lp .article table{width:100%;border-collapse:collapse;font-size:0.9375rem;margin:12px 0}
.lp .article th,.lp .article td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.lp .article th{background:var(--navy);color:var(--fg)}
.lp .tbl{overflow-x:auto}
.lp .meta{font-size:0.8125rem;color:var(--dim)}
.lp .toc{border:1px solid var(--line);border-radius:8px;background:var(--navy);padding:16px 20px;font-size:0.9375rem}
.lp .toc ol{margin:6px 0 0}

/* ebook */
.lp .ebook{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.lp .ebook>*{min-width:0}
.lp .ebook img{width:100%;height:auto;border-radius:4px 8px 8px 4px;box-shadow:inset 4px 0 0 rgb(var(--shade) / .2),0 24px 60px rgb(var(--shade) / .5);display:block}
.lp .chap{list-style:none;padding:0;margin:12px 0;display:grid;gap:2px;font-size:0.9375rem}
.lp .chap li{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.lp .chap li b{font:500 0.75rem/2 var(--f-mono);color:var(--dim);flex:none;width:58px}
.lp .chap li.free{color:var(--fg)}
.lp .chap li.free b{color:var(--gold)}
.lp .pdf{width:100%;height:80vh;min-height:520px;border:1px solid var(--line-2);border-radius:8px;background:#fff;margin-top:20px}

/* glossary */
.lp .gl-bar{display:grid;gap:12px;position:sticky;top:64px;z-index:5;background:var(--ink);padding-block:14px;border-bottom:1px solid var(--line)}
.lp .chips{display:flex;flex-wrap:wrap;gap:8px}
.lp .chip{font:500 0.8125rem var(--f-body);color:var(--muted);background:var(--navy);border:1px solid var(--line-2);border-radius:99px;padding:6px 14px;cursor:pointer}
.lp .chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1a1205}
.lp .chip.az{font-family:var(--f-mono);padding:5px 10px;min-width:34px}
.lp .chip:disabled{opacity:.3;cursor:default}
.lp .terms{display:grid;gap:14px;margin-top:20px}
.lp .term{border:1px solid var(--line);border-radius:8px;background:var(--navy);padding:20px 22px;display:grid;grid-template-columns:1fr minmax(0,320px);gap:20px;align-items:start;scroll-margin-top:200px}
.lp .term>*{min-width:0}
.lp .term h3{font-size:1.3125rem}
.lp .term .cat{font:500 0.6875rem var(--f-mono);letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.lp .term .def{color:var(--fg-2);font-size:0.9688rem;margin-top:6px}
.lp .term .def p{margin:0 0 6px}
.lp .term svg{width:100%;height:auto;border-radius:6px;display:block}
.lp .term.nosvg{grid-template-columns:1fr}

/* quiz */
.lp .q{display:grid;gap:14px}
.lp .q h2{font-size:clamp(1.25rem,2.4vw,1.625rem)}
.lp .opts{display:grid;gap:10px}
.lp .opt{text-align:left;font:500 1rem/1.5 var(--f-body);color:var(--fg);background:var(--ink);border:1px solid var(--line-2);border-radius:6px;padding:14px 16px;cursor:pointer}
.lp .opt:hover{border-color:var(--gold)}
.lp .bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.lp .bar i{display:block;height:100%;background:var(--grad-gold);transition:width .3s}
.lp .styles-list{columns:2;column-gap:28px;font-size:0.9062rem;color:var(--muted);padding-left:1.4em}

/* game */
.lp .game-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.lp .score{display:flex;gap:20px;font:500 0.8125rem var(--f-mono);color:var(--muted)}
.lp .score b{display:block;font:700 1.5rem/1.1 var(--f-brand);color:var(--fg);font-variant-numeric:tabular-nums}
.lp canvas{width:100%;height:clamp(260px,48vw,440px);display:block;border:1px solid var(--line);border-radius:8px;background:var(--canvas);margin-top:14px}
.lp .guess{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.lp .guess .btn{padding:16px}
.lp .b-up{background:rgb(var(--up-rgb) / .16);border-color:var(--up)!important;color:var(--up)}
.lp .b-dn{background:rgb(var(--down-rgb) / .16);border-color:var(--down)!important;color:var(--down)}
.lp .msg{min-height:1.75em;margin-top:12px;font-size:1rem}

@media (max-width:860px){
  .lp .grid2,.lp .ebook{grid-template-columns:1fr}
  .lp .ebook img{max-width:260px}
  .lp .term{grid-template-columns:1fr}
}
@media (max-width:560px){
  .lp .styles-list{columns:1}
  .lp .gl-bar{position:static}
  .lp .pdf{height:70vh}
}
@media (prefers-reduced-motion:reduce){.lp .btn,.l-card{transition:none}}
/* end-of-article join card (learn.js) */
.l-end{position:relative;margin-top:clamp(28px,4vw,40px);padding:clamp(20px,3vw,28px);padding-right:52px;border:1px solid var(--line-2);border-left:4px solid var(--gold);border-radius:8px;background:var(--panel);display:grid;gap:12px;justify-items:start;animation:l-end-in .5s ease both}
.l-end h2{font-size:clamp(1.25rem,2.4vw,1.625rem);margin:0}
.l-end p{margin:0;color:var(--fg-2)}
.l-end-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border:1px solid var(--line-2);border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer}
.l-end-x:hover{color:var(--fg);border-color:var(--gold)}
@keyframes l-end-in{from{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){.l-end{animation:none}}
