.learning{--learn-paper:#fffdf7;--learn-ink:#233934;--learn-muted:#4d655e;--learn-green:#126653;--learn-line:#ccd9cf;--learn-wash:#e8efe3;--learn-gold:#eed394;max-width:1180px;color:var(--text-primary);margin:0 auto;padding:32px 0 72px}.learning [hidden]{display:none!important}.learning h1,.learning h2,.learning h3{letter-spacing:-.035em}.learning p{line-height:1.7}.learning a{text-underline-offset:5px}.learning :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:5px}.course-kicker{letter-spacing:.13em;font-size:.76rem;font-weight:650}.course-hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:42px;padding:52px 0 66px;display:grid}.course-hero h1{margin:22px 0;font:clamp(2.8rem,5.6vw,5.4rem)/1.04 Georgia,serif}.course-hero h1 em{color:var(--learn-green);font-weight:400}.course-lede{max-width:650px;color:var(--text-secondary);font-size:1.18rem}.course-facts{color:var(--text-muted);font-size:.8rem}.course-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px;display:flex}.course-button,.experiment-button{background:var(--learn-green);border:1px solid var(--learn-green);min-height:46px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:14px;padding:13px 19px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;color:#fff!important}.course-button:hover,.experiment-button:hover{background:#194f42}.course-art{background:var(--learn-wash);min-height:390px;color:var(--learn-ink);border-radius:80px 80px 12px;position:relative;overflow:hidden}.art-star{color:var(--learn-green);font-size:90px;line-height:1;position:absolute;top:24px;right:28px}.art-card{border:1px solid var(--learn-line);background:var(--learn-paper);z-index:1;border-radius:9px;gap:5px;width:220px;padding:19px 24px;display:grid;position:absolute;box-shadow:0 8px #23393408}.art-card span{font-family:var(--font-mono);color:var(--learn-green);font-size:.7rem}.art-card strong{font:1.7rem Georgia,serif}.art-card small{color:var(--learn-muted);font-size:.8rem}.art-one{top:46px;left:26px;transform:rotate(-5deg)}.art-two{background:#f5dfa6;top:156px;right:25px;transform:rotate(4deg)}.art-three{top:264px;left:44px;transform:rotate(-2deg)}.art-path{border:2px dashed #8aa88a;border-radius:45%;position:absolute;inset:32px}.course-welcome,.course-teacher{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1.2fr 1fr;gap:65px;padding:38px 0;display:grid}.course-welcome h2,.course-teacher h2{font:2rem Georgia,serif}.course-welcome h3,.course-teacher h3{font-size:1rem}.course-welcome p,.course-teacher p{color:var(--text-secondary);font-size:.96rem}.course-progress{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px 30px;margin:28px 0;padding:22px;display:flex}.course-progress p{margin:5px 0;font-size:.8rem}.course-progress button{border:1px solid var(--border-focus);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:10px 14px;font-size:.85rem}.course-phase{padding:45px 0 12px}.course-phase header{margin-bottom:24px}.course-phase h2{margin:10px 0;font:clamp(1.7rem,3vw,2.5rem) Georgia,serif}.course-phase header>p:last-child{color:var(--text-secondary);font-size:.95rem}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;list-style:none;display:grid}.module-grid li{min-width:0;display:flex}.module-card{border:1px solid var(--border);background:var(--surface);min-height:258px;color:inherit;border-radius:10px;flex-direction:column;flex:1;padding:24px 20px;text-decoration:none;transition:transform .16s,border-color .16s;display:flex}.module-card:hover{border-color:var(--learn-green);transform:translateY(-4px)}.module-number{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;gap:8px;font-size:.85rem;display:flex}.module-number span{font-size:.67rem}.module-card h3{margin:27px 0 10px;font-size:1.25rem;line-height:1.25}.module-card p{color:var(--text-secondary);margin:0 0 20px;font-size:.9rem}.module-bottom{color:var(--text-muted);justify-content:space-between;margin-top:auto;font-size:.74rem;display:flex}.module-bottom>span{font-size:1.1rem}.course-teacher{margin-top:46px}.course-note{color:var(--text-muted);max-width:850px;margin-top:30px}.course-note p{font-size:.8rem}.lesson-breadcrumb{flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:.85rem;display:flex}.lesson-breadcrumb>span{color:var(--text-muted)}.lesson-hero{border-bottom:1px solid var(--border);padding:38px 0 35px}.lesson-hero h1{max-width:950px;margin:14px 0 20px;font:clamp(2.5rem,5vw,4.8rem)/1.08 Georgia,serif}.concept-tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.concept-tags li{border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;padding:5px 10px;font-size:.73rem}.lesson-layout{grid-template-columns:minmax(0,1fr) 235px;gap:62px;padding:38px 0;display:grid}.lesson-main{min-width:0}.lesson-main h2{font:1.8rem Georgia,serif}.lesson-explanation{margin:35px 0}.lesson-explanation p{color:var(--text-secondary);max-width:720px;font-size:1rem}.lesson-aside{font-size:.86rem}.lesson-aside nav{gap:16px;display:grid}.lesson-aside h2{font-size:1rem}.lesson-aside ul{gap:12px;padding-left:18px;display:grid}.lesson-aside p{color:var(--text-secondary)}.aside-note{border-block:1px solid var(--border);margin:28px 0;padding:20px 0}.aside-note>span{color:var(--learn-green);font-size:3rem;line-height:1}.experiment-section{border:1px solid var(--learn-line);background:var(--learn-paper);color:var(--learn-ink);border-radius:13px;overflow:hidden}.experiment-heading{background:var(--learn-wash);padding:25px 28px 8px}.experiment-heading h2{margin:9px 0}.experiment-label{color:var(--learn-muted);font-size:.73rem}.activity-steps{padding:17px 30px 6px 48px;font-size:.87rem;line-height:1.7}.activity-steps li{margin-bottom:7px;padding-left:3px}.experiment-controls{flex-wrap:wrap;align-items:end;gap:17px;padding:16px 28px;display:flex}.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.experiment-field{flex:180px;gap:8px;font-size:.86rem;display:grid}.experiment-controls label{font-size:.88rem;line-height:1.5}.experiment-controls :is(input:not([type=checkbox]):not([type=range]),select){width:100%;max-width:100%;min-height:46px;color:var(--learn-ink);font:inherit;background:#fff;border:1px solid #8da598;border-radius:7px;padding:10px}.experiment-controls input[type=range]{accent-color:var(--learn-green);width:100%;min-height:38px}.experiment-controls input[type=checkbox]{accent-color:var(--learn-green);vertical-align:middle;width:19px;height:19px;margin-right:8px}.experiment-controls fieldset{border:1px solid var(--learn-line);border-radius:7px;gap:13px;width:100%;padding:16px;display:grid}.experiment-controls legend{padding:0 6px;font-size:.85rem;font-weight:600}.experiment-output{border:1px solid var(--learn-line);overflow-wrap:anywhere;background:#edf2e9;border-radius:8px;margin:12px 28px 28px;padding:22px}.experiment-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font:.83rem/1.7 var(--font-mono);color:var(--learn-ink);background:0 0;margin:0;padding:0}.experiment-output p{font-size:.9rem}.experiment-note{color:var(--learn-muted);padding:0 28px;font-size:.8rem;line-height:1.65}.experiment-result{font-weight:600;line-height:1.6}.experiment-list{padding-left:23px;font-size:.9rem;line-height:1.8}.experiment-map{width:310px;max-width:100%;height:auto;margin:15px auto;display:block}.experiment-chapter{border-top:1px solid #b8cbbf;padding:17px 0}.experiment-chapter h3{margin:5px 0;font-size:1.1rem}.experiment-chapter p{margin:6px 0}.experiment-output :is(a,button){color:var(--learn-green)}.takeaway{border-left:3px solid var(--learn-green);background:var(--surface-subtle);margin:35px 0;padding:22px 25px}.takeaway h2{margin:9px 0;font-size:1.5rem}.takeaway p:last-child{margin-bottom:0}.course-question{margin:35px 0}.course-question details{border:1px solid var(--border);border-radius:8px;padding:17px 20px}.course-question summary{cursor:pointer;min-height:32px;font-size:.93rem;font-weight:600;line-height:1.6}.course-question details p{color:var(--text-secondary)}.course-callout{padding:20px}.lesson-finish{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:36px;padding:30px 0;display:flex}.lesson-finish h2{font:1.7rem Georgia,serif}.lesson-finish p{max-width:600px;font-size:.9rem}.lesson-finish nav{gap:20px;min-width:220px;font-size:.85rem;display:grid}.lesson-finish [data-progress-message]{font-size:.8rem}@media (prefers-color-scheme:dark){.course-hero h1 em,.aside-note>span{color:#a8d7bc}.module-card:hover{border-color:#a8d7bc}.course-button{background:#236c54;border-color:#5d977e}.experiment-section :is(h2,h3,label,legend){color:var(--learn-ink)}.experiment-section a{color:#175d49}.experiment-section .course-kicker{color:var(--learn-muted)}.takeaway{border-left-color:#a8d7bc}}@media (width<=950px){.course-hero{grid-template-columns:1.2fr 1fr;gap:25px}.course-art{min-height:365px}.art-card{width:190px}.art-one{left:16px}.art-two{right:15px}.art-three{top:244px;left:25px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 185px;gap:28px}.course-welcome,.course-teacher{gap:32px}}@media (width<=680px){.learning{padding-top:20px}.course-hero{padding:20px 0 34px;display:block}.course-hero h1{font-size:clamp(2.8rem,11vw,4rem)}.course-art{max-width:460px;min-height:340px;margin-top:35px}.art-card{width:205px}.art-one{top:25px;left:25px}.art-two{top:126px;right:25px}.art-three{top:228px;left:43px}.course-welcome,.course-teacher{grid-template-columns:1fr;gap:18px;padding:25px 0}.course-actions{gap:20px}.course-progress{padding:18px}.course-phase{padding-top:28px}.module-grid{gap:12px}.module-card{min-height:240px;padding:18px 15px}.module-card h3{font-size:1.1rem}.module-card p{font-size:.85rem}.module-bottom{font-size:.67rem}.lesson-layout{padding-top:24px;display:block}.lesson-aside{border-top:1px solid var(--border);padding:24px 0}.lesson-aside nav{flex-wrap:wrap;display:flex}.aside-note{display:none}.lesson-hero{padding:28px 0}.lesson-hero h1{font-size:2.8rem}.lesson-finish{display:block}.lesson-finish nav{margin-top:25px}.experiment-heading{padding:22px 20px 8px}.experiment-controls{padding:14px 20px}.experiment-output{margin:12px 20px 22px;padding:17px}.experiment-note{padding-inline:20px}.activity-steps{padding-left:39px;padding-right:22px}.experiment-grid{grid-template-columns:1fr}}@media (width<=360px){.module-grid{grid-template-columns:1fr}.module-card{min-height:210px}}@media (prefers-reduced-motion:reduce){.module-card{transition:none}.module-card:hover{transform:none}}@media print{.course-art,.course-progress,.course-actions,.experiment-controls,.lesson-finish button,.lesson-aside nav{display:none!important}.learning{color:#000;padding:0}.lesson-layout,.course-welcome,.course-teacher{display:block}.experiment-section,.experiment-output,.takeaway{color:#000;break-inside:avoid;background:#fff}.module-grid{grid-template-columns:repeat(2,1fr)}.course-question details>*{display:block}.learning a{color:#000}.lesson-hero h1,.course-hero h1{font-size:32pt}.lesson-aside{page-break-before:auto}}.experiment-controls textarea{width:100%;min-height:90px;font:inherit;color:#233934;resize:vertical;background:#fff;border:1px solid #8da598;border-radius:7px;padding:10px}.experiment-visual{flex-wrap:wrap;gap:9px;margin:0 0 20px;display:flex}.playlist-song{background:#eed394;border:1px solid #8da598;border-radius:8px;place-items:center;min-width:65px;min-height:65px;padding:10px;font-size:.8rem;display:inline-grid}.folder-tree{white-space:pre-line;font-family:var(--font-mono);background:#fffdf7;border-left:3px solid #126653;padding:15px 20px;font-size:.9rem}.metric-row{grid-template-columns:1fr;gap:5px;width:100%;font-size:.85rem;display:grid}.metric-row meter{accent-color:#126653;width:100%;height:25px}.experiment-chapter[data-dependency]{background:#f9f1dc;border-left:3px solid #86601d;margin-top:10px;padding-left:15px}.experiment-chapter .experiment-note{padding:0}.experiment-controls>.experiment-grid{width:100%}.folder-tree{display:block}.learning .experiment-output [data-output]{border:0}.learning .experiment-visual{margin-top:18px}@view-transition{navigation:none}.playlist{flex-direction:column;gap:5px}.playlist-song{background:#e4eee5;border-left:4px solid #126653;border-radius:5px;place-items:center start;min-height:40px;padding:8px 14px}.course-directory .course-hero{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:48px;padding:24px 0 32px}.course-directory .course-hero h1{margin:14px 0 18px;font-size:clamp(2.5rem,4.8vw,4.2rem)}.course-directory .course-lede{max-width:510px;font-size:1.1rem}.course-directory .course-actions{gap:20px;margin-top:20px}.course-directory .course-facts{line-height:1.7}.course-start{background:var(--learn-wash);color:var(--learn-ink);border:1px solid var(--learn-line);border-radius:16px;padding:26px 28px}.course-start a:focus-visible{outline-color:#176552}.course-start h2{color:var(--learn-ink);margin:12px 0;font:clamp(1.8rem,3vw,2.5rem)/1.12 Georgia,serif}.course-start p{color:var(--learn-ink);font-size:.94rem;line-height:1.6}.course-start .course-kicker{color:var(--learn-green);font-size:.73rem}.course-start .course-start-note{color:var(--learn-muted);margin:14px 0 0;font-size:.76rem}.course-paths{border-block:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 0;display:grid}.course-paths a{min-height:44px;color:var(--text-primary);align-content:center;gap:5px;font-size:.9rem;text-decoration:none;display:grid}.course-paths a:hover{text-decoration:underline}.course-paths span{color:var(--text-muted);font-size:.74rem}.course-directory .course-phase{padding:30px 0 12px}.course-directory .course-phase h2{font-size:clamp(1.7rem,2.7vw,2.2rem)}.course-directory .module-card{min-height:218px;padding:22px 20px}.course-directory .module-card h3{letter-spacing:-.02em;margin:20px 0 10px;font-size:1.15rem}.course-directory .course-welcome{margin-top:22px}.course-directory .course-teacher{margin-top:28px}.teacher-routes{gap:17px;padding:0;list-style:none;display:grid}.teacher-routes li{gap:5px;display:grid}.teacher-routes a{font-size:.96rem}.teacher-routes span{color:var(--text-secondary);font-size:.86rem;line-height:1.5}.lesson-hero{padding:22px 0 24px}.lesson-hero h1{margin:10px 0 14px;font-size:clamp(2rem,4vw,3.4rem)}.lesson-hero .course-kicker{display:none}.lesson-hero .course-lede{margin-block:10px}.lesson-hero .concept-tags{margin-block:12px}.lesson-jump{margin-top:4px}.lesson-layout{gap:36px;padding-top:24px}.experiment-heading{padding:16px 24px 8px}.experiment-heading .course-kicker{display:none}.activity-steps{padding-top:12px}@media (width<=800px){.course-directory .course-hero{grid-template-columns:minmax(0,1fr) minmax(250px,.9fr);gap:28px}.course-start{padding:22px}.lesson-layout{grid-template-columns:minmax(0,1fr) 170px;gap:24px}}@media (width<=680px){.course-directory .course-hero{padding:12px 0 24px;display:block}.course-directory .course-hero h1{font-size:clamp(2.5rem,10.5vw,3.6rem)}.course-start{margin-top:26px;padding:22px}.course-start h2{font-size:1.9rem}.course-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.course-directory .module-grid{grid-template-columns:1fr;gap:10px}.course-directory .module-card{min-height:0;padding:18px 20px}.course-directory .module-card h3{margin:12px 0 8px;font-size:1.18rem}.course-directory .module-card p{margin-bottom:14px;font-size:.93rem}.course-directory .module-bottom{font-size:.78rem}.lesson-layout{display:block}.lesson-hero{padding:18px 0}.lesson-hero h1{font-size:2.25rem}.experiment-heading{padding:14px 20px 8px}.course-directory .course-welcome{gap:12px}}@media print{.course-start,.course-paths{display:none}.course-directory .course-hero{padding:0;display:block}.course-directory .course-hero h1{font-size:30pt}.course-directory .module-card{min-height:0}.teacher-routes{break-inside:avoid}}.learning .module-grid .module-card,.learning .course-paths a{text-decoration:none}.learning .module-grid .module-card:hover h3,.learning .course-paths a:hover{text-underline-offset:4px;text-decoration:underline}
