:root{--ink:#0b1111;--mint:#62d7ca;--paper:#f4f3ee;--muted:#50595b;--line:#c7cbc6;--panel:#122020}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{cursor:pointer}a{color:inherit;text-underline-offset:4px}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #268b80;outline-offset:4px}header{height:82px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:10px 36px;border-bottom:1px solid #2e3e3d;position:sticky;top:0;z-index:10}header img{display:block;object-fit:contain;width:155px;height:58px}header>div{display:flex;align-items:center;gap:36px}header a{text-decoration:none}.outline{display:inline-flex;align-items:center;justify-content:center;gap:14px;color:var(--mint);border:1px solid var(--mint);border-radius:5px;padding:8px 17px;background:transparent}.outline:hover{background:#18302d}.skip{position:fixed;left:12px;top:-70px;z-index:30;background:var(--mint);padding:12px}.skip:focus{top:12px}aside{width:260px;position:fixed;left:0;top:82px;bottom:0;background:var(--ink);color:#fff;padding:28px 30px;display:flex;flex-direction:column}.course-title{font-size:44px;line-height:1.15;font-weight:650;letter-spacing:-1.5px}.course-title span{display:block;font-size:16px;font-weight:400;letter-spacing:0;color:#c4cecb;margin-top:8px}nav{margin-top:36px}nav button{color:#bbc6c3;display:flex;align-items:center;gap:16px;width:100%;background:none;text-align:left;font-size:15px;margin:0 0 18px;padding:0;line-height:1.4}nav button b{border:1px solid #84918c;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:400}nav button[aria-current="step"]{color:white;font-weight:600}nav button[aria-current="step"] b{background:var(--mint);color:var(--ink);border-color:var(--mint)}nav button.done b{border-color:var(--mint);color:var(--mint)}.progress-block{margin-top:auto;padding-top:25px;color:#b8c4bf;font-size:14px}.progress-block p{margin:7px 0 0}.progress-block small{font-size:11px;color:#91a39c}progress{width:100%;height:5px;display:block;border:0;background:#4c5854;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#4c5854}progress::-webkit-progress-value{background:var(--mint)}progress::-moz-progress-bar{background:var(--mint)}main{margin-left:260px;padding:38px 38px 0;max-width:1780px;min-height:calc(100vh - 82px)}.hero{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(280px,1fr);gap:42px;padding:0 0 28px}h1{font-size:clamp(36px,3.5vw,62px);line-height:1.06;letter-spacing:-2.6px;margin:12px 0 21px;font-weight:650}h1 em{font-family:Georgia,serif;font-size:1.18em;font-weight:400}p{margin:0 0 20px}.hero p{max-width:670px;color:var(--muted);font-size:18px;line-height:1.55}.hero-action{display:flex;align-items:center;gap:22px;margin-top:30px}.hero-action>span{color:var(--muted);font-size:13px;max-width:200px}.primary,.secondary{padding:13px 22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:600;text-decoration:none;line-height:1.4}.primary{background:var(--mint);color:var(--ink)}.primary:hover{background:#83e5da}.secondary{background:var(--ink);color:white}.secondary:hover{background:#263c38}.soul-preview{align-self:start;background:var(--ink);color:#d7dfda;border-radius:7px;padding:24px 30px;box-shadow:14px -10px 0 #daddd6}.soul-preview h2{font-size:20px;color:var(--mint);margin:0 0 14px;letter-spacing:0}.soul-preview dl{margin:0}.soul-preview dt{border-top:1px solid #43504c;padding-top:12px;font-size:16px;font-weight:600;color:var(--mint)}.soul-preview dd{font-size:13px;line-height:1.6;margin:3px 0 13px}.soul-preview dd:last-child{margin-bottom:0}.outcomes{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:25px 0;margin-bottom:28px}.outcomes>div{padding:0 25px;border-right:1px solid var(--line)}.outcomes>div:first-child{padding-left:0}.outcomes>div:last-child{border:0;padding-right:0}.outcomes span{color:#197f76;font-size:13px}.outcomes h2{font-size:23px;letter-spacing:-.6px;line-height:1.2;margin:8px 0}.outcomes p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.lesson-label{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--muted);margin:0 0 8px}h2{font-size:34px;line-height:1.16;letter-spacing:-1px;font-weight:600;margin:0 0 16px}h3{font-size:22px;line-height:1.3;margin:28px 0 12px;letter-spacing:-.4px}.lead{color:var(--muted);font-size:18px;max-width:850px}#lesson-content{max-width:1180px}.code-panel{background:var(--ink);color:#dbe4df;border-radius:6px;padding:22px 25px;margin:20px 0}.code-head{display:flex;align-items:center;justify-content:space-between;color:var(--mint);font-size:12px;letter-spacing:1px;margin-bottom:14px;gap:15px}.code-head button{background:transparent;border:1px solid #687b71;border-radius:4px;color:white;padding:5px 12px;letter-spacing:0;font-size:12px}.code-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.85 Consolas,monospace;margin:0}.note{border-left:3px solid #258b80;padding:14px 20px;background:#e4e9e1;margin:24px 0;font-size:14px}.note p:last-child{margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}.steps{padding-left:22px}.steps li{padding-left:5px;margin:10px 0}.file-table{width:100%;border-collapse:collapse;margin:24px 0}.file-table th,.file-table td{border-bottom:1px solid var(--line);text-align:left;padding:14px 12px;vertical-align:top}.file-table th{font-size:12px;text-transform:uppercase;letter-spacing:1px}.file-table td:first-child{font-weight:600;white-space:nowrap}.builder{margin:30px 0;display:grid;grid-template-columns:1fr 1.05fr;gap:28px}.builder .code-panel{margin:0;position:sticky;top:106px;align-self:start}.builder fieldset{border:0;padding:0;margin:0}.builder legend{font-weight:600;font-size:20px;margin-bottom:8px}.builder label{display:block;font-size:13px;font-weight:600;margin:17px 0 6px}textarea,input[type=text],select{background:#fffefa;border:1px solid #aab7ae;border-radius:4px;padding:10px 12px;width:100%;color:var(--ink);font-size:14px}textarea{min-height:84px;resize:vertical}textarea:focus,input:focus,select:focus{border-color:#167f71}.helper{font-size:12px;color:var(--muted);margin:8px 0}.preview-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.preview-actions .primary{font-size:13px;padding:10px 16px}.preview-actions button:not(.primary){background:none;border:1px solid #657b72;color:white;border-radius:4px;padding:8px 14px;font-size:13px}.lesson-end{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding:25px 0}.lesson-end label{display:flex;align-items:center;gap:12px;font-size:14px}input[type=checkbox]{accent-color:#137f72;width:19px;height:19px;flex-shrink:0}.templates{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.quiz{border:1px solid var(--line);border-radius:5px;margin:24px 0;padding:22px}.quiz legend{font-weight:600;padding:0 8px}.quiz label{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:15px}.quiz input{margin-top:6px;accent-color:#167f71}.quiz-answer{min-height:24px;margin:14px 0 0;font-size:14px;color:#176c60;font-weight:600}details{border-bottom:1px solid var(--line);padding:15px 0}summary{font-weight:600;cursor:pointer}details p{font-size:14px;max-width:800px;margin:15px 0 8px}.resource-list{font-size:14px;padding-left:20px}.resource-list li{margin:9px 0}.pill{display:inline-block;color:#0e665c;background:#d5e9df;border-radius:3px;padding:3px 8px;font-size:12px}.toast{position:fixed;bottom:22px;right:22px;padding:12px 22px;background:var(--ink);color:white;border:1px solid var(--mint);border-radius:5px;z-index:50;display:none;max-width:85vw}footer{border-top:1px solid var(--line);padding:30px 0;margin-top:24px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer p{margin:0}footer>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.text-button{background:none;color:inherit;padding:0;text-decoration:underline;font-size:inherit}.success{padding:25px;background:#dbe9df;margin:22px 0;border-left:3px solid #18796e}.success h3{margin:0 0 10px}.checklist label{display:flex;align-items:flex-start;gap:12px;margin:15px 0}.checklist input{margin-top:5px}body.nointro #welcome{display:none}body.nointro main{padding-top:36px}
@media(min-width:1600px){main{padding:48px 55px 0}.hero{gap:55px}.soul-preview{padding:28px 36px}.soul-preview dd{font-size:15px}.hero p{font-size:20px}.hero-action>span{font-size:14px}}
@media(max-width:1150px){aside{width:225px;padding:26px 22px}main{margin-left:225px;padding:30px 28px 0}.hero{grid-template-columns:1fr;gap:30px}.soul-preview{display:none}.hero-action>span{max-width:none}h1{font-size:49px}.outcomes h2{font-size:20px}.outcomes>div{padding:0 18px}.builder{grid-template-columns:1fr}.builder .code-panel{position:static}}
@media(max-width:720px){header{padding:8px 18px;height:72px}header img{width:129px;height:49px}.home-link{display:none}header>div{gap:0}.outline{font-size:12px;padding:8px 11px;gap:9px}aside{position:static;width:auto;padding:19px 20px 12px}.course-title{font-size:31px}.course-title span{font-size:12px;display:inline;letter-spacing:0;margin-left:15px}nav{margin-top:20px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}nav button{display:flex;flex:0 0 auto;width:auto;margin:0 0 4px;padding:5px 9px;font-size:12px;gap:9px;border:1px solid #2e4540;border-radius:4px}nav button b{width:23px;height:23px;font-size:11px}.progress-block{padding-top:10px;display:flex;gap:12px;align-items:center}.progress-block progress{width:80px}.progress-block p{margin:0;font-size:11px}.progress-block small{display:none}main,body.nointro main{margin:0;padding:27px 21px 0}.hero{padding-bottom:26px}h1{font-size:39px;letter-spacing:-1.7px;margin-top:0}.hero p{font-size:16px}.hero-action{gap:15px;align-items:flex-start;flex-direction:column;margin-top:22px}.primary,.secondary{padding:12px 18px;font-size:14px}.outcomes{padding:20px 0;gap:20px;grid-template-columns:1fr}.outcomes>div,.outcomes>div:first-child,.outcomes>div:last-child{padding:0 0 0 32px;border:0;position:relative}.outcomes span{position:absolute;left:0;top:5px}.outcomes h2{margin-top:0}.outcomes p{font-size:14px}h2{font-size:29px;letter-spacing:-.8px}.lead{font-size:16px}h3{font-size:21px}.code-panel{padding:18px}.code-panel pre{font-size:12px;line-height:1.8}.two-col{grid-template-columns:1fr;gap:0}.file-table{font-size:12px}.file-table th,.file-table td{padding:10px 5px}.file-table td:first-child{white-space:normal}.builder{gap:20px}.lesson-end{align-items:flex-start;flex-direction:column}.lesson-end .primary{width:100%}footer{display:block}footer>div{margin-top:18px;gap:15px}.quiz{padding:15px}.quiz label{font-size:14px}.hero-action>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:720px){nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}}

.share-shortcut{font-size:13px;color:var(--mint);margin:8px 0 20px;line-height:1.5}.share-training{border-top:1px solid var(--line);padding:36px 0;margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:45px;align-items:center;max-width:1180px;scroll-margin-top:100px}.share-copy>p:not(.helper):not(.lesson-label){color:var(--muted);max-width:650px}.share-downloads{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 16px}.share-downloads .primary,.share-downloads .secondary{font-size:14px;padding:12px 18px}.booklet-download{font-size:14px;flex-basis:100%;margin-top:5px}.share-qr{text-align:center}.share-qr img{display:block;width:216px;height:216px;margin:0 auto 14px;max-width:100%}.share-qr>a:last-child{font-size:13px;font-weight:600}.share-copy .helper{margin:0}
@media(max-width:720px){.share-shortcut{font-size:12px;display:block;margin:10px 0 3px}.share-training{grid-template-columns:1fr;gap:26px;padding:30px 0;scroll-margin-top:90px}.share-copy h2{font-size:29px}.share-qr{justify-self:start;text-align:left}.share-qr img{margin-left:0}.share-downloads{gap:10px}.share-downloads .primary,.share-downloads .secondary{font-size:13px;padding:12px 14px}}

.community-shortcut{display:block;background:none;color:var(--mint);padding:0;text-align:left;text-decoration:underline;text-underline-offset:4px;font-size:13px;margin:0 0 20px;line-height:1.5}.signup-open{overflow:hidden}.signup-invitation{width:min(570px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #c5d0c7;border-radius:9px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0005;overflow:auto}.signup-invitation::backdrop{background:rgba(6,18,15,.7)}.signup-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;background:var(--ink)}.signup-brand img{display:block;width:138px;height:52px;object-fit:contain}.signup-close{display:grid;place-items:center;background:none;border:1px solid #52776d;border-radius:50%;width:38px;height:38px;color:#d9eee6;padding:0;flex-shrink:0}.signup-close:hover{background:#203d34}.signup-content{padding:25px 32px 23px}.signup-eyebrow{color:#176e63;font-size:10px;letter-spacing:1.7px;font-weight:600;margin:0 0 11px}.signup-content h2{font-size:36px;letter-spacing:-1.2px;line-height:1.06;margin:0 0 16px}.signup-content #signup-intro{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 18px}.signup-choice{border-top:1px solid var(--line);padding:18px 0}.signup-choice h3{font-size:19px;margin:0 0 6px;letter-spacing:-.3px}.signup-choice p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 12px}.signup-choice a{font-size:13px;padding:10px 16px;gap:13px}.signup-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.signup-footnote{font-size:11px;line-height:1.5;color:var(--muted);margin:13px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.community-shortcut{font-size:12px;margin:8px 0 4px}.signup-invitation{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.signup-brand{padding:11px 20px}.signup-brand img{width:122px;height:46px}.signup-content{padding:22px}.signup-content h2{font-size:31px}.signup-choice{padding:16px 0}.signup-choice a{width:100%;justify-content:space-between}.signup-bottom{gap:10px}.signup-bottom .text-button{text-align:left;line-height:1.5}}
