@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
:root{--bg:#f6f7f2;--ink:#1e302b;--muted:#728078;--green:#235b43;--line:#dce2d8;--accent:#d9f59b;--surface:#fff;--on-green:#fff;--reading-width:44%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#111b17;--ink:#e5eee7;--muted:#a3b4a9;--green:#9bdaa9;--line:#35483c;--accent:#182d20;--surface:#1b2922;--on-green:#12251a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#111b17;--ink:#e5eee7;--muted:#a3b4a9;--green:#9bdaa9;--line:#35483c;--accent:#182d20;--surface:#1b2922;--on-green:#12251a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.65 DM Sans,sans-serif}h1,h2,h3,.brand{letter-spacing:-.045em;font-family:Space Grotesk,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px 14px}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){border-color:var(--green)}input,textarea,select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 Consolas,monospace}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:26px 5%;display:flex}.brand{align-items:center;gap:3px;font-size:23px;font-weight:700;display:flex}.logo{background:var(--green);color:var(--accent);border-radius:10px;margin-right:10px;padding:9px;font:700 21px monospace}.muted{color:var(--muted)}nav{align-items:center;gap:28px;font-size:13px;display:flex}.account{position:relative}.account-button{background:0 0}.account-message{background:var(--surface);z-index:20;width:380px;max-height:70vh;padding:20px;position:absolute;top:48px;right:0;overflow:auto;box-shadow:0 12px 60px #142e2426}.account-message>button{float:right}.conflict{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.skip{background:var(--surface);z-index:30;padding:10px;position:absolute;top:-100px;left:15px}.skip:focus{top:10px}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;max-width:1280px;margin:auto;padding:88px 4% 72px;display:grid}.eyebrow{letter-spacing:.15em;color:var(--green);font-size:10px;font-weight:700}h1{margin:20px 0;font-size:58px;font-weight:500;line-height:1.1}h1 em{color:var(--green);font-style:normal}.hero p{color:var(--muted);max-width:435px;font-size:16px;line-height:1.85}.primary{background:var(--green);color:var(--on-green);border:0;border-radius:7px;align-items:center;gap:30px;padding:12px 20px;font-size:13px;font-weight:600;display:inline-flex}.hero .primary{margin-top:20px}.hero-code{color:#e5ece4;background:#172b24;border-radius:14px;overflow:hidden;transform:rotate(-1deg);box-shadow:16px 22px var(--lightningcss-light,#e5eadf)var(--lightningcss-dark,#26372c)}.code-top{color:#86988b;border-bottom:1px solid #35473e;justify-content:space-between;padding:15px 20px;font-size:11px;display:flex}.hero-code pre{padding:22px 26px;font-size:13px}.comment{color:#859e90}.purple{color:#c8b9f2}.green{color:#d9f59b}.code-output{border-top:1px solid #35473e;margin:0 24px;padding:15px 0}.code-output span{letter-spacing:.15em;color:#859e90;font-size:9px}.hero-code .code-output p{color:#d9f59b;font:13px monospace}.code-note{color:#a2b2a6;background:#20392e;padding:13px 24px;font-size:11px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:center;gap:90px;padding:22px;font-size:12px;display:flex}.stats strong{color:var(--ink);margin-right:9px;font-family:Space Grotesk;font-size:24px;font-weight:500}.curriculum{max-width:1280px;margin:auto;padding:58px 4% 80px}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading h2{margin:8px 0;font-size:35px;font-weight:500}.section-heading p{color:var(--muted);margin:0}.search{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.search input{border:0;max-width:210px}.language-grid{grid-template-columns:repeat(6,1fr);gap:13px;margin-top:32px;display:grid}.language{text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 18px;transition:background .15s;display:flex}.language.selected{border:1px solid var(--green);background:var(--lightningcss-light,#eaf2df)var(--lightningcss-dark,#2b4130)}.language strong{font-size:17px}.language>span:last-child{color:var(--muted);justify-content:space-between;width:100%;font-size:10px;display:flex}.language-icon{color:#476074;background:#e6edec;border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:39px;padding:4px;font:700 18px Space Grotesk;display:flex}.language-icon.python{color:#84652a;background:#f2eacb}.language-icon.typescript{color:#3178b3;background:#e0ecf6}.language-icon.csharp{color:#8855a0;background:#eee3f4}.language-icon.go{color:#177e87;background:#dcf0ee}.language-icon.java{color:#b16a43;background:#f4e3d8}.level-tabs{border-bottom:1px solid var(--line);gap:26px;margin-top:40px;display:flex}.level-tabs button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:12px 0}.level-tabs button[aria-pressed=true]{border-bottom:2px solid var(--green);color:var(--green)}.level-tabs span{margin-right:7px;font-size:10px}.module-heading{justify-content:space-between;align-items:center;margin:24px 0 15px;display:flex}.module-heading h3{margin:0;font-size:21px}.module-heading>span{color:var(--muted);font-size:11px}.module-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.module-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;align-items:center;gap:18px;padding:20px;display:flex}.module-card:hover{border-color:var(--green);background:var(--lightningcss-light,#fcfdf9)var(--lightningcss-dark,#25372c)}.module-number{color:#8c9e8f;font:13px monospace}.module-card h3{letter-spacing:-.025em;margin:2px 0 3px;font-size:16px}.module-card .muted{font-size:11px}.card-kind{letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:9px}.arrow{color:var(--green);margin-left:auto}.practice-note{background:var(--lightningcss-light,#ecf0e6)var(--lightningcss-dark,#223328);border-left:3px solid #8cab73;margin-top:32px;padding:14px 20px;font-size:13px}.practice-note p{color:var(--muted);margin:4px 0}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:30px 5%;font-size:11px;display:flex}.lesson-page{max-width:1600px;margin:auto;padding:20px 3%}.breadcrumb{color:var(--muted);gap:12px;font-size:11px;display:flex}.lesson-heading{justify-content:space-between;align-items:center;gap:30px;margin:20px 0 30px;display:flex}.lesson-heading h1{margin:8px 0;font-size:35px}.lesson-heading label{color:var(--muted);font-size:11px}.lesson-heading select{min-width:150px;margin-top:5px;display:block}.workspace{border-top:1px solid var(--line);align-items:flex-start;display:flex;position:relative}.reading{width:var(--reading-width);overflow-wrap:anywhere;padding:24px 25px 20px 0}.reading h1{font-size:27px}.reading h2{margin-top:32px;font-size:23px}.reading h3{font-size:18px}.reading p,.reading li{font-size:13px}.reading a{color:var(--green);text-decoration:underline}.reading pre{background:var(--lightningcss-light,#e9ede4)var(--lightningcss-dark,#24372b);border-radius:8px;padding:18px;overflow:auto}.reading code{font-size:12px}.reading table{border-collapse:collapse;font-size:11px;display:block;overflow:auto}.reading td,.reading th{border:1px solid var(--line);padding:8px}.reading img{max-width:100%}.revision{color:var(--muted)}.resizer{border-left:1px solid var(--line);flex-shrink:0;align-self:stretch;width:18px;position:relative}.resizer label{width:16px;height:70px;font-size:0;display:block;position:sticky;top:15px}.resizer input{writing-mode:vertical-lr;width:14px;height:70px;accent-color:var(--green);padding:0}.practice{flex:1;min-width:0;max-height:calc(100vh - 20px);padding-top:20px;position:sticky;top:10px;overflow:auto}.activity-tabs{border-bottom:1px solid var(--line);gap:3px;display:flex}.activity-tabs button{background:0 0;border:0;border-radius:0;font-size:12px}.activity-tabs button[aria-selected=true]{border-bottom:2px solid var(--green);color:var(--green);font-weight:600}.editor-top{color:var(--muted);background:var(--lightningcss-light,#e9ede4)var(--lightningcss-dark,#242424);border-radius:8px 8px 0 0;justify-content:space-between;margin-top:12px;padding:10px 15px;font-size:10px;display:flex}.editor-shell{background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e1e1e)}.editor-loading{height:440px;color:var(--muted);margin:0;padding:25px}.editor-actions{flex-wrap:wrap;gap:7px;padding:12px 0;display:flex}.editor-actions button{padding:8px 12px;font-size:11px}.execution-note{color:var(--muted);margin:0 0 16px;font-size:11px}.stdin-label{font-size:12px;display:block}.stdin-label span{color:var(--muted);margin-left:10px;font-size:10px}.stdin-label textarea{resize:vertical;width:100%;margin-top:7px;font-family:monospace;display:block}.results{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-top:16px;padding:15px;font-size:12px}.results-title{letter-spacing:.08em;justify-content:space-between;font-size:10px;display:flex}.results-title span{color:var(--muted);letter-spacing:0}.results pre{background:var(--lightningcss-light,#f5f6f2)var(--lightningcss-dark,#142019);max-height:220px;padding:12px;overflow:auto}.pass{color:var(--lightningcss-light,#28714a)var(--lightningcss-dark,#97dfac)}.fail{color:var(--lightningcss-light,#b34437)var(--lightningcss-dark,#ff9a8b)}.help{padding:15px 0}.help h3{font-size:17px}.help button{font-size:11px}.help pre{background:var(--lightningcss-light,#edf1e5)var(--lightningcss-dark,#223328);padding:14px}.help details{margin-top:20px;font-size:12px}.help details pre{max-height:400px;overflow:auto}summary{cursor:pointer;margin:10px 0}.mobile-tabs{display:none}.checkpoint{background:var(--lightningcss-light,#edf1e5)var(--lightningcss-dark,#223328);border-radius:10px;padding:25px}.checkpoint pre{max-height:300px;overflow:auto}.lesson-end{color:var(--muted);justify-content:space-between;padding:35px 0;font-size:12px;display:flex}@media (max-width:950px){.hero{gap:35px;padding-top:55px}h1{font-size:43px}.stats{gap:25px}.language-grid{grid-template-columns:repeat(3,1fr)}.hero-code pre{font-size:11px}.header nav>a{display:none}.lesson-heading h1{font-size:27px}.module-card{gap:12px;padding:14px}}@media (max-width:700px){.hero{grid-template-columns:1fr;padding:40px 6%}.hero-code{margin:10px 10px 15px 0}.hero p{font-size:14px}h1{font-size:43px}.stats{flex-direction:column;gap:3px;padding:18px 6%}.stats strong{font-size:20px}.curriculum{padding:38px 6%}.section-heading{display:block}.section-heading h2{font-size:29px}.search{margin-top:20px}.search input{width:100%;max-width:none}.language-grid{gap:8px}.language{padding:12px}.level-tabs{gap:17px;overflow:auto}.level-tabs button{white-space:nowrap;font-size:11px}.module-heading{display:block}.module-heading>span{margin-top:6px;display:block}.module-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:10px}.brand{font-size:17px}.logo{padding:7px;font-size:16px}.account-button{padding:8px;font-size:10px}.account-message{width:min(340px,90vw)}.lesson-heading,.lesson-heading label{display:block}.lesson-heading select{width:100%}.mobile-tabs{gap:10px;margin-bottom:10px;display:flex}.mobile-tabs button{flex:1}.mobile-tabs button[aria-pressed=true]{background:var(--green);color:var(--on-green)}.workspace{display:block}.reading,.practice{width:100%;max-height:none;padding:16px 0;display:none;position:static}.mobile-active{display:block}.resizer,.lesson-end span{display:none}}.theme-button{white-space:nowrap;font-size:12px}@media (max-width:600px){header{flex-wrap:wrap;gap:12px}header nav{flex-wrap:wrap;gap:10px}}
