
:root{
  --lesson-green:#1f7a4d;
  --lesson-green-dark:#173523;
  --lesson-green-soft:#eef8f1;
  --lesson-orange:#e88932;
  --lesson-text:#26332b;
  --lesson-muted:#66736b;
  --lesson-border:#e0e9e3;
  --lesson-bg:#f8fbf9;
}
.lesson-page{background:var(--lesson-bg)}
.lesson-hero{padding:56px 0 38px;background:linear-gradient(180deg,#f1faf4 0%,#fff 100%);border-bottom:1px solid #edf2ee}
.breadcrumbs{font-size:.9rem;color:var(--lesson-muted);margin-bottom:18px}
.breadcrumbs a{color:var(--lesson-green);text-decoration:none}
.lesson-label{display:inline-flex;align-items:center;gap:8px;background:#e6f4ea;color:var(--lesson-green);font-weight:800;font-size:.78rem;letter-spacing:.04em;padding:8px 12px;border-radius:999px}
.lesson-hero h1{font-family:Nunito,sans-serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1.06;color:var(--lesson-green-dark);margin:18px 0 12px}
.lesson-hero .lead{max-width:760px;color:var(--lesson-muted);font-size:1.08rem;line-height:1.7;margin:0}
.lesson-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.lesson-meta span{background:#fff;border:1px solid var(--lesson-border);border-radius:999px;padding:8px 12px;color:#405047;font-size:.88rem;font-weight:700}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start;padding:38px 0 70px}
.lesson-main{min-width:0}
.lesson-section{background:#fff;border:1px solid var(--lesson-border);border-radius:20px;padding:26px;margin-bottom:18px;box-shadow:0 7px 26px rgba(31,64,45,.045)}
.lesson-section h2{font-family:Nunito,sans-serif;color:var(--lesson-green-dark);font-size:1.45rem;margin:0 0 14px}
.lesson-section h3{color:#234a32;margin:22px 0 8px;font-size:1.05rem}
.lesson-section p{color:var(--lesson-text);line-height:1.72}
.lesson-section ul,.lesson-section ol{color:var(--lesson-text);line-height:1.75;padding-left:22px}
.lesson-section li{margin:5px 0}
.objective-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.objective-list li{padding:11px 13px;background:#f7fbf8;border:1px solid #e5eee7;border-radius:12px}
.practice-box{background:#fffaf3;border:1px solid #f0ddc5;border-radius:15px;padding:16px;margin:15px 0}
.practice-box strong{color:#8b571f}
.letter-grid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;line-height:2;letter-spacing:.04em;background:#f7faf8;border:1px solid #e3ebe5;border-radius:14px;padding:16px;overflow:auto}
.answer{color:var(--lesson-green);font-weight:800}
.try-box{border-left:4px solid var(--lesson-orange);background:#fffaf5;padding:16px 18px;border-radius:0 14px 14px 0;margin-top:15px}
.try-box strong{color:#8b541f}
.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0}
.checklist li{background:#f7fbf8;border:1px solid #e3ebe5;border-radius:12px;padding:11px 13px}
.checklist li::before{content:"✓";color:var(--lesson-green);font-weight:900;margin-right:8px}
.video-card{background:#173523;border-radius:20px;padding:20px;color:#fff;margin-bottom:18px}
.video-placeholder{aspect-ratio:16/9;border-radius:14px;background:#244b35;display:grid;place-items:center;text-align:center;padding:20px;color:#e8f4ec}
.video-placeholder strong{display:block;font-size:1.1rem;margin-bottom:5px}
.video-placeholder span{font-size:.9rem;color:#cfe1d5}
.lesson-sidebar{position:sticky;top:84px}
.sidebar-card{background:#fff;border:1px solid var(--lesson-border);border-radius:18px;padding:18px;margin-bottom:16px}
.sidebar-card h3{margin:0 0 12px;color:var(--lesson-green-dark);font-size:1rem}
.sidebar-card a{display:block;color:#3e5b49;text-decoration:none;padding:8px 0;border-bottom:1px solid #eef2ef;font-size:.9rem}
.sidebar-card a:last-child{border-bottom:0}
.sidebar-card a:hover{color:var(--lesson-green)}
.download-card{background:var(--lesson-green-soft);border-color:#d5eadb}
.download-card p{font-size:.9rem;color:#5d6c63;line-height:1.55}
.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.lesson-nav a{display:block;text-decoration:none;background:#fff;border:1px solid var(--lesson-border);border-radius:16px;padding:16px;color:var(--lesson-green-dark)}
.lesson-nav a.next{text-align:right}
.lesson-nav small{display:block;color:#77847c;margin-bottom:4px}
@media(max-width:850px){
  .lesson-layout{grid-template-columns:1fr}
  .lesson-sidebar{position:static}
}
@media(max-width:600px){
  .lesson-hero{padding:42px 0 30px}
  .lesson-section{padding:20px;border-radius:16px}
  .checklist{grid-template-columns:1fr}
  .lesson-nav{grid-template-columns:1fr}
  .lesson-nav a.next{text-align:left}
}

.download-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;width:100%;box-sizing:border-box;text-decoration:none;background:#1f7a4d;color:#fff!important;border-radius:12px;padding:12px 14px;font-weight:800;margin-top:8px}
.download-button:hover{filter:brightness(.96)}
.download-note{font-size:.82rem!important;color:#65736a!important;margin:9px 0 0!important}
.progress-box{margin-top:20px;padding:18px;border:1px solid #dfe7e2;border-radius:16px;background:#f8fbf9}.progress-box p{margin:0 0 12px;color:#667085}.progress-message{min-height:1.3em;margin-top:10px;color:#17633d;font-size:.9rem}.complete-lesson-button{cursor:pointer;border:0}.complete-lesson-button[disabled]{opacity:.75;cursor:default}
