
:root{
  --bg-primary:#0a1e26;--bg-secondary:#0f2b36;--bg-tertiary:#143846;--bg-elevated:#1a4858;--bg-hover:#1e4d5e;
  --border-subtle:#1e4d5e;--border-default:#2a5f72;--border-strong:#3a7088;
  --text-primary:#edf0f3;--text-secondary:#9ab0ba;--text-tertiary:#9bb3be;--text-muted:#8fa3ac;
  --accent-primary:#5b94b8;--accent-primary-hover:#4a7fa0;--accent-primary-muted:rgba(91,148,184,.18);--accent-glow:rgba(91,148,184,.4);
  --profit:#10b981;--warning:#f5a623;
  --font-body:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;
  --shadow-md:0 4px 16px rgba(10,30,38,.5);
}
[data-theme="light"]{
  --bg-primary:#f7f1e7;--bg-secondary:#efe8dc;--bg-tertiary:#fdfaf5;--bg-elevated:#fdfaf5;--bg-hover:#e0d8cb;
  --border-subtle:#e0d8cb;--border-default:#d0c8bb;--border-strong:#c0b8ab;
  --text-primary:#1e3248;--text-secondary:#5c6970;--text-tertiary:#52525b;--text-muted:#8a9198;
  --accent-primary-muted:rgba(91,148,184,.12);--accent-glow:rgba(91,148,184,.2);
  --shadow-md:0 4px 12px rgba(10,30,38,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.65}
a{color:var(--accent-primary)}

/* Nav */
.course-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--space-4);
  padding:0 var(--space-6);height:60px;background:rgba(10,30,38,.85);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}
[data-theme="light"] .course-nav{background:rgba(247,241,231,.9)}
.course-nav__brand{font-weight:800;font-size:18px;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}
.course-nav__links{display:flex;gap:var(--space-2);flex:1;flex-wrap:wrap}
.course-nav__links a{color:var(--text-tertiary);text-decoration:none;font-size:14px;font-weight:500;
  padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all .15s ease}
.course-nav__links a:hover{color:var(--text-primary);background:var(--bg-hover)}
.course-nav__theme{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);
  width:38px;height:38px;border-radius:var(--radius-md);cursor:pointer;font-size:16px}
.course-nav__theme:hover{border-color:var(--accent-primary);color:var(--text-primary)}

/* Layout */
.course-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-8);
  max-width:1180px;margin:0 auto;padding:var(--space-8) var(--space-6)}
.course-shell--single{grid-template-columns:minmax(0,1fr)}
.course-main{min-width:0}
.course-crumb{display:inline-block;color:var(--text-muted);text-decoration:none;font-size:13px;margin-bottom:var(--space-4)}
.course-crumb:hover{color:var(--accent-primary)}

/* Sidebar TOC */
.course-toc{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto;
  padding-right:var(--space-2)}
.course-toc__module{margin-bottom:var(--space-5)}
.course-toc__mtitle{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--text-muted);margin-bottom:var(--space-2)}
.course-toc ul{list-style:none}
.course-toc li{display:flex;align-items:center;gap:6px;justify-content:space-between}
.course-toc li a{display:block;flex:1;color:var(--text-secondary);text-decoration:none;font-size:13.5px;
  padding:5px 8px;border-radius:var(--radius-sm);line-height:1.35}
.course-toc li a:hover{background:var(--bg-hover);color:var(--text-primary)}
.course-toc li.active a{background:var(--accent-primary-muted);color:var(--accent-primary);font-weight:600}

/* Lesson header */
.lesson-eyebrow{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--accent-primary);margin-bottom:var(--space-2)}
.lesson-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}
.lesson-header h1{font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:800}
.lesson-promise{margin-top:var(--space-3);font-style:italic;color:var(--text-secondary);font-size:17px}

/* Reader typography */
.lesson-content{font-size:16.5px}
.lesson-content h2{font-size:22px;margin:var(--space-8) 0 var(--space-3);letter-spacing:-.01em}
.lesson-content h3{font-size:18px;margin:var(--space-6) 0 var(--space-2)}
.lesson-content p{margin:0 0 var(--space-4)}
.lesson-content ul,.lesson-content ol{margin:0 0 var(--space-4) var(--space-6)}
.lesson-content li{margin-bottom:6px}
.lesson-content strong{color:var(--text-primary);font-weight:700}
.lesson-content blockquote{border-left:3px solid var(--accent-primary);background:var(--bg-secondary);
  padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);border-radius:0 var(--radius-md) var(--radius-md) 0;
  color:var(--text-secondary);font-family:var(--font-body)}
.lesson-content code{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;
  padding:1px 6px;font-size:.92em;color:var(--text-primary)}
.lesson-content hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}
.lesson-content table{width:100%;border-collapse:collapse;margin:0 0 var(--space-5);font-size:14.5px;
  display:block;overflow-x:auto}
.lesson-content th,.lesson-content td{border:1px solid var(--border-default);padding:8px 12px;text-align:left}
.lesson-content th{background:var(--bg-tertiary);font-weight:700}
.glossary-link{color:var(--accent-primary);text-decoration:none;border-bottom:1px dotted var(--accent-primary)}
.glossary-link:hover{border-bottom-style:solid}

