:root{--signal:#59e51b}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #267800;outline-offset:4px}.skip-link{position:fixed;top:-80px;left:16px;background:#111;color:white;padding:14px;z-index:999}.skip-link:focus{top:16px}.links a{color:inherit;text-decoration:none}.progress-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:18px 0 26px}.progress-tools button,.progress-tools a,.import-label{font:inherit;font-size:13px;border:1px solid #333;background:transparent;color:inherit;padding:10px 14px;cursor:pointer;text-decoration:none}.progress-tools progress{width:130px;accent-color:#59e51b}#progress-status{flex-basis:100%;font-size:12px;min-height:16px;margin:0}.import-label input{max-width:190px}.reader{width:min(920px,95vw);max-height:92dvh}.reader h2{font-size:clamp(30px,5vw,48px);line-height:1.06;letter-spacing:-.04em}.reader p,.reader li{font-size:16px;line-height:1.65}.reader h3{font-size:23px;line-height:1.2;margin-top:28px}.reader h4{font-size:16px;margin:12px 0}.reader small{font-size:11px;letter-spacing:.07em}.reader pre{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.reader .lesson-outcome{font-size:20px;font-weight:700}.lesson-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.lesson-links a{font-size:12px;padding:9px 12px;border:1px solid #ccc;color:inherit}.lesson-step{margin:26px 0}.worked-example{background:#fff;border:1px solid #ccc;padding:24px;margin:28px 0}.example-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reader details{margin:16px 0}.reader summary{cursor:pointer;font-weight:700;padding:10px 0}.reader video,.reader img{max-width:100%;height:auto;display:block}.lesson-media{margin:20px 0}.lesson-media video{max-height:560px;margin:auto}.lesson-media figcaption{font-size:12px;margin:10px 0}.lesson-checks{border:1px solid #ccc;margin:24px 0;padding:18px}.lesson-checks label{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:10px 0}.lesson-checks input{accent-color:#307d10;width:18px;height:18px;flex-shrink:0}.reader textarea{width:100%;min-height:100px;font:inherit;padding:14px}.reader-actions{gap:10px;flex-wrap:wrap}.reader button{min-height:42px}.exercise{border:1px solid #bfc0b8;padding:24px;margin:30px 0;background:#fff}.exercise h2{margin-top:0}.exercise .example-pair{gap:24px}.exercise pre{white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.6}.exercise label{display:block;margin:14px 0 6px}.exercise textarea{width:100%;min-height:115px;padding:12px;font:inherit}.exercise input{max-width:100%;padding:10px;font:inherit}.exercise button,.exercise .download{display:inline-block;padding:11px 15px;background:#171817;color:white;border:0;cursor:pointer;margin:10px 8px 0 0;font-size:13px;text-decoration:none}.exercise output{display:block;font-weight:700;padding:18px 0;font-size:20px}.exercise .status{font-size:12px;min-height:20px}.exercise ul{padding-left:22px}.article-image{max-width:520px;margin:24px 0}.article-image img{height:auto;width:100%}.article-intro details,.article-background{border-top:1px solid #ccc;margin:24px 0;padding:14px 0}.article-background summary{font-weight:700;cursor:pointer}.article h1{font-size:clamp(34px,5vw,56px)}.article .outcome{font-size:20px;line-height:1.5}.site-header a:hover{color:#267800}.guide-image img{filter:none!important;object-fit:cover}.reader .demo-stage{min-height:360px}.reader .demo-output{font-size:14px}.reader .demo-frame h3{font-size:23px}.reader .demo-frame p{font-size:13px}.reader .demo-frame{padding:12px}.reader .demo{overflow:hidden}.mobile-example{max-width:300px;border:2px solid #111;border-radius:24px;padding:24px;background:#f0f0eb}.mobile-example h3{font-size:28px}.mobile-example a{display:block;background:#59e51b;padding:12px;text-align:center;color:#111}.instruction-copy{display:block!important;text-align:left!important;max-width:100%;margin:7px 0!important}.no-motion{font-size:11px;position:absolute;top:15px;right:15px;z-index:10;background:#f0f0eb;border:1px solid #bbb;padding:7px}.site-header nav{flex-wrap:wrap}@media(max-width:640px){.example-pair{grid-template-columns:1fr}.reader{padding:18px}.worked-example,.exercise{padding:16px}.reader .demo-stage{min-height:410px}.progress-tools{gap:8px}.nav .links{display:flex;flex-wrap:wrap;gap:12px;font-size:10px}.task-scene{pointer-events:auto}.article-details{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.task-chip{transition:none!important}}
.links a.navbtn{color:#fff}.article details>summary{cursor:pointer;padding:10px 0;font-weight:700}.article .article-image{max-width:360px}.guide-grid{scroll-margin-top:24px}
