:root{color-scheme:light;--paper:#faf7ef;--ink:#181818;--muted:#5c5954;--red:#b92643;--blue:#17647b;--line:#212121;--peach:#f6dcc4;--mint:#dceade;font:16px/1.55 'Arial',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);background-image:radial-gradient(#beb9ac 0.65px,transparent .8px);background-size:9px 9px}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation}button{font:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.store-nav{max-width:1240px;padding:24px 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.store-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.store-brand>span{font:900 48px/.9 Arial;border:3px solid var(--ink);padding:5px;transform:rotate(-4deg)}.store-brand b{font:900 27px/1 Arial;letter-spacing:-1px}.store-brand small{display:block;font:700 9px/1.5 Arial;letter-spacing:2px;margin-top:5px}.store-nav nav{display:flex;align-items:center;gap:20px;font:700 13px Arial;flex-wrap:wrap}.store-nav nav>a:not(.button){text-decoration:none}.store-nav nav>a:hover{color:var(--red)}main{max-width:1180px;margin:auto;background:var(--paper);border:3px solid var(--ink);border-radius:15px;overflow:hidden;box-shadow:7px 7px 0 var(--ink)}.store-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;padding:48px;align-items:center}.eyebrow{display:block;font:700 11px/1.5 Arial;letter-spacing:1.8px;color:var(--muted);margin:12px 0}h1{font:900 clamp(30px,4vw,54px)/1.04 Arial;letter-spacing:-2px;margin:18px 0}h1 em{font-style:normal;color:var(--red)}h2{font:800 23px/1.15 Arial;letter-spacing:-.5px}p{max-width:72ch}p.subtle,.fine{font-size:12px;color:var(--muted)}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:25px 0}.button{display:inline-block;background:var(--ink);color:#fff;border:2px solid var(--ink);border-radius:6px;padding:12px 17px;font:700 14px/1.4 Arial;text-decoration:none;box-shadow:3px 3px 0 var(--red);transition:transform .15s}.button:hover{transform:translate(-1px,-2px)}.button.small{font-size:12px;padding:9px 12px}.text-link{font:700 13px/1.4 Arial}.hero-art{position:relative;display:flex;align-items:end;justify-content:center;gap:10px;min-height:310px;background:var(--peach);border:2px solid var(--ink);border-radius:10px;padding:25px 18px 15px;overflow:hidden;background-image:repeating-conic-gradient(from 0deg at 50% 100%,transparent 0 8deg,#1818180a 8deg 9deg)}.hero-art img:first-child{height:270px;width:auto;max-width:55%;object-fit:contain}.hero-art img:nth-child(2){height:145px;width:auto;max-width:40%;object-fit:contain}.hero-art span{position:absolute;left:18px;top:15px;font:900 25px Arial;transform:rotate(-5deg);color:var(--red)}.store-section{padding:32px 40px}.section-title{margin-bottom:25px}.section-title p{color:var(--muted);margin-bottom:15px}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plan-card,.checkout-card{border:2px solid var(--ink);padding:25px;border-radius:10px;background:#fffdfa;display:flex;flex-direction:column;gap:12px}.plan-card h2,.plan-card p{margin:0}.plan-card>.button{margin-top:auto;align-self:start}.price{font:900 38px/1.2 Arial;letter-spacing:-1.5px}.price small{font:600 12px Arial;letter-spacing:0;display:block;margin-top:5px;color:var(--muted)}.how-it-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:25px 40px;background:var(--mint);gap:25px;border-top:2px solid var(--ink)}.how-it-works p{font-size:13px}.store-footer{max-width:1180px;margin:35px auto;padding:15px 30px;font-size:12px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.store-footer p{margin:5px 0}.store-footer nav{display:flex;gap:8px 20px;flex-wrap:wrap}.store-footer>small{grid-column:1/-1;color:var(--muted)}.class-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px}.class-tabs a{padding:9px 12px;border:2px solid var(--ink);font:700 13px Arial;text-decoration:none;border-radius:5px}.class-tabs [aria-current]{background:var(--ink);color:#fff}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card{border:2px solid var(--ink);border-radius:8px;padding:18px;text-decoration:none;display:flex;flex-direction:column;position:relative;box-shadow:3px 3px 0 var(--ink);background:#fffdfa;transition:transform .2s}.course-card:hover{transform:translateY(-3px)}.course-card>img{height:105px;object-fit:contain;width:auto;margin:10px auto}.course-card h2{font-size:19px}.course-card p{font-size:13px}.free-tag{font:800 11px/1.4 Arial;display:inline-block;padding:6px 9px;background:var(--mint);color:#235936;border:1px solid #51885d;align-self:start}.course-card .free-tag{margin-top:auto}.course-card>small{margin-top:10px;color:var(--muted);font-size:11px}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.lesson-card{border:3px solid var(--ink);background:#fffdfa;position:relative;text-decoration:none;box-shadow:3px 3px 0 var(--ink);min-width:0;overflow:hidden}.lesson-inner{position:relative;padding:12px}.lesson-inner img{height:125px;width:100%;object-fit:contain}.lesson-inner h2{font-size:18px;margin:8px 0}.lesson-number{position:absolute;top:0;left:0;background:var(--ink);color:#fff;padding:2px 8px;font-weight:900;font-size:22px}.lesson-inner small{font:700 10px Arial;color:var(--muted)}.lesson-card.locked .lesson-inner{filter:blur(4px);user-select:none;pointer-events:none}.lock-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font:700 12px Arial;background:#faf7ef44;text-align:center;padding:10px}.lock-label>span{font-size:24px;background:var(--paper);border:2px solid var(--ink);border-radius:40px;width:48px;height:48px;display:grid;place-items:center}.lock-label b{font-size:14px;background:var(--paper);padding:4px 8px;border:1px solid var(--ink)}.lesson-card.free .free-tag{display:block;text-align:center;border:0;border-top:2px solid var(--ink)}.purchase-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:35px;align-items:start}.benefits{padding-left:22px;line-height:2}.checkout-card{margin-top:30px}.checkout-card h2,.checkout-card p{margin:0}.checkout-card button{padding:12px;font:700 14px Arial;background:#eee;color:#68625c;border:1px solid #aaa;border-radius:4px}.checkout-status{font-size:12px;background:#fff2d4;padding:12px;border:1px solid #a78b48}.policy{max-width:900px}.policy p{line-height:1.75}.policy>small{color:var(--muted)}@media(max-width:700px){.store-nav{padding:18px 20px;gap:12px;align-items:start}.store-nav nav{gap:10px;justify-content:end;font-size:11px}.store-brand b{font-size:20px}.store-brand>span{font-size:35px}.store-brand small{font-size:7px;letter-spacing:1px}.store-nav nav>a:not(.button){display:none}main{margin:0 14px;box-shadow:4px 4px 0 var(--ink)}.store-hero{padding:24px;gap:20px;grid-template-columns:1fr}.hero-art{min-height:210px}.hero-art img:first-child{height:190px}.hero-art img:nth-child(2){height:120px}.store-section{padding:24px 20px}h1{letter-spacing:-1px}.plan-grid,.purchase-layout{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{padding:12px}.course-card h2{font-size:16px}.course-card>img{height:80px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-inner img{height:100px}.lesson-inner h2{font-size:16px}.how-it-works{grid-template-columns:1fr;padding:20px;gap:12px}.store-footer{grid-template-columns:1fr;margin:25px 14px;padding:15px}.store-footer>small{grid-column:1}.checkout-card{margin-top:0}.plan-card{padding:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* The public entry starts with the lesson experience. */
.sign-in-link{border:1.5px solid var(--ink);border-radius:7px;padding:9px 18px}.store-nav nav>a.sign-in-link{display:block}.welcome-page{background:#faf9f5;background-image:none}.welcome-page main{border:0;box-shadow:none;border-radius:0;background:transparent}.welcome-page .store-nav{padding-top:23px;padding-bottom:23px}.welcome-page .store-footer{border-top:1px solid #ddd9d2;margin-top:42px;padding-top:22px;color:#6a6660}.welcome-page .store-footer nav{font-size:11px;gap:10px 18px}.welcome-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:45px 40px 35px}.welcome-copy h1{font-size:clamp(52px,6.6vw,82px);line-height:1.01;letter-spacing:-3.5px;margin:22px 0}.welcome-copy>p{font-size:20px;line-height:1.6;color:#615e59;margin:22px 0 28px}.welcome-copy>.eyebrow{letter-spacing:2px;font-size:11px}.welcome-cta{font-size:16px;padding:15px 24px;border-radius:8px;background:#176457;border-color:#176457;box-shadow:0 4px 0 #103f37;cursor:pointer;min-width:210px;display:flex;align-items:center;justify-content:space-between;gap:35px}.welcome-explore{display:block;margin:18px 0 26px;font-size:13px;color:#68645e;width:fit-content}.welcome-guides{display:flex;align-items:center;gap:7px;color:#78736c;font-size:12px}.welcome-guides img{width:34px;height:42px;object-fit:contain}.welcome-guides img+img{width:31px;margin-right:6px}.circuit-preview{--light:.09;--flow-time:2.33s;position:relative;background:#fffdf8;border:2px solid #262521;border-radius:18px;box-shadow:7px 7px 0 #e2ded4;overflow:hidden}.preview-heading{padding:25px 27px 0}.preview-heading small{font-size:10px;letter-spacing:1.8px;color:#6e6860;font-weight:700}.preview-heading h2{font-size:21px;margin:9px 0}.welcome-circuit{width:100%;height:auto;display:block;color:#292823}.welcome-circuit text{fill:currentColor;font:13px Arial}.circuit-wire{stroke:#49473f;stroke-width:4;fill:none;stroke-linecap:round}.circuit-charge{stroke:#269681;stroke-width:5;stroke-dasharray:1 27;stroke-linecap:round;fill:none;animation:charge-flow var(--flow-time) linear infinite}.current-off .circuit-charge{opacity:0;animation-play-state:paused}.bulb-glow{opacity:var(--light);transition:opacity .1s}.bulb{fill:rgb(255 206 102 / var(--light));transition:fill .1s}.preview-control{display:grid;grid-template-columns:1fr auto;gap:15px;font:600 13px Arial;margin:0 28px}.preview-control output{font-variant-numeric:tabular-nums;color:#176457}.preview-control input{grid-column:1/-1;width:100%;accent-color:#176457;cursor:pointer;height:26px;margin:0}.preview-caption{font-size:12px;color:#706b64;margin:15px 28px 24px;min-height:19px}.start-dialog{padding:27px;border:2px solid #24231f;border-radius:16px;width:min(500px,calc(100% - 30px));max-height:calc(100dvh - 40px);background:#faf9f5;color:#181818;box-shadow:8px 8px 0 #0002}.start-dialog::backdrop{background:#17171380;backdrop-filter:blur(5px)}.start-dialog>header{display:flex;align-items:center;gap:12px;margin:0 0 23px}.start-dialog>header h2{font-size:21px;flex:1;margin:0}.start-close,.start-back{background:none;border:0;font:26px Arial;cursor:pointer;min-width:36px;min-height:36px;border-radius:5px}.start-close:hover,.start-back:hover{background:#ebe8df}.start-classes{display:grid;gap:12px;grid-template-columns:1fr 1fr}.start-class{background:#fffdf8;border:1.5px solid #c6c2b9;display:grid;grid-template-columns:1fr auto;gap:8px;padding:20px;text-align:left;border-radius:9px;cursor:pointer;transition:border-color .15s,transform .15s}.start-class:hover{border-color:#176457;transform:translateY(-2px)}.start-class b{font-size:20px;grid-column:1/-1}.start-class span{font-size:13px;color:#666159}.start-lessons{display:grid;gap:11px;margin-bottom:24px}.start-lessons a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d1ccc2;border-radius:9px;text-decoration:none;background:#fffdf8}.start-lessons a:hover{border-color:#176457}.start-lessons img{width:40px;height:48px;object-fit:contain}.start-lessons a>span:nth-child(2){flex:1;min-width:0}.start-lessons b{display:block;font-size:15px;line-height:1.3}.start-lessons small{display:block;color:#6e675e;font-size:11px;line-height:1.4;margin-top:5px}.start-dialog section>h2{font-size:15px;color:#6e675e;margin:0 0 15px}.lock-label small{font-size:12px}.store-page .store-footer{font-size:11px}@keyframes charge-flow{to{stroke-dashoffset:-56}}@media(max-width:700px){.welcome-page .store-nav{align-items:center;padding:17px 22px}.welcome-page .store-nav nav{gap:14px}.welcome-page .store-nav nav>a{display:block;font-size:12px}.welcome-page .store-nav nav>a.sign-in-link{padding:8px 12px}.welcome-hero{grid-template-columns:1fr;gap:30px;padding:25px 14px 16px}.welcome-copy h1{font-size:56px;letter-spacing:-2.5px;margin:14px 0}.welcome-copy>p{font-size:17px;margin:16px 0 22px}.welcome-guides{margin-top:22px}.welcome-page .store-footer{margin-top:28px;font-size:11px}.circuit-preview{max-width:460px;width:100%}.preview-heading{padding:20px 22px 0}.preview-heading h2{font-size:19px}.welcome-circuit{max-height:225px}.start-dialog{padding:20px}.start-classes{gap:10px}.start-class{padding:15px}.start-dialog>header h2{font-size:18px}.start-lessons a{padding:12px}.start-lessons b{font-size:14px}}@media(prefers-reduced-motion:reduce){.circuit-charge{animation:none}}
.checkout-account{width:100%}.account-tabs{display:flex;gap:8px;margin:8px 0 14px}.account-tabs button{flex:1;padding:8px;background:transparent;color:var(--ink);border:1px solid var(--ink);cursor:pointer}.account-tabs [aria-pressed=true]{background:var(--ink);color:var(--paper)}.checkout-account form{display:grid;gap:12px}.checkout-account label{display:grid;gap:4px;font-size:13px;font-weight:700}.checkout-account input{width:100%;min-width:0;padding:11px;border:1px solid #858b84;border-radius:6px;background:#fff;color:#181818;font:16px Arial}.checkout-card .button,.checkout-account .button{background:var(--ink);color:#fff;cursor:pointer;border:2px solid var(--ink)}.checkout-card .button:disabled,.checkout-account .button:disabled{opacity:.5;cursor:wait}.checkout-card .text-link{background:transparent;border:0;padding:4px;cursor:pointer;color:var(--ink);text-align:left}.checkout-status:empty,[data-account-error]:empty{display:none}.join-page{max-width:520px;margin:auto}.checkout-account [data-account-error]{font-size:13px;color:#a72137}

/* Chapter illustrations preserve their space while loading. */
.course-card{padding:0;overflow:hidden}.course-card>img.course-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0;border-bottom:2px solid var(--ink);background:#ece7dc;border-radius:6px 6px 0 0}.course-card-copy{padding:20px;display:flex;flex-direction:column;flex:1}.course-card-copy h2{margin:13px 0 10px}.course-card-copy p{line-height:1.65;margin:0 0 20px}.course-card-copy .free-tag{align-self:flex-start;margin-top:auto}.course-card-copy>small{margin-top:12px;color:var(--muted);font-size:12px}.start-lessons img{width:92px;height:62px;aspect-ratio:3/2;object-fit:cover;border-radius:5px;flex-shrink:0}@media(max-width:600px){.course-card-copy{padding:16px}.start-lessons img{width:72px;height:48px}}