/* CAPTURE placeholder */
.course-capture{display:flex;flex-direction:column;gap:6px;border:2px dashed var(--border-strong);
  border-radius:var(--radius-md);background:var(--bg-secondary);padding:var(--space-5);margin:0 0 var(--space-5);
  color:var(--text-muted)}
.course-capture__tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary)}
.course-capture__desc{font-size:14px;font-style:italic}

/* Quiz answers */
.course-check-answers{margin-top:var(--space-4)}
details.course-answer{border:1px solid var(--border-subtle);border-radius:var(--radius-md);
  background:var(--bg-secondary);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}
details.course-answer summary{cursor:pointer;font-weight:600;color:var(--accent-primary);list-style:none}
details.course-answer summary::-webkit-details-marker{display:none}
details.course-answer[open]{background:var(--bg-tertiary)}
details.course-answer p{margin:var(--space-2) 0 0}

/* Locked state */
.locked-state{text-align:center;border:1px solid var(--border-default);border-radius:var(--radius-xl);
  background:var(--bg-secondary);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-md)}
.locked-state__icon{font-size:40px;margin-bottom:var(--space-3)}
.locked-state h2{font-size:24px;margin-bottom:var(--space-3)}
.locked-state__promise{font-style:italic;color:var(--text-secondary);margin-bottom:var(--space-3)}
.locked-state p{color:var(--text-secondary);max-width:520px;margin:0 auto var(--space-4)}
.locked-state__actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--space-5)}
.locked-state__note{font-size:13px;color:var(--text-muted);margin-top:var(--space-4)}

.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--radius-md);
  font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn--primary{background:var(--accent-primary);color:#fff}
.btn--primary:hover{background:var(--accent-primary-hover)}
.btn--ghost{background:transparent;border-color:var(--border-strong);color:var(--text-primary)}
.btn--ghost:hover{background:var(--bg-hover)}

/* Prev/next */
.lesson-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);
  padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}
.lesson-nav a{display:flex;flex-direction:column;text-decoration:none;padding:var(--space-3) var(--space-4);
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-width:46%}
.lesson-nav a:hover{border-color:var(--accent-primary);background:var(--bg-hover)}
.lesson-nav__next{text-align:right;margin-left:auto}
.lesson-nav__dir{font-size:12px;color:var(--text-muted)}
.lesson-nav__title{color:var(--text-primary);font-weight:600;font-size:14px}
.lesson-nav__spacer{flex:1}

/* Badges */
.lock-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  background:var(--accent-primary-muted);color:var(--accent-primary);padding:2px 7px;border-radius:20px;white-space:nowrap}
.free-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  background:rgba(16,185,129,.18);color:var(--profit);padding:2px 7px;border-radius:20px;white-space:nowrap}

/* Course home */
.course-home{max-width:960px;margin:0 auto;padding:var(--space-8) var(--space-6)}
.course-home__hero{text-align:center;padding:var(--space-6) 0 var(--space-8);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-8)}
.course-home__hero h1{font-size:40px;letter-spacing:-.02em;font-weight:800;margin-bottom:var(--space-4)}
.course-home__hero p{color:var(--text-secondary);max-width:640px;margin:0 auto var(--space-5);font-size:17px}
.course-home__cta{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}
.course-home__module{margin-bottom:var(--space-8)}
.course-home__module h2{font-size:22px;margin-bottom:var(--space-4);letter-spacing:-.01em}
.course-home__lessons{list-style:none}
.course-home__lessons li{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);margin-bottom:var(--space-2);background:var(--bg-secondary)}
.course-home__lessons li:hover{border-color:var(--accent-primary)}
.course-home__lessons li a{display:flex;align-items:center;gap:var(--space-4);flex:1;text-decoration:none;
  color:var(--text-primary);padding:var(--space-3) var(--space-4)}
.course-home__lessons li .lock-badge,.course-home__lessons li .free-badge{margin-right:var(--space-4)}
.course-home__num{font-variant-numeric:tabular-nums;color:var(--accent-primary);font-weight:700;font-size:14px;min-width:32px}
.course-home__lt{display:flex;flex-direction:column}
.course-home__title{font-weight:600}
.course-home__promise{font-size:13px;color:var(--text-muted);font-style:italic}

/* Glossary */
.glossary{margin-top:var(--space-4)}
.glossary-term{padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle);scroll-margin-top:76px}
.glossary-term dt{font-weight:700;font-size:17px;display:flex;align-items:baseline;gap:var(--space-3)}
.glossary-term__lesson{font-size:12px;font-weight:600;color:var(--text-muted)}
.glossary-term dd{color:var(--text-secondary);margin-top:4px}
.glossary-term:target dt{color:var(--accent-primary)}

.course-disclaimer{max-width:1180px;margin:0 auto;padding:var(--space-6);color:var(--text-muted);font-size:13px}
.course-disclaimer hr{border:none;border-top:1px solid var(--border-subtle);margin-bottom:var(--space-4)}

@media(max-width:860px){
  .course-shell{grid-template-columns:1fr;padding:var(--space-5) var(--space-4)}
  .course-toc{position:static;max-height:none;order:2;border-top:1px solid var(--border-subtle);
    margin-top:var(--space-6);padding-top:var(--space-5)}
  .lesson-header h1{font-size:26px}
  .lesson-nav a{max-width:48%}
}
