:root{--ink:#262a28;--muted:#626761;--line:#e5e7df;--paper:#fcfcf8;--orange:#a6491c;--green:#7a4a08;--soft:#f0f2ea;--shadow:0 16px 60px -28px #413a2330;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.6}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ae6a2b;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.045em;line-height:1.07}p{color:var(--muted)}.skip{position:fixed;left:15px;top:-90px;background:white;padding:14px;z-index:100}.skip:focus{top:10px}.header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand img{object-fit:contain}.brand strong{font-size:25px;font-weight:600;letter-spacing:-1px}.brand>span{font-size:15px;color:var(--muted);border-left:1px solid #dcd8d2;padding-left:15px;margin-left:4px}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.header nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:center;align-items:center;gap:23px;border-radius:100px;padding:15px 24px;background:#fff;border:1px solid #d9d5cf;font-size:15px;font-weight:550;line-height:1.4;transition:background .15s,transform .15s}.button:hover{background:#f0f2ea;transform:translateY(-1px)}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.button.dark:hover{background:#4b4741}.button.small{padding:11px 19px;font-size:14px}.button.text{background:transparent;border:0;padding-left:0;padding-right:0}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.home,.course{max-width:1320px;padding:0 5%;margin:auto}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:72px 0 68px;min-height:620px}.hero h1{font-size:clamp(48px,5.8vw,80px);margin:23px 0;max-width:620px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.hero .lede{font-size:18px;line-height:1.8;max-width:430px;margin:25px 0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.reassurance{font-size:13px;margin-top:18px;color:var(--muted)}.hero-demo{min-width:0;position:relative;background:radial-gradient(ellipse at 48% 42%,#ffefcfa6,transparent 70%);padding:26px 16px 10px}.demo-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 12px 15px;font-size:13px;color:var(--muted)}.demo-heading .pill{font-size:12px;padding:5px 11px}.native-hero{min-height:330px}.demo-caption{text-align:center;font-size:14px;margin-top:12px}.demo-caption strong{display:block;color:var(--ink);font-weight:500}.pill{display:inline-block;background:#f0f1ea;border:1px solid #e5e1db;border-radius:99px;padding:5px 12px;font-size:13px;color:#5e5750;white-space:nowrap}.pill.ready{color:var(--green);background:#f1efea;border-color:#dcd5c8}.course-strip{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;align-items:center}.course-strip strong{display:block;font-size:15px;font-weight:600}.course-strip span{font-size:13px;color:var(--muted)}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section h2,.course h1{font-size:clamp(36px,4vw,52px);margin:13px 0}.section-head p{max-width:330px;font-size:15px}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey article{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;min-height:237px}.journey .number{display:block;font-family:Georgia,serif;font-size:31px;color:var(--orange);margin-bottom:28px}.journey h3{font-size:21px;margin-bottom:10px;letter-spacing:-.02em}.journey p{font-size:15px}.journey .footnote{display:block;font-size:12px;margin-top:22px;color:var(--muted)}.invitation{margin:0 0 70px;padding:42px 46px;background:#efece6;border:1px solid #e5dfd6;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:35px}.invitation h2{font-size:36px;margin-bottom:12px}.invitation p{font-size:15px}.footer{border-top:1px solid var(--line);padding:27px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted);max-width:1440px;margin:auto}.draft-note{font-size:12px}.course{padding-top:48px;padding-bottom:70px}.breadcrumb{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:26px}.breadcrumb:hover{text-decoration:underline}.course-intro{display:grid;grid-template-columns:1fr 300px;gap:70px;margin:0 0 40px}.course-intro .description{max-width:630px;margin:20px 0;font-size:17px}.course-intro .meta{font-size:14px;color:var(--muted)}.progress-card{align-self:center;border:1px solid var(--line);border-radius:18px;background:white;padding:24px}.progress-card h2{font-size:20px;letter-spacing:-.02em;margin:0 0 8px}.progress-card p{font-size:14px;margin-bottom:15px}.progress-card .button{width:100%}.preview-note{padding:16px 20px;background:#f0f2ea;border-radius:12px;font-size:14px;margin-bottom:28px;color:#615a51}.curriculum{display:grid;gap:12px}.chapter{border:1px solid var(--line);border-radius:17px;background:white;overflow:hidden}.chapter summary{display:grid;grid-template-columns:48px 1fr auto 20px;gap:16px;align-items:center;padding:22px 25px;cursor:pointer;list-style:none}.chapter summary::-webkit-details-marker{display:none}.chapter summary:after{content:'+';font-size:23px;color:#7c766f}.chapter[open] summary:after{content:'−'}.chapter .chapter-number{font:24px Georgia,serif;color:#7e7770}.chapter h2{font-size:20px;letter-spacing:-.02em;line-height:1.4}.chapter .phase{font-size:12px;color:#7c766f}.chapter-body{padding:0 25px 25px 89px}.chapter-body>p{font-size:15px;margin-bottom:18px}.lesson-list{list-style:none;padding:0;margin:0}.lesson-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f0ede9;font-size:14px}.lesson-list li a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}.lesson-list .status{font-size:12px;color:var(--muted);white-space:nowrap}.project-note{font-size:13px!important;color:var(--green);margin-top:17px!important;margin-bottom:0!important}.course-end{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:13px;color:var(--muted)}.course-end a{text-decoration:underline;text-underline-offset:3px}.lesson-shell{max-width:1400px;margin:auto;padding:32px 4% 65px}.lesson-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.lesson-top .breadcrumb{margin:0}.step-track{display:flex;align-items:center;gap:6px}.step-track span{height:4px;width:36px;border-radius:10px;background:#e4e0d9}.step-track span.filled{background:#80745e}.step-track b{font-weight:400;font-size:13px;margin-left:10px;color:var(--muted)}.lesson-grid{display:grid;grid-template-columns:minmax(285px,.76fr) minmax(0,1.24fr);gap:42px}.lesson-copy{padding:22px 0}.lesson-copy h1{font-size:clamp(35px,3.8vw,50px);margin:18px 0 22px}.lesson-copy p{font-size:16px;line-height:1.8;margin:13px 0}.lesson-copy strong{font-weight:550;color:var(--ink)}.lesson-copy code,.question code{font-size:.93em;color:#72551d;background:#f1eddf;border-radius:4px;padding:2px 5px}.task{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.task-label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--orange);font-weight:600}.task p{font-size:15px}.task label{display:block;font-size:14px;margin-bottom:7px}.input-row{display:flex;gap:8px;margin:14px 0}.input-row input{width:100%;min-width:0;padding:12px 14px;border:1px solid #cdc8c0;background:white;border-radius:10px;color:var(--ink)}.input-row .button{padding:12px 18px}.feedback{font-size:14px!important;min-height:26px;color:var(--green)!important}.feedback.error{color:#9d4325!important}.step-actions{display:flex;gap:25px;align-items:center;margin-top:26px}.hint{margin-top:20px;font-size:14px;color:var(--muted)}.hint summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}.hint p{font-size:14px}.lesson-stage{border:1px solid var(--line);background:white;border-radius:24px;overflow:hidden;min-width:0;box-shadow:var(--shadow)}.stage-bar{padding:19px 23px;border-bottom:1px solid #eeebe7;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;color:var(--muted)}.stage-bar strong{font-weight:500;color:var(--ink)}.stage-inner{padding:30px 24px 18px;min-height:370px;background:radial-gradient(ellipse at center,#fff6df80,white 80%)}.stage-foot{border-top:1px solid #f0ede9;padding:15px 23px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:15px}.stage-foot button{font-size:13px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:inherit}.code-panel{border-top:1px solid var(--line);padding:20px 24px;background:#f6f7f1}.code-panel .code-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.code-panel pre{margin:0;font:14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#46403a;white-space:pre-wrap;overflow-wrap:anywhere}.code-panel .code-note{font-size:12px;margin-top:10px}.answer-options{display:grid;gap:9px;margin-top:17px}.answer-options button{background:white;text-align:left;border:1px solid #ddd8cf;border-radius:11px;padding:12px 15px;line-height:1.5}.answer-options button[aria-pressed="true"]{border-color:#897c66;background:#f2efea}.answer-options button:hover{background:#f4f6ee}.completion{max-width:780px;margin:0 auto;padding:65px 25px 80px;text-align:center}.completion .complete-mark{width:72px;height:72px;border-radius:50%;background:#eeebe5;color:var(--green);margin:auto;display:grid;place-items:center;font-size:32px}.completion h1{font-size:50px;margin:25px 0 20px}.completion>p{font-size:18px;max-width:520px;margin:auto}.learned{display:grid;text-align:left;gap:10px;border:1px solid var(--line);background:white;border-radius:18px;padding:24px 30px;margin:32px auto;max-width:500px}.learned p{font-size:15px}.learned p:before{content:'✓';color:var(--green);margin-right:15px}.completion .actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.completion .next-note{font-size:14px;margin:25px auto}.storage-note{font-size:12px;color:var(--muted);margin-top:24px}.error-panel{padding:30px;color:#873d22;background:#fff4e9;border-radius:12px;font-size:15px}.native-loading{padding:50px;text-align:center;color:var(--muted)}[hidden]{display:none!important}
main:focus,.lesson-copy h1:focus{outline:none}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:90px}}
@media(max-width:900px){.header{padding:20px 4%}.header nav{gap:18px}.how-link{display:none}.hero{gap:20px;padding-top:45px}.hero h1{font-size:54px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-demo{padding:10px 0}.course-strip{gap:16px;grid-template-columns:1fr 1fr}.journey article{padding:22px}.course-intro{gap:30px}.lesson-grid{gap:24px;grid-template-columns:minmax(250px,.85fr) minmax(0,1fr)}.stage-inner{padding:22px 12px}.lesson-copy h1{font-size:36px}}
@media(max-width:680px){.header{padding:17px 5%;gap:12px}.header .brand img{width:25px}.brand{gap:7px}.brand strong{font-size:23px}.brand>span{font-size:13px;padding-left:9px;margin-left:2px}.header nav>a:not(.button){display:none}.header .button{padding:10px 13px;font-size:12px;gap:8px}.hero{grid-template-columns:1fr;padding:40px 0;gap:20px}.hero h1{font-size:52px;margin:17px 0}.hero .lede{font-size:17px;margin:20px 0}.hero-demo{margin-top:13px}.native-hero{min-height:270px}.hero-actions{margin-top:24px}.reassurance{font-size:12px}.course-strip{padding:24px 0;gap:19px}.section{padding:48px 0}.section-head{display:block;margin-bottom:26px}.section-head p{margin-top:17px}.journey{grid-template-columns:1fr}.journey article{min-height:0;padding:25px}.journey .number{margin-bottom:15px}.invitation{padding:28px;display:block;margin-bottom:45px}.invitation h2{font-size:32px}.invitation .button{margin-top:24px}.footer{flex-wrap:wrap;padding:24px 5%;gap:14px}.footer .draft-note{width:100%}.course{padding-top:30px}.course-intro{grid-template-columns:1fr;gap:15px}.course h1{font-size:42px}.progress-card{max-width:none}.chapter summary{grid-template-columns:30px 1fr 18px;padding:19px 17px;gap:10px}.chapter summary>.pill{display:none}.chapter h2{font-size:18px}.chapter-body{padding:0 20px 22px}.course-end{flex-direction:column}.lesson-shell{padding:25px 5% 45px}.lesson-grid{grid-template-columns:1fr}.lesson-copy{padding:5px 0}.lesson-top{align-items:start}.step-track span{width:16px}.step-track b{font-size:12px}.lesson-top .breadcrumb{font-size:12px}.lesson-copy h1{font-size:39px}.lesson-stage{grid-row:2}.stage-inner{padding:20px 12px;min-height:300px}.stage-foot{font-size:12px;padding:14px;flex-wrap:wrap}.completion{padding:40px 5%}.completion h1{font-size:41px}.lesson-copy .step-actions{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
