.course-workspace-body{padding:0;overflow:hidden}.course-shell{--cw-bg:#090b0a;--cw-panel:#111513;--cw-line:#29312b;--cw-ink:#eeefeb;--cw-muted:#a0aaa2;--cw-blue:#c0d2ac;--cw-green:#99c296;--cw-editor:#0d100f;height:100dvh;overflow:hidden;background:var(--cw-bg);color:var(--cw-ink);font:14px/1.5 var(--font)}.course-shell button,.course-shell select,.course-shell textarea{font:inherit;color:inherit}.course-shell button{border:0;background:none;cursor:pointer}.course-shell button:disabled{cursor:not-allowed;opacity:.55}.course-shell :is(button,a,summary,select,textarea):focus-visible{outline:2px solid var(--cw-blue);outline-offset:-2px}.course-shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-header{height:42px;display:flex;align-items:center;gap:24px;padding:0 12px;border-bottom:1px solid var(--cw-line);background:var(--cw-panel)}.header-left{display:flex;gap:8px;align-items:center}.icon-button{width:30px;height:30px;display:grid;place-items:center;border-radius:4px;color:#b1bac4}.icon-button:hover{background:#ffffff0b;color:#fff}.panel-icon{display:block;width:17px;height:15px;border:1.5px solid currentColor;border-radius:2px;position:relative}.panel-icon:before{content:"";position:absolute;left:4px;top:0;bottom:0;border-left:1px solid currentColor}.workspace-wordmark{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--cw-ink)}.workspace-wordmark .door{display:none}.top-progress{display:flex;align-items:center;gap:12px;flex:1;max-width:390px;margin:0 auto;color:#b1bac4;font-size:12px}.top-progress-track{height:4px;background:var(--cw-line);border-radius:3px;flex:1;overflow:hidden}.top-progress-fill{height:100%;background:var(--cw-green)}.progress-count{white-space:nowrap;color:var(--cw-muted);font-size:11px}.back-link{margin-left:auto;font-size:12px;color:var(--cw-muted)}.back-link span{margin-left:6px}.course-frame{display:grid;grid-template-columns:minmax(0,1fr);height:calc(100dvh - 42px);min-height:0}.lesson-toolbar{height:56px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 20px;background:#111412;border-bottom:1px solid var(--cw-line)}.lesson-toolbar-count{margin-right:auto;color:var(--cw-ink);font-size:13px;white-space:nowrap}.lesson-toolbar-count span{margin-left:4px;color:var(--cw-muted)}.lesson-toolbar label{min-width:0;max-width:32%}.lesson-toolbar select{min-width:0;width:100%;height:36px;padding:0 32px 0 12px;border:1px solid var(--cw-line);border-radius:7px;background:#090b0a;color:var(--cw-ink);text-overflow:ellipsis;font-size:12px}.course-frame{height:calc(100dvh - 98px)}.course-sidebar{display:none;flex-direction:column;min-height:0;overflow-y:auto;border-right:1px solid var(--cw-line);background:var(--cw-panel)}.sidebar-open .course-frame{grid-template-columns:220px minmax(0,1fr)}.sidebar-open .course-sidebar{display:flex}.sidebar-heading{padding:20px 18px 16px;border-bottom:1px solid #ffffff0b}.season{font-size:12px;color:var(--cw-muted)}.sidebar-heading h1{margin:5px 0 8px;font-size:22px;line-height:1.3}.sidebar-heading p{color:var(--cw-muted);font-size:12px}.lesson-navigation{padding:14px 8px}.nav-label{padding:0 10px 10px;color:var(--cw-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.lesson-navigation details{border-top:1px solid #30363d99}.lesson-navigation summary{min-height:45px;padding:11px 10px;cursor:pointer;list-style:none;color:#c9d1d9;font-size:12px;font-weight:600;line-height:1.4}.lesson-navigation summary::-webkit-details-marker{display:none}.lesson-navigation summary span{display:block;margin-bottom:3px;color:var(--cw-blue);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.course-lesson{display:flex;align-items:flex-start;gap:9px;padding:10px;border-radius:5px;color:#b1bac4;font-size:12px;line-height:1.35}.course-lesson:hover{background:#ffffff08;color:#fff}.course-lesson.selected{background:#388bfd1a;box-shadow:inset 2px 0 var(--cw-blue);color:#fff}.lesson-state{flex:0 0 20px;color:#7d8590;font:10px/18px ui-monospace,SFMono-Regular,Consolas,monospace}.course-lesson.selected .lesson-state{color:var(--cw-blue)}.lesson-state.complete{color:#3fb950;font-size:13px;font-weight:700}.course-lesson small{display:block;margin-top:3px;color:var(--cw-muted);font-size:10px;text-transform:capitalize}.sidebar-footer{margin-top:auto;padding:13px 18px;border-top:1px solid var(--cw-line);font-size:12px;color:var(--cw-muted)}.learning-area{display:grid;grid-template-columns:minmax(290px,1fr) minmax(420px,1fr);min-width:0;min-height:0}.learning-area.quiz-mode,.workspace-focused .learning-area{grid-template-columns:minmax(0,1fr)}.workspace-focused .instructions-pane{display:none}.instructions-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--cw-line);background:var(--cw-bg)}.quiz-mode .instructions-pane{border-right:0}.pane-header{height:40px;flex:0 0 40px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--cw-line);background:var(--cw-panel);color:#d9e0e7;font-size:12px}.lesson-kind{color:var(--cw-muted);text-transform:capitalize}.instruction-scroll{flex:1;min-height:0;overflow:auto}.lesson-copy{max-width:760px;padding:30px 26px 48px}.lesson-position{margin-bottom:13px;color:var(--cw-muted);font-size:12px}.lesson-copy>h2{max-width:560px;margin:0 0 28px;font-size:27px;line-height:1.25;letter-spacing:-.03em}.practice-intro{margin:22px 0 28px;padding:14px 16px;border:1px solid var(--cw-line);border-radius:12px;background:var(--cw-panel);color:var(--cw-muted);font-size:13px;line-height:1.6}.lesson-review,.instruction-disclosure{margin:18px 0;border:1px solid var(--cw-line);border-radius:5px;background:var(--cw-panel)}.lesson-review>summary,.instruction-disclosure>summary{min-height:46px;padding:13px 15px;cursor:pointer;font-weight:600;list-style:none}.lesson-review>summary::-webkit-details-marker,.instruction-disclosure>summary::-webkit-details-marker{display:none}.lesson-review>summary:after,.instruction-disclosure>summary:after{content:"+";float:right;color:var(--cw-muted)}.lesson-review[open]>summary:after,.instruction-disclosure[open]>summary:after{content:"−"}.lesson-review>.course-markdown,.instruction-disclosure>.course-markdown{padding:0 15px 10px}.instruction-section{margin:27px 0}.instruction-section>h3{margin:0 0 10px;font-size:15px}.course-markdown{color:#c9d1d9;line-height:1.7;overflow-wrap:anywhere}.course-markdown p{margin:0 0 13px}.course-markdown h4{margin:20px 0 8px;font-size:15px}.course-markdown ul,.course-markdown ol{margin:8px 0 18px;padding-left:22px}.course-markdown li{margin:5px 0}.course-markdown a{color:var(--cw-blue);text-decoration:underline;text-underline-offset:3px}.course-markdown pre{margin:12px 0;padding:14px;overflow-x:auto;border:1px solid var(--cw-line);border-radius:5px;background:#010409;color:#d0d7de;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}.course-markdown code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.course-markdown :not(pre)>code{padding:2px 5px;border-radius:3px;background:#282e33;font-size:.9em}.course-markdown table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.course-markdown th,.course-markdown td{padding:8px;border:1px solid var(--cw-line);text-align:left}.instruction-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:12px;border-top:1px solid var(--cw-line);background:var(--cw-bg)}.instruction-footer a{min-height:34px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--cw-line);border-radius:5px;background:#21262d;color:#c9d1d9;font-size:12px}.instruction-footer a.next{border-color:#2ea043;background:#238636;color:#fff}.instruction-footer>span{color:var(--cw-muted);font-size:11px}.code-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--cw-editor)}.editor-heading{padding:0 12px;background:#181818}.workspace-mode{margin-left:10px;color:#8b949e;font-size:10px}.editor-tools{display:flex;align-items:center;gap:5px}.editor-tools .icon-button{width:28px;height:28px}.platform-select select{height:28px;max-width:130px;padding:0 24px 0 8px;border:1px solid #3b4148;border-radius:4px;background:#21262d;color:#c9d1d9;font-size:11px}.check-work{min-height:28px;padding:4px 9px!important;border:1px solid #2ea043!important;border-radius:4px;background:#238636!important;color:#fff!important;font-size:10px!important;font-weight:600;white-space:nowrap}.grader-panel{flex:0 0 auto;max-height:210px;overflow:auto;border-bottom:1px solid #303030;background:#161b22}.grader-panel>header{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:38px;padding:7px 12px;border-bottom:1px solid #30363d;background:#1c2128}.grader-panel>header strong{color:#f0a65a;font-size:11px}.grader-panel.passed>header strong{color:#56d364}.grader-panel>header span{color:#8c959f;font-size:10px}.grader-panel>header button{width:26px;height:26px;color:#8c959f}.grader-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;background:#30363d}.grader-panel li{display:flex;gap:8px;min-width:0;padding:9px 11px;background:#0d1117;color:#d29922;font-size:10px}.grader-panel li.passed{color:#3fb950}.grader-panel li div{min-width:0}.grader-panel li strong{display:block;color:#c9d1d9;font-size:10px}.grader-panel li small{display:block;margin-top:2px;color:#7d8590;overflow-wrap:anywhere}.ide{display:flex;flex:1;min-width:0;min-height:190px}.file-explorer{width:145px;flex-shrink:0;overflow:auto;border-right:1px solid #303030;background:#181818;font-size:11px}.explorer-toggle{width:100%;height:36px;padding:0 10px;text-align:left;color:#b2bfc1;font-size:10px;letter-spacing:.07em}.explorer-toggle span{margin-right:5px}.folder-label{padding:7px 9px;color:#b4bfc1;font-size:11px}.file{display:flex;align-items:center;min-width:100%;width:max-content;gap:7px;padding:7px 9px 7px 20px;color:#b9c4c6;text-align:left;white-space:nowrap;font-size:11px}.file.selected{background:#04395e;color:#fff}.file-type{min-width:17px;color:#aaa;font-size:9px;font-weight:600}.file-type.md{color:#9ec2cc}.file-type.json{color:#d7c489}.empty-files{padding:10px;color:#858585;font-size:10px;line-height:1.6}.editor-column{display:flex;flex:1;flex-direction:column;min-width:0;background:var(--cw-editor)}.file-tabs{display:flex;min-height:36px;overflow-x:auto;flex-shrink:0;border-bottom:1px solid #303030;background:#181818}.file-tabs button{display:flex;align-items:center;gap:8px;padding:9px 13px;border-right:1px solid #2b2b2b;border-top:1px solid #0078d4;background:var(--cw-editor);color:#dde3e3;white-space:nowrap;font-size:11px}.editor-breadcrumb{min-height:34px;padding:8px 14px;color:#a3afb2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-breadcrumb span{margin:0 5px;color:#627377}.editor-panel{display:flex;flex:1;min-height:0;overflow:hidden;padding-top:8px}.line-numbers{min-width:42px;padding:0 11px 0 8px;overflow:hidden;color:#858585;text-align:right;white-space:pre;-webkit-user-select:none;user-select:none;font:13px/24px ui-monospace,SFMono-Regular,Consolas,monospace}.editor-panel textarea{flex:1;min-width:0;width:100%;padding:0 16px 20px 0;resize:none;border:0;outline-offset:-2px;background:transparent;color:#d4d4d4;font:13px/24px ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.editor-panel textarea:disabled{color:#777}.editor-status{display:flex;justify-content:flex-end;gap:16px;padding:5px 12px;border-top:1px solid #303030;color:#8d9b9f;font-size:9px}.terminal{display:flex;flex-direction:column;flex:0 0 34%;min-height:170px;border-top:1px solid #454545;background:#181818}.terminal.collapsed{flex-basis:42px;min-height:42px}.terminal-header{height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 18px;border-bottom:1px solid #303030}.terminal-header>div{height:100%;display:flex;align-items:center;gap:20px}.terminal-active{height:100%;display:flex;align-items:center;border-bottom:1px solid var(--cw-blue);font-size:11px}.terminal-session{color:#8f9da2;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-actions button:not(.icon-button){padding:5px 8px;color:#9da7ad;font-size:10px}.terminal-content{flex:1;min-height:0;padding:12px 16px;overflow:auto;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-note{margin:0 0 10px;color:#858585}.terminal-entry{margin:7px 0;color:#d4d4d4}.terminal-entry p,.terminal-entry pre{margin:0}.terminal-entry pre{color:#b8c4c9;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.terminal-entry pre.terminal-error{color:#f09999}.terminal-cwd{color:#b4c69c}.prompt-symbol{margin:0 5px;color:#dcdcaa}.terminal-input{display:flex;margin-top:5px}.terminal-input label{display:flex;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.terminal-input textarea{flex:1;min-width:60px;border:0;outline:0;background:transparent;color:#fff;font:inherit;resize:none;padding:4px;white-space:pre-wrap}.terminal-input>button{padding:2px 8px;border:1px solid #3d444d;border-radius:3px;color:#c9d1d9;font-size:10px}.workspace-status{display:flex;justify-content:space-between;flex-shrink:0;padding:4px 12px;border-top:1px solid #303030;background:#181818;color:#b1b1b1;font-size:9px}.branch-symbol{margin-right:5px}.mobile-views{display:none}.workspace-action{min-height:38px;padding:8px 12px!important;border:1px solid var(--cw-line)!important;border-radius:5px;background:#21262d!important}.workspace-action.primary{border-color:#2ea043!important;background:#238636!important;color:#fff!important}.quiz-form>p{color:#b1bac4}.quiz-form fieldset{min-width:0;margin:22px 0;padding:18px;border:1px solid var(--cw-line);border-radius:6px}.quiz-form legend{padding:0 7px;color:var(--cw-blue);font-size:12px}.quiz-option{display:flex;gap:10px;margin:8px 0;padding:11px;border:1px solid var(--cw-line);border-radius:5px;background:var(--cw-panel);cursor:pointer}.quiz-option:has(input:checked){border-color:var(--cw-blue)}.quiz-option input{flex:0 0 auto;margin-top:5px;accent-color:var(--cw-blue)}.quiz-feedback{margin-top:12px;padding-left:12px;border-left:2px solid var(--cw-green)}.quiz-result{margin:20px 0}.workspace-header{background:var(--bg)}.lesson-copy{padding:34px 30px 48px}.lesson-copy>h2{font:600 32px/1.15 var(--display);letter-spacing:-.02em}.course-lesson,.icon-button,.lesson-review,.instruction-disclosure{border-radius:10px}.course-lesson.selected{background:#233022;box-shadow:inset 1px 0 var(--cw-blue)}.lesson-review,.instruction-disclosure{border-color:var(--cw-line)}.lesson-review>summary,.instruction-disclosure>summary{padding:15px 16px}.course-markdown{line-height:1.8;color:#c2cbc4}.course-markdown pre{border-radius:10px;background:#060807}.course-markdown :not(pre)>code{background:#222b24}.instruction-footer a{min-height:40px;border-radius:20px;background:var(--cw-panel)}.instruction-footer a.next{background:#c0d2ac;color:#182014;border-color:transparent}.editor-heading,.file-explorer,.file-tabs,.terminal,.terminal-header,.editor-status,.workspace-status{background:var(--cw-panel)}.editor-panel,.terminal-content{background:var(--cw-editor)}.file.selected{background:#273527}.file-tabs button{border-top-color:var(--cw-blue)}.grader-panel,.grader-panel>header{background:var(--cw-panel)}.grader-panel li{background:var(--cw-bg)}.grader-panel li small,.grader-panel>header span,.grader-panel>header button{color:var(--cw-muted)}.check-work{min-height:32px;border-radius:16px;background:#c0d2ac!important;border-color:transparent!important;color:#182014!important;font-size:11px!important}.platform-select select{min-height:32px;border-radius:8px;background:var(--cw-bg)}.workspace-action{border-radius:20px;background:var(--cw-panel)!important}.workspace-action.primary{background:#c0d2ac!important;border-color:transparent!important;color:#182014!important}.quiz-form fieldset{border:0;padding:12px 0;margin:28px 0}.quiz-form legend{padding:0}.quiz-option{border-radius:10px;padding:14px}.quiz-option:has(input:checked){background:#202c20}.quiz-feedback{border-left:1px solid var(--cw-green)}.terminal-input .terminal-cwd{max-width:100%;overflow-wrap:anywhere}.terminal-input textarea:focus-visible{outline:1px solid var(--cw-blue);outline-offset:3px}.terminal-input>button{min-width:40px;min-height:32px;border-radius:8px}.file:focus-visible,.explorer-toggle:focus-visible{outline-offset:-2px}.practice-toolbar{display:flex;align-items:center;gap:10px;flex:0 0 60px;padding:10px 16px;border-top:1px solid var(--cw-line);background:#141815}.practice-toolbar .practice-submit,.practice-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:8px 18px;border-radius:20px;background:#d4dfc5;color:#171d13;font-size:13px;font-weight:600;text-decoration:none}.practice-toolbar .practice-submit:hover,.practice-submit:hover{background:#e6ecd9}.practice-toolbar .practice-run{padding:8px 13px;min-height:38px;border:1px solid #3a443d;border-radius:20px;color:var(--cw-ink);font-size:12px}.practice-run:hover{background:#242c26}.practice-skip{margin-left:auto;padding:8px 0 8px 10px;color:var(--cw-muted);font-size:12px;white-space:nowrap}.practice-skip:hover{color:var(--cw-ink);text-decoration:underline;text-underline-offset:4px}.native-terminal{min-height:0;flex:1;overflow:hidden;padding:8px 10px;background:var(--cw-editor)}.native-terminal .xterm{height:100%}.native-platform{color:var(--cw-muted);font-size:11px}.terminal-help{position:relative;color:var(--cw-muted);font-size:11px}.terminal-help summary{cursor:pointer}.terminal-help>div{position:absolute;z-index:4;right:0;bottom:28px;width:min(290px,75vw);padding:12px 16px;border:1px solid var(--cw-line);border-radius:8px;background:var(--cw-panel);color:var(--cw-text);line-height:1.5;box-shadow:0 10px 30px #0005}.terminal-help p{margin:6px 0}.native-connection{padding:8px 14px;font-size:12px;color:var(--cw-muted)}.native-workspace .terminal{position:relative;flex-basis:40%}.workspace-loading{display:grid;place-items:center;color:var(--cw-muted)}.practice-feedback .practice-run{margin:10px 10px 0 0;text-decoration:underline;text-underline-offset:3px;font-size:12px}.practice-feedback{position:fixed;z-index:30;right:20px;bottom:24px;width:min(350px,calc(100vw - 32px));padding:18px 40px 18px 18px;border:1px solid #6c5540;border-radius:12px;background:#211e19;color:#f2e5d3;box-shadow:0 10px 35px #0008;animation:feedback-enter .22s cubic-bezier(.16,1,.3,1)}.practice-feedback.success{border-color:#4b6547;background:#1a231b;color:#e3eddc}.practice-feedback strong{font-size:13px;line-height:1.4}.practice-feedback p{margin:6px 0 0;color:inherit;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.practice-feedback .feedback-dismiss{position:absolute;top:10px;right:8px;display:grid;place-items:center;width:28px;height:28px;color:inherit}.practice-feedback details{margin-top:10px;font-size:11px}.practice-feedback summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.practice-feedback ul{max-height:170px;overflow:auto;margin:12px 0 0;padding-left:16px}.practice-feedback li{margin-bottom:9px}.practice-feedback li strong,.practice-feedback li span{display:block;font-size:11px}.course-shell ::selection{background:#41563b;color:#fff}.course-shell textarea{caret-color:#d4dfc5}.course-shell *{scrollbar-color:#424b44 transparent;scrollbar-width:thin}@keyframes feedback-enter{0%{transform:translateY(8px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.practice-feedback{animation:none}}.reduced-motion .practice-feedback{animation:none}@media(max-width:760px){.lesson-toolbar{height:52px;padding:7px 12px;gap:8px}.lesson-toolbar-count{display:none}.lesson-toolbar label{flex:1;max-width:50%}.course-frame{height:calc(100dvh - 94px)}.practice-toolbar{padding-inline:12px;gap:7px;flex-basis:56px}.practice-toolbar .practice-submit{padding-inline:13px}.practice-toolbar .practice-run{padding-inline:10px}.practice-feedback{right:16px;bottom:20px}}@media(max-width:1100px){.workspace-mode{display:none}}@media(max-width:760px){.lesson-copy{padding:24px 20px 36px}.lesson-copy>h2{font-size:28px}.editor-tools .files-toggle{display:grid}.editor-heading{padding-inline:8px}.editor-heading>span{font-size:11px}.editor-tools{gap:3px}.mobile-views button{min-height:32px;border-radius:16px;color:var(--cw-muted)}.mobile-views button.active{border-color:var(--cw-line);background:#233022}.terminal{flex-basis:210px}.terminal-content{height:168px}}@media(max-height:550px){.ide{min-height:100px}.terminal{flex-basis:150px}.terminal-content{height:108px}.grader-panel{max-height:120px}}@media(max-width:1100px){.learning-area{grid-template-columns:minmax(275px,.8fr) minmax(360px,1.2fr)}.sidebar-open .course-frame{grid-template-columns:200px minmax(0,1fr)}.file-explorer{width:125px}.lesson-copy{padding:25px 20px 42px}.lesson-copy>h2{font-size:25px}.top-progress{max-width:300px}}@media(max-width:900px){.sidebar-open .course-frame{grid-template-columns:minmax(0,1fr)}.course-sidebar{position:fixed;z-index:8;top:42px;bottom:0;left:0;width:245px;box-shadow:20px 0 70px #000a}.learning-area{grid-template-columns:minmax(275px,.8fr) minmax(350px,1.2fr)}}@media(max-width:760px){.workspace-header{gap:9px}.workspace-wordmark{font-size:12px}.back-link{font-size:0}.back-link span{font-size:16px}.top-progress{max-width:180px;gap:7px}.top-progress-label{display:none}.progress-count{font-size:9px}.learning-area{display:flex;flex-direction:column;min-height:0}.mobile-views{display:flex;gap:7px;flex:0 0 47px;padding:8px 14px;border-bottom:1px solid var(--cw-line);background:var(--cw-panel)}.mobile-views button{padding:4px 11px;border:1px solid transparent;border-radius:4px;color:#93a4a8;font-size:11px}.mobile-views button.active{border-color:var(--cw-line);background:#233022;color:#fff}.instructions-pane,.code-workspace{flex:1;min-height:0;width:100%;border-right:0}.mobile-instructions .code-workspace,.mobile-workspace .instructions-pane{display:none}.workspace-focused .mobile-views{display:flex}.lesson-copy{padding:24px 20px 38px}.lesson-copy>h2{font-size:26px}.file-explorer{width:112px}.terminal{flex-basis:210px}.terminal-content{height:168px}.platform-select select{max-width:94px}.editor-tools{gap:2px}.editor-tools .icon-button:not(.files-toggle){display:none}.check-work{padding:4px 7px!important}.grader-panel ul{grid-template-columns:1fr}.instruction-footer>span{display:none}}@font-face{font-family:Barlow;src:url(/assets/barlow-medium-Apw_3I1e.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-semibold-S-AH7y_S.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-bold-CoiCOvr2.ttf) format("truetype");font-weight:700;font-display:swap}:root{color-scheme:dark;--bg:#080909;--surface:#111313;--raised:#1a1d1c;--border:#2a2e2b;--text:#eeefeb;--secondary:#bbbfba;--muted:#969f96;--accent:#c0d2ac;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--display:Barlow,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;scrollbar-color:#444b44 transparent;scrollbar-width:thin}html{scroll-padding-top:28px}body{margin:0;padding-bottom:64px;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{caret-color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}img{display:block;max-width:100%}.wrap,.nav-inner{max-width:1192px;padding-inline:36px;margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;padding:12px 18px;background:var(--text);color:var(--bg);transform:translateY(-180%);z-index:20;border-radius:8px}.skip-link:focus{transform:translateY(0)}.nav{border-bottom:1px solid #202321;background:var(--bg)}.nav-inner{min-height:88px;display:flex;align-items:center;gap:44px}.wordmark{display:inline-flex;align-items:center;gap:11px;font:600 20px var(--display);letter-spacing:.12em}.door{width:13px;height:19px;flex-shrink:0;border:1px solid var(--accent);border-bottom:0;position:relative}.door:after{content:"";position:absolute;inset:3px 3px 0;border:1px solid var(--accent);border-bottom:0}.nav-links{display:flex;gap:6px}.nav-links a{padding:9px 14px;border-radius:24px;color:var(--muted);font-size:14px}.nav-links a.active{background:var(--raised);color:var(--text)}.nav-links a:hover{color:var(--text);background:var(--surface)}.nav-user{margin-left:auto;min-width:0;font-size:14px;color:var(--muted)}.profile-link,.sign-in-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}.profile-link{max-width:220px}.profile-link>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-avatar,.avatar{display:inline-grid;flex-shrink:0;place-items:center;border-radius:50%;background:#263024;color:var(--accent);font-weight:600}.profile-avatar{width:30px;height:30px;font-size:12px}.page-top{padding-top:44px}.page-heading{margin-bottom:28px}.h1{font:500 36px/1.2 var(--display);letter-spacing:-.02em}.h2{font:600 28px/1.25 var(--display);letter-spacing:-.015em}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.section-note{color:var(--muted);font-size:14px}.section-note:hover,.link-quiet:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:center;padding-block:12px 20px}.hero-img{grid-column:2;grid-row:1;width:100%;height:340px;object-fit:cover;border-radius:26px 26px 70px}.hero-body{grid-column:1;grid-row:1;padding:24px 20px 24px 0}.hero-name{font:600 clamp(42px,4.5vw,64px)/1.02 var(--display);letter-spacing:-.03em;margin-bottom:22px}.hero-next{max-width:36ch;color:var(--secondary);margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:24px;background:var(--accent);color:#182014;font:600 16px/1.3 var(--display)}.btn:hover{color:#182014;background:#d1dfc1}.btn:active{transform:translateY(1px)}.btn span{display:inline-block;font-family:var(--font)}.link-quiet{color:var(--secondary);font-size:14px}.courses-head{padding-block:40px 22px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.course{position:relative;min-width:0}.course-art{overflow:hidden;border-radius:18px;aspect-ratio:2.4;background:var(--surface)}.course-art img{width:100%;height:100%;object-fit:cover}.course-body{padding:18px 2px 20px;border-bottom:1px solid var(--border)}.course-name{font:600 28px/1.2 var(--display);letter-spacing:-.015em}.course-name a{display:flex;align-items:center;justify-content:space-between;gap:14px}.course-name a:after{content:"";position:absolute;inset:0;border-radius:18px}.course:focus-within{outline:2px solid var(--accent);outline-offset:6px;border-radius:18px}.course-name a:focus-visible{outline:none}.course-open{color:var(--accent);font:20px var(--font)}.course-desc{color:var(--secondary);margin-top:9px;font-size:14px}.course-foot{margin-top:15px}.status{font-size:13px;color:var(--muted)}.nodes{padding-top:50px}.nodes .section-head{padding-bottom:20px}.node{display:grid;grid-template-columns:20px minmax(0,1fr) 90px 80px;align-items:center;gap:18px;padding:18px 16px;border-bottom:1px solid #222623;min-height:68px;position:relative;border-radius:10px}.node:last-child{border-bottom:0}.node-dot{width:9px;height:9px;border:1px solid var(--muted);border-radius:50%}.node-title{color:var(--secondary);font-size:15px}.node-type,.node-meta{color:var(--muted);font-size:13px}.node-meta{text-align:right;color:var(--accent)}.node-meta:after{content:"";position:absolute;inset:0;border-radius:10px}.node:focus-within{outline:2px solid var(--accent);outline-offset:2px}.node-meta:focus-visible{outline:none}.project{padding-top:56px}.project-build{overflow:hidden;border-radius:24px;background:var(--surface)}.project-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center}.project-scene{grid-column:2;grid-row:1;width:100%;height:330px;object-fit:cover}.project-intro{grid-column:1;grid-row:1;padding:36px}.project-intro h2{font:600 40px/1.1 var(--display);letter-spacing:-.025em;margin-bottom:16px}.project-summary{color:var(--secondary);font-size:15px;margin-bottom:24px}.build-stages{padding-inline:28px}.build-stage{border-top:1px solid var(--border)}.build-stage summary,.build-stage.is-locked{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px 8px}.build-stage summary{cursor:pointer;list-style:none}.build-stage summary::-webkit-details-marker{display:none}.stage-number{font:500 23px/1 var(--display);color:var(--muted)}.is-ready .stage-number{color:var(--accent)}.stage-title{font:600 21px/1.2 var(--display)}.stage-description{display:block;font:400 14px/1.5 var(--font);margin-top:6px;color:var(--muted)}.stage-state{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.stage-expand{font-size:25px;color:var(--accent)}.build-stage[open] .stage-expand{transform:rotate(45deg)}.stage-instructions{padding:0 48px 28px;color:var(--secondary)}.stage-instructions h3{font:600 22px/1.3 var(--display);color:var(--text);margin:10px 0}.stage-instructions p{font-size:14px;max-width:70ch}.stage-instructions pre{overflow-wrap:anywhere;white-space:pre-wrap;padding:20px;margin:18px 0;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:#d0dcc6;font-size:13px;line-height:1.85}.account-shell{min-height:calc(100dvh - 64px);display:grid;align-content:center;justify-items:center;padding:110px 24px 48px}.account-wordmark{position:absolute;top:30px;left:max(24px,calc((100vw - 1120px)/2))}.account-card{width:min(100%,440px);padding:36px 12px}.account-card .h1{font-size:42px}.account-copy{margin-top:18px;color:var(--secondary)}.provider-buttons{display:grid;gap:12px;margin:30px 0 20px}.provider-button{justify-content:space-between;width:100%;border-radius:12px;min-height:52px}.provider-secondary{border-color:#434a42;background:var(--surface);color:var(--text)}.provider-secondary:hover{background:var(--raised);color:var(--text)}.account-note,.field-note{color:var(--muted);font-size:13px;line-height:1.6}.account-note{margin-bottom:25px}.account-message,.success-message{margin-top:14px;font-size:14px;color:#e6b4a9}.success-message{color:var(--accent)}.account-page{max-width:1040px}.profile-hero{display:flex;align-items:center;gap:20px;padding:12px 0 32px;border-bottom:1px solid var(--border)}.profile-hero>div{min-width:0}.avatar{width:64px;height:64px;font:600 23px var(--display)}.profile-hero h2{font:600 28px/1.2 var(--display);overflow-wrap:anywhere}.profile-hero p{margin-top:5px;color:var(--secondary);font-size:14px;overflow-wrap:anywhere}.link-button{margin-left:auto;flex-shrink:0;border:1px solid var(--border);padding:10px 18px;border-radius:24px;background:transparent;color:var(--secondary);font-size:14px}.link-button:hover{background:var(--raised);color:var(--text)}.profile-grid{display:grid;grid-template-columns:1.25fr 1fr;column-gap:64px}.settings-card{min-width:0;padding-block:32px;border-bottom:1px solid var(--border)}.settings-card .h2{font-size:24px;margin-bottom:20px}.profile-form{display:grid;gap:10px}.profile-form label{color:var(--secondary);font-size:14px}.profile-form input{min-width:0;width:100%;padding:12px 14px;border:1px solid #434a42;border-radius:10px;background:var(--surface);color:var(--text)}.profile-form .btn{justify-self:start;margin-top:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:48px}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:15px;font-weight:500}.toggle-row small{margin-top:5px;color:var(--muted);font-size:13px}.toggle-row input{flex-shrink:0;width:22px;height:22px;accent-color:var(--accent)}.connection-list{display:grid;gap:16px}.connection{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.connection .status{overflow-wrap:anywhere}.activity-stat{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.activity-stat strong{font:500 32px var(--display);color:var(--accent)}.activity-stat span{color:var(--secondary);font-size:14px}.page-state{max-width:640px;padding-top:100px}.page-state p{color:var(--secondary);margin-block:18px 24px}.page-state .link-quiet{margin-left:18px}@media(hover:hover){.btn,.nav-links a,.link-button,.node{transition:background-color .18s var(--ease),color .18s var(--ease)}.course-art img{transition:transform .45s var(--ease)}.course:hover .course-art img{transform:scale(1.025)}.course-open{transition:transform .25s var(--ease)}.course:hover .course-open{transform:translate(2px,-2px)}.node:hover{background:var(--surface)}.build-stage summary:hover .stage-title{color:var(--accent)}}@media(prefers-reduced-motion:no-preference){.hero-img{animation:settle-in .65s var(--ease) both}@keyframes settle-in{0%{clip-path:inset(0 0 8px 0 round 26px 26px 70px 26px);transform:translateY(6px)}to{clip-path:inset(0 round 26px 26px 70px 26px);transform:translateY(0)}}}@media(max-width:1000px){.nav-inner,.hero{gap:24px}.hero-img{height:320px}.hero-body{padding-right:0}.hero-actions{gap:16px}.project-intro{padding:28px}.project-intro h2{font-size:34px}.build-stage summary,.build-stage.is-locked{grid-template-columns:30px minmax(0,1fr);gap:8px 16px}.stage-state{grid-column:2;justify-content:space-between}}@media(max-width:720px){body{padding-bottom:36px}.wrap,.nav-inner{padding-inline:20px}.nav-inner{flex-wrap:wrap;gap:12px;padding-block:18px 12px}.wordmark{font-size:18px}.nav-links{order:3;width:100%;margin-top:2px}.nav-links a{padding:9px 13px}.profile-link{max-width:140px}.page-top{padding-top:30px}.h1{font-size:30px}.h2{font-size:25px}.hero{grid-template-columns:1fr;gap:0;padding-top:0}.hero-img{grid-column:1;grid-row:1;height:230px;border-radius:20px 20px 48px;animation:none}.hero-body{grid-column:1;grid-row:2;padding:24px 0 0}.hero-name{font-size:44px;margin-bottom:14px}.hero-next{max-width:42ch;margin-bottom:22px}.courses-head{padding-top:28px}.course-grid{grid-template-columns:1fr;gap:26px}.course-art{aspect-ratio:2.1}.nodes{padding-top:38px}.section-head{flex-wrap:wrap;gap:10px}.node{grid-template-columns:12px minmax(0,1fr) auto;gap:4px 10px;padding:16px 8px}.node-type{grid-column:2;grid-row:2}.node-meta{grid-column:3;grid-row:1/3}.project{padding-top:38px}.project-feature{grid-template-columns:1fr}.project-scene{grid-column:1;grid-row:1;height:220px}.project-intro{grid-column:1;grid-row:2;padding:26px}.build-stages{padding-inline:20px}.stage-instructions{padding:0 4px 24px}.stage-description{font-size:13px}.stage-title{font-size:20px}.account-shell{min-height:calc(100dvh - 36px)}.account-card{padding-inline:0}.account-card .h1{font-size:36px}.profile-grid{grid-template-columns:1fr}.profile-hero{display:grid;grid-template-columns:64px minmax(0,1fr)}.profile-hero .link-button{grid-column:2;margin:0;justify-self:start}.profile-link>span:last-child{max-width:85px}.page-state{padding-top:60px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
