:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf9f5;--surface:#fff;--ink:#202c25;--muted:#626c64;--accent:#234e3c;--accent-soft:#edf2e9;--line:#dedfd5;--warm:#f0eadc;--error:#972c24;--radius:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container:1200px;--gutter:clamp(20px, 4vw, 56px);--sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:Georgia, "Times New Roman", serif;--small:.875rem;--body:1rem;--large:1.125rem;--heading:clamp(2.25rem, 4vw, 3.5rem);--display:clamp(3rem, 5.7vw, 5.75rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font:var(--body) / 1.65 var(--sans);margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:400;line-height:1.08}h1{font-size:var(--display)}h2{font-size:var(--heading)}h3{font-size:var(--large);line-height:1.4}p{margin-bottom:var(--space-5)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:var(--space-5);font-size:.75rem;font-weight:650}.site-header,.site-footer{max-width:calc(var(--container) + var(--gutter) * 2);padding:var(--space-5) var(--gutter);justify-content:space-between;align-items:center;gap:var(--space-5);margin:auto;display:flex}.site-header{border-bottom:1px solid var(--line);min-height:100px}.brand{letter-spacing:-.06em;align-items:center;gap:var(--space-3);font-size:1.5rem;font-weight:650;text-decoration:none;display:flex}.brand-mark{background:var(--accent);color:var(--paper);font:2rem var(--serif);text-align:center;border-radius:var(--radius);letter-spacing:-.08em;width:42px;height:42px}.brand-note{font:9px/1.5 var(--sans);letter-spacing:.14em;border-left:1px solid var(--line);max-width:70px;padding-left:var(--space-3);margin-left:var(--space-2)}.brand-dot{color:var(--accent)}nav{align-items:center;gap:var(--space-6);display:flex}nav>a{font-size:var(--small);text-decoration:none}.button{gap:var(--space-4);min-height:48px;padding:var(--space-3) var(--space-5);border:1px solid var(--accent);background:var(--accent);color:var(--paper);font-size:var(--small);border-radius:6px;justify-content:center;align-items:center;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.button:hover{background:#183b2c}.button.secondary{color:var(--accent);border-color:var(--line);background:0 0}.button.secondary:hover{background:var(--accent-soft)}.button.small{min-height:44px;padding:var(--space-3) var(--space-4)}.text-link{font-weight:600;font-size:var(--small)}.container{max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.hero{gap:var(--space-8);padding-block:var(--space-9);grid-template-columns:1.25fr 1fr;align-items:center;display:grid}.hero h1{max-width:11ch;margin-bottom:var(--space-6)}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:43ch;color:var(--muted);font-size:var(--large)}.actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.hero-note{margin-top:var(--space-5);font-size:var(--small)!important}.workbook{background:var(--warm);padding:var(--space-7);border-radius:var(--radius);position:relative;transform:rotate(2deg)}.workbook:before{content:"";inset:var(--space-3);pointer-events:none;border:1px solid #d2c9b4;border-radius:3px;position:absolute}.workbook-top{padding-bottom:var(--space-5);margin-bottom:var(--space-6);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #d2c9b4;justify-content:space-between;align-items:center;font-size:.7rem;display:flex}.workbook h2{max-width:9ch;margin-bottom:var(--space-6);font-size:clamp(2rem,3.5vw,3rem)}.workbook ol{margin:0;padding:0;list-style:none}.workbook li{padding-block:var(--space-4);align-items:center;gap:var(--space-5);font-size:var(--small);border-top:1px solid #d2c9b4;display:flex}.workbook li span{font:1.25rem var(--serif);color:var(--muted)}.workbook-bottom{letter-spacing:.08em;margin:var(--space-5) 0 0;font-size:.7rem}.section{padding-block:var(--space-8);border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-6);margin-bottom:var(--space-7);display:flex}.section-heading h2{margin-bottom:0}.section-heading p:last-child{max-width:36ch;color:var(--muted);margin:0}.course-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.course-art{padding:var(--space-6);background:var(--accent-soft);justify-content:space-between;align-items:end;min-height:140px;display:flex}.course-art .course-number{font:4rem/1 var(--serif);color:var(--accent)}.course-art p{letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.7rem}.course-card-body{padding:var(--space-6);flex-direction:column;flex:1;align-items:start;display:flex}.course-card h3{font:1.65rem/1.2 var(--serif);margin-bottom:var(--space-4)}.course-card-body>p{color:var(--muted)}.course-meta{gap:var(--space-4);font-size:var(--small);color:var(--muted);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.course-card .text-link{margin-top:auto}.empty{padding:var(--space-7);border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.empty h3{font-family:var(--serif);font-size:1.75rem;font-weight:400}.empty p{max-width:60ch;color:var(--muted)}.approach{gap:var(--space-8);grid-template-columns:1fr 1.4fr;display:grid}.approach-list{margin:0}.approach-list>div{gap:var(--space-5);border-top:1px solid var(--line);padding-block:var(--space-5);grid-template-columns:40px 1fr;display:grid}.approach-list dt{font:1.3rem var(--serif);color:var(--accent)}.approach-list dd{margin:0}.approach-list strong{margin-bottom:var(--space-2);display:block}.approach-list p{color:var(--muted);margin:0}.invitation-banner{background:var(--accent-soft);border-radius:var(--radius);padding:var(--space-7);justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.invitation-banner h2{margin-bottom:var(--space-3);font-size:2rem}.invitation-banner p{max-width:55ch;color:var(--muted);margin:0}.site-footer{border-top:1px solid var(--line);padding-block:var(--space-6);color:var(--muted);font-size:.75rem}.site-footer p{margin:0}.site-footer .brand{color:var(--ink)}.skip-link{top:-100px;left:var(--space-4);z-index:10;background:var(--surface);padding:var(--space-4);position:fixed}.skip-link:focus{top:var(--space-4)}.narrow{max-width:760px;padding:var(--space-8) var(--gutter);margin:auto}.narrow h1{font-size:var(--heading)}.notice{padding:var(--space-4) var(--space-5);background:var(--accent-soft);border:1px solid var(--line);margin-bottom:var(--space-5);border-radius:6px}.notice.error{color:var(--error);background:#fff2ef;border-color:#e4bbb5}.field{gap:var(--space-2);margin-bottom:var(--space-5);display:grid}.field span{font-weight:600;font-size:var(--small)}input,textarea{width:100%;padding:var(--space-3);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;min-height:48px}.course-detail{padding-block:var(--space-8)}.course-detail h1{font-size:var(--heading);max-width:22ch}.course-overview{gap:var(--space-8);margin-block:var(--space-7);grid-template-columns:1.5fr 1fr;display:grid}.prose{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch;line-height:1.85}.curriculum{border-top:1px solid var(--line);padding:0;list-style:none}.curriculum li{gap:var(--space-5);border-bottom:1px solid var(--line);padding:var(--space-5) 0;align-items:center;display:flex}.curriculum .num{font:1.25rem var(--serif);color:var(--muted);min-width:24px}.curriculum small{color:var(--muted);display:block}.curriculum .time{white-space:nowrap;color:var(--muted);font-size:var(--small);margin-left:auto}.learn-root{min-height:65vh}.learning-header{padding-block:var(--space-7);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.learning-header h1{font-size:var(--heading);margin-bottom:var(--space-3)}.learning-header p{color:var(--muted);margin:0}.learning-shell{gap:var(--space-7);padding-bottom:var(--space-8);grid-template-columns:300px minmax(0,1fr);display:grid}.learning-sidebar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-self:start;overflow:hidden}.learning-progress{padding:var(--space-5);border-bottom:1px solid var(--line)}.learning-progress p{font-size:var(--small);margin-bottom:var(--space-3)}progress{width:100%;height:6px;accent-color:var(--accent)}.lesson-nav{padding:var(--space-3);display:block}.lesson-nav h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:var(--space-5) var(--space-3) var(--space-2);font-size:.7rem}.lesson-nav button{align-items:start;gap:var(--space-3);text-align:left;width:100%;color:var(--ink);padding:var(--space-3);font-size:var(--small);background:0 0;border:0;border-radius:6px;min-height:52px;line-height:1.5;display:flex}.lesson-nav button:hover{background:var(--paper)}.lesson-nav button[aria-current=step]{background:var(--accent-soft);color:var(--accent);font-weight:650}.lesson-nav button>span:first-child{font-variant-numeric:tabular-nums;flex:0 0 22px}.lesson-nav small{color:var(--muted);font-weight:400;display:block}.lesson-content{min-width:0}.lesson-content h2{margin-bottom:var(--space-5);overflow-wrap:anywhere;font-size:clamp(1.8rem,3vw,2.6rem)}.lesson-content video{background:var(--ink);border-radius:var(--radius);width:100%;max-height:520px;margin-bottom:var(--space-5)}.lesson-content .lesson-text{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-5)}.lesson-content .eyebrow{margin-bottom:var(--space-3)}.lesson-controls{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-5);flex-wrap:wrap;display:flex}.resource{gap:var(--space-5);background:var(--warm);padding:var(--space-5);border-radius:var(--radius);margin-block:var(--space-5);justify-content:space-between;align-items:center;display:flex}.resource p{margin:0}.completion-banner{padding:var(--space-6);border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);margin-bottom:var(--space-6)}.completion-banner h2{font-size:2rem}.loading{padding:var(--space-8) var(--gutter);color:var(--muted)}.assignment{min-width:0;margin-block:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere;padding:clamp(20px,4vw,32px)}.assignment-heading{justify-content:space-between;align-items:start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.assignment-heading>div{min-width:0}.assignment-heading h2{margin-bottom:0}.assignment-review{padding-block:var(--space-4)}.assignment-status{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);background:var(--paper);font-size:var(--small);border-radius:6px;font-weight:650;display:inline-block}.assignment-status-needs_revision{background:var(--warm)}.assignment-status-accepted{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.assignment-meta{font-size:var(--small)}.assignment-copy,.assignment-link{margin-bottom:var(--space-5)}.assignment-fields{min-width:0;margin:var(--space-4) 0 0;padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--line)}.assignment-fields legend{padding-right:var(--space-3);font-weight:650}.assignment-kinds{gap:var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.assignment-kinds label{align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;display:inline-flex}.assignment-kinds input{width:20px;height:20px;min-height:20px;accent-color:var(--accent);margin:0}.assignment input,.assignment textarea{min-width:0;max-width:100%}.assignment textarea{resize:vertical}.assignment textarea[readonly]{background:var(--paper)}.assignment .button{max-width:100%}.assignment-snapshot{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line)}.assignment-snapshot summary{cursor:pointer;min-height:44px;font-weight:600}.assignment-snapshot .assignment-review{border-left:3px solid var(--warm);padding-left:var(--space-4)}@media (width<=900px){.hero{gap:var(--space-7)}.workbook{padding:var(--space-6)}.learning-shell{gap:var(--space-5);grid-template-columns:240px minmax(0,1fr)}.brand-note{display:none}.course-overview{gap:var(--space-6)}}@media (width<=700px){.hero,.approach,.course-overview{gap:var(--space-7);grid-template-columns:1fr}.hero{padding-block:var(--space-7)}.hero h1{max-width:13ch}.workbook{max-width:100%;transform:none}.workbook h2{max-width:13ch}.course-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start}.section{padding-block:var(--space-7)}.invitation-banner{padding:var(--space-6);flex-direction:column;align-items:start}.site-footer{flex-wrap:wrap}.site-footer p{flex-basis:100%;order:3}.site-header{padding-block:var(--space-4);gap:var(--space-3);min-height:82px}nav{gap:var(--space-4)}.brand{font-size:1.25rem}.brand-mark{display:none}.learning-shell{gap:var(--space-6);grid-template-columns:1fr}.lesson-nav{max-height:280px;overflow-y:auto}.learning-header{flex-wrap:wrap;align-items:start}.learning-header h1{font-size:2rem}.lesson-content .lesson-text{padding:var(--space-5)}.curriculum .time{white-space:normal;min-width:45px}.narrow{padding-block:var(--space-7)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.resource>div,.lesson-nav button>span:last-child,.curriculum li>div{overflow-wrap:anywhere;min-width:0}.resource .button{flex-shrink:0}@media (width<=700px){.resource{flex-wrap:wrap}.resource>div{flex-basis:100%}}.brand,.text-link,.site-header nav>a,.site-footer>a{align-items:center;min-height:44px;display:inline-flex}
