/* Platform surfaces extend the original warm, quiet green identity. */
:root{--paper:#fcfcf7;--error:#a2382f;--shadow:0 12px 35px #162e2b0b}button:disabled{cursor:not-allowed;opacity:.55}button,a,input{touch-action:manipulation}.skip-link{position:absolute;left:15px;top:-80px;padding:12px;background:var(--ink);color:white;z-index:30}.skip-link:focus{top:10px}header{gap:24px}nav{align-items:center;flex-wrap:wrap;gap:24px}nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:6px}.nav-account{border:1px solid var(--line);background:transparent;border-radius:5px;padding:9px 14px;color:var(--ink);font-size:13px}.platform-main{padding:52px 35px 72px;min-height:75vh}.platform-main:focus{outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:35px}.page-heading h1{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-2px;margin:17px 0}.page-heading p{max-width:650px;line-height:1.8;color:var(--muted);font-size:15px}.page-heading>.primary{white-space:nowrap}.path-note{display:flex;gap:25px;flex-wrap:wrap;padding:18px 0 30px;color:var(--muted);font-size:12px}.path-note>span:last-child{margin-left:auto}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.module-card{padding:27px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.module-meta{display:flex;align-items:center;justify-content:space-between}.module-number{font:13px monospace;background:#e9eddf;padding:10px;border-radius:5px;color:var(--green)}.module-card h2{font-size:25px;letter-spacing:-1px;margin:22px 0 10px}.module-card>p{font-size:14px;line-height:1.8;color:var(--muted);min-height:50px}.module-progress{display:flex;align-items:center;gap:12px;font:11px monospace;color:var(--muted);margin:15px 0}.module-progress progress{margin:0}.module-lessons{border-top:1px solid var(--line);margin-top:22px;padding-top:5px}.lesson-row{display:flex;align-items:center;gap:13px;font-size:14px;padding:14px 0;border-bottom:1px solid #e9eddf}.lesson-row:last-child{border-bottom:0}.lesson-row>span:nth-child(2){flex:1}.lesson-row small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.lesson-indicator{font:11px monospace;width:27px;color:var(--muted)}.lesson-row.complete .lesson-indicator{color:var(--green);font-size:18px}.lesson-row:hover{color:var(--green)}.text-link{font-size:13px;color:var(--green);font-weight:600}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9c6b7;padding:13px 18px;border-radius:5px;background:transparent;color:var(--green);font-size:13px;font-weight:600;cursor:pointer}.secondary:hover{background:#e8efdf}.button-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.small{padding:9px 12px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper);margin-bottom:27px}.stats-grid>div{padding:25px;border-right:1px solid var(--line)}.stats-grid>div:last-child{border:0}.stats-grid span{font:10px monospace;letter-spacing:.8px;color:var(--muted)}.stats-grid strong{display:block;font-family:'Space Grotesk',system-ui,sans-serif;font-size:36px;font-weight:500;margin-top:14px}.stats-grid small{font-size:17px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.panel{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:29px;box-shadow:var(--shadow)}.platform-main section.panel{padding:29px}.panel h2{font-size:26px;letter-spacing:-.9px;margin:14px 0}.panel p{font-size:14px;color:var(--muted);line-height:1.8}.continue-panel{background:var(--ink);color:#f3f5e8}.continue-panel .eyebrow{color:var(--lime)}.continue-panel p,.continue-panel .overall-progress{color:#c5d6c7}.continue-panel .primary{background:var(--lime);color:var(--ink);margin:18px 0}.overall-progress{font-size:11px}.overall-progress progress{display:block;margin:12px 0}.review-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;font-size:13px;gap:10px}.review-row>span{font-size:12px;color:var(--green)}.empty-note{padding:15px;background:#edf0e6;border-radius:5px}.module-summary{margin-top:25px}.module-summary .section-top{margin-bottom:15px}.summary-row{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.summary-row>span:nth-child(2){flex:1}.summary-row progress{width:25%;margin:0}.summary-row small{font:12px monospace;color:var(--muted)}.data-panel{margin-top:25px;display:flex;justify-content:space-between;align-items:center;gap:30px}.data-panel h2{font-size:22px}.data-panel .button-row{max-width:400px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-button:focus-within{outline:3px solid #679c30;outline-offset:4px}.destructive{color:var(--error)}.danger{background:var(--error)}.lab-heading{display:flex;align-items:center;gap:18px;margin-bottom:23px;flex-wrap:wrap}.lab-heading .back-link{margin-right:auto}.back-link{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:12px}.lab-heading .back-link{margin-bottom:0}.learning-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.lesson-sidebar{padding:25px 19px;background:#edf0e6}.lesson-sidebar h2{font-size:22px;letter-spacing:-.7px;line-height:1.2;margin:15px 0 25px}.sidebar-lesson{display:flex;align-items:center;gap:12px;padding:13px 11px;margin-bottom:6px;border-radius:5px;font-size:12px;line-height:1.5}.sidebar-lesson span{font-family:monospace;min-width:15px}.sidebar-lesson.selected{background:var(--ink);color:white}.sidebar-bottom{margin-top:36px}.sidebar-bottom progress{margin-top:9px}.lesson-body{min-width:0;padding:30px}.platform-main section.lesson-body{padding:30px}.lesson-task h1{font-size:32px;letter-spacing:-1.2px;margin:18px 0}.concept{background:#edf0e6;border-left:3px solid #adc58e;padding:14px 18px;margin:20px 0}.concept strong{font-size:12px;color:var(--green)}.concept p{font-size:13px;line-height:1.8;margin:5px 0;color:var(--muted)}.task-description{font-size:16px;line-height:1.8;margin:24px 0}.lesson-task .fine{margin:0}.hint-box{background:#fff4d9;padding:8px 18px;border-radius:5px;margin-top:15px;font:12px/1.9 monospace;color:#635520}.hint-box p{white-space:pre-wrap}.terminal .simulation-label{margin-left:auto;font-size:9px;letter-spacing:1px;color:#b9ccba}.terminal .terminal-bar button{margin-left:0}.lesson-body .terminal{margin-top:25px}.lesson-body .terminal pre{height:240px;max-height:350px;font-size:12px}.terminal-help{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:10px;margin-top:5px}.lab-feedback{font-size:13px;line-height:1.8;color:var(--green);min-height:22px;margin:14px 0}.filesystem{margin-top:23px;border:1px solid var(--line);border-radius:5px;font-size:12px}.filesystem summary{cursor:pointer;padding:14px;color:var(--green)}.filesystem pre{height:auto;max-height:260px;font-size:11px;color:var(--muted);padding-top:0}.lab-limit{margin-top:20px}.completion-card{background:#eaf0df;border:1px solid #c9dbb6;border-radius:8px;padding:24px;margin-top:20px}.completion-top{display:flex;align-items:center;gap:15px}.completion-check{background:var(--green);color:white;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}.completion-top .eyebrow{font-size:9px}.completion-top h2{font-size:26px;margin:7px 0}.completion-top>strong{margin-left:auto;font:22px 'Space Grotesk',system-ui,sans-serif;white-space:nowrap}.completion-top small{display:block;font:10px monospace;color:var(--muted)}.completion-card>p{font-size:13px;line-height:1.9;color:var(--muted)}.completion-card .primary{padding:12px 16px}.completion-card .fine{font-size:10px}.paywall{text-align:center;padding:65px 25px;max-width:750px;margin:auto}.paywall-icon{display:inline-grid;place-items:center;padding:15px 22px;background:var(--ink);color:var(--lime);font:30px monospace;border-radius:12px;margin-bottom:32px}.paywall h1{font-size:60px;letter-spacing:-3px}.paywall>p{max-width:560px;margin:25px auto;line-height:1.9;color:var(--muted)}.paywall .button-row{justify-content:center}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:20px}.price-card{position:relative;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:29px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.price-card.featured{border-color:var(--green);background:#edf2e4}.price-badge{position:absolute;top:-16px;left:23px;right:23px;text-align:center;background:var(--green);color:white;border-radius:4px;padding:8px;font:10px monospace;letter-spacing:1px}.price-card h2{font-size:23px;margin:20px 0 16px}.price{font-size:34px;font-weight:600;letter-spacing:-1px}.price small{font-weight:400;font-size:12px;color:var(--muted);letter-spacing:0}.price-card p{font-size:13px;line-height:1.8;color:var(--muted)}.price-card ul{list-style:none;margin:20px 0 30px;padding:0;flex:1}.price-card li{font-size:12px;line-height:1.7;margin-bottom:14px;padding-left:19px;position:relative}.price-card li:before{content:'✓';position:absolute;left:0;color:var(--green)}.price-card .primary,.price-card .secondary{justify-content:center;gap:10px;padding:13px 15px}.price-card .fine{font-size:10px}.pricing-note{text-align:center;font-size:13px;color:var(--muted);line-height:1.8;padding:30px}.pricing-note a{text-decoration:underline}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:25px;border-top:1px solid var(--line);padding-top:35px}.faq-grid h2{font-size:22px}.faq-grid p{color:var(--muted);font-size:14px;line-height:1.9}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stack-form{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:15px;font:14px system-ui,sans-serif}.stack-form label{display:flex;flex-direction:column;gap:8px;color:var(--ink);white-space:normal;font-size:12px;font-weight:600}.stack-form input{padding:12px 13px;background:#fffef9;border:1px solid #b9c6b7;border-radius:5px;color:var(--ink);font:14px system-ui,sans-serif;min-width:0;width:100%}.stack-form button.primary{padding:13px 20px;font-size:13px;color:white;background:var(--green);align-self:start}.stack-form .secondary{font:13px system-ui,sans-serif;padding:12px;background:transparent;color:var(--error);border:1px solid #d8aaa0}.stack-form .fine{font-size:11px;font-weight:400;margin:0}.form-error{color:var(--error)!important;font:12px/1.7 system-ui,sans-serif;min-height:0;margin:0}.auth-dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:40px;width:470px;max-width:calc(100vw - 30px);max-height:90vh;box-shadow:0 25px 100px #0004}.auth-dialog::backdrop{background:#102b2477;backdrop-filter:blur(3px)}.auth-dialog h2{font-size:30px;letter-spacing:-1px;margin:16px 0}.auth-dialog p{font-size:13px;line-height:1.8;color:var(--muted)}.close-dialog{position:absolute;right:15px;top:10px;font-size:28px;line-height:1;background:transparent;color:var(--muted);border:0;padding:6px}.auth-tabs{display:flex;gap:5px;background:#e9eddf;border-radius:5px;padding:4px;margin:25px 0}.auth-tabs button{flex:1;border:0;border-radius:4px;background:transparent;padding:10px;color:var(--muted);font-size:12px}.auth-tabs .active{background:var(--paper);color:var(--ink);box-shadow:0 1px 5px #0001}.auth-dialog .fine{font-size:11px}.auth-dialog .fine a{text-decoration:underline}.auth-dialog>form[method=dialog]{padding:15px 0 0;display:block}.recovery-key{height:auto;padding:16px;background:#e9eddf;border-radius:5px;font:12px/1.9 monospace;word-break:break-all;white-space:pre-wrap;user-select:all}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:50;background:var(--ink);color:white;box-shadow:0 8px 35px #0002;border-radius:7px;font-size:13px;line-height:1.7;padding:14px 23px;max-width:min(600px,calc(100vw - 30px));width:max-content}.loading-state,.empty-state{padding:70px 20px;min-height:350px;text-align:center;color:var(--muted)}.empty-state h1{font-size:40px;letter-spacing:-2px;color:var(--ink)}.empty-state .primary{margin:20px}.article-page{max-width:900px;padding:65px 35px 80px}.article-page h1{font-size:clamp(38px,5vw,60px);letter-spacing:-2.5px;margin:25px 0;line-height:1.1}.article-page .intro{font-size:18px;color:var(--muted);line-height:1.9;max-width:700px}.article-page .prose-section{padding:15px 0}.prose-section h2,.prose-policy h2{font-size:27px;letter-spacing:-1px;margin-top:30px}.prose-section p,.prose-policy p{font-size:15px;line-height:1.9;color:var(--muted)}.code-example{height:auto;background:var(--ink);color:var(--lime);padding:20px;border-radius:6px;font:13px/1.9 monospace}.callout{background:#eaf0df;padding:30px;border-radius:9px;margin-top:35px}.callout h2{font-size:27px}.callout p{font-size:14px;line-height:1.8;color:var(--muted)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.guide-card{border:1px solid var(--line);border-radius:8px;padding:25px;background:var(--paper)}.guide-card h2{font-size:25px;letter-spacing:-1px}.guide-card p{color:var(--muted);font-size:14px;line-height:1.8}.guide-card>span:last-child{font-size:13px;color:var(--green);font-weight:600}.hero-split{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;align-items:center}.hero-split h1{font-size:clamp(43px,5.2vw,66px);letter-spacing:-3.2px}.hero-copy>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:540px}.hero-preview{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:25px;box-shadow:0 25px 65px #162e2b12;transform:rotate(1deg)}.hero-preview>.preview-title{margin:18px 0 10px;font-size:22px;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;letter-spacing:-.6px}.hero-preview>p{font-size:13px;line-height:1.8;color:var(--muted)}.hero-preview .terminal pre{height:auto;min-height:130px}.preview-status{margin-top:18px;padding:12px;background:#eaf0df;color:var(--green);font-size:12px;border-radius:5px}.preview-status span{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.home-proof{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:25px 35px;font-size:12px;color:var(--muted)}.home-proof strong{color:var(--ink)}.home-modules{grid-template-columns:repeat(3,1fr)}.home-modules article{padding:23px}.home-modules h3{font-size:22px}.home-modules p{min-height:64px}.home-learning-loop{background:#eaf0df;border-radius:10px;margin:30px 35px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.loop-steps{display:grid;gap:16px}.loop-step{border-bottom:1px solid #cdd7bf;padding-bottom:15px;display:flex;gap:18px}.loop-step>span{font:16px monospace;color:var(--green);padding-top:3px}.loop-step h3{font-size:17px;margin:0 0 8px}.loop-step p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.home-prose{display:grid;grid-template-columns:1fr 1fr;gap:40px}.home-prose h2{font-size:27px}.home-prose p{font-size:14px;line-height:1.9;color:var(--muted)}footer>div{display:flex;gap:8px;flex-wrap:wrap}.home-guide-link{font-size:14px;color:var(--green);text-decoration:underline}
@media(max-width:1000px){header{align-items:start}nav{gap:15px;font-size:12px}.page-heading{align-items:start;flex-direction:column;gap:15px}.pricing-grid{gap:12px}.price-card{padding:23px 18px}.price{font-size:28px}.learning-workspace{grid-template-columns:200px minmax(0,1fr)}.stats-grid>div{padding:21px 18px}.hero-split{gap:25px;grid-template-columns:1.2fr 1fr}.hero-preview{padding:20px}.hero-split h1{letter-spacing:-2px}.hero-preview pre{font-size:11px}.home-proof{flex-wrap:wrap}}
@media(max-width:750px){header{padding:18px 20px;flex-wrap:wrap;gap:17px}header nav{width:100%;gap:16px;justify-content:start}header nav a:first-child{display:inline}.nav-account{margin-left:auto;padding:7px 10px}.platform-main{padding:35px 20px 45px}.module-grid,.dashboard-grid,.account-grid,.pricing-grid,.faq-grid,.guide-grid{grid-template-columns:1fr}.path-note{gap:15px}.path-note>span:last-child{margin-left:0}.module-card{padding:23px}.module-card>p{min-height:0}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>div:nth-child(2){border-right:0}.stats-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stats-grid strong{font-size:29px}.stats-grid span{font-size:9px}.data-panel{flex-direction:column;align-items:start;gap:12px}.data-panel .button-row{max-width:none}.summary-row{gap:10px;font-size:12px}.summary-row .module-number{padding:8px}.summary-row progress{width:18%}.module-summary .section-top{gap:5px}.learning-workspace{grid-template-columns:1fr}.lesson-sidebar{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap;padding:17px}.lesson-sidebar>.eyebrow{width:100%}.lesson-sidebar h2{width:100%;font-size:19px;margin:6px 0 12px}.sidebar-lesson{font-size:0;padding:9px 12px;margin:0;border:1px solid var(--line);display:block}.sidebar-lesson span{font-size:12px}.sidebar-bottom{display:none}.platform-main section.lesson-body{padding:23px 18px}.lesson-task h1{font-size:29px}.lesson-task .button-row{gap:10px}.terminal-help{align-items:start}.terminal-help>span{max-width:180px;line-height:1.8}.lesson-body .terminal pre{font-size:11px;height:220px}.terminal form label{width:100%;font-size:11px}.terminal form{gap:5px;padding:10px 13px 15px}.terminal input{font-size:13px;flex:1}.completion-top{flex-wrap:wrap}.completion-top>strong{margin-left:49px}.completion-top h2{font-size:22px}.paywall{padding:35px 0}.paywall h1{font-size:45px;letter-spacing:-2px}.pricing-grid{gap:30px;padding-top:15px}.price-card{padding:28px}.price{font-size:35px}.price-card ul{margin:15px 0}.price-card li{margin-bottom:10px}.pricing-note{padding:27px 5px}.auth-dialog{padding:32px 24px}.article-page{padding:40px 20px 60px}.hero-split{grid-template-columns:1fr}.hero-preview{transform:none;max-width:490px;margin-top:15px}.hero-split h1{font-size:48px}.home-proof{padding:22px 20px;gap:18px;font-size:11px}.home-modules{grid-template-columns:1fr}.home-modules p{min-height:0}.home-learning-loop{margin:15px 20px;grid-template-columns:1fr;gap:20px}.home-prose{grid-template-columns:1fr;gap:15px}.page-heading h1{letter-spacing:-1.5px}footer{font-size:11px}.terminal .simulation-label{font-size:8px}.lab-heading{gap:10px}.lab-heading .tag{font-size:9px}.panel .button-row .primary{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.currency-control{display:grid;gap:9px;min-width:190px}.currency-control label{font-size:11px;color:var(--muted)}.currency-control select{padding:12px 15px;border:1px solid #b9c6b7;border-radius:5px;background:var(--paper);font:13px system-ui,sans-serif;color:var(--ink)}.currency-control select:focus-visible{outline:3px solid #679c30;outline-offset:3px}
