:root {
  --nm-navy: #17135f;
  --nm-indigo: #312e81;
  --nm-blue: #4f46e5;
  --nm-cyan: #0ea5e9;
  --nm-gold: #f4c453;
  --nm-green: #10b981;
  --nm-ink: #172033;
  --nm-muted: #64748b;
  --nm-line: #e2e8f0;
  --nm-soft: #f8fafc;
}
.nm-main { padding: 38px 0 74px; }
.nm-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:#64748b; font-size:.94rem; margin-bottom:18px; }
.nm-breadcrumb a { color:#4338ca; text-decoration:none; font-weight:700; }
.nm-hero { position:relative; overflow:hidden; padding:34px; border-radius:34px; color:#fff; background:linear-gradient(135deg,#14104f 0%,#302a91 55%,#4338ca 100%); box-shadow:0 24px 58px rgba(23,19,95,.22); }
.nm-hero::after { content:""; position:absolute; width:320px; height:320px; border-radius:50%; right:-105px; top:-120px; background:rgba(244,196,83,.18); }
.nm-hero > * { position:relative; z-index:1; }
.nm-hero .pill { background:rgba(255,255,255,.13); color:#fff; }
.nm-hero h1 { margin:14px 0 12px; font-size:clamp(2rem,4vw,3.6rem); line-height:1.15; }
.nm-hero p { max-width:850px; color:rgba(255,255,255,.86); line-height:1.85; font-size:1.08rem; }
.nm-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.nm-hero-actions a { display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; text-decoration:none; font-weight:800; }
.nm-hero-actions .primary { background:#fff; color:#17135f; }
.nm-hero-actions .secondary { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.18); }
.nm-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0 34px; }
.nm-stat { padding:18px; border-radius:22px; background:#fff; border:1px solid var(--nm-line); box-shadow:0 12px 28px rgba(15,23,42,.05); }
.nm-stat strong { display:block; font-size:1.45rem; color:var(--nm-navy); }
.nm-stat span { color:var(--nm-muted); }
.nm-section { margin-top:34px; }
.nm-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.nm-section-head h2 { margin:0; color:var(--nm-ink); font-size:clamp(1.55rem,2.5vw,2.15rem); }
.nm-section-head p { margin:6px 0 0; color:var(--nm-muted); line-height:1.7; }
.nm-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.nm-card { display:flex; flex-direction:column; min-height:250px; padding:22px; border-radius:24px; text-decoration:none; background:#fff; border:1px solid var(--nm-line); box-shadow:0 12px 30px rgba(15,23,42,.055); transition:transform .2s ease, box-shadow .2s ease; }
.nm-card:hover { transform:translateY(-3px); box-shadow:0 20px 36px rgba(15,23,42,.09); }
.nm-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.nm-number { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:#eef2ff; color:#312e81; font-weight:900; }
.nm-status { padding:6px 10px; border-radius:999px; font-size:.75rem; font-weight:900; background:#ecfdf5; color:#047857; }
.nm-status.soon { background:#fff7ed; color:#c2410c; }
.nm-card h3 { margin:0 0 9px; color:var(--nm-navy); font-size:1.22rem; line-height:1.35; }
.nm-card p { margin:0; color:var(--nm-muted); line-height:1.7; }
.nm-card-footer { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:17px; color:#4338ca; font-weight:800; }
.nm-level { color:#64748b; font-weight:700; font-size:.88rem; }
.nm-note { margin-top:26px; padding:20px 22px; border-radius:22px; background:#fffbeb; border:1px solid #fde68a; color:#78350f; line-height:1.75; }

/* Article */
.lesson-shell { max-width:980px; margin:0 auto; }
.lesson-hero { padding:30px; border-radius:30px; background:linear-gradient(135deg,#11103f,#312e81); color:#fff; box-shadow:0 22px 52px rgba(23,19,95,.19); }
.lesson-hero h1 { margin:12px 0; font-size:clamp(2rem,4vw,3.15rem); line-height:1.18; }
.lesson-hero p { margin:0; max-width:800px; color:rgba(255,255,255,.85); line-height:1.82; }
.lesson-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.lesson-meta span { padding:7px 11px; border-radius:999px; background:rgba(255,255,255,.12); font-weight:750; font-size:.86rem; }
.lesson-video { margin:22px auto 0; width:min(100%,430px); aspect-ratio:9/16; border-radius:24px; overflow:hidden; border:8px solid #fff; background:#0f172a; box-shadow:0 18px 38px rgba(15,23,42,.18); }
.lesson-video iframe { width:100%; height:100%; border:0; }
.lesson-video-placeholder { height:100%; display:grid; place-items:center; padding:26px; text-align:center; color:#cbd5e1; background:radial-gradient(circle at 50% 20%,rgba(79,70,229,.35),transparent 34%),#0f172a; }
.lesson-video-placeholder strong { display:block; color:#fff; font-size:1.1rem; margin-bottom:8px; }
.lesson-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:24px; align-items:start; margin-top:26px; }
.lesson-content { min-width:0; }
.lesson-toc { position:sticky; top:96px; padding:18px; border-radius:22px; background:#fff; border:1px solid var(--nm-line); box-shadow:0 12px 28px rgba(15,23,42,.05); }
.lesson-toc strong { display:block; color:var(--nm-navy); margin-bottom:9px; }
.lesson-toc a { display:block; padding:7px 0; color:#64748b; text-decoration:none; line-height:1.35; }
.lesson-section { margin-bottom:20px; padding:24px; border-radius:24px; background:#fff; border:1px solid var(--nm-line); box-shadow:0 10px 26px rgba(15,23,42,.045); }
.lesson-section h2 { margin:0 0 12px; color:var(--nm-navy); font-size:1.48rem; }
.lesson-section h3 { color:#312e81; }
.lesson-section p, .lesson-section li { color:#475569; line-height:1.85; }
.lesson-section ul, .lesson-section ol { padding-left:22px; }
.formula-box { margin:16px 0; padding:18px; overflow:auto; border-radius:18px; text-align:center; background:#f8fafc; border:1px solid #dbeafe; color:#172033; }
.key-idea { padding:18px; border-radius:18px; background:#eef2ff; border-left:5px solid #4f46e5; color:#312e81; line-height:1.75; }
.codex-slot { margin-top:14px; padding:15px 17px; border-radius:16px; border:1px dashed #cbd5e1; background:#f8fafc; color:#64748b; font-size:.92rem; line-height:1.65; }
.lesson-nav { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
.lesson-nav a { padding:17px 19px; border-radius:19px; text-decoration:none; background:#fff; border:1px solid var(--nm-line); color:var(--nm-navy); font-weight:800; }
.lesson-nav a:last-child { text-align:right; }
@media (max-width:920px) { .nm-track{grid-template-columns:repeat(2,minmax(0,1fr));} .lesson-layout{grid-template-columns:1fr;} .lesson-toc{position:static; order:-1;} }
@media (max-width:640px) { .nm-main{padding-top:22px;} .nm-hero,.lesson-hero{padding:24px 20px;border-radius:26px;} .nm-stats,.nm-track{grid-template-columns:1fr;} .lesson-section{padding:20px 17px;} .lesson-nav{grid-template-columns:1fr;} .lesson-nav a:last-child{text-align:left;} }
