/* AI Reel Training — learn.css (CP-008)
   Identity: a curriculum, not a feed. The episode NUMBER is the hero.
   Mobile-first, standalone (no dependence on the main site CSS). */

:root{
  --ink:#12131f; --ink-2:#1b1d2e; --panel:#212338;
  --line:rgba(255,255,255,.10);
  --text:#f3f4f8; --muted:#9aa0b8; --faint:#646a85;
  --accent:#ff8a3d;            /* warm signal: progress, the live thing */
  --accent-soft:rgba(255,138,61,.14);
  --ai:#409cff; --career:#2ecc71; --english:#ff9f43;
  --r:14px; --maxw:1080px;
  --display:"Archivo",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--body); background:var(--ink); color:var(--text);
  line-height:1.55; min-height:100vh;
  background-image:radial-gradient(900px 500px at 80% -10%,rgba(64,156,255,.10),transparent 60%),
                   radial-gradient(700px 500px at -10% 10%,rgba(255,138,61,.08),transparent 55%);
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(18,19,31,.86);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:19px}
.brand span{color:var(--accent)}
.brand small{display:block;font-family:var(--body);font-weight:500;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

/* eyebrow + headings */
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);font-weight:600}
h1{font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(30px,7vw,52px);line-height:1.04;margin:.3em 0}
h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(22px,4vw,30px);margin:0 0 .5em}
.lede{color:var(--muted);font-size:clamp(16px,2.4vw,19px);max-width:60ch}

/* hub: niche sections + series cards */
.section{padding:38px 0}
.niche-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.niche-dot{width:10px;height:10px;border-radius:50%}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:680px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.grid{grid-template-columns:1fr 1fr 1fr}}

.card{position:relative;display:block;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r);padding:20px;
  transition:transform .15s ease,border-color .15s ease}
.card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.22)}
.card .count{font-family:var(--display);font-weight:800;font-size:13px;
  color:var(--accent);letter-spacing:.04em}
.card h3{font-family:var(--display);font-weight:700;font-size:21px;
  letter-spacing:-.01em;margin:.35em 0 .3em}
.card p{color:var(--muted);font-size:14px}

/* series page */
.hero{padding:44px 0 14px}
.outcomes{list-style:none;display:grid;gap:10px;margin:20px 0 0}
.outcomes li{position:relative;padding-left:30px;color:var(--text)}
.outcomes li::before{content:"";position:absolute;left:0;top:.55em;
  width:14px;height:2px;background:var(--accent)}

/* numbered episode list — the syllabus, number as hero */
.eplist{list-style:none;margin:26px 0;border-top:1px solid var(--line)}
.ep{display:flex;align-items:center;gap:16px;padding:16px 8px;
  border-bottom:1px solid var(--line);transition:background .15s}
.ep:hover{background:rgba(255,255,255,.03)}
.ep .num{font-family:var(--display);font-weight:800;font-size:30px;
  line-height:1;color:var(--faint);min-width:54px;text-align:right;
  font-variant-numeric:tabular-nums}
.ep.done .num{color:var(--accent)}
.ep .meta{flex:1;min-width:0}
.ep .meta .t{font-weight:600;font-size:16px}
.ep .meta .o{color:var(--muted);font-size:13px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep .tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent-soft);
  background:var(--accent-soft);padding:3px 8px;border-radius:99px}
.ep .chk{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);
  display:grid;place-items:center;color:var(--ink);font-size:13px;flex:none}
.ep.done .chk{background:var(--accent);border-color:var(--accent)}

/* progress bar */
.progress{height:6px;background:var(--ink-2);border-radius:99px;overflow:hidden;margin:6px 0 0}
.progress > i{display:block;height:100%;background:var(--accent);width:0;transition:width .4s}

/* watch page */
.player-wrap{display:grid;gap:24px;align-items:start}
@media(min-width:900px){.player-wrap{grid-template-columns:minmax(0,420px) 1fr}}
.player{position:relative;background:#000;border-radius:var(--r);overflow:hidden;
  aspect-ratio:9/16;max-height:78vh;margin:0 auto;width:100%;max-width:440px}
.player video{width:100%;height:100%;display:block;object-fit:contain;background:#000}

/* recall (tap to reveal) */
.recall{background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);padding:20px}
.recall .q{font-weight:600;margin-bottom:12px}
.recall button{font:inherit;cursor:pointer;color:var(--accent);
  background:none;border:1px solid var(--accent-soft);border-radius:99px;
  padding:8px 16px}
.recall .a{margin-top:14px;color:var(--muted);display:none}
.recall.open .a{display:block}
.recall.open button{display:none}

/* email capture + ads + buttons */
.capture{background:linear-gradient(135deg,var(--panel),var(--ink-2));
  border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:30px 0}
.capture .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.capture input[type=email]{flex:1;min-width:200px;font:inherit;color:var(--text);
  background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.btn{display:inline-block;font:inherit;font-weight:600;cursor:pointer;
  background:var(--accent);color:#1a0d03;border:none;border-radius:10px;
  padding:12px 22px;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.adslot{border:1px dashed var(--line);border-radius:var(--r);padding:22px;
  text-align:center;color:var(--faint);font-size:13px;margin:16px 0}

.foot{border-top:1px solid var(--line);color:var(--faint);font-size:13px;
  padding:30px 0;margin-top:50px}
.crumb{color:var(--muted);font-size:13px;margin:18px 0}
.crumb a{color:var(--accent)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
