:root{color-scheme:dark;--bg:#080a0b;--bg-soft:#0e1113;--surface:#121618;--surface-strong:#181d20;--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.18);--text:#f3f5f4;--muted:#9aa4a0;--faint:#66706c;--green:#10a37f;--orange:#ff8a3d;--blue:#5ba7ff;--danger:#ff5f57;--shadow:0 24px 80px rgba(0,0,0,.42);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(hsla(0,0%,100%,.025) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 1px),var(--bg);background-size:36px 36px;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;letter-spacing:0}a,button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.page-shell{min-height:100vh;overflow-x:hidden}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;gap:18px;padding:14px clamp(16px,4vw,48px);border-bottom:1px solid var(--line);background:rgba(8,10,11,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.eyebrow,.header-actions,.hero-actions,.legend,.modal-actions,.site-header,.top-nav{display:flex;align-items:center}.brand{min-width:max-content;gap:10px;font-weight:760}.brand-mark,.icon-button,.lesson-number,.module-icon{display:inline-flex;align-items:center;justify-content:center}.brand-mark{width:34px;height:34px;border-radius:8px;background:transparent;color:inherit;overflow:hidden}.top-nav{gap:18px;color:var(--muted);font-size:.92rem}.top-nav a:hover{color:var(--text)}.header-actions{gap:8px}.language-select{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:hsla(0,0%,100%,.04);color:var(--muted)}.language-select select{width:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:var(--text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;border-radius:var(--radius);border:1px solid transparent;color:var(--text);white-space:nowrap;transition:transform .14s ease,border-color .14s ease,background .14s ease}.button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.button:hover{transform:translateY(-1px)}.button-solid{background:var(--green);color:#04100d;font-weight:720;box-shadow:0 0 28px rgba(16,163,127,.18)}.button-outline{border-color:var(--line-strong);background:hsla(0,0%,100%,.045)}.button-ghost{border-color:var(--line);background:hsla(0,0%,100%,.02);color:var(--muted)}.button-large{min-height:44px;padding-inline:18px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);grid-gap:clamp(24px,5vw,68px);gap:clamp(24px,5vw,68px);align-items:center;max-width:1220px;margin:0 auto;padding:clamp(46px,8vw,86px) clamp(16px,4vw,48px) 32px}.hero-copy h1{max-width:760px;margin:16px 0 18px;font-size:clamp(2.55rem,6vw,5.25rem);line-height:.98;letter-spacing:0;overflow-wrap:anywhere}.footer,.hero-copy p,.modal-copy,.module-title p,.progress-band p,.section-heading p{color:var(--muted)}.hero-copy p{max-width:760px;margin:0;font-size:clamp(1.04rem,2vw,1.24rem);line-height:1.65}.eyebrow{flex-wrap:wrap;gap:8px;color:#d5fff1;font-size:.92rem}.dot{width:5px;height:5px;border-radius:50%;background:var(--orange)}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));grid-gap:10px;gap:10px;margin-top:30px;max-width:640px}.fact{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:hsla(0,0%,100%,.035)}.fact strong{display:block;font-size:1.28rem}.fact span{display:block;margin-top:3px;color:var(--muted);font-size:.85rem}.codex-visual{min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(180deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02));box-shadow:var(--shadow);overflow:hidden}.visual-toolbar{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.22)}.visual-toolbar span{width:10px;height:10px;border-radius:50%;background:var(--danger)}.visual-toolbar span:nth-child(2){background:var(--orange)}.visual-toolbar span:nth-child(3){background:var(--green)}.visual-toolbar strong{margin-left:6px;color:var(--muted);font-size:.82rem;font-weight:650}.visual-grid{display:grid;grid-template-columns:160px 1fr;min-height:282px}.visual-sidebar{display:flex;flex-direction:column;gap:8px;padding:16px;border-right:1px solid var(--line);background:rgba(0,0,0,.18);color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.visual-sidebar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-sidebar .active{color:var(--text)}.lesson-terminal,.visual-terminal{padding:18px;color:#d6f6e8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.75;overflow-wrap:anywhere}.lesson-terminal p,.visual-terminal p{margin:0 0 10px}.lesson-terminal span,.visual-terminal span{color:var(--green)}.muted{color:var(--faint)}.cursor:after{display:inline-block;width:7px;height:1em;margin-left:5px;background:var(--green);content:"";vertical-align:-2px;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.visual-review{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:rgba(16,163,127,.08);color:var(--green)}.visual-review div{display:grid;grid-gap:2px;gap:2px}.visual-review span{color:var(--muted);font-size:.85rem}.course-section,.goal-section,.pricing-band,.progress-band{max-width:1220px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}.progress-band{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(0,420px);grid-gap:18px;gap:18px;align-items:center;padding-top:18px;padding-bottom:28px}.progress-band div:first-child{display:flex;align-items:baseline;gap:9px}.progress-band span{color:var(--muted)}.progress-band strong{font-size:1.2rem}.progress-track{height:8px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.04)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--orange))}.progress-band p{margin:0;font-size:.9rem;line-height:1.45}.course-section,.goal-section{padding-top:36px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.pricing-band h2,.section-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;letter-spacing:0}.pricing-band p,.section-heading p{max-width:680px;margin:8px 0 0;line-height:1.55}.legend{flex-wrap:wrap;gap:8px}.legend span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:.86rem}.module-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.module-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:rgba(18,22,24,.86)}.module-card:before{position:absolute;inset:0 0 auto;height:3px;background:var(--green);content:""}.module-card.accent-orange:before{background:var(--orange)}.module-card.accent-blue:before{background:var(--blue)}.module-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:18px 18px 10px}.module-icon{width:44px;height:44px;border:1px solid rgba(16,163,127,.28);border-radius:var(--radius);background:rgba(16,163,127,.1);color:var(--green)}.accent-orange .module-icon{border-color:rgba(255,138,61,.3);background:rgba(255,138,61,.1);color:var(--orange)}.accent-blue .module-icon{border-color:rgba(91,167,255,.3);background:rgba(91,167,255,.1);color:var(--blue)}.module-title{min-width:0}.module-title span{color:var(--faint);font-size:.82rem}.module-title h3{margin:2px 0 6px;font-size:1.13rem;line-height:1.25}.module-title p{margin:0;line-height:1.45;font-size:.92rem}.module-progress{text-align:right}.module-progress strong{display:block;font-size:1rem}.module-progress span{color:var(--faint);font-size:.78rem}.test-out{display:inline-flex;align-items:center;gap:6px;min-height:30px;margin:0 18px 12px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:hsla(0,0%,100%,.03);color:var(--muted);font-size:.84rem}.lesson-list{border-top:1px solid var(--line)}.lesson-row{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;grid-gap:11px;gap:11px;align-items:center;width:100%;min-height:54px;padding:9px 14px;border:0;border-bottom:1px solid hsla(0,0%,100%,.06);background:transparent;color:var(--text);text-align:left}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:hsla(0,0%,100%,.035)}.lesson-number{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.lesson-main span{overflow-wrap:anywhere;line-height:1.25}.lesson-main small{color:var(--faint);font-size:.76rem}.lesson-action{display:inline-flex;color:var(--muted)}.lesson-row.is-done .lesson-action,.lesson-row.is-done .lesson-number{border-color:transparent;color:var(--green)}.pricing-band{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:38px;padding-top:26px;padding-bottom:26px;border-block:1px solid var(--line)}.goal-section{padding-bottom:28px}.outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.outcome{display:flex;gap:10px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:hsla(0,0%,100%,.03);line-height:1.45}.outcome svg{flex:0 0 auto;color:var(--green)}.footer{display:flex;justify-content:space-between;gap:16px;max-width:1220px;margin:0 auto;padding:34px clamp(16px,4vw,48px) 46px;border-top:1px solid var(--line);font-size:.9rem}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-panel{width:min(94vw,460px);max-height:min(720px,88vh);overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 10px}.modal-header h2{margin:0;font-size:1.25rem;line-height:1.25}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius);background:hsla(0,0%,100%,.03);color:var(--muted)}.modal-copy{margin:0;padding:0 16px 14px;line-height:1.55}.qr-panel{display:grid;place-items:center;padding:8px 16px 16px}.fake-qr,.qr-loading,.qr-panel img{width:224px;height:224px;border-radius:var(--radius)}.qr-panel img{background:#fff}.qr-loading{border:1px solid var(--line);background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.11),hsla(0,0%,100%,.05));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.fake-qr{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);grid-gap:5px;gap:5px;padding:16px;border:1px solid var(--line);background:#f7faf8}.fake-qr span{border-radius:2px;background:#dbe4df}.fake-qr span.filled{background:#0a1210}.fake-qr strong{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);min-width:78px;padding:7px 9px;border-radius:var(--radius);background:#f7faf8;color:#0a1210;text-align:center;font-size:.8rem}.notice{display:grid;grid-gap:6px;gap:6px;margin:0 16px 14px;padding:12px;border:1px solid rgba(255,138,61,.32);border-radius:var(--radius);background:rgba(255,138,61,.08);color:#ffd5bd;line-height:1.45}.notice span{color:var(--muted);font-size:.9rem}.modal-actions{justify-content:flex-end;gap:10px;padding:0 16px 16px}.lesson-terminal{margin:0 16px 16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(0,0,0,.24)}.lesson-page{min-height:100vh;background:radial-gradient(circle at 18% 0,rgba(16,163,127,.13),transparent 28rem),linear-gradient(hsla(0,0%,100%,.025) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 1px),var(--bg);background-size:auto,36px 36px,36px 36px}.lesson-page.accent-orange{background:radial-gradient(circle at 18% 0,rgba(255,138,61,.13),transparent 28rem),linear-gradient(hsla(0,0%,100%,.025) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 1px),var(--bg);background-size:auto,36px 36px,36px 36px}.lesson-page.accent-blue{background:radial-gradient(circle at 18% 0,rgba(91,167,255,.13),transparent 28rem),linear-gradient(hsla(0,0%,100%,.025) 1px,transparent 1px),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,transparent 1px),var(--bg);background-size:auto,36px 36px,36px 36px}.lesson-header{position:-webkit-sticky;position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,44px);border-bottom:1px solid var(--line);background:rgba(8,10,11,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lesson-header-actions{display:flex;align-items:center;gap:8px}.lesson-shell{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:24px;gap:24px;max-width:1180px;margin:0 auto;padding:26px clamp(16px,4vw,44px) 54px}.lesson-sidebar{position:-webkit-sticky;position:sticky;top:84px;align-self:start;display:grid;grid-gap:12px;gap:12px;max-height:calc(100vh - 104px)}.lesson-block,.lesson-hero-card,.lesson-nav-card,.lesson-progress-card,.locked-panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(18,22,24,.88)}.lesson-progress-card{display:grid;grid-gap:9px;gap:9px;padding:14px}.lesson-progress-card span{color:var(--muted);font-size:.86rem}.lesson-progress-card strong{font-size:1.35rem}.mini-map{display:grid;grid-gap:5px;gap:5px;overflow:auto;padding-right:4px}.mini-map a{display:grid;grid-template-columns:36px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;min-height:38px;padding:7px 9px;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);background:hsla(0,0%,100%,.025)}.mini-map a.active,.mini-map a:hover{border-color:var(--line-strong);color:var(--text);background:hsla(0,0%,100%,.055)}.mini-map a.done span{color:var(--green)}.mini-map span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.mini-map small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-content{display:grid;grid-gap:14px;gap:14px;min-width:0}.lesson-hero-card{padding:clamp(18px,4vw,34px)}.lesson-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.9rem}.pill{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-weight:720}.pill.free{background:rgba(16,163,127,.12);color:#8af2d0}.pill.paid{background:rgba(255,138,61,.13);color:#ffc7a6}.lesson-hero-card h1{margin:14px 0 10px;font-size:clamp(2rem,5vw,4.1rem);line-height:1;letter-spacing:0}.lesson-hero-card p{max-width:760px;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.65}.lesson-block{padding:18px}.block-title{display:flex;align-items:center;gap:10px;color:var(--green)}.accent-orange .block-title{color:var(--orange)}.accent-blue .block-title{color:var(--blue)}.block-title h2{margin:0;font-size:1.15rem}.lesson-block ol,.lesson-block ul{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0;padding:0;list-style:none;color:var(--text)}.lesson-block li{position:relative;padding-left:24px;color:var(--muted);line-height:1.55}.lesson-block li:before{position:absolute;left:0;top:.58em;width:8px;height:8px;border-radius:50%;background:var(--green);content:""}.accent-orange .lesson-block li:before{background:var(--orange)}.accent-blue .lesson-block li:before{background:var(--blue)}.terminal-block pre{overflow:auto;margin:16px 0 0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(0,0,0,.28);color:#d6f6e8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.7}.locked-panel{display:grid;justify-items:start;grid-gap:12px;gap:12px;padding:clamp(20px,5vw,34px);background:rgba(255,138,61,.08)}.locked-panel svg{color:var(--orange)}.locked-panel h2{margin:0;font-size:1.55rem}.locked-panel p{max-width:620px;margin:0;color:var(--muted);line-height:1.6}.lesson-actions-row{display:flex;justify-content:flex-end}.lesson-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.lesson-nav-card{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;color:var(--text)}.lesson-nav-card:last-child{justify-content:flex-end;text-align:right}.lesson-nav-card small{display:block;color:var(--faint);font-size:.78rem}.lesson-nav-card strong{display:block;margin-top:3px;overflow-wrap:anywhere}.lesson-nav-empty{min-height:76px}@media (max-width:980px){.site-header{align-items:flex-start}.top-nav{display:none}.hero{grid-template-columns:1fr;padding-top:36px}.codex-visual{max-width:720px}.lesson-shell,.module-list,.outcome-grid,.progress-band{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:none}.mini-map{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}}@media (max-width:680px){body{font-size:15px}.page-shell{width:100%}.site-header{position:static;flex-wrap:wrap;width:100%;max-width:100vw;overflow:hidden}.header-actions{display:grid;grid-template-columns:minmax(98px,108px) minmax(0,1fr);width:100%;max-width:330px;justify-content:stretch}.header-actions .button-ghost{display:none}.header-actions .button-solid{width:100%;min-width:0;padding-inline:10px}.language-select{min-width:0}.hero{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100vw;margin:0;padding-inline:20px;overflow:hidden}.hero-copy{min-width:0}.hero-copy,.hero-copy h1{width:100%;max-width:330px}.hero-copy h1{font-size:clamp(2.05rem,11vw,2.55rem);word-break:break-word}.eyebrow,.hero-actions,.hero-copy p{width:100%;max-width:330px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-stats{width:100%;max-width:330px;grid-template-columns:1fr}.fact{min-width:0}.codex-visual{width:100%;max-width:330px}.visual-grid{grid-template-columns:1fr}.visual-sidebar{display:none}.footer,.pricing-band,.section-heading{flex-direction:column;align-items:flex-start}.module-top{grid-template-columns:42px minmax(0,1fr)}.module-progress{grid-column:1/-1;display:flex;gap:6px;text-align:left}.lesson-row{grid-template-columns:30px minmax(0,1fr) 24px;padding-inline:12px}.button{max-width:100%}.lesson-header{position:static;flex-wrap:wrap}.lesson-header-actions{display:grid;grid-template-columns:108px minmax(0,1fr);width:100%}.lesson-header-actions .button{min-width:0}.lesson-shell{padding-inline:20px}.lesson-nav,.mini-map{grid-template-columns:1fr}.lesson-nav-card:last-child{justify-content:flex-start;text-align:left}}@media (max-width:430px){.codex-visual,.eyebrow,.header-actions,.hero-actions,.hero-copy,.hero-copy h1,.hero-copy p,.hero-stats{width:100%;max-width:330px}}