:root{color:#16232a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#16232a;--muted:#60717b;--paper:#fffdfa;--soft:#eef5f1;--line:#d7e0dd;--teal:#0f766e;--blue:#315d8a;--amber:#b76e21;--rose:#a53f59;--green:#3f7d3b;--violet:#6d5a9c;--slate:#495865;--shadow:0 18px 45px #16232a14;letter-spacing:0;background:#f3f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#eef5f1e6,#f7f7f2cc),#f3f7f4;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfae6;border-bottom:1px solid #16232a1a;grid-template-columns:minmax(180px,1fr) minmax(180px,360px) auto;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:grid;position:sticky;top:0}.brand,.top-link{align-items:center;gap:.65rem;display:inline-flex}.brand span{color:#fffdfa;background:var(--teal);border-radius:8px;place-items:center;width:2.35rem;height:2.35rem;font-weight:800;display:grid}.brand strong{font-size:1rem}.top-link{border:1px solid var(--line);min-height:2.35rem;color:var(--ink);background:#fff;border-radius:8px;justify-self:end;padding:0 .9rem;font-weight:700}.top-progress{color:var(--muted);gap:.35rem;font-size:.85rem;display:grid}.top-progress div,.lesson-meter div{background:#dfe8e4;border-radius:999px;height:.55rem;overflow:hidden}.top-progress i,.lesson-meter i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--amber), var(--rose));height:100%;display:block}main{gap:2rem;width:min(1480px,100% - 2rem);margin:0 auto;padding:1.5rem 0 4rem;display:grid}.hero{grid-template-columns:minmax(0,.95fr) minmax(360px,.8fr);align-items:stretch;gap:1.5rem;min-height:520px;display:grid}.hero-copy,.hero-visual,.workspace,.chapter-rail,.resources-overview{box-shadow:var(--shadow);background:#fffdfaeb;border:1px solid #16232a1a;border-radius:8px}.hero-copy{flex-direction:column;justify-content:center;padding:3rem;display:flex}.eyebrow,.section-heading span,.rail-title,.lesson-meter span,.saved-pill{color:var(--teal);text-transform:uppercase;letter-spacing:0;align-items:center;gap:.5rem;font-size:.82rem;font-weight:800;display:inline-flex}.hero h1{margin:.85rem 0 1rem;font-size:4rem;line-height:1}.hero p,.section-heading p,.chapter-header p,.lesson-content p{color:var(--muted);line-height:1.65}.hero p{max-width:62ch;margin:0;font-size:1.12rem}.hero-actions,.lesson-controls,.worksheet-actions,.chapter-switch{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-actions{margin-top:2rem}.primary-action,.secondary-action,.icon-button,.complete-button,.mode-tabs button,.concept-buttons button{border:1px solid var(--line);cursor:pointer;min-height:2.75rem;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.55rem;padding:0 1rem;font-weight:800;display:inline-flex}.primary-action,.icon-button.strong{border-color:var(--teal);background:var(--teal);color:#fffdfa}.secondary-action:hover,.icon-button:hover,.mode-tabs button:hover,.concept-buttons button:hover,.chapter-rail button:hover,.download-grid a:hover,.resource-list a:hover{background:#f6fbf9;border-color:#0f766e73}button:disabled{cursor:not-allowed;opacity:.45}.progress-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:2.25rem;display:grid}.progress-strip div{border:1px solid var(--line);background:#f8fbf8;border-radius:8px;min-height:5.6rem;padding:1rem}.progress-strip strong{font-size:1.55rem;display:block}.progress-strip span{color:var(--muted);margin-top:.3rem;font-size:.88rem;display:block}.hero-visual{background:#19333d;min-height:420px;position:relative;overflow:hidden}.hero-visual img{object-fit:cover;width:100%;height:100%;min-height:420px}.hero-visual-caption{color:#fffdfa;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#16232ac7;border:1px solid #ffffff47;border-radius:8px;align-items:center;gap:.85rem;min-height:4.5rem;padding:.9rem 1rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.hero-visual-caption span{min-width:4.4rem;height:2.6rem;color:var(--ink);background:#fffdfa;border-radius:8px;place-items:center;font-weight:900;display:grid}.course-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.chapter-rail{gap:.45rem;padding:1rem;display:grid;position:sticky;top:5rem}.rail-title{color:var(--slate);padding:.35rem .25rem .65rem}.chapter-rail button{cursor:pointer;width:100%;min-height:4.6rem;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:4.3rem 1fr auto;align-items:center;gap:.75rem;padding:.7rem;display:grid}.chapter-rail button.active{background:#eef8f5;border-color:#0f766e59}.chapter-rail strong,.download-grid strong,.resource-list strong{font-size:.93rem;line-height:1.25;display:block}.chapter-rail small,.download-grid small,.resource-list small{color:var(--muted);margin-top:.2rem;font-size:.78rem;line-height:1.35;display:block}.chapter-dot,.chapter-badge{color:#fffdfa;border-radius:8px;place-items:center;font-weight:900;display:inline-grid}.chapter-dot{min-width:3.6rem;height:2.4rem;padding:0 .45rem;font-size:.78rem}.chapter-badge{min-width:4rem;min-height:2.4rem;padding:.45rem .8rem;font-size:.85rem}.theme-teal{background:var(--teal)}.theme-blue{background:var(--blue)}.theme-amber{background:var(--amber)}.theme-rose{background:var(--rose)}.theme-green{background:var(--green)}.theme-violet{background:var(--violet)}.theme-slate{background:var(--slate)}.workspace{overflow:hidden}.chapter-header{border-bottom:1px solid var(--line);background:#fffdfa;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:1.2rem;padding:1.35rem;display:grid}.chapter-header h2{margin:.85rem 0 .55rem;font-size:2rem;line-height:1.1}.chapter-header p{max-width:72ch;margin:0}.chapter-header img{border:1px solid var(--line);object-fit:cover;border-radius:8px;width:100%;min-height:150px;max-height:190px}.mode-tabs{border-bottom:1px solid var(--line);background:#f9fbf9;flex-wrap:wrap;gap:.5rem;padding:1rem 1.35rem;display:flex}.mode-tabs button{background:#fff;min-width:8.5rem}.mode-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fffdfa}.learn-panel,.resources-panel{grid-template-columns:minmax(0,1fr) 320px;gap:1rem;padding:1.35rem;display:grid}.lesson-stage,.goal-panel,.lab-shell,.worksheet,.resource-preview,.resources-panel>div:last-child{border:1px solid var(--line);background:#fff;border-radius:8px}.lesson-stage{gap:1.25rem;min-height:460px;padding:1.25rem;display:grid}.lesson-meter{gap:.6rem;display:grid}.lesson-content{align-self:center}.lesson-content h2{margin:1rem 0 .8rem;font-size:2.35rem;line-height:1.08}.lesson-content blockquote{border-left:5px solid var(--amber);color:#4f3b21;background:#fff6e9;border-radius:0 8px 8px 0;margin:1.2rem 0 0;padding:1rem 1.1rem;line-height:1.55}.formula-hint{color:#134e4a;background:#eef8f5;border:1px solid #c8d9d6;border-radius:8px;align-items:center;gap:.6rem;width:fit-content;max-width:100%;margin-top:1rem;padding:.85rem 1rem;font-weight:900;display:flex}.lesson-controls{justify-content:space-between;align-self:end}.step-dots{align-items:center;gap:.35rem;display:flex}.step-dots button{cursor:pointer;background:#fff;border:1px solid #b7c8c3;border-radius:999px;width:.75rem;height:.75rem;padding:0}.step-dots button.active{background:var(--teal);width:1.8rem}.goal-panel{align-content:start;gap:1rem;padding:1rem;display:grid}.section-heading{gap:.45rem;display:grid}.section-heading h2,.section-heading h3{margin:0;line-height:1.15}.section-heading h2{font-size:2rem}.section-heading h3{font-size:1.45rem}.section-heading p{margin:0}.section-heading.compact h3{font-size:1.2rem}.goal-panel ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.goal-panel li{color:#314049;grid-template-columns:auto 1fr;gap:.55rem;line-height:1.45;display:grid}.goal-panel li svg{color:var(--green);margin-top:.15rem}.complete-button{border-color:#cbd8d6;width:100%}.complete-button.done{border-color:var(--green);color:#245421;background:#edf7ec}.chapter-switch{justify-content:flex-end}.icon-only{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:2.6rem;height:2.6rem;display:grid}.lab-shell,.worksheet{margin:1.35rem;padding:1.25rem}.dossier-panel,.exercises-panel{gap:1rem;margin:1.35rem;display:grid}.dossier-hero,.exercises-intro,.exercise-card,.no-exercises,.dossier-block,.worked-example,.formula-bank,.check-card,.study-callout{border:1px solid var(--line);background:#fff;border-radius:8px}.dossier-hero{background:linear-gradient(135deg,#0f766e14,#b76e2114),#fff;grid-template-columns:minmax(0,1fr) 170px;gap:1rem;padding:1.25rem;display:grid}.exercises-intro{background:linear-gradient(135deg,#315d8a14,#0f766e14),#fff;grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:1rem;padding:1.25rem;display:grid}.exercises-intro h3{margin:1rem 0 .65rem;font-size:2rem;line-height:1.08}.exercises-intro p{color:#465962;max-width:88ch;margin:0;line-height:1.65}.exercise-count{background:#fffdfadb;border:1px solid #315d8a38;border-radius:8px;place-items:center;min-height:8rem;display:grid}.exercise-count strong{font-size:2.4rem;line-height:1}.exercise-count span{color:var(--muted);font-weight:800}.exercise-list{gap:1rem;display:grid}.exercise-card{gap:1rem;padding:1rem;display:grid}.exercise-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.exercise-index{color:var(--teal);text-transform:uppercase;font-size:.78rem;font-weight:900}.exercise-card h4{margin:.35rem 0 .45rem;font-size:1.35rem;line-height:1.2}.exercise-card p{color:#465962;margin:0;line-height:1.6}.difficulty-pill{text-align:center;border-radius:999px;min-width:7rem;padding:.5rem .7rem;font-size:.78rem;font-weight:900}.difficulty-pill.starter{color:#0f766e;background:#eef8f5}.difficulty-pill.basic{color:#315d8a;background:#edf4fb}.difficulty-pill.advanced{color:#9a5a17;background:#fff4e8}.difficulty-pill.challenge{color:#9b2f4a;background:#fff0f3}.exercise-meta,.exercise-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.exercise-meta span{border:1px solid var(--line);color:#4c5d66;background:#f8fbf8;border-radius:999px;align-items:center;gap:.45rem;min-height:2rem;padding:.35rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.exercise-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.9fr);gap:.75rem;display:grid}.exercise-detail-grid section,.exercise-checks{background:#fbfdfc;border:1px solid #d8e4e1;border-radius:8px;padding:.9rem}.exercise-detail-grid h5,.exercise-checks h5{margin:0;font-size:1rem}.exercise-detail-grid ol,.exercise-detail-grid ul{color:#34454d;gap:.45rem;margin:.8rem 0 0;padding-left:1.15rem;line-height:1.52;display:grid}.exercise-detail-grid li::marker{color:var(--teal);font-weight:900}.tip-panel{background:#f7fbff!important}.tip-panel .mini-heading svg{color:var(--blue)}.tip-panel li::marker{color:var(--blue)}.pitfall-panel{background:#fff9f2!important}.pitfall-panel .mini-heading svg{color:var(--amber)}.pitfall-panel li::marker{color:var(--amber)}.exercise-checks summary{cursor:pointer;color:var(--ink);align-items:center;gap:.55rem;font-weight:900;display:flex}.exercise-checks ul{gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.exercise-checks li{color:#34454d;grid-template-columns:auto minmax(0,1fr);gap:.45rem;line-height:1.45;display:grid}.exercise-checks li svg{color:var(--green);margin-top:.12rem}.no-exercises{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:1rem;display:grid}.no-exercises h4{margin:0 0 .3rem}.no-exercises p{color:var(--muted);margin:0;line-height:1.55}.dossier-hero h3{margin:1rem 0 .65rem;font-size:2rem;line-height:1.08}.dossier-hero p,.idea-card p,.worked-example p,.formula-card p,.study-callout p{color:#465962;line-height:1.65}.dossier-hero p{max-width:92ch;margin:0;font-size:1.02rem}.dossier-summary{background:#fffdfad1;border:1px solid #0f766e38;border-radius:8px;align-self:stretch;gap:.25rem;min-height:13rem;padding:1rem;display:grid}.dossier-summary strong{font-size:1.75rem;line-height:1}.dossier-summary span{color:var(--muted);font-size:.82rem;font-weight:800}.dossier-block,.worked-example,.formula-bank,.check-card{padding:1rem}.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.idea-card{background:#fbfdfc;border:1px solid #d8e4e1;border-radius:8px;min-height:10rem;padding:1rem}.idea-card h4,.mini-heading h4{margin:0;line-height:1.25}.idea-card p{margin:.65rem 0 0}.dossier-two-col{grid-template-columns:minmax(0,1.05fr) minmax(320px,.9fr);gap:1rem;display:grid}.worked-example ol,.check-card ol,.check-card ul{color:#34454d;gap:.55rem;margin:1rem 0 0;padding-left:1.25rem;line-height:1.55;display:grid}.worked-example li::marker{color:var(--teal);font-weight:900}.check-card li::marker{color:var(--teal);font-weight:900}.takeaway{border-left:5px solid var(--teal);background:#eef8f5;border-radius:0 8px 8px 0;margin-top:1rem;padding:1rem}.takeaway strong{color:#134e4a;display:block}.takeaway p{margin:.35rem 0 0}.formula-list{gap:.65rem;margin-top:1rem;display:grid}.formula-card{background:#fffdfa;border:1px solid #d8e4e1;border-radius:8px;gap:.5rem;padding:.9rem;display:grid}.formula-card strong{font-size:.95rem}.formula-card code{color:#f4fbf8;overflow-wrap:anywhere;white-space:normal;background:#17242b;border-radius:8px;padding:.7rem;font-size:.86rem;line-height:1.45;display:block}.formula-card p{margin:0;font-size:.9rem}.dossier-three-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.mini-heading{color:var(--ink);align-items:center;gap:.55rem;display:flex}.mini-heading svg{color:var(--teal)}.check-card.warning{background:#fff9f2}.check-card.warning .mini-heading svg{color:var(--amber)}.check-card.warning li::marker{color:var(--amber)}.check-card.success{background:#f3fbf1}.check-card.success .mini-heading svg{color:var(--green)}.check-card.success li::marker{color:var(--green)}.study-callout{background:#f7fbff;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;padding:1rem;display:grid}.study-callout svg{color:var(--blue);margin-top:.15rem}.study-callout p{margin:0;font-weight:700}.lab-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:1rem;margin-top:1.1rem;display:grid}.lab-grid.wide{grid-template-columns:minmax(0,1.2fr) minmax(280px,360px)}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.input-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.number-field{gap:.45rem;min-width:0;display:grid}.number-field span{color:#41515a;font-size:.86rem;font-weight:800}.number-field div{border:1px solid var(--line);background:#fffdfa;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:2.9rem;display:grid}.number-field input{width:100%;min-width:0;height:2.75rem;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:0 .75rem;font-weight:800}.number-field small{color:var(--muted);padding:0 .75rem 0 .35rem;font-size:.78rem;font-weight:800}.metric-board{gap:.65rem;display:grid}.metric{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;gap:.35rem;min-height:4.8rem;padding:.9rem;display:grid}.metric span{color:var(--muted);font-size:.82rem;font-weight:800}.metric strong{font-size:1.35rem;line-height:1.1}.metric-good{background:#eff8f0;border-color:#b8d8c1}.metric-warn{background:#fff6ed;border-color:#e8ccb7}.decision{border-radius:8px;align-items:center;gap:.55rem;min-height:3.2rem;padding:.8rem;font-weight:900;display:flex}.decision.yes{color:#245421;background:#eaf7ef}.decision.no{color:#8b2f2f;background:#fff0ef}.concept-layout{grid-template-columns:260px minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.concept-buttons{gap:.55rem;display:grid}.concept-buttons button{justify-content:flex-start}.concept-buttons button.active{border-color:var(--blue);color:#1f476f;background:#edf4fb}.concept-answer{border:1px solid var(--line);background:#f9fbff;border-radius:8px;min-height:210px;padding:1.3rem}.concept-answer span{color:var(--blue);text-transform:uppercase;font-size:.82rem;font-weight:900}.concept-answer h4{margin:.8rem 0 .5rem;font-size:1.6rem}.concept-answer p{color:#42535e;max-width:60ch;margin:0;line-height:1.65}.empty-state{min-height:4rem;color:var(--muted);align-items:center;gap:.6rem;display:flex}.worksheet{gap:1rem;display:grid}.worksheet-actions{justify-content:flex-start}.saved-pill{color:#27645f;text-transform:none;background:#f1f8f5;border:1px solid #cfe0dc;border-radius:999px;min-height:2.4rem;padding:0 .8rem}.sheet-frame{border:1px solid var(--line);border-radius:8px;overflow:auto}.workbook-table{border-collapse:collapse;background:#fff;width:100%;min-width:980px}.workbook-table th,.workbook-table td{border:1px solid var(--line);vertical-align:top;text-align:left;padding:.8rem}.workbook-table thead th{z-index:1;color:#fffdfa;background:#174a5a;font-size:.9rem;position:sticky;top:0}.workbook-table tbody th{background:#f2f7f5;width:170px}.workbook-table tbody th span{margin-left:.4rem;display:inline-block}.workbook-table td{color:#34454d;min-width:210px;line-height:1.45}.workbook-table td strong{color:var(--ink);display:block}.workbook-table td small{color:var(--muted);margin-top:.5rem;display:block}.workbook-table textarea{resize:vertical;width:100%;min-height:7.5rem;color:var(--ink);background:#fffdfa;border:1px solid #cbd8d6;border-radius:8px;padding:.75rem;line-height:1.45}.form-error{color:#8b2f2f;margin:0;font-weight:800}.resources-panel{grid-template-columns:minmax(320px,.85fr) minmax(0,1fr)}.resource-preview{background:#152630;min-height:330px;overflow:hidden}.resource-preview img,.resource-preview video{object-fit:cover;width:100%;height:100%;min-height:330px;display:block}.resources-panel>div:last-child{padding:1rem}.resource-list{gap:.65rem;margin-top:1rem;display:grid}.resource-list.compact{margin-top:0}.resource-list a,.download-grid a{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.2rem;padding:.75rem;display:grid}.resource-list svg,.download-grid svg{color:var(--teal)}.resources-overview{padding:1.35rem}.download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.1rem;display:grid}@media (width<=1180px){.hero,.course-layout,.learn-panel,.resources-panel{grid-template-columns:1fr}.chapter-rail{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.rail-title{grid-column:1/-1}.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){main{width:min(100% - 1rem,1480px);padding-top:.75rem}.topbar{grid-template-columns:1fr auto}.top-progress{order:3;grid-column:1/-1}.brand strong{display:none}.hero-copy{padding:1.35rem}.hero h1{font-size:2.8rem}.progress-strip,.chapter-header,.lab-grid,.lab-grid.wide,.concept-layout,.dossier-hero,.exercises-intro,.exercise-card-header,.exercise-detail-grid,.no-exercises,.dossier-two-col,.dossier-three-col,.idea-grid,.download-grid,.chapter-rail{grid-template-columns:1fr}.chapter-header img{max-height:240px}.input-grid,.input-grid.three{grid-template-columns:1fr}.mode-tabs button{flex:9rem}.lesson-content h2{font-size:1.8rem}.lesson-controls{align-items:stretch}.lesson-controls .icon-button{flex:100%}.step-dots{justify-content:center;width:100%}}@media (width<=520px){.hero h1{font-size:2.25rem}.hero p{font-size:1rem}.chapter-rail button{grid-template-columns:3.8rem 1fr auto}.chapter-dot{min-width:3.25rem;font-size:.72rem}.lab-shell,.worksheet,.dossier-panel,.exercises-panel,.learn-panel,.resources-panel,.chapter-header,.mode-tabs,.resources-overview{padding:.85rem}}
