:root{--bg:#070907;--panel:#111511;--panel2:#171d17;--text:#f5f1df;--muted:#c9ccbd;--yellow:#fff200;--green:#94ff53;--line:rgba(255,242,0,.24);--accent:#e8dfc5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 0%,rgba(148,255,83,.055),transparent 30rem),radial-gradient(circle at 90% 14%,rgba(255,242,0,.05),transparent 26rem),var(--bg);color:var(--text);font-family:Georgia,"Times New Roman",serif;line-height:1.65}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:auto;padding:0 20px}.top{position:sticky;top:0;z-index:50;background:rgba(7,9,7,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.top .wrap{min-height:62px;display:flex;align-items:center;gap:18px}.brand{color:var(--yellow);font-weight:700;letter-spacing:.07em}.topnav{margin-left:auto;display:flex;gap:12px;font-size:.86rem;color:var(--muted)}.topnav a:hover{color:var(--green)}.hero{padding:62px 0 34px}.eyebrow{color:var(--green);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.96;color:var(--yellow);margin:.18em 0 .22em}.hero p{max-width:860px;color:var(--muted);font-size:1.08rem}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tag{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,255,83,.24);color:var(--green);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.tag.yellow{color:var(--yellow);border-color:rgba(255,242,0,.3)}.progress{position:sticky;top:72px;z-index:40;background:rgba(7,9,7,.84);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.progress-inner{max-width:1120px;margin:auto;padding:8px 20px;display:flex;align-items:center;gap:12px}.progress-track{height:7px;background:#161916;border-radius:999px;overflow:hidden;flex:1}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--yellow),var(--green));transition:.25s}.progress-label{font-size:.76rem;color:var(--muted);min-width:72px;text-align:right}
.lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;padding:22px 0 70px}.main{min-width:0}.sidebar{position:sticky;top:108px;align-self:start}.toc{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:18px;padding:18px}.toc h3{color:var(--yellow);margin:.1em 0 .6em}.toc a{display:block;color:var(--muted);padding:7px 0;font-size:.9rem}.toc a:hover{color:var(--green)}
.block{scroll-margin-top:120px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(150deg,var(--panel2),var(--panel));border-radius:22px;padding:24px;margin:0 0 20px;box-shadow:0 10px 28px rgba(0,0,0,.2)}.block h2{color:var(--yellow);font-size:1.85rem;margin:.1em 0 .5em}.block h3{color:#fff}.block p,.block li{color:var(--muted)}.callout{padding:16px 18px;border-left:3px solid var(--green);background:rgba(148,255,83,.04);border-radius:0 14px 14px 0}.objectives{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.objective{padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}.objective strong{color:#fff}.source-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}.source-visual{min-height:280px;border-radius:18px;background:
linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.28)),
radial-gradient(circle at 35% 30%,#c2ab78 0 8%,transparent 9%),
linear-gradient(135deg,#6f5c3a,#bda873 45%,#6b5634);display:flex;align-items:flex-end;padding:18px;color:#fff;box-shadow:inset 0 0 60px rgba(0,0,0,.35)}.source-panel{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px;background:rgba(255,255,255,.025)}.questions{display:grid;gap:10px}.q{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.02)}
details{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px;background:rgba(255,255,255,.02);margin:10px 0}summary{cursor:pointer;color:var(--yellow);font-weight:700}.vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vocab{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:15px;background:rgba(255,255,255,.025)}.vocab button{all:unset;color:var(--yellow);font-weight:700;cursor:pointer}.vocab .def{display:none;color:var(--muted);margin-top:8px}.vocab.open .def{display:block}
.quiz{display:grid;gap:14px}.quiz-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:17px;background:rgba(255,255,255,.02)}.choices{display:grid;gap:8px;margin-top:10px}.choice{border:1px solid rgba(255,255,255,.09);background:#101410;color:#fff;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.choice:hover{border-color:var(--green)}.choice.correct{border-color:var(--green);background:rgba(148,255,83,.08)}.choice.wrong{border-color:#d58b8b;background:rgba(213,139,139,.06)}.feedback{margin-top:8px;font-size:.9rem;color:var(--muted)}
.response{width:100%;min-height:120px;border:1px solid rgba(255,255,255,.1);background:#0d100d;color:#fff;border-radius:14px;padding:14px;font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,242,0,.3);background:linear-gradient(#252d25,#101510);color:#fff;font-weight:700;cursor:pointer}.btn:hover{border-color:var(--green);transform:translateY(-1px)}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related a{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;background:rgba(255,255,255,.02)}.related strong{display:block;color:var(--yellow);margin-bottom:5px}.references li{margin:8px 0}
.complete{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid rgba(148,255,83,.18);border-radius:14px;background:rgba(148,255,83,.035)}footer{border-top:1px solid rgba(255,255,255,.07);padding:28px 0 40px;color:#8d9286;font-size:.82rem}
@media(max-width:900px){.lesson-grid{grid-template-columns:1fr}.sidebar{position:static;order:-1}.toc{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px}.objectives,.source-card{grid-template-columns:1fr}.vocab-grid,.related{grid-template-columns:1fr 1fr}.topnav{display:none}}
@media(max-width:580px){.vocab-grid,.related,.toc{grid-template-columns:1fr}.hero{padding-top:45px}.block{padding:19px}.wrap{padding:0 15px}}
.precheck{display:grid;gap:14px}.precheck-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:17px;background:rgba(255,255,255,.02)}.precheck-card label{display:block;margin:8px 0;color:var(--muted);cursor:pointer}.precheck-card input{accent-color:var(--green);margin-right:8px}.precheck-result{margin-top:14px;padding:14px 16px;border:1px solid rgba(148,255,83,.2);border-radius:14px;background:rgba(148,255,83,.035);color:var(--muted)}.celebration{position:fixed;inset:0;pointer-events:none;z-index:2147482500;overflow:hidden}.burst-piece{position:absolute;width:10px;height:10px;border-radius:2px;animation:burst .9s ease-out forwards}.burst-icon{position:absolute;font-size:1.6rem;animation:burstIcon .95s ease-out forwards}@keyframes burst{0%{transform:translate(0,0) scale(.7);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(540deg) scale(.15);opacity:0}}@keyframes burstIcon{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}25%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}100%{transform:translate(-50%,-140%) scale(.9);opacity:0}}

/* Standalone lesson visual / primary-source slot */
.lesson-visual{margin:0 0 18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;background:#0b0f0b;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.lesson-visual img{display:block;width:100%;max-height:390px;object-fit:cover;background:#0b0f0b}
.lesson-visual figcaption{padding:12px 14px 13px;color:var(--muted);font-size:.82rem;line-height:1.45;border-top:1px solid rgba(255,255,255,.06)}
.lesson-visual .visual-label{display:inline-flex;margin-right:8px;color:var(--green);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.lesson-visual .visual-credit{display:block;margin-top:4px;color:#9aa49a;font-size:.74rem}
.lesson-visual .visual-credit a{color:var(--yellow);text-decoration:underline;text-underline-offset:2px}
.lesson-visual.compact{max-width:760px}
.lesson-visual.primary-source img{object-fit:contain;max-height:440px;padding:8px}
@media(max-width:700px){.lesson-visual img{max-height:260px}.lesson-visual.primary-source img{max-height:320px}}
