.challenge-page{background:#f7fafb}.challenge-page .eyebrow{color:#247b84}.challenge-page [hidden]{display:none!important}.challenge-overview,.challenge-lesson{padding-top:42px;padding-bottom:90px}.challenge-overview>.back{font-size:.9rem;color:#247b84}.challenge-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:70px;align-items:center;padding:38px 0 44px}.challenge-intro h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:-.065em;line-height:1.08;margin:18px 0}.challenge-intro p{line-height:1.75;max-width:660px}.challenge-intro .dek{font-size:1.22rem;color:#247b84}.challenge-plan{background:#e6eff1;border-left:4px solid #247b84;padding:28px}.challenge-plan ol{padding:0;list-style:none;margin:20px 0}.challenge-plan li{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid #c9dcdf}.challenge-plan strong{font-size:1.05rem}.challenge-plan span:not(.eyebrow),.challenge-plan p{font-size:.93rem;color:#47636e}.challenge-plan p{margin-bottom:0}.challenge-progress{border-block:1px solid #c9dcdf;padding:23px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;align-items:center}.challenge-progress p{margin:6px 0 0;font-size:.94rem;color:#55707b}.challenge-progress>p{grid-column:1/-1}.challenge-progress progress{width:100%;height:12px;accent-color:#247b84}.challenge-phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:32px 0;gap:12px}.challenge-phases a{border-top:3px solid #9bb9bf;padding:12px 0}.challenge-phases a:hover{border-color:#247b84}.challenge-phases span{display:block;font-size:.82rem;color:#57727c;margin-bottom:7px}.challenge-phases strong{font-size:.95rem;line-height:1.35;display:block}.challenge-how{max-width:860px;padding:12px 0 22px;line-height:1.8}.challenge-how h2{font-size:1.5rem;letter-spacing:-.025em}.challenge-how p{color:#47616b}.challenge-phase{padding-top:34px;scroll-margin-top:105px}.challenge-phase header{display:grid;grid-template-columns:1fr 1fr;gap:4px 35px;padding:0 0 20px;border-bottom:2px solid #203743}.challenge-phase header .eyebrow{grid-column:1/-1}.challenge-phase h2{font-size:1.75rem;letter-spacing:-.035em;margin:8px 0;line-height:1.2}.challenge-phase header p{margin:8px 0;line-height:1.6;color:#55707b}.challenge-phase ol{list-style:none;margin:0;padding:0}.challenge-row{display:grid;grid-template-columns:52px minmax(0,1fr) 28px;gap:20px;padding:26px 0;border-bottom:1px solid #d4e1e5;align-items:start}.day-index{font-size:1.7rem;line-height:1.3;letter-spacing:-.04em;font-weight:750;color:#708b95;font-variant-numeric:tabular-nums}.challenge-row h3{margin:0 0 8px;font-size:1.3rem;line-height:1.35;letter-spacing:-.02em}.challenge-row p{margin:0 0 10px;line-height:1.65;color:#526c78;max-width:780px}.row-meta{font-size:.82rem;color:#617e89}.challenge-row .completion{font-size:1.4rem;color:#6a8691}.challenge-row.is-complete .completion{color:#247b84}.challenge-row.is-complete .day-index{color:#247b84}.challenge-breadcrumb{font-size:.9rem;color:#55707b;line-height:1.7}.challenge-breadcrumb a{color:#247b84}.challenge-lesson-heading{max-width:880px;margin:40px 0}.challenge-lesson-heading h1{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.055em;margin:16px 0 20px}.challenge-lesson-heading .dek{max-width:790px;font-size:1.18rem}.lesson-meta{display:flex;flex-wrap:wrap;gap:12px 22px;border-block:1px solid #cedfe3;padding:15px 0;font-size:.88rem;color:#4a6b77}.challenge-layout{display:grid;grid-template-columns:210px minmax(0,790px);gap:60px;align-items:start}.challenge-toc{position:sticky;top:105px;font-size:.87rem;line-height:1.5}.challenge-toc h2{font-size:1rem;margin:0 0 15px}.challenge-toc ol{padding:0;list-style:none}.challenge-toc li{margin:10px 0}.challenge-toc a{color:#52717e}.challenge-toc>a{display:block;margin-top:24px;color:#247b84}.challenge-reading{min-width:0}.lesson-objectives{padding:22px 28px;background:#e8f0f2;border-left:3px solid #247b84;line-height:1.7}.lesson-objectives h2{margin:0 0 12px;font-size:1.25rem}.lesson-objectives ul{padding-left:20px;margin:0}.lesson-objectives p{font-size:.91rem;margin:15px 0 0;color:#496570}.challenge-reading .prose h3{font-size:1.23rem;line-height:1.45;letter-spacing:-.015em;margin:28px 0 14px}.challenge-reading .prose h2,.challenge-assessment h2{scroll-margin-top:100px}.challenge-reading .prose{font-size:1.06rem;line-height:1.85}.challenge-reading .table-wrap{max-width:100%;margin:24px 0;overflow-x:auto}.challenge-reading table{width:100%;min-width:540px;border-collapse:collapse;font-size:.94rem;line-height:1.55}.challenge-reading th,.challenge-reading td{padding:12px 14px;border:1px solid #cbdee3;vertical-align:top;text-align:left}.challenge-reading th{background:#e6eff1}.challenge-reading .prose pre{max-width:100%;font-size:.86rem;tab-size:4}.lesson-solution{border:1px solid #bdD4d9;padding:0 20px;border-radius:7px;background:#f1f7f8}.lesson-solution summary{cursor:pointer;padding:18px 0;color:#247b84;font-weight:700;font-size:.97rem;line-height:1.5}.lesson-solution[open]{padding-bottom:10px}.lesson-sources{border-top:1px solid #c9dcdf;padding:26px 0;margin-top:38px;font-size:.93rem;line-height:1.75}.lesson-sources h2{font-size:1.15rem}.lesson-sources p{color:#55707b}.lesson-sources a{color:#247b84;text-decoration:underline}.lesson-sources ul{padding-left:20px}.challenge-assessment{margin-top:24px;border-top:3px solid #203743;padding-top:30px;line-height:1.7}.challenge-assessment h2{font-size:1.65rem;letter-spacing:-.03em}.challenge-assessment fieldset{border:0;border-bottom:1px solid #cedfe3;padding:20px 0;margin:24px 0}.challenge-assessment legend{font-weight:700;line-height:1.5;max-width:100%;font-size:1.05rem}.challenge-assessment legend span{color:#247b84;margin-right:5px}.challenge-assessment label{display:flex;gap:12px;align-items:start;padding:10px 12px;margin:7px 0;border:1px solid #cedfe3;border-radius:5px;font-size:.96rem;line-height:1.6;cursor:pointer}.challenge-assessment label:has(input:checked){background:#e6eff1;border-color:#528f99}.challenge-assessment input{flex-shrink:0;margin-top:6px;accent-color:#247b84;width:16px;height:16px}.question-feedback{font-size:.91rem;margin:14px 0 0;color:#47616b}.question-feedback:empty{display:none}.question-feedback.is-wrong{color:#884335}.question-feedback.is-right{color:#216650}.assessment-feedback{font-weight:700;margin:22px 0}.challenge-assessment button:disabled{opacity:.55;cursor:not-allowed}.practical-checks{margin:20px 0 26px}.challenge-assessment [data-completion-feedback]{font-size:.94rem;color:#526c78}.challenge-pagination{display:flex;justify-content:space-between;gap:25px;margin-top:40px;padding:25px 0;border-top:1px solid #cedfe3;line-height:1.6;font-weight:650;color:#247b84}.course-diagram{margin:30px 0}.course-diagram img{width:100%;height:auto;border:1px solid #cedfe3;border-radius:6px}.course-diagram figcaption{font-size:.9rem;line-height:1.6;color:#55707b;margin:10px 0}.challenge-page button:focus-visible,.challenge-page input:focus-visible,.challenge-page summary:focus-visible{outline:3px solid #247b84;outline-offset:4px}
@media(max-width:1000px){.challenge-layout{grid-template-columns:170px minmax(0,1fr);gap:35px}.challenge-intro{gap:40px}.challenge-phases{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.challenge-intro{grid-template-columns:1fr;gap:25px;padding-top:28px}.challenge-plan ol{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.challenge-layout{display:block}.challenge-toc{position:static;border-bottom:1px solid #cedfe3;padding-bottom:20px;margin-bottom:25px}.challenge-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.challenge-toc>a{margin-top:10px}.challenge-phase header{display:block}.challenge-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-progress{grid-template-columns:1fr}.challenge-progress progress{margin:8px 0}.challenge-lesson-heading{margin-top:30px}.challenge-pagination{font-size:.95rem}}
@media(max-width:480px){.challenge-overview,.challenge-lesson{padding-top:28px}.challenge-intro h1{font-size:2.9rem}.challenge-intro .hero-actions{align-items:start;gap:20px}.challenge-plan{padding:22px}.challenge-plan ol{display:block}.challenge-row{grid-template-columns:35px minmax(0,1fr) 20px;gap:12px;padding:23px 0}.day-index{font-size:1.35rem}.challenge-row h3{font-size:1.12rem}.challenge-row p{font-size:.94rem}.lesson-objectives{padding:20px}.challenge-reading .prose{font-size:1.03rem}.lesson-solution{padding-inline:14px}.challenge-reading .prose pre{padding:18px 14px}.challenge-toc ol{display:block}.challenge-toc li{margin:8px 0}.challenge-assessment label{padding:10px}.challenge-lesson-heading h1{font-size:2.4rem}}
.challenge-page .hero-actions .text-link{color:#247b84}.challenge-reading .course-diagram a{display:block}.challenge-reading .course-diagram a:focus-visible{outline:3px solid #247b84;outline-offset:4px}
