:root{--ink:#111827;--paper:#f4f3ed;--card:#fff;--muted:#667085;--line:#d9d9d0;--acid:#a3ff12;--violet:#7c5cff;--orange:#ff6b35;--blue:#46b5ff;--shadow:0 18px 60px rgba(17,24,39,.10);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;line-height:1.6}body.dark{--ink:#f5f7ee;--paper:#0d1118;--card:#171d27;--muted:#a7b0bf;--line:#303846;--shadow:0 18px 60px rgba(0,0,0,.35)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.section-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;background:var(--acid);color:#111827;padding:10px 16px;z-index:100}.skip-link:focus{top:10px}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 40px));margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13px;letter-spacing:.09em;text-decoration:none}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:var(--acid);font-weight:800;border-radius:8px}.site-header nav{display:flex;gap:28px}.site-header nav a{color:var(--muted);font-size:13px;text-decoration:none;font-weight:700}.site-header nav a:hover{color:var(--ink)}.theme-toggle{border:1px solid var(--line);background:var(--card);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;min-height:690px;padding-block:70px}.eyebrow{font:500 12px DM Mono,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 5px rgba(163,255,18,.2);margin-right:9px}.hero h1{font-size:clamp(48px,5.2vw,78px);line-height:1.02;letter-spacing:-.055em;margin:0}.hero h1 span{color:var(--violet)}.hero-lede{font-size:19px;color:var(--muted);max-width:600px;margin:28px 0 34px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid var(--ink);padding:13px 20px;font-size:13px;font-weight:800;text-decoration:none;border-radius:9px;cursor:pointer;transition:.2s}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--acid)}.button.secondary{color:var(--ink);background:transparent}.hero-proof{display:flex;gap:38px;margin-top:52px}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font:500 25px DM Mono}.hero-proof span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-visual{position:relative;background:var(--ink);padding:12px;border-radius:24px;box-shadow:var(--shadow);transform:rotate(1deg)}.visual-toolbar{height:34px;color:#8f9aad;font:10px DM Mono;display:flex;align-items:center;gap:6px;padding-inline:6px}.visual-toolbar i{width:8px;height:8px;border-radius:50%;background:#3b4556}.visual-toolbar span{margin-left:auto}.scene{height:480px;border-radius:15px;overflow:hidden;position:relative;background:linear-gradient(#414e73 0 48%,#d0ff79 49%,#87bf44);perspective:700px}.scene-grid{position:absolute;inset:49% -20% -20%;background:linear-gradient(90deg,rgba(17,24,39,.16) 1px,transparent 1px),linear-gradient(rgba(17,24,39,.16) 1px,transparent 1px);background-size:44px 44px;transform:rotateX(60deg);transform-origin:top}.sun{position:absolute;top:70px;right:80px;width:62px;height:62px;border-radius:50%;background:var(--acid);box-shadow:0 0 60px rgba(163,255,18,.55)}.mountain{position:absolute;clip-path:polygon(50% 0,100% 100%,0 100%);background:#69779c}.mountain.back{width:280px;height:190px;left:20px;top:100px}.mountain.front{width:330px;height:230px;right:-40px;top:100px;background:#252f48}.platform{position:absolute;height:22px;background:#232d42;border-top:7px solid #a3ff12;transform:skewY(-2deg);box-shadow:0 18px 22px rgba(0,0,0,.22)}.p1{width:180px;left:34px;bottom:90px}.p2{width:145px;right:45px;bottom:165px}.p3{width:120px;left:180px;bottom:250px}.player{position:absolute;width:46px;height:55px;left:92px;bottom:112px;background:var(--violet);border-radius:12px 12px 6px 6px;box-shadow:0 12px 16px rgba(0,0,0,.3)}.player:before,.player:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;top:13px}.player:before{left:9px}.player:after{right:9px}.player span{position:absolute;width:22px;height:4px;background:#111827;left:12px;top:34px}.coin{position:absolute;color:#fff25a;font-size:24px;text-shadow:0 0 12px #fff25a}.c1{left:215px;bottom:285px}.c2{right:90px;bottom:210px}.c3{right:150px;bottom:210px}.scene-hud{position:absolute;inset:15px 18px auto;display:flex;justify-content:space-between;color:#fff;font:11px DM Mono}.code-float{position:absolute;right:-28px;bottom:-28px;background:var(--card);border:1px solid var(--line);padding:16px 20px;border-radius:12px;box-shadow:var(--shadow);font:11px/1.7 DM Mono;color:var(--ink);transform:rotate(-2deg)}.code-float span{color:var(--violet)}.ticker{overflow:hidden;background:var(--acid);color:#111827;font:500 12px DM Mono;letter-spacing:.13em;padding:13px 0;white-space:nowrap}.ticker div{width:max-content;animation:scroll 24s linear infinite}.ticker i{margin:0 22px}@keyframes scroll{to{transform:translateX(-50%)}}.intro{padding:110px 0 45px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro h2,.section-heading h2,.quiz-intro h2,.planner h2,.sources h2{font-size:clamp(35px,4vw,55px);line-height:1.08;letter-spacing:-.04em;margin:0}.intro>p{font-size:17px;color:var(--muted);max-width:520px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:110px}.module-card{min-height:250px;padding:25px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);display:flex;flex-direction:column;transition:.25s}.module-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.module-card:nth-child(2){background:var(--acid);color:#111827}.module-card:nth-child(4){background:var(--violet);color:#fff}.module-card .module-top{display:flex;justify-content:space-between;font:11px DM Mono;color:inherit;opacity:.75}.module-icon{width:48px;height:48px;border:1px solid currentColor;border-radius:13px;display:grid;place-items:center;font-size:19px;margin:32px 0 20px}.module-card h3{font-size:20px;margin:0 0 7px}.module-card p{font-size:13px;opacity:.7;margin:0}.lesson-section{background:var(--ink);color:var(--paper);padding:110px 0}.lesson-shell{display:grid;grid-template-columns:300px 1fr;gap:90px}.lesson-nav{position:sticky;top:30px;align-self:start}.lesson-nav h2{font-size:34px;line-height:1.1;margin:0 0 26px}.lesson-meter{height:4px;background:#364151;margin-bottom:10px}.lesson-meter span{display:block;height:100%;background:var(--acid)}.lesson-nav>p{font:11px DM Mono;color:#8b96a7}.lesson-nav ol{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid #354050;counter-reset:item}.lesson-nav li{padding:12px 0 12px 34px;color:#8590a0;font-size:13px;position:relative}.lesson-nav li:before{counter-increment:item;content:"0" counter(item);position:absolute;left:0;font:10px DM Mono}.lesson-nav li.done{color:#aab4c2}.lesson-nav li.done:after{content:"✓";float:right;color:var(--acid)}.lesson-nav li.active{color:#fff;font-weight:700}.lesson-content .eyebrow{color:var(--acid)}.lesson-content>h2{font-size:46px;letter-spacing:-.04em;margin:0}.large-copy{font-size:18px;color:#aab4c2;max-width:740px}.lesson-content code{font-family:DM Mono;color:var(--acid)}.concept-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:45px 0}.concept-row div{border:1px solid #354050;padding:22px;border-radius:14px}.concept-row span{font:11px DM Mono;color:var(--acid)}.concept-row h3{margin:14px 0 5px}.concept-row p{font-size:12px;color:#8b96a7;margin:0}.code-window{background:#0b1017;border:1px solid #354050;border-radius:15px;overflow:hidden}.code-head{padding:13px 18px;border-bottom:1px solid #283241;display:flex;justify-content:space-between;font:11px DM Mono;color:#9fa9b8}.copy-code{border:0;background:none;color:var(--acid);cursor:pointer;font:11px DM Mono}.code-window pre{margin:0;padding:25px;overflow:auto;color:#d5dae2;font:13px/1.7 DM Mono}.kw{color:#e183ff}.type{color:#6fe5ff}.num{color:#ffb86b}.fn{color:#a3ff12}.callout{display:grid;grid-template-columns:150px 1fr;gap:20px;margin-top:20px;border-left:3px solid var(--acid);background:#18212d;padding:18px 22px;font-size:13px}.callout span{color:#9fa9b8}.lab{padding:115px 0}.section-heading{text-align:center;max-width:660px;margin:0 auto 50px}.section-heading>p:last-child{color:var(--muted)}.lab-layout{display:grid;grid-template-columns:240px 1fr;gap:18px}.challenge-list{display:flex;flex-direction:column;gap:8px}.challenge-tab{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--card);padding:12px;border-radius:10px;text-align:left;color:var(--ink);cursor:pointer}.challenge-tab span{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:var(--paper);font:10px DM Mono}.challenge-tab b{font-size:12px}.challenge-tab.active{background:var(--ink);color:var(--paper)}.challenge-tab.complete span{background:var(--acid);color:#111827}.challenge-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.challenge-top{display:flex;justify-content:space-between;font:10px DM Mono;color:var(--muted)}.difficulty{background:#eaffc9;color:#396500;padding:3px 8px;border-radius:10px}.challenge-panel h3{font-size:26px;margin:24px 0 5px}.challenge-panel>p{color:var(--muted);margin-top:0}.code-editor{background:#111827;color:#d9e0ea;border-radius:12px;padding:22px;overflow:auto;font:13px/1.75 DM Mono;min-height:180px;white-space:pre-wrap}.blank-token{color:#111827;background:var(--acid);padding:1px 5px;border-radius:3px}.answer-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:20px}.answer-row label{font-size:12px;font-weight:700}.answer-row input{min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px;border-radius:8px;font-family:DM Mono}.answer-row button{border:0;background:var(--violet);color:#fff;padding:12px 17px;border-radius:8px;font-weight:700;cursor:pointer}.feedback{min-height:24px;margin:12px 0!important;font-size:13px}.feedback.good{color:#3e9d1c}.feedback.bad{color:#df3b30}.challenge-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.text-button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.quiz-section{background:var(--violet);padding:110px 0}.quiz-intro{display:flex;justify-content:space-between;gap:50px;color:#fff;margin-bottom:45px}.quiz-intro .eyebrow{color:#d9d0ff}.quiz-intro>p{max-width:430px;color:#ded8ff}.quiz-card{background:var(--card);border-radius:24px;padding:36px;max-width:900px;margin:auto;box-shadow:0 22px 70px rgba(28,14,92,.25)}.quiz-status{display:flex;justify-content:space-between;font:11px DM Mono;color:var(--muted)}.quiz-progress{height:4px;background:var(--line);margin:15px 0 35px}.quiz-progress span{display:block;background:var(--acid);height:100%;transition:.3s}.quiz-topic{font:11px DM Mono;color:var(--violet);letter-spacing:.12em}.quiz-card h3{font-size:26px;line-height:1.3;max-width:720px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.answer{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:15px;text-align:left;border-radius:10px;cursor:pointer}.answer:hover,.answer.selected{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.answer.correct{border-color:#57b72c;background:#eaffdf;color:#173d08}.answer.wrong{border-color:#e45b50;background:#fff0ee;color:#72180f}.answer:disabled{cursor:default}.quiz-explanation{display:none;background:var(--paper);padding:14px;border-radius:9px;font-size:13px;color:var(--muted);margin-bottom:20px}.quiz-explanation.show{display:block}.quiz-next{margin-left:auto}.planner{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:115px 0}.planner-copy>p:not(.eyebrow){color:var(--muted)}.planner-copy ul{list-style:none;padding:0;margin-top:30px}.planner-copy li{margin:12px 0;font-size:13px}.planner-copy li:before{content:"✓";color:#3d8d15;background:var(--acid);border-radius:50%;padding:2px 5px;margin-right:9px}.plan-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:7px}.field.full,.plan-form .full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.field input,.field select{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:13px;border-radius:8px;outline:none}.field input:focus,.field select:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,92,255,.15)}.plan-result{display:none;border:1px solid #8dcf58;background:#efffe3;color:#204d09;padding:15px;border-radius:9px;font-size:13px}.plan-result.show{display:block}.sources{padding:30px 0 110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.source-links{border-top:1px solid var(--line)}.source-links a{display:flex;justify-content:space-between;gap:15px;padding:20px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.2s}.source-links a:hover{padding-left:12px}.source-links span{color:var(--muted);font-size:12px}.source-links b{font-size:13px}footer{border-top:1px solid var(--line);padding:35px 0}footer .section-shell{display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer a{font-size:11px;color:var(--muted)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{max-width:600px}.module-grid{grid-template-columns:repeat(2,1fr)}.lesson-shell{grid-template-columns:1fr}.lesson-nav{position:static}.lab-layout{grid-template-columns:1fr}.challenge-list{display:grid;grid-template-columns:repeat(4,1fr)}.challenge-tab b{display:none}.planner,.sources{grid-template-columns:1fr}.site-header nav{display:none}}@media(max-width:600px){.section-shell{width:min(100% - 26px,1180px)}.hero{padding-block:55px;gap:45px}.hero h1{font-size:46px}.hero-actions{flex-direction:column;align-items:stretch}.hero-proof{gap:18px;justify-content:space-between}.scene{height:360px}.code-float{display:none}.intro{grid-template-columns:1fr;gap:10px;padding-top:80px}.module-grid{grid-template-columns:1fr}.lesson-section,.lab,.quiz-section,.planner{padding-block:80px}.lesson-content>h2{font-size:38px}.concept-row{grid-template-columns:1fr}.code-window pre{font-size:11px}.callout{grid-template-columns:1fr}.challenge-list{grid-template-columns:repeat(4,1fr)}.challenge-tab{justify-content:center}.challenge-panel{padding:20px}.answer-row{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.quiz-intro{flex-direction:column}.quiz-card{padding:24px}.plan-form{grid-template-columns:1fr;padding:20px}.field.full,.plan-form .full{grid-column:auto}.sources{padding-bottom:80px}footer .section-shell{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
