:root{--primary:#2d6a4f;--primary-2:#1b4332;--accent:#f4a261;--bg:#f9f7f4;--surface:#fff;--text:#2b2d42;--muted:#667085;--success:#2d8a60;--error:#b42318;--border:#d9ccc3;--focus:#1d4ed8;--shadow:0 12px 30px rgba(43,45,66,.08);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);line-height:1.65}h1,h2,h3,h4{font-family:'DM Serif Display',Georgia,serif;color:var(--primary-2);line-height:1.15;margin-top:0}h1{font-size:clamp(2rem,5vw,4rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:1.35rem}a{color:var(--primary-2)}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem;z-index:999}.skip-link:focus{left:.75rem;top:.75rem}.tph-header{min-height:72px;display:flex;align-items:center;gap:1.25rem;padding:.75rem clamp(1rem,4vw,3rem);background:#102a23;color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.12)}.brand{font-family:'DM Serif Display',Georgia,serif;color:#fff;text-decoration:none;font-size:1.35rem}.tph-header nav{display:flex;gap:.9rem;flex:1;overflow-x:auto;white-space:nowrap}.tph-header nav a{color:#e8f5ef;text-decoration:none;font-size:.92rem}.tph-header nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.auth-slot{min-width:110px;text-align:right}.tph-footer{padding:2rem clamp(1rem,4vw,3rem);background:#102a23;color:#d8e8e1;font-size:.9rem}.course-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.course-shell.narrow{width:min(760px,calc(100% - 2rem))}.hero,.chapter-hero{background:linear-gradient(135deg,#fff,#f1eee8);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow);margin-bottom:2rem}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr);gap:2rem}.hero-status{background:var(--primary-2);color:#fff;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;gap:.7rem}.hero-status strong{font-size:3rem;line-height:1}.hero-status span{color:#dbece5}.eyebrow{display:block;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;color:var(--primary)}.lede{font-size:1.12rem;color:#475467;max-width:72ch}.disclaimer{font-size:.92rem;background:#fff7ed;border-left:4px solid var(--accent);padding:.8rem 1rem;border-radius:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.pill,.meta-chip{display:inline-flex;align-items:center;border-radius:999px;background:#edf7f1;border:1px solid #bed9ca;color:var(--primary-2);padding:.3rem .7rem;font-size:.82rem;font-weight:700}.chapter-card,.lesson-card,.activity-card,.locked-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lesson-card{display:flex;flex-direction:column;gap:.7rem}.lesson-card h3{margin-bottom:0}.lesson-card p{margin:.1rem 0}.lesson-card .btn{margin-top:auto}.progress-track{height:10px;background:#e7e5e4;border-radius:999px;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;background:var(--primary);transition:width .2s ease}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:#fff;border-color:var(--border);color:var(--primary-2)}.btn.ghost{background:transparent;border-color:var(--border)}.btn[disabled]{opacity:.5;cursor:not-allowed}.breadcrumbs{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;font-size:.9rem}.practice-callout{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;background:#f0f7f3;border:1px solid #bfd8ca;border-radius:var(--radius);padding:1.5rem;margin-top:2rem}.lesson-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 72px)}.lesson-sidebar{background:#f1eee8;border-right:1px solid var(--border);padding:1.25rem;position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}.sidebar-top{padding-bottom:1rem;border-bottom:1px solid var(--border)}.back-link{text-decoration:none;font-weight:700}.section-nav{display:flex;flex-direction:column;gap:.35rem;padding-top:1rem}.section-nav button{width:100%;text-align:left;border:0;background:transparent;border-radius:10px;padding:.7rem .75rem;color:var(--text);cursor:pointer}.section-nav button[aria-current="step"]{background:#dcefe5;color:var(--primary-2);font-weight:800}.section-nav button.completed::after{content:' ✓';color:var(--success);font-weight:900}.lesson-reader{width:min(830px,100%);padding:2rem clamp(1rem,5vw,4rem) 4rem}.lesson-header{margin-bottom:1.5rem}.meta-row{display:flex;gap:.5rem;flex-wrap:wrap}.objectives-panel{background:#f0f7f3;border:1px solid #bfd8ca;border-radius:14px;padding:1rem 1.2rem;margin:1.5rem 0}.objectives-panel details summary{cursor:pointer;font-weight:800;color:var(--primary-2)}.section-content{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.2rem,4vw,2rem);box-shadow:var(--shadow);font-size:1.03rem}.section-content h2,.section-content h3{margin-top:1.6rem}.section-content blockquote{margin:1.2rem 0;padding:.8rem 1rem;border-left:4px solid var(--accent);background:#fff7ed}.section-content li+li{margin-top:.35rem}.section-content code{font-family:'JetBrains Mono',ui-monospace,monospace;background:#f2f4f7;padding:.1rem .3rem;border-radius:5px}.knowledge-checks{display:grid;gap:1rem;margin-top:1.25rem}.kc-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.kc-card fieldset{border:0;padding:0;margin:0}.kc-card legend{font-weight:800;margin-bottom:.8rem}.choice{display:flex;gap:.65rem;align-items:flex-start;border:1px solid #e4e7ec;border-radius:10px;padding:.75rem;margin:.5rem 0;cursor:pointer}.choice:has(input:checked){border-color:var(--primary);background:#f0f7f3}.feedback{margin-top:.85rem;padding:.85rem;border-radius:10px}.feedback.correct{background:#ecfdf3;color:#166534}.feedback.incorrect{background:#fff1f0;color:#8a1c13}.visual-slots{display:grid;gap:.8rem;margin-top:1.2rem}.visual-placeholder{border:2px dashed #c7bfb7;border-radius:14px;padding:1rem;background:#faf8f5}.lesson-controls{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.completion-panel{margin-top:1.25rem;background:#ecfdf3;border:1px solid #a7d8bd;border-radius:14px;padding:1.1rem}.save-status{font-size:.9rem;color:var(--muted)}.practice-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.practice-tabs button{min-height:44px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:800;cursor:pointer}.practice-tabs button[aria-selected="true"]{background:var(--primary);color:#fff;border-color:var(--primary)}.practice-panel{min-height:320px}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.activity-card button{margin-top:.75rem}.flashcard{min-height:250px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;display:grid;place-items:center;text-align:center;padding:2rem;cursor:pointer}.flashcard .back{display:none}.flashcard.revealed .front{display:none}.flashcard.revealed .back{display:block}.flash-controls,.game-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.scenario-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.category-grid,.choice-grid{display:grid;gap:.6rem;margin-top:1rem}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid button,.choice-grid button{min-height:48px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:.8rem;text-align:left;font-weight:700;cursor:pointer}.rewrite-area textarea,.ai-area textarea{width:100%;min-height:150px;border:1px solid var(--border);border-radius:12px;padding:.85rem;font:inherit;resize:vertical}.hint-box{background:#f8fafc;border-left:4px solid var(--accent);padding:.9rem;margin:.8rem 0}.ai-stage{display:inline-flex;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;padding:.3rem .7rem;font-weight:800;font-size:.82rem}.coach-feedback{margin-top:1rem;border:1px solid var(--border);background:#fff;border-radius:14px;padding:1rem}.locked-card{text-align:left;margin-top:3rem}.status-note{padding:.8rem 1rem;border-radius:10px;background:#fff7ed;border-left:4px solid var(--accent)}@media(max-width:900px){.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;overflow:auto}.hero{grid-template-columns:1fr}}@media(max-width:700px){.tph-header{position:static;flex-wrap:wrap}.tph-header nav{order:3;width:100%}.lesson-sidebar{top:0}.lesson-grid,.activity-grid,.category-grid{grid-template-columns:1fr}.practice-callout,.section-heading{align-items:flex-start;flex-direction:column}.lesson-reader{padding:1rem 1rem 3rem}.section-content{padding:1.1rem}.lesson-controls .btn{flex:1}.hero-status strong{font-size:2.4rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* v5: persistent RBT chapter navigation */
.rbt-nav-wrap{width:min(1180px,calc(100% - 2rem));margin:1rem auto 0}.lesson-page>.rbt-nav-wrap{margin-bottom:1rem}.rbt-curriculum-nav{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:.85rem 1rem}.rbt-curriculum-nav-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.rbt-curriculum-nav-head strong{color:var(--primary-2);font-size:.95rem}.rbt-curriculum-nav-head span{color:var(--muted);font-size:.82rem}.rbt-chapter-links{display:flex;gap:.6rem;overflow-x:auto;padding:.1rem .05rem .35rem;scrollbar-width:thin}.rbt-chapter-link{flex:0 0 min(260px,72vw);display:flex;flex-direction:column;gap:.05rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:12px;background:#faf9f7;text-decoration:none;color:var(--primary-2)}.rbt-chapter-link span{font-weight:900}.rbt-chapter-link small{font-size:.76rem;line-height:1.25;color:var(--muted)}.rbt-chapter-link:hover{border-color:#9cc7af;background:#f2f8f4}.rbt-chapter-link.is-current{background:var(--primary-2);border-color:var(--primary-2);color:#fff}.rbt-chapter-link.is-current small{color:#dbece5}.rbt-home-card{flex-basis:150px}.rbt-chapter-movers{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;border-top:1px solid #ece7e1;padding-top:.65rem;margin-top:.35rem;font-size:.84rem;font-weight:800}.rbt-chapter-movers>a:first-child{text-align:left}.rbt-chapter-movers>a:last-child{text-align:right}.rbt-home-link{justify-self:center}.chapter-card{display:flex;flex-direction:column;gap:.65rem}.chapter-card h3{margin-bottom:0}.chapter-card .btn{margin-top:auto}.chapter-card::before{content:'Available now';align-self:flex-start;background:#edf7f1;border:1px solid #bed9ca;color:var(--primary-2);border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dashboard-page #chapter-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.rbt-curriculum-nav-head{align-items:flex-start;flex-direction:column;gap:.1rem}.rbt-nav-wrap{width:min(100% - 1rem,1180px);margin:.5rem auto 0}.rbt-chapter-link{flex-basis:220px}.rbt-chapter-movers{grid-template-columns:1fr 1fr;}.rbt-home-link{grid-column:1/-1;grid-row:2}.rbt-chapter-movers span:empty{display:none}.dashboard-page #chapter-list{grid-template-columns:1fr}}
