:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5e8e3;background:#101214;font-synthesis:none;font-size:14px;--bg:#101214;--surface:#171a1d;--elevated:#1d2125;--line:#2a2e32;--muted:#9da5a9;--text:#e5e8e3;--green:#b8e89a;--green-dim:#263323;--code:#c5d3c2;--orange:#e5b787;--blue:#a4c9e6;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button{color:inherit}a{color:inherit;text-decoration:none}p{line-height:1.8}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,2.6vw,36px);letter-spacing:-1.1px;font-weight:620;line-height:1.24;margin-bottom:14px}h2{font-size:17px;line-height:1.5;letter-spacing:-.3px}h3{font-size:15px;line-height:1.5}button,summary{touch-action:manipulation}button{border:0;background:none}input[type=search]::-webkit-search-cancel-button{cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--green)}:focus-visible{outline:2px solid var(--green);outline-offset:4px}h1:focus,main:focus{outline:none}svg{flex-shrink:0}pre{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;background:#171b20;border:1px solid var(--line);border-radius:6px;padding:16px 18px;line-height:1.85;font-size:12px;overflow:auto;tab-size:2;color:var(--code)}code{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.9em}p code{color:var(--green);background:#1a201a;padding:2px 4px;border-radius:3px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"+";margin-right:10px;color:var(--green)}details[open]>summary:before{content:"−"}details p{color:var(--muted)}progress{width:100%;height:4px;border:0;background:#30362e;overflow:hidden;appearance:none;border-radius:8px}progress::-webkit-progress-bar{background:#30362e;border-radius:8px}progress::-webkit-progress-value{background:var(--green);border-radius:8px}progress::-moz-progress-bar{background:var(--green);border-radius:8px}.muted{color:var(--muted)}.small{font-size:12px}.success{color:var(--green)!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:-60px;left:16px;padding:12px;background:var(--green);color:#152011}.skip-link:focus{top:12px}.app-shell{min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;left:0;width:260px;display:flex;flex-direction:column;background:#15181a;border-right:1px solid var(--line);z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:27px 24px 25px;flex-shrink:0;font-size:22px;letter-spacing:-.7px;font-weight:650}.brand-symbol{width:35px;height:35px;border:1px solid #475a3d;border-radius:8px;display:grid;place-items:center;background:#263323;color:var(--green)}.brand-dot{color:var(--green)}.brand small{display:block;letter-spacing:0;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}.sidebar-body{overflow-y:auto;flex:1;padding:0 15px 10px;scrollbar-width:thin;scrollbar-color:#353b3c transparent}.path-link{display:flex;align-items:center;gap:9px;padding:11px 10px;font-size:12px;font-weight:550;color:#cad0cb;border-radius:5px}.path-link>svg:last-child{margin-left:auto;color:var(--muted)}.path-link:hover,.sidebar-bottom>a:hover,.path-link.selected{background:#22272a}.lesson-search{display:flex;align-items:center;border:1px solid #303638;border-radius:5px;margin:16px 9px 27px;padding:8px 10px;color:#8c9599;gap:8px}.lesson-search input{min-width:0;width:100%;border:0;outline:none;background:none;font-size:11px;color:var(--text)}.lesson-search:focus-within{border-color:#9dbd8b}.curriculum-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;color:#a1aaa8;padding:0 10px}.curriculum-label>span{font-size:8px;letter-spacing:.6px;color:#8c9695}.nav-module{margin-top:24px}.nav-module-heading{display:flex;align-items:center;gap:11px;margin-bottom:10px;padding:0 10px}.nav-module-heading>span{align-self:flex-start;display:grid;place-items:center;width:24px;height:25px;background:#24292c;border:1px solid #363b3d;border-radius:4px;color:#b3bdb6;font-family:Consolas,monospace;font-size:10px}.nav-module-heading strong{font-size:11px;font-weight:600}.nav-module-heading small{display:block;font-size:9px;color:#8e9898;margin-top:4px}.lesson-link{display:flex;align-items:center;gap:11px;line-height:1.45;min-height:34px;margin:2px 0;padding:8px 11px 8px 20px;font-size:11px;color:#a9b1b2;border-radius:4px;border-left:2px solid transparent}.lesson-link svg{color:#87928b}.lesson-link.current{color:var(--green);background:#252f23;border-color:var(--green)}.lesson-link:hover{background:#22272a;color:#e5e8e3}.current-dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--green);flex-shrink:0}.sidebar-bottom{padding:15px 24px 19px;flex-shrink:0;border-top:1px solid var(--line);background:#15181a}.sidebar-bottom>a{display:flex;gap:9px;align-items:center;font-size:11px;margin-bottom:22px;color:#bec7bf}.sidebar-bottom>a>span{margin-left:auto;color:#8d9792}.sidebar-bottom>a.selected{color:var(--green)}.progress-caption{display:flex;justify-content:space-between;font-size:10px;margin-bottom:6px;color:#afb8b3}.progress-caption strong{color:var(--green);font-weight:500}.sidebar-bottom small{display:block;color:#8c9791;font-size:8px;line-height:1.5;margin-top:9px}.no-lessons{font-size:12px;padding:20px;color:var(--muted)}.main-shell{margin-left:260px}.topbar{height:67px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 36px;gap:12px;background:#121517}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:11px;color:#8c9699;min-width:0}.breadcrumb strong{font-weight:450;color:#c4ccca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar>nav{display:flex;align-self:stretch;gap:25px}.topbar>nav>a{display:flex;align-items:center;gap:7px;border-bottom:2px solid transparent;padding:1px 0 0;font-size:11px;color:#a0aaa9;white-space:nowrap}.topbar>nav>a.active{border-color:var(--green);color:var(--green)}.topbar>nav>a:hover{color:var(--text)}.menu-button{display:none}.main-content{max-width:1560px;margin:auto;padding:38px 38px 0}.lesson-heading{display:flex;justify-content:space-between;gap:24px}.eyebrow{display:flex;gap:12px;align-items:center;color:#9aa59c;font-size:9px;letter-spacing:1.3px;margin-bottom:21px;line-height:1.5}.eyebrow a:hover{color:var(--green)}.module-tag{font:10px Consolas,monospace;color:var(--green);letter-spacing:.8px;border:1px solid #3c4c35;border-radius:4px;background:#202b1e;padding:5px 7px;white-space:nowrap}.duration{display:inline-flex;align-items:center;gap:5px}.page-description{color:#aeb6b7;font-size:13px;max-width:690px;line-height:1.9;margin-bottom:26px}.lesson-number{color:#343d38;font-size:44px;letter-spacing:-2px;padding-top:29px;white-space:nowrap;font-weight:350}.lesson-number>span{font-size:16px;color:#707c73;letter-spacing:-.5px}.lesson-tabs{display:flex;align-items:center;gap:27px;border-bottom:1px solid var(--line);margin:4px 0 29px;min-height:47px}.lesson-tabs>button{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:2px solid transparent;color:#9da9a6;font-size:11px;font-weight:500}.lesson-tabs>button[aria-selected=true],.lesson-tabs>button[aria-pressed=true]{border-color:var(--green);color:var(--green)}.lesson-tabs>span{font-size:10px;color:#839088;margin-left:auto}.lesson-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}.lesson-article{min-width:0}.chapter-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.3px;color:#9ca9a0;margin:3px 0 25px}.concept{margin-bottom:30px}.concept h2{display:flex;gap:10px;align-items:baseline;font-size:15px;font-weight:550;margin-bottom:10px}.concept h2>span{color:#7d9080;font-size:9px;font-family:Consolas,monospace;letter-spacing:.4px}.concept>p{font-size:12px;color:#bac2c2;line-height:1.95;margin-bottom:16px}.concept pre{font-size:10px;padding:13px 15px;line-height:1.95}.takeaway{border-left:2px solid #9bbb87;background:#1a211a;border-radius:0 5px 5px 0;padding:17px 18px;display:flex;gap:12px;margin:26px 0;color:var(--green)}.takeaway strong{font-size:11px;font-weight:550}.takeaway p{font-size:11px;line-height:1.85;margin:5px 0 0;color:#c3d4bc}.takeaway>p{margin:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;padding:11px 15px;font-size:11px;font-weight:550;line-height:1.4}.primary{background:var(--green);color:#1e3016;border-color:var(--green)}.primary:hover:not(:disabled){background:#c9f2b2}.secondary{border-color:#3a4242;background:#22272a;color:#d1d9d2}.secondary:hover:not(:disabled){background:#2c3436;border-color:#64715f}.text-button{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:11px;padding:6px 0;line-height:1.6}.text-button:hover{text-decoration:underline}.practice-cta{margin-top:10px}.sticky-workspace{position:sticky;top:24px;min-width:0}.workspace-caption{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.2px;color:#a6b0aa;margin:2px 0 12px;gap:12px}.workspace-caption>span:first-child{display:flex;gap:7px;align-items:center}.live-badge{display:flex;gap:5px;align-items:center;font-size:9px;letter-spacing:0;color:#abc39d}.live-badge i{width:5px;height:5px;border-radius:50%;background:var(--green)}.editor-frame{border:1px solid #363e40;border-radius:7px;overflow:hidden;background:#171b20;min-width:0}.file-tabs{display:flex;background:#1f2429;border-bottom:1px solid #30373b;height:39px}.file-tabs>button{display:flex;align-items:center;gap:8px;padding:0 13px;font-size:10px;border-right:1px solid #30373b;border-top:1px solid transparent;color:#9fa9ac;min-width:0}.file-tabs>button[aria-selected=true]{background:#171b20;color:#d6ddd7;border-top-color:var(--green);margin-top:-1px}.html-icon{font-size:13px;color:var(--orange);letter-spacing:-3px;padding-right:2px}.css-icon{color:var(--blue);font-size:14px}.file-language{margin-left:auto;align-self:center;font-size:8px;letter-spacing:.7px;color:#8b979a;padding:0 14px}.code-host{height:260px;max-width:100%;overflow:hidden}.cm-editor{max-width:100%}.editor-status{display:flex;align-items:center;justify-content:space-between;font-size:8px;background:#1c2227;border-top:1px solid #2b3338;color:#8e9d9c;padding:6px 12px;gap:10px}.status-separator{margin:0 7px;color:#56665e}.preview-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#1b2023;border-top:1px solid #363e40;border-bottom:1px solid #30373b}.preview-bar>span{display:flex;gap:7px;align-items:center;font-size:10px;color:#ccd3ce}.preview-bar>button{display:flex;align-items:center;gap:5px;font-size:9px;color:#a6b2aa;padding:3px 6px;border:1px solid transparent;border-radius:3px}.preview-bar>button.active{border-color:#59744d;color:var(--green)}.preview-bar>button:hover{background:#2a3429}.preview-area{height:245px;background:#0e1113;overflow:auto;display:flex;justify-content:center}.preview-area iframe{height:100%;width:100%;border:0;background:#15191b;transition:width .2s}.preview-area.narrow iframe{width:320px;max-width:100%;flex-shrink:0;border-left:1px solid #3c4448;border-right:1px solid #3c4448}.workspace-tools{display:flex;align-items:center;gap:14px;padding:10px 13px;border-top:1px solid #30373b;background:#1b2023;min-height:38px}.workspace-tools button{display:flex;align-items:center;gap:5px;font-size:9px;color:#aab5ae;padding:1px 0;white-space:nowrap}.workspace-tools button:hover{color:var(--green)}.tool-spacer{flex:1}.reset-prompt{font-size:9px;display:flex;gap:8px;align-items:center}.reset-prompt>button:first-child{color:var(--orange)}.editor-help{font-size:9px;color:#91a097;line-height:1.8;margin:11px 1px 19px}.step-panel{border:1px solid #303a32;border-radius:6px;background:#171c18;padding:18px}.step-panel>h3{font-size:12px;font-weight:550;margin-bottom:5px}.step-panel>p{font-size:10px;color:#9daf9d;margin-bottom:13px}.step{position:relative;display:flex;gap:12px;align-items:center;cursor:pointer;padding:10px 0;border-top:1px solid #2b352b}.step>input{position:absolute;left:0;width:30px;height:20px;opacity:0;margin:0}.switch-track{width:28px;height:16px;border-radius:20px;background:#3a433b;flex-shrink:0;padding:2px;transition:background .15s}.switch-track:after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#a1ada1;transition:transform .15s}.step>input:checked+.switch-track{background:#8fba76}.step>input:checked+.switch-track:after{transform:translate(12px);background:#14220e}.step>input:focus-visible+.switch-track{outline:2px solid var(--green);outline-offset:3px}.step strong{display:block;font-size:10px;font-weight:500;color:#d5dfd0}.step small{display:block;font-size:9px;color:#a0afa0;line-height:1.6;margin-top:3px}.step-panel>.muted{display:block;font-size:8px;line-height:1.7;margin-top:9px;color:#8c9d8b}.toast:empty{display:none}.toast{margin-top:10px;color:var(--green);font-size:11px;line-height:1.7}.lesson-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:26px 0;margin-top:36px}.lesson-footer>a{display:flex;align-items:center;gap:12px;font-size:11px;color:#c9d4c7;max-width:48%}.lesson-footer>a:last-child{text-align:right}.lesson-footer small{display:block;font-size:8px;letter-spacing:1px;color:#89988c;margin-bottom:6px}.lesson-footer>a:hover{color:var(--green)}.site-footer{margin-top:35px;border-top:1px solid var(--line);padding:22px 0 27px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#91a08f}.site-footer>span>.muted{margin-left:8px;color:#859187}.reference-images{border:1px solid var(--line);border-radius:5px;padding:14px;margin:24px 0}.reference-images>summary{font-size:10px;line-height:1.7}.reference-images>summary>span{float:right}.reference-images>p{font-size:10px;margin:14px 0}.reference-images figure{margin:14px 0 0}.reference-images img{width:100%;display:block;border-radius:3px}.reference-images figcaption{color:var(--muted);font-size:9px;line-height:1.7;margin-top:8px}.challenge-title{font-size:22px;line-height:1.4;margin-top:0;margin-bottom:14px;letter-spacing:-.5px}.challenge-prompt{font-size:13px;color:#c6ceca;line-height:1.95}.practice-note{border:1px solid #354033;background:#1b211a;padding:15px;border-radius:5px;font-size:11px;line-height:1.85;color:#b2c1aa;margin:22px 0}.practice-note p{margin:6px 0 0}.milestones{display:grid;gap:12px;font-size:11px;color:#95a08f;margin:27px 0}.milestones>div{display:flex;align-items:center;gap:8px}.quiz{margin-top:30px;border:1px solid var(--line);padding:20px;border-radius:6px;background:#161a1c}.section-eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.8px;color:#94a58f;margin-bottom:19px;gap:10px}.section-eyebrow>span:first-child{display:flex;align-items:center;gap:6px}.section-eyebrow>span:last-child{font-size:7px;white-space:nowrap}.quiz>h3{font-size:13px;line-height:1.8;font-weight:500;margin-bottom:14px}.quiz fieldset{border:0;margin:0 0 15px;padding:0;min-width:0}.quiz-choice{border:1px solid #343d3f;border-radius:4px;display:flex;align-items:center;gap:10px;padding:10px;font-size:10px;line-height:1.65;margin:8px 0;cursor:pointer;position:relative;color:#bbc8c3}.quiz-choice>input{width:12px;height:12px;margin:0;flex-shrink:0}.answer-letter{font-size:9px;color:#8e9e92}.quiz-choice:has(input:checked){border-color:#9db98b;background:#253021}.quiz-choice.correct{border-color:#9db98b;background:#253021}.quiz-choice.incorrect{border-color:#c28b7e;background:#342321}.quiz-choice svg{margin-left:auto;color:var(--green)}.quiz-feedback>strong{font-size:12px;color:var(--green)}.quiz-feedback>p{color:#b3c1b3;font-size:11px;line-height:1.85;margin:8px 0}.quiz .secondary{font-size:10px}.completion-panel{margin-top:26px;border-top:1px solid var(--line);padding-top:25px}.completion-panel>h3{font-weight:550;margin-bottom:8px}.completion-panel>p{font-size:11px;color:var(--muted);line-height:1.85}.next-after-complete{display:flex;margin-top:12px}.code-checks{margin-top:18px}.code-checks>.muted{font-size:9px;margin-left:10px}.check-results{margin-top:16px;border:1px solid var(--line);padding:14px;background:#171c18;border-radius:5px}.check-results>p{font-size:11px;margin:0 0 12px}.check-row{display:flex;gap:10px;padding:8px 0;font-size:10px;color:#b5bfb1;border-top:1px solid #2e382c;line-height:1.7}.check-row>span{color:var(--orange)}.check-row.passed>span{color:var(--green)}.check-row strong{font-weight:400}.check-row small{display:block;font-size:9px;color:#b5a58e;overflow-wrap:anywhere}.hint,.solution{border:1px solid var(--line);padding:13px 15px;font-size:11px;border-radius:5px;margin-top:15px}.hint>summary,.solution>summary{display:flex;gap:8px;align-items:center;line-height:1.6}.hint>summary:before,.solution>summary:before{display:none}.hint>summary>svg:last-child,.solution>summary>svg:last-child{margin-left:auto}.hint[open]>summary>svg:last-child,.solution[open]>summary>svg:last-child{transform:rotate(180deg)}.hint p,.solution p{font-size:11px;margin:13px 0 0;line-height:1.85}.solution>details{margin-top:16px}.solution pre{max-height:300px;font-size:10px}.solution>.secondary{margin-top:16px}.path-intro{display:flex;justify-content:space-between;align-items:center;gap:35px;border:1px solid #3b4934;background:#1b241a;border-radius:7px;padding:28px;margin-top:30px}.path-intro h2{font-size:23px;margin:10px 0}.path-intro p{color:#b1bdae;font-size:12px;max-width:550px}.path-stat{min-width:180px;display:flex;flex-direction:column;gap:12px;color:#9fb295;font-size:11px}.path-stat>strong{font-size:45px;font-weight:400;color:var(--green)}.path-stat>strong>span{font-size:22px;color:#91a184}.path-stat progress{margin-top:8px}.path-how{display:flex;gap:24px;margin:25px 0 38px;padding:16px 0;border-bottom:1px solid var(--line);color:#afbbae;font-size:11px;flex-wrap:wrap}.path-how b{color:var(--green);font-family:Consolas,monospace;font-size:9px;margin-right:8px}.path-module,.lab-group{margin-top:35px}.group-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.group-heading>h2{margin:0;font-size:18px}.group-heading>span:last-child{margin-left:auto;color:#92a18c;font-size:10px}.path-module>p{font-size:12px}.path-row,.task-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:16px 12px;font-size:12px;transition:background .15s}.path-row:hover,.task-row:hover{background:#1b211c}.path-row strong{font-weight:450}.path-row small{margin-left:auto;font-size:10px;color:#8d9d88}.path-row>svg{color:#9cae95}.path-ending{display:flex;align-items:center;gap:20px;margin-top:35px;padding:25px;background:#192018;border:1px solid #35452e;border-radius:6px;color:var(--green)}.path-ending h2{font-size:16px;color:var(--text);margin:0 0 5px}.path-ending p{font-size:11px;color:#adbea6;margin:0}.path-ending>.secondary{flex-shrink:0}.notice-box{display:flex;gap:15px;align-items:center;background:#192018;border:1px solid #35452e;border-radius:6px;padding:20px;color:var(--green);margin:30px 0}.notice-box>p{font-size:11px;color:#b9c8b1;line-height:1.9;margin:0}.task-row>.row-number{color:#9dbd8d;font-family:Consolas,monospace;font-size:11px}.task-row>div{flex:1}.task-row strong{display:block;font-size:12px;font-weight:500}.task-row small{display:block;color:#889889;font-size:10px;margin-top:5px}.task-row>span:nth-last-child(2){font-size:10px}.task-row>svg{color:#95a58e}.requirements label{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:15px 0;color:#bbc6b8;font-size:12px;line-height:1.9;cursor:pointer}.requirements input{margin:5px 0 0;width:14px;height:14px;flex-shrink:0}.requirements label:has(input:checked){color:#879a7e}.checklist-progress{display:flex;justify-content:space-between;gap:16px;font-size:10px;padding:16px 0;color:#9bac92}.lab-tips{border-top:1px solid var(--line);margin:20px 0;padding-top:20px}.lab-tips h3{font-size:13px}.lab-tips p{font-size:11px;color:#a9b9a2}.lab-layout{margin-top:30px}.original-download{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--green);margin:22px 0}.reference-search{display:flex;align-items:center;gap:12px;border:1px solid #3a4438;background:#181e18;max-width:600px;padding:13px 16px;border-radius:5px;margin:30px 0;color:#9ab78a}.reference-search>input{border:0;outline:none;background:none;width:100%;color:var(--text);font-size:12px;min-width:0}.reference-search:focus-within{border-color:var(--green)}.reference-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px}.reference-section{margin-bottom:45px}.reference-section>h2{margin-bottom:20px}.glossary{margin:0}.glossary>div{border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:20px}.glossary dt{font-size:12px;color:#c8d8c0;line-height:1.8}.glossary dd{margin:0;font-size:11px;line-height:1.9;color:#acbca6}.table-scroll{overflow:auto}.property-table{border-collapse:collapse;width:100%;font-size:10px;text-align:left}.property-table th,.property-table td{border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top;line-height:1.8}.property-table thead th{font-weight:500;color:#91ab83;white-space:nowrap}.property-table tbody th{font-weight:450;color:#c6d6be}.property-table td{color:#a7b5a1}.property-table code{font-size:10px;color:#c0d6b4;white-space:nowrap}.reference-aside{position:sticky;top:24px}.reference-aside>section{padding:20px;background:#181e18;border:1px solid #303d2d;border-radius:6px;margin-bottom:22px}.reference-aside h2{font-size:12px}.reference-aside p,.reference-aside small{display:block;font-size:10px;color:#9aaf91;line-height:1.85}.reference-aside a{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;padding:10px 0;border-top:1px solid #303d2d;color:#becfb5;overflow-wrap:anywhere}.reference-aside a:hover{color:var(--green)}.reference-aside .secondary{font-size:9px;margin-bottom:12px}.emmet-row{border-top:1px solid var(--line);padding:16px 0;display:flex;flex-direction:column;gap:9px}.emmet-row code{font-size:11px;color:#c4d9b6;overflow-wrap:anywhere}.emmet-row span{color:#9baf92;font-size:11px}.shuffle-challenge{display:flex;margin:18px 0 25px}.sidebar-scrim{display:none}@media(min-width:1650px){:root{font-size:16px}.concept>p{font-size:14px}.concept h2{font-size:17px}.concept pre{font-size:12px}.page-description{font-size:15px}.main-content{padding-top:46px}.lesson-layout{gap:55px}.lesson-link{font-size:12px}.code-host{height:300px}.preview-area{height:280px}.editor-help,.step small{font-size:11px}.step strong{font-size:12px}.chapter-label,.workspace-caption{font-size:11px}.file-tabs>button{font-size:12px}.file-tabs{height:43px}.sidebar{width:280px}.main-shell{margin-left:280px}.takeaway p,.takeaway strong{font-size:12px}.sidebar-bottom small{font-size:10px}}@media(max-width:1200px){.sidebar{width:230px}.main-shell{margin-left:230px}.main-content{padding:30px 26px 0}.topbar{padding:0 26px}.lesson-layout{gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lesson-number{display:none}.lesson-tabs>span{display:none}.reference-layout{grid-template-columns:minmax(0,1fr) 210px;gap:25px}.breadcrumb>span{display:none}.breadcrumb>svg{display:none}.path-ending{flex-wrap:wrap}.brand{padding-left:20px}.sidebar-body{padding-left:10px;padding-right:10px}}@media(max-width:1000px){.lesson-layout{grid-template-columns:1fr;gap:30px}.sticky-workspace{position:static}.lesson-article{max-width:100%}.concept>p{font-size:14px}.concept h2{font-size:17px}.concept pre{font-size:12px}.chapter-label{font-size:10px}.code-host{height:300px}.preview-area{height:280px}.editor-help{font-size:11px}.step strong{font-size:12px}.step small{font-size:11px}.workspace-caption{font-size:10px}.file-tabs>button{font-size:12px}.editor-status{font-size:9px}.workspace-tools button{font-size:11px}.preview-bar>span{font-size:12px}.preview-bar>button{font-size:11px}.main-content{padding:30px 30px 0}.lesson-tabs>button{font-size:12px}.page-description{font-size:14px}.takeaway p,.takeaway strong{font-size:12px}.reference-layout{grid-template-columns:1fr}.reference-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}.reference-aside>section{margin:0}.path-intro{padding:23px}.path-stat{min-width:125px}.requirements label{font-size:13px}.challenge-prompt{font-size:14px}.quiz-choice{font-size:12px}.quiz>h3{font-size:15px}.quiz-feedback>p{font-size:13px}.lesson-footer>a{font-size:12px}.workbench{max-width:100%}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .2s;width:270px}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;inset:0;background:#0009;z-index:9}.sidebar.open .lesson-link{font-size:12px}.sidebar.open .brand{font-size:23px}.main-shell{margin-left:0}.menu-button{display:flex;padding:5px;margin-left:-5px;color:#bdcdb5}.topbar{height:60px;padding:0 22px}.topbar>nav{gap:18px}.topbar>nav>a{font-size:11px}.breadcrumb{gap:8px}.breadcrumb strong{font-size:11px}.main-content{padding:30px 24px 0}.eyebrow{font-size:8px;gap:8px;letter-spacing:1px}.lesson-tabs{margin-bottom:25px}.path-how{flex-direction:column;gap:16px}.path-intro{align-items:stretch}.path-stat{min-width:100px;justify-content:center}.path-stat>strong{font-size:35px}.group-heading>span:last-child{font-size:9px}.group-heading>h2{font-size:16px}.site-footer{font-size:9px}.path-row{gap:10px}.reference-aside{grid-template-columns:1fr 1fr}.duration{font-size:8px}.glossary dt{font-size:13px}.glossary dd{font-size:12px}}@media(max-width:450px){.topbar{padding:0 16px;gap:4px}.breadcrumb>strong{display:none}.topbar>nav{gap:18px}.topbar>nav>a{font-size:10px}.topbar>nav>a>svg{display:none}.main-content{padding:26px 18px 0}.lesson-tabs{gap:25px}.lesson-tabs>button{font-size:11px}h1{font-size:28px}.page-description{font-size:13px}.eyebrow{flex-wrap:wrap;margin-bottom:15px}.concept h2{font-size:16px;gap:8px}.concept>p{font-size:13px}.concept pre{font-size:11px}.code-host{height:270px}.file-tabs>button{padding:0 9px;font-size:10px;gap:5px}.file-language{display:none}.workspace-tools{gap:10px;padding:10px}.workspace-tools button{font-size:9px}.editor-status{font-size:8px;gap:5px}.workspace-caption{font-size:9px}.live-badge{font-size:8px}.step-panel{padding:15px}.step small{font-size:10px}.reference-aside{grid-template-columns:1fr}.glossary>div{grid-template-columns:1fr;gap:6px}.path-intro{flex-direction:column;padding:20px;gap:25px}.path-stat{border-top:1px solid #35452e;padding-top:15px;gap:8px}.path-stat>strong{font-size:30px}.path-stat progress{margin-top:3px}.path-row strong{font-size:11px;line-height:1.7}.path-row small{font-size:9px;white-space:nowrap}.path-row{padding:13px 6px}.path-row>svg{display:none}.group-heading{gap:8px;flex-wrap:wrap}.group-heading>span:last-child{font-size:8px}.task-row{padding:14px 5px;gap:10px}.task-row strong{font-size:11px}.task-row small{font-size:9px}.notice-box{align-items:flex-start;padding:15px}.site-footer{flex-direction:column;gap:8px}.lesson-footer{gap:15px}.lesson-footer>a{font-size:10px;gap:8px;line-height:1.7}.lesson-footer small{font-size:7px;letter-spacing:.8px}.lesson-footer>a>svg{width:13px}.path-ending{padding:20px}.reference-images{padding:12px}.quiz{padding:15px}.quiz-choice{font-size:11px}.code-checks>.muted{display:block;margin:10px 0 0}.reset-prompt{flex-wrap:wrap;max-width:110px;font-size:8px}.reset-prompt>button{font-size:8px}.preview-area.narrow iframe{width:320px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}:root{font-size:16px;--muted:#a6aaa7;--green:#bbd9a7;--bg:#141615;--surface:#1b1e1c;--line:#303531;color:#e6e9e4;background:var(--bg)}body{background:var(--bg)}h1{font-size:30px;letter-spacing:-.7px;font-weight:550;line-height:1.35;margin-bottom:24px}h2{font-size:20px;letter-spacing:-.3px;font-weight:500}p{line-height:1.9}.calm-header{height:78px;max-width:1250px;margin:auto;padding:0 40px;display:flex;gap:38px;align-items:center;border-bottom:1px solid var(--line)}.calm-brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:600;letter-spacing:-.6px;white-space:nowrap}.calm-brand>svg,.calm-brand>span{color:var(--green)}.calm-brand>span{margin-left:-9px}.calm-header>nav{display:flex;gap:24px;font-size:13px;color:#b5beb3}.calm-header>nav>a,.calm-header>nav>button{padding:10px 0;font-size:13px;color:inherit}.calm-header>nav>a:hover,.calm-header>nav>button:hover,.calm-header>nav>a[aria-current]{color:var(--green)}.quiet-progress{font-size:11px;color:#8e9d8c;margin-left:auto;white-space:nowrap}.calm-content{max-width:1100px;padding:52px 40px 70px;margin:auto}.lesson-view{max-width:1060px;padding-top:38px}.guided-lesson{max-width:680px;margin:auto}.guided-lesson.has-workspace{max-width:960px}.lesson-context{display:flex;gap:10px;font-size:11px;color:#929e8d;margin-bottom:28px;line-height:1.8}.lesson-context>span:first-child{color:#b6c9aa}.step-progress{display:flex;align-items:center;gap:24px;margin-bottom:42px;font-size:11px;color:#99aa92}.step-progress>span{white-space:nowrap}.step-progress>progress{height:3px;max-width:140px;background:#333e2d}.single-idea{min-height:190px}.single-idea>p{font-size:18px;line-height:1.95;color:#cbd3c6;margin-bottom:26px}.single-idea pre{font-size:14px;line-height:1.9;padding:22px;background:#1a1e1b;border:1px solid #303b2d;white-space:pre-wrap;overflow-wrap:anywhere}.remember{display:flex;gap:13px;border-left:2px solid #718b5b;padding:0 0 0 18px;margin-top:35px;color:var(--green)}.remember>p{font-size:14px;line-height:1.9;color:#b0c3a3;margin:0}.remember>svg{margin-top:5px}.editor-loading{padding:22px;color:#a5b59b;font-size:13px}.source-panels{max-width:680px}.source-panels h2{font-size:18px;margin-bottom:18px}.source-panels a{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:13px 0;border-bottom:1px solid var(--line);color:#bbd2ae;gap:15px;overflow-wrap:anywhere}.source-panels details{margin-top:30px;border-top:1px solid var(--line);padding-top:23px;font-size:14px}.source-panels details p{font-size:13px;color:#aabda0}.source-panels details .text-button{display:flex}.reset-progress{margin-top:20px;padding:18px;border:1px solid #4d5b41;border-radius:5px}.reset-progress>.text-button{margin-top:10px}.reference-page{max-width:900px;margin:auto}.reference-section .muted{font-size:14px}.reference-page .reference-search{max-width:none}.quiz>h2{font-size:21px;line-height:1.7;font-weight:450;margin-bottom:23px}.course-drawer:not([open]){display:none}.course-drawer:not([open]) *:before{content:none}.course-drawer:not([open]) *:after{content:none}.primary,.secondary{font-size:13px;padding:12px 17px;border-radius:5px;font-weight:500}.primary{background:var(--green);border-color:var(--green);color:#23301c}.primary:hover:not(:disabled){background:#cbe8b8}.secondary{background:#252c22;border-color:#414f39;color:#c5d5ba}.text-button{font-size:13px}.step-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:44px;padding-top:25px;border-top:1px solid var(--line)}.back-step{display:flex;align-items:center;gap:7px;font-size:12px;color:#aebaa6;padding:10px 0}.back-step:disabled{visibility:hidden}.step-navigation>div{text-align:right}.step-navigation small{font-size:11px;color:#9baa93;display:block;margin-bottom:10px}.lesson-escape{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8;color:#83957a;margin-top:55px}.lesson-escape>a{color:#aebca4}.lesson-escape>a:hover{color:var(--green)}.step-intro{max-width:720px;margin-bottom:24px}.step-intro>h1{margin-bottom:14px}.step-intro>p,.gentle-intro{font-size:16px;color:#b7c3b0;line-height:1.9}.step-intro h2{margin-bottom:12px}.gentle-intro{margin-bottom:30px}.lesson-done{padding-top:6px}.done-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#293523;color:var(--green);margin-bottom:24px}.lesson-done>p{font-size:17px;color:#bfceb6;line-height:1.9;margin-bottom:28px}.lesson-done .next-up{font-size:12px;color:#91a386;margin:20px 0 0}.reading-width{max-width:680px;margin:auto}.course-drawer{width:430px;max-width:90vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:28px;background:#191d19;color:var(--text);border:0;border-left:1px solid #374131;overflow-y:auto}.course-drawer::backdrop{background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.drawer-heading>h2{margin:0;font-size:23px}.drawer-heading>button{padding:8px;color:#b7c9aa}.drawer-links{display:flex;gap:20px;font-size:12px;color:#b2cba3;margin-top:24px}.course-drawer .lesson-search{margin:25px 0;padding:11px 12px;background:#1b2218;border-color:#3a4733}.lesson-search input{font-size:13px}.drawer-module{border-top:1px solid #374131;padding:18px 0}.drawer-module>summary{font-size:14px;color:#d1dfc6;line-height:1.7}.drawer-module>summary:before{color:#839d71}.drawer-module>a{display:flex;align-items:center;gap:12px;margin-top:4px;padding:11px 7px 11px 17px;font-size:12px;color:#b4c5a9;line-height:1.7;border-radius:4px}.drawer-module>a:first-of-type{margin-top:14px}.drawer-module>a:hover,.drawer-module>a[aria-current]{background:#2a3525;color:var(--green)}.nav-dot{width:5px;height:5px;border-radius:50%;background:#718567;flex-shrink:0}.drawer-footer{font-size:10px;color:#8fa280;border-top:1px solid #374131;padding-top:22px}.resume-card{padding:25px 0 30px;border-bottom:1px solid var(--line);margin:12px 0 38px}.resume-card>h2{margin:12px 0 22px}.course-list-title{font-size:14px;color:#a9bea0;margin-bottom:20px}.course-module{border-top:1px solid var(--line)}.course-module:last-of-type{border-bottom:1px solid var(--line)}.course-module>summary{display:flex;align-items:center;gap:20px;padding:24px 0;line-height:1.8}.course-module>summary:before{display:none}.course-module>summary>span:first-child{font-size:12px;color:#8fa180;font-family:Consolas,monospace}.course-module strong{font-size:16px;font-weight:450}.course-module small{font-size:12px;display:block;color:#95a78a;margin-top:4px}.module-plus{margin-left:auto;color:#95b182;font-size:22px}.course-module[open] .module-plus{transform:rotate(45deg)}.path-row{font-size:13px;padding:17px 8px;line-height:1.7;border:0;border-top:1px solid #2b3527;color:#bfd0b4}.path-row>svg:last-child{margin-left:auto;display:block}.course-extra{margin-top:38px;border-top:1px solid var(--line);padding-top:24px;font-size:13px}.course-extra>p{color:#91a386;margin:0 0 7px}.course-extra>a{display:flex;align-items:center;gap:8px;color:var(--green)}.simple-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:25px 0 30px;overflow-x:auto}.simple-tabs>button{font-size:13px;white-space:nowrap;color:#96a88c;padding:12px 0;border-bottom:2px solid transparent}.simple-tabs>button[aria-pressed=true]{color:var(--green);border-color:var(--green)}.quiz{border:0;background:none;padding:0;margin-top:26px}.section-eyebrow{display:none}.quiz>h3{font-size:21px;line-height:1.7;font-weight:450;margin-bottom:23px}.quiz-choice{padding:15px;font-size:14px;line-height:1.8;margin:12px 0;border-color:#3b4833;color:#c8d8bc;border-radius:5px;background:#1a2018;gap:14px}.quiz-choice input{width:15px;height:15px}.answer-letter{font-size:11px}.quiz-feedback{margin-top:24px}.quiz-feedback>strong{font-size:15px;font-weight:500}.quiz-feedback>p{font-size:15px;line-height:1.9;margin:9px 0 16px}.quiz .secondary{font-size:13px;margin-top:10px}.quiz-choice.correct{border-color:#9db98b}.quiz-choice.incorrect{border-color:#b87e72}.workspace-caption{display:none}.editor-frame{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #3c4836;border-radius:6px}.code-panel,.result-panel{min-width:0}.result-panel{border-left:1px solid #3c4836}.file-tabs{height:43px}.file-tabs>button{font-size:12px}.code-host{height:235px}.editor-status{height:23px;font-size:9px}.preview-bar{height:43px;padding:8px 13px;border-top:0}.preview-bar>span{font-size:12px}.preview-bar>button{font-size:10px}.preview-area{height:258px}.workspace-tools{grid-column:1/-1;padding:10px 13px;min-height:40px;overflow:visible;font-size:10px}.workspace-tools button{font-size:10px}.workspace-options{position:relative;font-size:10px;color:#a9b9a0}.workspace-options>summary:before{display:none}.workspace-options>summary{padding:3px 0}.workspace-options>div{position:absolute;top:24px;right:0;z-index:2;display:grid;gap:12px;min-width:150px;background:#252e21;border:1px solid #4e5e44;padding:15px;border-radius:5px;box-shadow:0 5px 20px #0004}.workspace-options button{color:#d5e4cb;padding:3px 0}.editor-help{font-size:10px;color:#91a084;margin:12px 0 22px}.step-panel{padding:0;background:none;border:0;margin-top:25px}.step-panel>h2{font-size:14px;font-weight:500;margin-bottom:15px}.step{padding:13px 0;border-color:#303a2b;gap:16px}.step strong{font-size:13px;font-weight:450}.step small{font-size:11px;color:#95aa89;margin-top:4px}.switch-track{width:30px;height:18px}.switch-track:after{width:14px;height:14px}.step>input:checked+.switch-track:after{transform:translate(12px)}.hint,.solution{padding:14px 0;border:0;border-bottom:1px solid var(--line);font-size:13px;border-radius:0;margin:0}.hint p,.solution p{font-size:13px;line-height:1.9;margin:14px 0}.solution pre{font-size:12px}.code-checks{margin-top:24px}.check-button{font-size:13px}.code-checks>.muted{font-size:10px}.check-results{padding:18px;margin-top:18px;background:#1b2418}.check-results>p{font-size:13px}.check-row{font-size:12px;padding:9px 0}.check-row small{font-size:11px}.toast{font-size:12px}.reference-images{font-size:12px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:16px 0}.reference-images>summary{font-size:12px}.reference-images>p{font-size:12px}.reference-images figcaption{font-size:11px}.reset-prompt{font-size:10px}.lesson-layout{display:block}.sticky-workspace{position:static;margin-top:32px}.lab-layout .lesson-article{max-width:700px}.lab-layout .chapter-label{font-size:11px}.lab-layout .requirements label{font-size:14px;padding:17px 0}.lab-layout .muted{font-size:13px}.lab-tips{margin-top:25px}.lab-tips h3{font-size:15px}.lab-tips p,.practice-note{font-size:13px}.page-description{font-size:15px}.task-row{padding:19px 10px}.task-row strong{font-size:14px}.task-row small{font-size:11px}.group-heading>h2{font-size:18px}.notice-box>p{font-size:13px}.notice-box{background:#1c2419}.reference-layout{grid-template-columns:minmax(0,1fr) 240px;gap:35px}.reference-search>input{font-size:14px}.glossary dt{font-size:14px}.glossary dd{font-size:13px}.reference-section h2{font-size:20px}.reference-aside h2{font-size:14px}.reference-aside p,.reference-aside small,.reference-aside a{font-size:11px}.reference-aside .secondary{font-size:10px}.property-table{font-size:12px}.property-table code{font-size:11px}.emmet-row code,.emmet-row span{font-size:13px}.table-scroll{margin-top:16px}.checklist-progress{font-size:12px}.takeaway p,.takeaway strong,.original-download{font-size:13px}@media(max-width:800px){.calm-header{padding:0 24px;height:67px;gap:28px}.calm-content{padding:36px 26px 60px}.lesson-view{padding-top:28px}.quiet-progress{display:none}.calm-header>nav{margin-left:auto;gap:22px}.lesson-context{margin-bottom:23px}.step-progress{margin-bottom:32px}.single-idea>p{font-size:17px}.reference-layout{grid-template-columns:1fr}.reference-aside{position:static;grid-template-columns:1fr 1fr;display:grid;gap:20px}.lesson-escape{font-size:10px}.preview-area{height:258px}.code-host{height:235px}}@media(max-width:580px){.calm-header{padding:0 20px;gap:15px}.calm-brand{font-size:17px;gap:7px}.calm-brand>svg{width:18px}.calm-header>nav{gap:17px}.calm-header>nav>a,.calm-header>nav>button{font-size:11px}.calm-header>nav>a:last-child{display:none}.calm-content{padding:28px 22px 50px}h1{font-size:27px;margin-bottom:21px}.single-idea>p{font-size:16px;line-height:1.95}.lesson-context{font-size:10px;flex-wrap:wrap;gap:7px;line-height:1.7}.step-progress{margin-bottom:33px;font-size:10px}.single-idea pre{font-size:12px;padding:18px;line-height:1.85}.single-idea{min-height:unset}.step-navigation{margin-top:33px;gap:15px}.step-navigation .primary{font-size:12px;padding:12px 14px}.back-step{font-size:11px}.lesson-escape{margin-top:42px;flex-direction:column;gap:8px;font-size:11px}.step-intro>p,.gentle-intro{font-size:15px}.editor-frame{display:block}.result-panel{border-left:0;border-top:1px solid #3c4836}.code-host{height:190px}.preview-area{height:210px}.file-tabs>button{font-size:11px;padding:0 11px}.editor-status{font-size:8px}.preview-bar>span{font-size:11px}.editor-help{font-size:10px}.quiz>h3{font-size:19px}.quiz-choice{font-size:13px;padding:13px;gap:11px}.quiz-feedback>p{font-size:14px}.quiz-feedback>strong{font-size:14px}.quiz .secondary{font-size:12px}.simple-tabs{gap:20px}.simple-tabs>button{font-size:12px}.course-module small{font-size:11px}.course-module strong{font-size:15px}.course-module>summary{gap:15px}.resume-card h2{font-size:20px}.path-row{font-size:12px;gap:12px}.reference-aside{grid-template-columns:1fr}.reference-section h2{font-size:19px}.glossary>div{grid-template-columns:1fr;gap:7px}.task-row strong{font-size:12px}.task-row small{font-size:10px}.lab-layout .requirements label{font-size:13px}.notice-box>p{font-size:12px}.group-heading>h2{font-size:16px}.calm-content>.eyebrow{font-size:9px}.lesson-done>p{font-size:16px}.code-checks>.muted{margin-left:0;display:block;margin-top:10px}.switch-track{flex-shrink:0}.check-results>p{font-size:12px}.check-row{font-size:11px}.check-row small{font-size:10px}.step small{font-size:11px}.step strong{font-size:12px}.editor-help{font-size:0}.editor-help:after{content:"Edit the code above. See the result below.";font-size:10px}.course-drawer{padding:25px 22px}.course-drawer>nav{margin-top:20px}.course-drawer .drawer-links{font-size:12px;gap:18px}}
