:root{--night:#0d1b2a;--cream:#f5efe6;--copper:#b9684b;--burgundy:#653747;--sand:#cfc4b8;--copper-light:#f59b6f;--paper:#fbf8f3;--ink:var(--night);--muted:#5e5650;--line:var(--sand);--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--page:72rem;--reading:40rem;--gutter:clamp(1rem, 4vw, 2.5rem);--radius:4px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);-webkit-text-size-adjust:100%;line-height:1.55}*,:before,:after{box-sizing:border-box}body{background:var(--cream);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-size:1rem}a{color:var(--burgundy);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--burgundy);outline-offset:3px;border-radius:2px}h1[tabindex]:focus{outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:10;background:var(--cream);color:var(--night);padding:.5rem .75rem;position:absolute;top:-3rem}.skip-link:focus{top:.5rem}.wordmark{flex-direction:column;gap:.1rem;margin:0;line-height:1;display:inline-flex}.wordmark__small{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--copper-light);font-size:.68rem;font-weight:600}.wordmark__name{font-family:var(--serif);letter-spacing:.01em;color:var(--cream);font-size:1.35rem;font-weight:400}.button{border:1px solid var(--night);border-radius:var(--radius);min-height:2.75rem;color:var(--night);font:600 .95rem/1.2 var(--sans);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.button:hover,.button--primary{background:var(--night);color:var(--cream)}.button--primary:hover{background:var(--burgundy);border-color:var(--burgundy)}.button--quiet{border-color:#0000;text-decoration:underline}.button--quiet:hover{color:var(--burgundy);background:0 0}.button--light{background:var(--copper-light);border-color:var(--copper-light);color:var(--night)}.button--light:hover{background:var(--cream);border-color:var(--cream);color:var(--night)}.button:disabled{opacity:.6;cursor:progress}.link-button{color:inherit;font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);margin:0 0 .75rem;font-size:.75rem;font-weight:600}.access{min-height:100dvh;padding:clamp(2rem, 8vw, 6rem) var(--gutter);background:radial-gradient(60rem 40rem at 85% 110%, #6537478c, transparent 60%), var(--night);color:var(--cream);grid-template-columns:1fr;align-content:center;gap:clamp(2rem,6vw,5rem);display:grid}@media (width>=860px){.access{max-width:var(--page);padding-inline:var(--gutter);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;margin:0 auto}body:has(.access){background:var(--night)}}.access .wordmark__small{font-size:.8rem}.access .wordmark__name{font-size:clamp(2.6rem,7vw,4.75rem);line-height:1.02}.access__promise{max-width:22ch;font-family:var(--serif);color:var(--sand);margin:1.5rem 0 0;font-size:clamp(1.25rem,2.6vw,1.6rem);font-style:italic;line-height:1.35}.access__panel{width:100%;max-width:26rem}.access__step-title{font-family:var(--serif);margin:0 0 .5rem;font-size:1.6rem;font-weight:400}.access__step-title:focus{outline:none}.access__hint{color:var(--sand);margin:0 0 1.5rem}.access__hint strong{color:var(--cream);overflow-wrap:anywhere;font-weight:600}.access__fine{color:var(--sand);margin:1.5rem 0 .75rem;font-size:.875rem}.access__form{gap:.75rem;display:grid}.access :focus-visible{outline-color:var(--copper-light)}.access .link-button{color:var(--cream)}.field-label{letter-spacing:.02em;font-size:.875rem;font-weight:600}.access input{border-radius:var(--radius);width:100%;min-height:3rem;color:var(--cream);font:1.05rem var(--sans);background:#f5efe60f;border:1px solid #cfc4b873;padding:.75rem .9rem}.access input::placeholder{color:#cfc4b8b3}.access input:focus{border-color:var(--copper-light);outline:none;box-shadow:0 0 0 3px #f59b6f59}.input--code{letter-spacing:.4em;font-variant-numeric:tabular-nums}.form-status{margin:.25rem 0 0;font-size:.9rem}.form-status--error{color:var(--copper-light)}.topbar{padding:.9rem var(--gutter);background:var(--night);color:var(--cream);justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar__brand{text-decoration:none}.topbar :focus-visible{outline-color:var(--copper-light)}.topbar__session{align-items:center;gap:1.25rem;font-size:.875rem;display:flex}.topbar__email{color:var(--sand);overflow-wrap:anywhere}.topbar__signout{border-radius:var(--radius);color:var(--cream);font:600 .85rem var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #cfc4b880;padding:.45rem .8rem}.topbar__signout:hover{border-color:var(--copper-light);color:var(--copper-light)}@media (width<=640px){.topbar__email{display:none}}.page{max-width:var(--page);padding:clamp(2rem, 6vw, 4.5rem) var(--gutter) 5rem;margin:0 auto}.page-header{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.page-title,.course-hero__title,.lesson__title,.state__title{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:400;line-height:1.1}.page-title{font-size:clamp(2.4rem,6vw,3.6rem)}.page-lead{color:var(--muted);max-width:38rem;margin:1rem 0 0;font-size:1.1rem}.breadcrumb{color:var(--muted);margin-bottom:2rem;font-size:.875rem}.page--state{align-content:center;min-height:60vh;display:grid}.state{max-width:34rem}.state__title{font-size:clamp(1.9rem,4.5vw,2.6rem)}.state__body{color:var(--muted);margin:1rem 0 0;font-size:1.05rem}.state__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.state__loading{color:var(--muted)}.course-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.course-list__item{border-bottom:1px solid var(--line);grid-template-columns:1fr;align-items:center;gap:1.25rem;padding:clamp(1.5rem,4vw,2.25rem) 0;display:grid}@media (width>=720px){.course-list__item{grid-template-columns:1fr auto;gap:3rem}}.course-list__title{font-family:var(--serif);margin:0;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:400;line-height:1.2}.course-list__title a{color:var(--night);text-decoration:none}.course-list__title a:hover{color:var(--burgundy);text-decoration:underline}.course-list__summary{color:var(--muted);max-width:44rem;margin:.6rem 0 0}.course-list__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.75rem 0 0;font-size:.8rem}.progress{max-width:28rem;margin:1rem 0 0}.progress__track{background:var(--sand);border-radius:2px;height:4px;overflow:hidden}.progress__fill{background:var(--copper);height:100%;display:block}.progress__text{color:var(--muted);font-variant-numeric:tabular-nums;margin:.5rem 0 0;font-size:.85rem}.course-list__status{color:var(--muted);margin:.75rem 0 0;font-size:.9rem}.course-list__status--done{color:var(--burgundy)}.course-hero{border-bottom:1px solid var(--line);max-width:48rem;padding-bottom:clamp(2rem,5vw,3rem)}.course-hero__title{font-size:clamp(2.4rem,6.5vw,4rem)}.course-hero__summary{font-family:var(--serif);margin:1.25rem 0 0;font-size:clamp(1.15rem,2.2vw,1.35rem);line-height:1.5}.course-hero__meta{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 1.75rem;font-size:.85rem}.section-title{font-family:var(--serif);margin:0 0 1.5rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:400}.outcomes{border-bottom:1px solid var(--line);padding:clamp(2rem,5vw,3rem) 0}.outcomes__list{gap:.9rem;max-width:44rem;margin:0;padding:0;list-style:none;display:grid}.outcomes__list li{padding-left:1.6rem;position:relative}.outcomes__list li:before{content:"";background:var(--copper);width:.8rem;height:1px;position:absolute;top:.7em;left:0}.journey{padding-top:clamp(2rem,5vw,3rem)}.journey__modules{gap:clamp(2rem,5vw,3rem);margin:0;padding:0;list-style:none;display:grid}.journey__module-head{grid-template-columns:auto 1fr;align-items:baseline;gap:1rem 1.25rem;display:grid}.journey__number{font-family:var(--serif);color:var(--copper);font-variant-numeric:lining-nums;font-size:clamp(2rem,5vw,2.75rem);line-height:1}.journey__module-title{font-family:var(--serif);margin:0;font-size:clamp(1.35rem,3vw,1.65rem);font-weight:400}.journey__module-summary{color:var(--muted);margin:.4rem 0 0}.journey__lessons{border-top:1px solid var(--line);margin:1.25rem 0 0;padding:0;list-style:none}@media (width>=720px){.journey__lessons{margin-left:4rem}}.journey__lesson{border-bottom:1px solid var(--line);color:var(--night);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem .25rem;text-decoration:none;transition:padding-left .15s,color .15s;display:flex}.journey__lesson:hover{color:var(--burgundy);padding-left:.6rem}.journey__lesson-arrow{color:var(--copper)}.journey__empty{color:var(--muted);margin:1rem 0 0}.journey__lesson-title{flex:1}.journey__lesson-state{letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy);white-space:nowrap;font-size:.75rem;font-weight:600}.journey__lesson-state--next{color:var(--night)}.journey__lesson--done .journey__lesson-title{color:var(--muted)}.journey__lesson--next{font-weight:600}.course-hero .progress{margin:0 0 1.5rem}.course-hero__status{color:var(--burgundy);margin:0 0 1.25rem}.page--lesson{max-width:calc(var(--reading) + 2 * var(--gutter))}.lesson__header{margin-bottom:clamp(2rem,5vw,3rem)}.lesson__title{font-size:clamp(2.1rem,5.5vw,3.1rem)}.lesson__position{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1rem 0 0;font-size:.85rem}.lesson__body{gap:1.75rem;display:grid}.block--text{font-family:var(--serif);font-size:clamp(1.1rem,2.1vw,1.2rem);line-height:1.75}.block--text p{margin:0 0 1.1em}.block--text p:last-child{margin-bottom:0}.block__label{letter-spacing:.16em;text-transform:uppercase;color:var(--burgundy);margin:0 0 .35rem;font-size:.72rem;font-weight:600;display:block}.block--resource{border:1px solid var(--line);border-left:3px solid var(--copper);border-radius:var(--radius);background:var(--paper);color:var(--night);gap:.15rem;padding:1.1rem 1.25rem;text-decoration:none;display:grid}a.block--resource:hover{border-color:var(--copper)}.block--resource__title{font-family:var(--serif);font-size:1.2rem}.block--resource__hint{color:var(--muted);font-size:.85rem}.block--unavailable{border-left-color:var(--sand)}.block--media{margin:0}.block--media img,.block--media video{border-radius:var(--radius);background:var(--night);width:100%;height:auto;display:block}.block--media audio{width:100%}.block--media figcaption{color:var(--muted);margin-top:.5rem;font-size:.875rem}.block--activity{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.25rem clamp(1.1rem,3vw,1.4rem)}.block--activity__title{font-family:var(--serif);margin:0 0 .75rem;font-size:1.35rem;font-weight:400}.block--activity p{margin:0 0 .75rem}.block--activity__soon{border-top:1px solid var(--line);color:var(--muted);padding-top:.75rem;font-size:.9rem;margin-bottom:0!important}.activity{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);scroll-margin-top:1.5rem}.activity__head{border-bottom:1px solid var(--line);gap:.3rem;padding:1.1rem clamp(1.1rem,3vw,1.4rem) 1rem;display:grid}.activity__head .block__label{margin:0}.activity__title{font-family:var(--serif);margin:0;font-size:1.35rem;font-weight:400;line-height:1.25}.activity__title:focus{outline:none}.activity__req{color:var(--muted);margin:0;font-size:.88rem}.activity__body{gap:1rem;padding:1.1rem clamp(1.1rem,3vw,1.4rem) 1.3rem;display:grid}.activity__body p{margin:0}.activity__instructions{max-width:60ch}.activity__rule{color:var(--muted);max-width:60ch;font-size:.92rem}.activity__meta{color:var(--muted);font-size:.85rem}.activity__notice{border-left:3px solid var(--copper);background:var(--cream);padding:.6rem .8rem;font-size:.92rem}.activity__step{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.activity__step:focus,.activity__result-title:focus,.activity__feedback:focus{outline:none}.activity__form{gap:1rem;display:grid}.activity__fieldset{border:0;min-width:0;margin:0;padding:0}.activity__question{font-family:var(--serif);margin:0 0 .75rem;padding:0;font-size:1.1rem;line-height:1.5}.activity__hint{color:var(--muted);font-size:.88rem;margin:-.25rem 0 .75rem!important}.activity__status{color:var(--burgundy);font-size:.92rem}.activity__status:empty{display:none}.activity__actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.activity .button[aria-disabled=true]{opacity:.55}.activity__options{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.activity__option{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:1.4rem 1fr;align-items:start;gap:.75rem;min-height:3rem;padding:.75rem .25rem;display:grid}.activity__option input{width:1.25rem;height:1.25rem;accent-color:var(--night);margin:.15rem 0 0}.activity__option:has(input:checked){font-weight:600}.activity__option--locked{cursor:default;color:var(--muted)}.activity__option--mine{color:var(--night);font-weight:600}.activity__dot{color:var(--burgundy);text-align:center}.activity__yours{letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy);margin-top:.15rem;font-size:.72rem;font-weight:600;display:block}.activity__tf{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.activity__tf-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:.5rem;display:flex}.activity__tf-option input{accent-color:var(--night);width:1.15rem;height:1.15rem;margin:0}.activity__tf-option:has(input:checked){border-color:var(--night);font-weight:600}.activity__group-list{border-top:1px solid var(--line)}.activity__cls-item{border-bottom:1px solid var(--line);padding:.75rem 0}.activity__cls-text{font-family:var(--serif);margin:0 0 .5rem;padding:0;font-size:1.05rem}.activity__chips{flex-wrap:wrap;gap:.4rem;display:flex}.activity__chip{border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:1.4rem;align-items:center;gap:.4rem;min-height:2.75rem;padding:0 .85rem;font-size:.92rem;display:inline-flex}.activity__chip input{accent-color:var(--night);margin:0}.activity__chip:has(input:checked){border-color:var(--night);font-weight:600}.activity__order{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.activity__order-item{border-bottom:1px solid var(--line);grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.5rem;padding:.4rem 0;display:grid}.activity__order-n{font-family:var(--serif);color:var(--copper);font-size:1.1rem}.activity__order-moves{gap:.35rem;display:flex}.activity__move{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);min-width:2.75rem;min-height:2.75rem;color:var(--night);font:600 .8rem var(--sans);cursor:pointer;padding:0 .6rem}.activity__move:hover:not(:disabled){border-color:var(--night)}.activity__move:disabled{opacity:.35;cursor:not-allowed}.activity__pairs{border-top:1px solid var(--line)}.activity__pair{border-bottom:1px solid var(--line);gap:.35rem;padding:.7rem 0;display:grid}.activity__pair-label{font-family:var(--serif);font-size:1.05rem}.activity__select{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);width:100%;min-height:2.75rem;color:var(--night);font:inherit;padding:.5rem .6rem}.activity__answered{gap:.25rem;display:grid}.activity__feedback{grid-template-columns:1.4rem 1fr;gap:.25rem .6rem;display:grid}.activity__feedback>p{grid-column:2}.activity__mark{font-family:var(--serif);color:var(--burgundy);font-size:1.2rem;line-height:1.3}.activity__explanation{color:var(--muted);margin-top:.25rem;font-size:.95rem;display:block}.activity__result{gap:.4rem;display:grid}.activity__result-title{font-family:var(--serif);align-items:baseline;gap:.5rem;margin:0;font-size:1.3rem;font-weight:400;display:flex}.activity__score{font-family:var(--serif);font-size:1.1rem}.activity__review-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.25rem 0 .5rem;font-size:.78rem;font-weight:600}.activity__review-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.activity__review-list li{border-bottom:1px solid var(--line);grid-template-columns:1.4rem 1fr;gap:.6rem;padding:.6rem 0;font-size:.95rem;display:grid}.lesson-complete.requirements{border:0;border-top:2px solid var(--night);background:0 0;border-radius:0;padding-inline:0}.requirements__list{margin:0 0 1rem;padding:0;list-style:none}.requirements__item{border-bottom:1px solid var(--line);grid-template-columns:1.4rem 1fr;gap:.6rem;padding:.6rem 0;display:grid}.requirements__mark{font-family:var(--serif);color:var(--copper)}.requirements__item--met .requirements__mark{color:var(--burgundy)}.requirements__link{color:var(--burgundy);text-align:left;min-height:2.75rem}.requirements__state{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600;display:block}.requirements__item--met .requirements__state{color:var(--night)}@media (width<=420px){.activity__order-item{grid-template-columns:1.4rem 1fr}.activity__order-moves{grid-column:2}}.lesson-complete{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-top:clamp(2.5rem,6vw,3.5rem);padding:1.5rem clamp(1.25rem,3vw,1.75rem)}.lesson-complete__title{font-family:var(--serif);margin:0 0 .5rem;font-size:1.45rem;font-weight:400}.lesson-complete__title:focus{outline:none}.lesson-complete__progress{color:var(--muted);margin:0 0 1.25rem}.lesson-complete__error{color:var(--burgundy);margin:.75rem 0 0}.lesson-complete__error:empty{display:none}.lesson-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(3rem,7vw,4.5rem);padding-top:1.5rem;display:grid}.lesson-nav__link{color:var(--night);gap:.25rem;padding:.75rem 0;text-decoration:none;display:grid}.lesson-nav__link--next{text-align:right}.lesson-nav__dir{letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);font-size:.75rem;font-weight:600}.lesson-nav__title{font-family:var(--serif);font-size:1.1rem}.lesson-nav__link:hover .lesson-nav__title{text-decoration:underline}@media (width<=520px){.lesson-nav{grid-template-columns:1fr}.lesson-nav__link--next{text-align:left}.lesson-nav__spacer{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
