@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}}:root{--cream:#f4f1e8;--ink:#17221b;--lime:#c8f168;--coral:#ff7356;--blue:#86b7ff;--yellow:#ffd86b;--line:#17221b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,textarea{font:inherit}.shell{width:min(1180px,100% - 40px);margin:auto}.nav{border-bottom:1px solid var(--line);align-items:center;gap:40px;height:86px;display:flex}.brand{color:var(--ink);letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:900;text-decoration:none;display:flex}.brand span{font-family:var(--font-geist-mono);background:var(--ink);color:var(--lime);border-radius:6px;padding:7px}.navlinks{gap:30px;margin-left:auto;display:flex}.navlinks a{color:var(--ink);font-size:14px;text-decoration:none}.navCta,.primary{background:var(--ink);color:#fff;border-radius:4px;padding:13px 17px;font-size:14px;font-weight:700;text-decoration:none}.navCta span,.primary span{color:var(--lime);margin-left:8px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:70px;min-height:650px;padding-top:55px;padding-bottom:70px;display:grid}.eyebrow,.kicker{font-family:var(--font-geist-mono);letter-spacing:1.4px;font-size:12px;font-weight:700}.eyebrow i{background:var(--coral);border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.hero h1{letter-spacing:-6px;margin:25px 0;font-size:clamp(52px,6.2vw,86px);line-height:.98}.hero h1 em{z-index:1;font-style:normal;position:relative}.hero h1 em:after{content:"";background:var(--lime);z-index:-1;height:17px;position:absolute;bottom:5px;left:-3px;right:-5px;transform:rotate(-2deg)}.intro{color:#435048;max-width:510px;font-size:18px;line-height:1.8}.heroActions{align-items:center;gap:28px;margin:35px 0;display:flex}.primary{padding:17px 22px}.textLink{color:var(--ink);text-underline-offset:4px;font-size:14px;font-weight:700}.proof{border-top:1px solid var(--line);gap:22px;padding-top:24px;display:flex}.proof span{color:#59635d;font-size:12px}.proof b{font-family:var(--font-geist-mono);color:var(--ink);margin-right:3px;font-size:22px}.heroVisual{position:relative}.editor{background:#121d17;border-radius:12px;overflow:hidden;transform:rotate(1deg);box-shadow:18px 22px #d7d3c6}.editorTop{background:#1c2b22;align-items:center;gap:8px;height:51px;padding:0 18px;display:flex}.editorTop span{background:#ff7356;border-radius:50%;width:10px;height:10px}.editorTop span:nth-child(2){background:#ffd86b}.editorTop span:nth-child(3){background:#c8f168}.editorTop small{color:#7f9186;font-family:var(--font-geist-mono);margin:auto}.code{color:#e7eee9;font:15px/1.95 var(--font-geist-mono);padding:32px 15px 25px}.code p{white-space:nowrap;margin:0}.code i{color:#53635a;text-align:right;width:40px;margin-right:22px;font-style:normal;display:inline-block}.pink{color:#ff8a73}.green{color:#c8f168}.blue{color:#86b7ff}.yellow{color:#ffd86b}.terminal{color:#dce6df;font-family:var(--font-geist-mono);border-top:1px solid #314038;padding:17px 25px}.terminal small{color:#819087}.terminal p{margin:9px 0 2px}.terminal b{color:var(--lime);animation:1s infinite blink}.sticker{background:var(--coral);color:#19231c;z-index:2;box-shadow:5px 5px 0 var(--ink);padding:15px 19px;font-size:13px;line-height:1.25;position:absolute;top:-48px;right:-25px;transform:rotate(6deg)}.floatNote{border:1px solid var(--ink);font:12px/1.5 var(--font-geist-mono);box-shadow:4px 4px 0 var(--lime);background:#fff;padding:14px 18px;position:absolute;bottom:-42px;left:-37px;transform:rotate(-3deg)}.floatNote span{color:var(--coral)}.route{padding:100px 0}.sectionHead{justify-content:space-between;align-items:end;margin-bottom:38px;display:flex}.sectionHead h2,.practice h2,.cheats h2{letter-spacing:-2px;margin:12px 0;font-size:42px}.progressBox{width:250px}.progressBox span{justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.progressBox div{background:#d8d5ca;border-radius:8px;height:7px;overflow:hidden}.progressBox i{background:var(--ink);height:100%;transition:all .4s;display:block}.lessonGrid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lesson{text-align:left;border:1px solid var(--ink);cursor:pointer;background:#fff;min-height:260px;padding:22px;transition:all .2s;position:relative}.lesson:hover{box-shadow:6px 6px 0 var(--ink);transform:translateY(-5px)}.lesson.lime{background:var(--lime)}.lesson.coral{background:var(--coral)}.lesson.blue{background:var(--blue)}.lesson.yellow{background:var(--yellow)}.lesson.done{filter:saturate(.65)}.lesson.done:after{content:"";pointer-events:none;border:2px solid #17221b59;position:absolute;inset:7px}.lessonNum{font:36px var(--font-geist-mono)}.lessonTag{float:right;border:1px solid var(--ink);border-radius:20px;padding:5px 9px;font-size:10px}.lesson strong,.lesson small{display:block}.lesson strong{margin-top:70px;font-size:21px}.lesson small{margin-top:9px}.arrow{font-size:20px;position:absolute;bottom:18px;right:22px}.hint{text-align:center;color:#68726c;margin-top:18px;font-size:11px}.practice{background:var(--ink);color:#fff;padding:90px 0}.practiceInner{grid-template-columns:.85fr 1.3fr;align-items:center;gap:90px;display:grid}.light{color:var(--lime)}.practiceCopy>p:not(.kicker){color:#aab4ae;line-height:1.7}.challengeTabs{gap:7px;margin:30px 0;display:flex}.challengeTabs button{color:#aab4ae;cursor:pointer;background:0 0;border:1px solid #657069;border-radius:20px;padding:8px 13px}.challengeTabs button.active{background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:700}.task{border-left:3px solid var(--coral);padding-left:15px}.task span,.task b{display:block}.task span{color:#7f8e85;text-transform:uppercase;margin-bottom:6px;font-size:10px}.playground{background:#101914;border:1px solid #536158;border-radius:8px;overflow:hidden;box-shadow:14px 14px #26352c}.playTop{height:50px;font:12px var(--font-geist-mono);background:#29362e;justify-content:space-between;align-items:center;padding-left:20px;display:flex}.playTop button{background:var(--lime);height:100%;color:var(--ink);cursor:pointer;border:0;padding:0 23px;font-weight:700}.playground textarea{color:#dce7df;resize:vertical;width:100%;min-height:230px;font:15px/1.7 var(--font-geist-mono);background:#121d17;border:0;outline:none;padding:27px}.output{font-family:var(--font-geist-mono);border-top:1px solid #35433a;min-height:90px;padding:15px 22px}.output small{color:#79887f}.output p{color:var(--lime);margin:12px 0}.output i{background:var(--lime);vertical-align:middle;width:7px;height:15px;margin-left:4px;animation:1s infinite blink;display:inline-block}.cheats{grid-template-columns:.7fr 1.3fr;gap:80px;padding:100px 0;display:grid}.cheats>div>p:not(.kicker){color:#69736d;line-height:1.7}.cheats a{color:var(--ink);margin-top:20px;font-weight:700;display:inline-block}.cheatCards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.cheatCards article{border:1px solid var(--line);background:#fff;min-height:235px;padding:18px}.cheatCards span{font:11px var(--font-geist-mono);color:#89908c}.cheatCards b{margin:20px 0;font-size:16px;display:block}.cheatCards code{font:11px/1.8 var(--font-geist-mono);background:#eef0e9;padding:15px;display:block;overflow:auto}.cheatCards code i{color:#879289}footer{border-top:1px solid var(--line);align-items:center;gap:30px;height:130px;display:flex}footer p{margin-left:auto;font-weight:700}footer small{color:#7b847e}@keyframes blink{50%{opacity:0}}.lesson strong{margin-top:58px}.lesson.selected{box-shadow:6px 6px 0 var(--ink);transform:translateY(-5px)}.stageProject{font:10px var(--font-geist-mono);opacity:.72;margin-top:22px;display:block}.courseRoom{border:1px solid var(--ink);min-height:690px;box-shadow:10px 10px 0 var(--ink);background:#fff;grid-template-columns:330px 1fr;margin-top:48px;scroll-margin-top:20px;display:grid}.courseRoom.lime{--stage:var(--lime)}.courseRoom.coral{--stage:var(--coral)}.courseRoom.blue{--stage:var(--blue)}.courseRoom.yellow{--stage:var(--yellow)}.courseSidebar{background:var(--stage);border-right:1px solid var(--ink);flex-direction:column;padding:30px 24px;display:flex}.courseStage>span{font:11px var(--font-geist-mono);letter-spacing:1px}.courseStage h3{letter-spacing:-1px;margin:12px 0;font-size:30px}.courseStage p{margin:0 0 25px;font-size:13px;line-height:1.6}.unitNav{border-top:1px solid #17221b47}.unitNav button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #17221b47;align-items:center;gap:12px;width:100%;padding:14px 8px;display:flex}.unitNav button.active{background:#ffffff80;width:calc(100% + 16px);margin-left:-8px;padding-left:16px}.unitNav i{border:1px solid var(--ink);width:25px;height:25px;font-style:normal;font:10px var(--font-geist-mono);border-radius:50%;flex:none;place-items:center;display:grid}.unitNav span,.unitNav b,.unitNav small{display:block}.unitNav b{font-size:13px}.unitNav small{font:10px var(--font-geist-mono);opacity:.67;margin-top:4px}.projectBadge{background:var(--ink);color:#fff;margin-top:auto;padding:16px}.projectBadge small,.projectBadge b{display:block}.projectBadge small{color:var(--stage);font:9px var(--font-geist-mono);margin-bottom:6px}.projectBadge b{font-size:14px}.courseContent{padding:38px 44px}.courseMeta{font:11px var(--font-geist-mono);color:#667169;justify-content:space-between;display:flex}.courseContent>h3{letter-spacing:-1.5px;margin:17px 0 8px;font-size:38px}.courseSummary{color:#536059;font-size:16px;line-height:1.7}.knowledge{border-left:4px solid var(--stage);background:#f2f2ec;margin:25px 0;padding:16px 20px}.knowledge p{margin:0 0 8px;font-size:12px;font-weight:700}.knowledge ul{gap:28px;margin:0;padding:0;list-style:none;display:flex}.knowledge li{font-size:12px}.knowledge li:before{content:"✓";margin-right:6px;font-weight:700}.courseLab{color:#fff;background:#121d17;border:1px solid #324139;border-radius:6px;grid-template-columns:1.4fr .6fr;display:grid;overflow:hidden}.labEditor>div{height:43px;font:11px var(--font-geist-mono);background:#28362e;justify-content:space-between;align-items:center;padding-left:16px;display:flex}.labEditor button{background:var(--stage);height:100%;color:var(--ink);cursor:pointer;border:0;padding:0 20px;font-weight:700}.labEditor textarea{resize:none;color:#e7eee9;width:100%;height:190px;font:12px/1.65 var(--font-geist-mono);background:#121d17;border:0;outline:0;padding:20px;display:block}.labOutput{border-left:1px solid #35433a;padding:17px}.labOutput small{color:#809087;font:10px var(--font-geist-mono)}.labOutput pre{color:var(--stage);font:12px/1.6 var(--font-geist-mono);white-space:pre-wrap;margin-top:18px}.miniChallenge{border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:22px 0;display:flex}.miniChallenge span{font:11px var(--font-geist-mono);color:#59645d;white-space:nowrap}.miniChallenge p{margin:0;font-size:13px}.courseActions{justify-content:space-between;margin-top:24px;display:flex}.courseActions button,.courseActions a{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;padding:12px 16px;font-size:12px;font-weight:700;text-decoration:none}.courseActions .complete.done{background:var(--stage)}.courseActions .next{background:var(--ink);color:#fff}@media (max-width:850px){.navlinks{display:none}.navCta{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:50px}.heroVisual{margin:30px 20px 25px}.lessonGrid{grid-template-columns:repeat(2,1fr)}.courseRoom{grid-template-columns:1fr}.courseSidebar{border-right:0;border-bottom:1px solid var(--ink)}.projectBadge{margin-top:25px}.unitNav{grid-template-columns:1fr 1fr;display:grid}.unitNav button.active{width:100%;margin:0;padding-left:8px}.practiceInner,.cheats{grid-template-columns:1fr;gap:45px}.cheatCards{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.shell{width:min(100% - 28px,1180px)}.nav{height:70px}.navCta{display:none}.hero{gap:20px}.hero h1{letter-spacing:-4px;font-size:52px}.intro{font-size:16px}.heroActions{flex-direction:column;align-items:flex-start;gap:18px}.proof{flex-wrap:wrap;gap:12px}.proof span{width:45%}.editor{box-shadow:9px 12px #d7d3c6}.code{padding-left:3px;font-size:11px}.sticker{right:-5px}.floatNote{left:-5px}.sectionHead{display:block}.progressBox{width:100%;margin-top:25px}.lessonGrid{grid-template-columns:1fr}.lesson{min-height:210px}.practice,.route,.cheats{padding-top:70px;padding-bottom:70px}.practice h2,.cheats h2,.sectionHead h2{font-size:34px}.cheatCards{grid-template-columns:1fr}.cheatCards article{min-height:auto}footer{flex-direction:column;align-items:flex-start;gap:10px;height:auto;padding:35px 0}footer p{margin:5px 0}.floatNote{display:none}.courseRoom{box-shadow:5px 5px 0 var(--ink);margin-top:35px}.courseSidebar,.courseContent{padding:24px 18px}.unitNav{grid-template-columns:1fr}.courseContent>h3{font-size:31px}.knowledge ul{display:block}.knowledge li{margin:7px 0}.courseLab{grid-template-columns:1fr}.labOutput{border-top:1px solid #35433a;border-left:0;min-height:110px}.miniChallenge{flex-direction:column;align-items:flex-start;gap:8px}.courseActions{gap:8px}.courseActions button,.courseActions a{padding:11px 9px}.lesson strong{margin-top:34px}}.dashboard{border-top:1px solid var(--line);padding:75px 0}.dashHead{justify-content:space-between;align-items:end;display:flex}.dashHead h2,.projects h2,.assessment h2{letter-spacing:-2px;margin:12px 0;font-size:42px}.syncButtons{gap:7px;display:flex}.syncButtons button{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:13px 18px;font-weight:700}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0;display:grid}.stats article{border:1px solid var(--line);background:#fff;padding:20px}.stats span,.stats small,.stats b{display:block}.stats span{color:#6d7771;font-size:11px}.stats b{font:38px var(--font-geist-mono);margin:15px 0 7px}.stats small{font-size:11px}.continueBar{background:var(--lime);border:1px solid var(--ink);align-items:center;gap:25px;padding:18px 22px;display:flex}.continueBar div span,.continueBar div b{display:block}.continueBar div span{text-transform:uppercase;margin-bottom:4px;font-size:9px}.continueBar a{background:var(--ink);color:#fff;margin-left:auto;padding:12px 16px;font-size:12px;font-weight:700;text-decoration:none}.continueBar>small{font-size:10px}.lessonNotes{margin-top:18px}.lessonNotes label{margin-bottom:7px;font-size:11px;font-weight:700;display:block}.lessonNotes textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:70px;padding:10px}.checkMessage{border-left:4px solid var(--coral);background:#fff0e9;padding:12px;font-size:12px}.checkMessage.pass{border-color:var(--lime);background:#eefbd3}.courseActions{flex-wrap:wrap}.projects{padding:100px 0}.sectionIntro{color:#68726c;max-width:390px;line-height:1.6}.projectStudio{border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);grid-template-columns:285px 1fr;display:grid}.projectStudio>aside{border-right:1px solid var(--ink);background:#e9e6dc;padding:18px}.projectStudio>aside button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:16px 10px;display:flex}.projectStudio>aside button.active{background:var(--yellow)}.projectStudio>aside i{border:1px solid var(--ink);border-radius:50%;place-items:center;width:27px;height:27px;font-style:normal;display:grid}.projectStudio>aside b,.projectStudio>aside small{display:block}.projectStudio>aside b{font-size:13px}.projectStudio>aside small{margin-top:4px;font-size:9px}.projectStudio>article{background:#fff;padding:30px}.projectBrief>span{font:10px var(--font-geist-mono);color:#6f7872}.projectBrief h3{margin:10px 0;font-size:30px}.projectBrief p{color:#68726c}.projectBrief ul{gap:12px;padding:0;list-style:none;display:flex}.projectBrief li{background:#f0efe9;padding:8px 10px;font-size:10px}.projectBrief li:before{content:"□ ";font-weight:700}.projectEditor{color:#fff;background:#121d17;border-radius:5px;overflow:hidden}.projectEditor>div{height:44px;font:11px var(--font-geist-mono);background:#28362e;justify-content:space-between;align-items:center;padding-left:16px;display:flex}.projectEditor button{background:var(--yellow);cursor:pointer;border:0;height:100%;padding:0 18px;font-weight:700}.projectEditor textarea{color:#e7eee9;resize:vertical;width:100%;height:230px;font:12px/1.6 var(--font-geist-mono);background:0 0;border:0;outline:0;padding:18px}.projectEditor pre{color:var(--yellow);font:11px/1.5 var(--font-geist-mono);white-space:pre-wrap;border-top:1px solid #35433a;min-height:60px;margin:0;padding:15px}.projectActions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.projectActions button,.exportButtons button{border:1px solid var(--ink);cursor:pointer;background:#fff;padding:10px 13px;font-size:11px;font-weight:700}.projectActions .primaryButton{background:var(--ink);color:#fff}.assessment{color:#fff;background:#1b2820;padding:100px 0}.sectionHead.inverse{align-items:end}.assessment .sectionIntro{color:#9aa69e}.quizGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quizGrid fieldset{border:1px solid #49564e;padding:18px}.quizGrid legend{padding:0 7px;font-size:13px;font-weight:700}.quizGrid legend span{color:var(--lime);font:11px var(--font-geist-mono);margin-right:9px}.quizGrid label{cursor:pointer;border:1px solid #425047;margin:7px 0;padding:9px;font-size:12px;display:block}.quizGrid label.correct{border-color:var(--lime);background:#31532e}.quizGrid label.wrong{border-color:var(--coral);background:#5a3028}.quizGrid input{margin-right:8px}.quizResult{align-items:center;gap:20px;margin-top:20px;display:flex}.quizResult button{background:var(--lime);cursor:pointer;border:0;padding:13px 20px;font-weight:700}.toolkit{grid-template-columns:repeat(3,1fr);gap:14px;padding:100px 0;display:grid}.toolPanel{border:1px solid var(--line);background:#fff;min-height:330px;padding:24px}.toolPanel h3{margin:12px 0 22px;font-size:22px}.searchPanel{position:relative}.searchPanel>input{border:1px solid var(--ink);width:100%;padding:12px}.searchResults{border:1px solid var(--ink);z-index:5;max-height:260px;box-shadow:5px 5px 0 var(--ink);background:#fff;position:absolute;top:145px;left:24px;right:24px;overflow:auto}.searchResults button{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;width:100%;padding:12px;display:block}.searchResults b,.searchResults small{display:block}.searchResults small{color:#68726c;margin-top:4px}.reviewList{padding:0;list-style:none}.reviewList li{border-bottom:1px solid var(--line);align-items:center;padding:10px 0;font-size:12px;display:flex}.reviewList button{background:var(--lime);cursor:pointer;border:0;margin-left:auto;padding:6px 8px;font-size:9px}.emptyText{color:#758079;font-size:12px;line-height:1.6}.exportButtons{gap:8px;display:grid}.accessibility{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.accessibility label{align-items:center;gap:8px;margin:11px 0;font-size:11px;display:flex}.accessibility button{border:1px solid var(--ink);cursor:pointer;background:#fff}.light-code .courseLab,.light-code .projectEditor,.light-code .playground{filter:invert(.88)hue-rotate(170deg)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:850px){.stats{grid-template-columns:repeat(2,1fr)}.projectStudio{grid-template-columns:1fr}.projectStudio>aside{border-right:0;border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.quizGrid,.toolkit{grid-template-columns:1fr}.toolPanel{min-height:auto}}@media (max-width:560px){.dashHead,.continueBar{flex-direction:column;align-items:flex-start}.continueBar a{margin-left:0}.stats{grid-template-columns:1fr 1fr}.projectStudio>aside{grid-template-columns:1fr}.projectStudio>article{padding:20px 14px}.projectBrief ul{display:block}.projectBrief li{margin:6px 0}.projectActions{flex-wrap:wrap}.sectionHead.inverse{display:block}.dashHead h2,.projects h2,.assessment h2{font-size:34px}}.aiSection{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:300px 1fr 1.15fr;align-items:center;gap:42px;padding:85px 0;display:grid;position:relative}.aiSection:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 12% 40%,#86b7ff47,#0000 26%),radial-gradient(circle at 85% 55%,#c8f1682e,#0000 28%);position:absolute;inset:20px -30px}.aiVisual{place-items:center;height:270px;display:grid;position:relative}.aiCore{width:122px;height:122px;color:var(--lime);border:1px solid var(--lime);z-index:2;background:linear-gradient(140deg,#17221b,#263f52);border-radius:50%;align-content:center;place-items:center;display:grid;box-shadow:0 0 0 14px #c8f1680f,0 0 45px #86b7ff80}.aiCore span{font-size:22px}.aiCore b{font:33px var(--font-geist-mono);line-height:1}.aiCore small{font:8px var(--font-geist-mono);letter-spacing:2px;color:#8bb9de}.orbit{border:1px dashed #86b7ffb3;border-radius:50%;position:absolute;transform:rotate(-23deg)}.orbitOne{width:220px;height:92px}.orbitTwo{border-color:#c8f16899;width:190px;height:160px;transform:rotate(54deg)}.signal{background:var(--ink);color:#d8e4db;font:9px var(--font-geist-mono);box-shadow:4px 4px 0 var(--coral);padding:8px 10px;position:absolute}.signal b{color:var(--lime);margin-left:6px}.signalOne{top:16px;right:-8px}.signalTwo{box-shadow:4px 4px 0 var(--lime);bottom:16px;left:-5px}.aiCopy{position:relative}.aiKicker{color:#4d86b6}.aiCopy h2{letter-spacing:-1.8px;margin:12px 0;font-size:36px;line-height:1.1}.aiCopy>p:not(.kicker){color:#5c6b63;line-height:1.75}.aiChips{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.aiChips button{color:#315f7d;cursor:pointer;background:#eef6fb;border:1px solid #6b8ca4;padding:9px 11px;font-size:11px}.aiChips button:hover{background:var(--blue);color:var(--ink)}.aiChat{background:#101c27;border:1px solid #47738e;border-radius:8px;min-height:300px;overflow:hidden;box-shadow:12px 12px #c7d8e1}.aiChatTop{color:#e1f3ff;background:#182c3a;border-bottom:1px solid #355469;justify-content:space-between;align-items:center;padding:16px 18px;font-size:12px;display:flex}.aiChatTop span{font-weight:700}.aiChatTop span i{background:var(--lime);width:7px;height:7px;box-shadow:0 0 8px var(--lime);border-radius:50%;margin-right:7px;display:inline-block}.aiChatTop small{font:9px var(--font-geist-mono);color:#91b3c5}.aiMessages{height:192px;padding:16px;overflow:auto}.aiMessages p{border-radius:5px;max-width:85%;margin:0 0 9px;padding:9px 11px;font-size:11px;line-height:1.55}.aiMessages p.ai{color:#d9edf8;border-left:2px solid var(--blue);background:#203847}.aiMessages p.user{background:var(--lime);color:var(--ink);margin-left:auto}.aiMessages p.thinking{color:#9dc5d7}.thinking i{letter-spacing:3px;color:var(--lime)}.aiChat form{border-top:1px solid #355469;display:flex}.aiChat input{color:#fff;background:#101c27;border:0;outline:0;flex:1;padding:14px;font-size:12px}.aiChat form button{background:var(--lime);color:var(--ink);cursor:pointer;border:0;padding:0 18px;font-weight:700}@media (max-width:1000px){.aiSection{grid-template-columns:260px 1fr}.aiChat{grid-column:1/-1;justify-self:center;width:100%;max-width:620px}}@media (max-width:560px){.aiSection{grid-template-columns:1fr;gap:28px;padding:65px 0}.aiVisual{height:220px}.aiCopy h2{font-size:31px}.aiChatTop{display:block}.aiChatTop small{margin-top:6px;display:block}.signalOne{right:5px}.signalTwo{left:10px}}
