@import url("/fonts/fonts.css");:root{color-scheme:light;--color-bg:#F8FAFC;--color-surface:#EFF4F8;--color-text:#0F172A;--color-muted:#5E6E85;--color-border:#CBD5E1;--color-accent:#1D4E89;--color-on-accent:#FFFFFF;--color-accent-text:#1D4E89;--color-accent-soft:#E0ECFD;--color-on-accent-soft:#1D4E89;--color-success:#1F7A4D;--color-warning:#9A6200;--color-danger:#B42318;--color-on-danger:#FFFFFF;--color-focus:#1D4E89;--color-kitchen:#B4531D;--color-kitchen-soft:#F9E7DC;--accent-700:#2F598D;--color-stage:#0B1220;--color-stage-raised:#131C2E;--color-on-stage:#E8EEF5;--color-stage-muted:#93A3B8;--color-stage-line:#263349;--font-heading:"Cormorant Garamond",Georgia,"Times New Roman",serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-ui:var(--font-body);--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--step-n2:0.75rem;--step-n1:0.8125rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.5625rem;--step-3:1.9375rem;--step-4:2.4375rem;--step-5:3.0625rem;--step-6:3.8125rem;--step-7:4.75rem;--step-8:5.9375rem;--leading-body:1.6;--leading-heading:1.12;--leading-display:1.02;--measure:65ch;--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;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--control-sm:36px;--control-md:40px;--control-lg:44px;--dur-fast:120ms;--dur-slow:200ms;--ease:cubic-bezier(0.2,0,0,1);--rule:1px solid var(--color-border)}:root[data-theme=dark]{color-scheme:dark;--color-bg:#0B1220;--color-surface:#131C2E;--color-text:#E8EEF5;--color-muted:#93A3B8;--color-border:#263349;--color-accent:#8DB4E6;--color-on-accent:#0B1220;--color-accent-text:#8DB4E6;--color-accent-soft:#1A2B45;--color-on-accent-soft:#C7D9F1;--color-success:#5CC28E;--color-warning:#E2AE4F;--color-danger:#F2857A;--color-on-danger:#0B1220;--color-focus:#8DB4E6;--color-kitchen:#E8A070;--color-kitchen-soft:#3B2416;--accent-700:#B4CEF0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:#0B1220;--color-surface:#131C2E;--color-text:#E8EEF5;--color-muted:#93A3B8;--color-border:#263349;--color-accent:#8DB4E6;--color-on-accent:#0B1220;--color-accent-text:#8DB4E6;--color-accent-soft:#1A2B45;--color-on-accent-soft:#C7D9F1;--color-success:#5CC28E;--color-warning:#E2AE4F;--color-danger:#F2857A;--color-on-danger:#0B1220;--color-focus:#8DB4E6;--color-kitchen:#E8A070;--color-kitchen-soft:#3B2416;--accent-700:#B4CEF0}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-slow:0ms}html{scroll-behavior:auto}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em;line-height:var(--leading-heading);margin:0;text-wrap:balance;font-feature-settings:"lnum";font-variant-numeric:lining-nums}h1{font-size:clamp(var(--step-4),6vw,var(--step-6))}h2{font-size:clamp(var(--step-3),4vw,var(--step-4))}h3{font-size:var(--step-2);line-height:1.15}h4{font-size:var(--step-1)}p{margin:0;max-width:var(--measure);text-wrap:pretty}p+p{margin-top:var(--space-4)}.small,small{font-size:var(--step-n1)}.lead,.muted{color:var(--color-muted)}.lead{font-size:var(--step-1)}a{color:var(--color-accent-text);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.mono,code,kbd,pre{font-family:var(--font-mono)}:not(pre)>code{font-size:.92em}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}hr{border:0;border-top:var(--rule);margin:var(--space-6) 0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}::selection{background:var(--color-accent-soft)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:var(--space-4);top:-100px;background:var(--color-surface);padding:var(--space-2) var(--space-4);z-index:100}.skip-link:focus{top:var(--space-4)}.container{width:min(100% - 2 * var(--space-5),1200px);margin-inline:auto}.section{padding-block:var(--space-9) 0}@media (max-width:639px){.section{padding-block:var(--space-7) 0}.lead{font-size:var(--step-0)}}.stack{display:grid;grid-gap:var(--space-3)}.row,.stack{gap:var(--space-3)}.row{display:flex;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}@media (max-width:639px){.cta-row{flex-direction:column;align-items:stretch;text-align:center}.cta-row>a:not(.btn){display:inline-flex;align-items:center;justify-content:center;min-height:44px}}.grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px) and (max-width:1023px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:639px){.grid-2,.grid-3{grid-template-columns:1fr}}.kicker,.mono-label{margin:0;font-family:var(--font-mono);font-size:var(--step-n2);font-weight:500;color:var(--color-muted);letter-spacing:.02em}.serif{font-family:var(--font-heading)}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-sm{width:16px;height:16px}.icon-fill{fill:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-ui);font-weight:600;font-size:var(--step-0);line-height:1;cursor:pointer;white-space:nowrap;background:transparent;color:var(--color-text);border-color:var(--color-border);transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--color-surface)}.btn:active{transform:translateY(1px)}.btn[aria-disabled=true],.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.btn-primary:hover{background:var(--accent-700);border-color:var(--accent-700)}.btn-secondary{background:var(--color-bg)}.btn-ghost{border-color:transparent;color:var(--color-accent-text);padding-inline:var(--space-3)}.btn-ghost:hover{background:var(--color-accent-soft)}.btn-danger{color:var(--color-danger)}.btn-sm{min-height:var(--control-sm);padding:0 var(--space-4);font-size:var(--step-n1)}.btn-lg{min-height:var(--control-lg);padding:0 var(--space-6);font-size:var(--step-1)}.link-btn{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.link-btn,.text-link{color:var(--color-accent-text)}.text-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;font-family:var(--font-ui);font-weight:600;text-decoration:underline;text-underline-offset:.25em}.icon-btn{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:var(--rule);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);cursor:pointer}.icon-btn:hover{background:var(--color-surface)}@media (max-width:639px),(pointer:coarse){.btn,.input,.select{min-height:44px}.icon-btn{width:44px;height:44px}.input,.select,.textarea{font-size:16px}}.field{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-4)}.label{font-family:var(--font-ui);font-weight:600}.hint,.label{font-size:var(--step-n1)}.hint{color:var(--color-muted)}.error-text{font-size:var(--step-n1);color:var(--color-danger)}.input,.select,.textarea{width:100%;min-height:var(--control-md);padding:0 var(--space-3);background:var(--color-bg);color:var(--color-text);border:var(--rule);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.textarea{padding:var(--space-3);min-height:120px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--color-muted);opacity:.8}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input[aria-invalid=true]{border-color:var(--color-danger)}.check{display:inline-flex;gap:var(--space-2);align-items:center;min-height:32px;font-size:var(--step-n1);color:var(--color-muted)}.check input{width:18px;height:18px;accent-color:var(--color-accent)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--step-n1);font-weight:600;background:var(--color-surface);color:var(--color-muted);border:var(--rule);white-space:nowrap}.badge-accent{color:var(--color-accent-text);background:var(--color-accent-soft);border-color:transparent}.badge-success{color:var(--color-success)}.badge-warning{color:var(--color-warning)}.badge-kitchen{color:var(--color-kitchen);background:var(--color-kitchen-soft);border-color:transparent}.badge-team{background:var(--color-text);color:var(--color-bg);border-color:transparent;font-size:var(--step-n2);text-transform:uppercase;letter-spacing:.04em}.ep-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--step-n1);font-weight:500;line-height:1.2;color:var(--color-accent-text);white-space:nowrap}.ts-plain{font-size:var(--step-n1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-muted)}.ts,.ts-plain{font-family:var(--font-mono);white-space:nowrap}.ts{display:inline-flex;align-items:center;padding:0 var(--space-1);border:0;border-radius:var(--radius-sm);font-size:.875em;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-accent-text);background:var(--color-accent-soft);text-decoration:none;cursor:pointer}.ts:focus-visible,.ts:hover{text-decoration:underline}.meta-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:var(--step-n1);color:var(--color-muted)}.meta-list>li{display:inline-flex;align-items:center;gap:var(--space-1)}.meta-list>li+li{padding-left:var(--space-3);border-left:var(--rule)}.meta-list a{color:inherit}.seg{display:inline-flex;padding:var(--space-1);gap:var(--space-1);border:var(--rule);border-radius:var(--radius-md);background:var(--color-bg)}.seg a,.seg button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-ui);font-size:var(--step-n1);font-weight:600;color:var(--color-muted);cursor:pointer;text-decoration:none}.seg a[aria-pressed=true],.seg button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-on-accent-soft);font-family:var(--font-ui);font-size:var(--step-n1);font-weight:600;line-height:1;text-decoration:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--step-n2)}.avatar-link{display:inline-flex;border-radius:var(--radius-md)}.progress{position:relative;height:6px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.progress>span{display:block;height:100%;background:var(--color-accent);transition:width var(--dur-slow) var(--ease)}.ring{--p:0;width:56px;height:56px;background:conic-gradient(var(--color-accent) calc(var(--p) * 1%),var(--color-border) 0);place-items:center;flex:none}.ring,.ring>span{border-radius:50%;display:grid}.ring>span{width:44px;height:44px;background:var(--color-bg);place-items:center;font-size:var(--step-n2);font-weight:600;font-family:var(--font-mono)}.panel{background:var(--color-bg);border:var(--rule);border-radius:var(--radius-lg);overflow:hidden}.panel-head{padding:var(--space-3) var(--space-4);border-bottom:var(--rule);font-weight:600;font-size:var(--step-n1);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.card{background:var(--color-bg);border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-5)}.flash{border:var(--rule);border-left:3px solid var(--color-success);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--step-n1);margin-bottom:var(--space-4)}.flash.err{border-left-color:var(--color-danger)}.crumbs{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin:0;font-size:var(--step-n1)}.crumbs,.crumbs a{color:var(--color-muted)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--color-text);text-decoration:underline}@media (max-width:639px){.not-narrow{display:none!important}}.art{display:block;width:100%;height:auto;color:var(--color-text)}.art .ink{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.art .ink,.art .ink *{vector-effect:non-scaling-stroke}.art .paper{fill:var(--color-bg)}.art .soft{stroke:var(--color-muted)}.art .accent{stroke:var(--color-accent)}.art .dot{fill:var(--color-accent)}.art .dashed{stroke-dasharray:4 6}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--color-bg);border-bottom:var(--rule)}.nav{gap:var(--space-5);min-height:64px}.brand,.nav{display:flex;align-items:center}.brand{gap:var(--space-2);font-family:var(--font-heading);font-weight:700;font-size:var(--step-1);color:var(--color-text);min-height:44px}.brand,.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;flex:none}.brand-mark-bg{fill:var(--color-text)}.brand-mark-fg{fill:var(--color-bg)}.brand-name{font-weight:700;letter-spacing:-.01em}.brand-product{font-weight:500;font-style:italic;padding-left:var(--space-2);border-left:var(--rule);line-height:1.1}.nav-links{flex:1 1;display:flex;align-items:center;gap:var(--space-5);-webkit-margin-start:var(--space-4);margin-inline-start:var(--space-4)}.nav-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-text);text-decoration:none;font-family:var(--font-ui);font-weight:500}.nav-links a:hover{color:var(--color-accent-text)}.nav-links a[aria-current=page]{color:var(--color-accent-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.5em}.header-tools{display:flex;align-items:center;gap:var(--space-2);-webkit-margin-start:auto;margin-inline-start:auto}.lang-switch{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:var(--rule);border-radius:var(--radius-md)}.lang-switch a{display:inline-grid;place-items:center;min-height:30px;min-width:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--step-n1);font-weight:500;color:var(--color-muted);text-decoration:none}.lang-switch a:hover{color:var(--color-text)}.lang-switch a[aria-pressed=true]{background:var(--color-surface);color:var(--color-text)}@media (max-width:1023px){.brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.brand-product{border-left:0;padding-left:0}.nav-links{gap:var(--space-4);-webkit-margin-start:0;margin-inline-start:0}}@media (max-width:639px){.nav{min-height:60px}.nav,.nav-links{gap:var(--space-3)}.nav-links{font-size:var(--step-n1)}.lang-switch a{min-width:34px}}.site-footer{border-top:var(--rule);margin-top:var(--space-9);padding-block:var(--space-8) var(--space-6);color:var(--color-muted);font-size:var(--step-n1)}.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.footer-brand .brand{color:var(--color-text)}.footer-brand p{margin-top:var(--space-3);max-width:38ch}.footer-col h2{font-family:var(--font-ui);font-size:var(--step-n1);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-base a,.footer-col a{display:inline-flex;align-items:center;min-height:36px;color:var(--color-muted);text-decoration:none}.footer-base a:hover,.footer-col a:hover{color:var(--color-text);text-decoration:underline}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-7);padding-top:var(--space-4);border-top:var(--rule)}.footer-base a+a{margin-left:var(--space-4)}@media (min-width:640px) and (max-width:1023px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}@media (max-width:639px){.site-footer{margin-top:var(--space-7);padding-block:var(--space-7) var(--space-5)}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.footer-brand{grid-column:1/-1}}.section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:var(--space-7);gap:var(--space-7);align-items:end;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:var(--rule)}.section-head h2{max-width:24ch}.section-head p{max-width:52ch}.section-head .aside{justify-self:end;text-align:right}@media (max-width:1023px){.section-head{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.section-head .aside{justify-self:start;text-align:left}}.home-hero{padding-block:var(--space-8) var(--space-7)}.home-hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-gap:var(--space-7);gap:var(--space-7);align-items:center}.home-hero-copy h1{font-size:clamp(var(--step-5),4.4vw,var(--step-7));line-height:var(--leading-display);letter-spacing:-.015em}.home-hero-copy .lead{margin-top:var(--space-5);max-width:44ch}.hero-actions{margin-top:var(--space-6)}.hero-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;grid-gap:var(--space-6);gap:var(--space-6);margin:var(--space-7) 0 0;padding-top:var(--space-4);border-top:var(--rule)}.hero-facts dt{font-family:var(--font-mono);font-size:var(--step-n2);color:var(--color-muted)}.hero-facts dd{margin:var(--space-1) 0 0;font-family:var(--font-heading);font-size:var(--step-2);font-weight:600;line-height:1.1;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.season-card{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden;color:inherit;text-decoration:none;display:block}.season-card:hover{text-decoration:none;border-color:var(--color-accent)}.season-art{display:block;padding:var(--space-5) var(--space-5) 0;background:var(--color-surface);border-bottom:var(--rule)}.season-body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6);align-items:end;padding:var(--space-5) var(--space-6) var(--space-6)}.season-title{font-size:var(--step-8);line-height:.88;letter-spacing:-.025em;margin-top:var(--space-2);white-space:nowrap}.season-subtitle{margin:var(--space-2) 0 0;font-family:var(--font-heading);font-style:italic;font-weight:500;font-size:var(--step-3);line-height:1;color:var(--color-muted)}.season-detail p{max-width:44ch}.season-detail .meta-list{margin-top:var(--space-4)}.season-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;margin-top:var(--space-2);font-family:var(--font-ui);font-weight:600;color:var(--color-accent-text)}@media (max-width:1023px){.home-hero-grid{grid-template-columns:1fr;gap:var(--space-7)}.home-hero-copy h1{max-width:18ch}.season-title{font-size:var(--step-7)}}@media (max-width:639px){.home-hero{padding-block:var(--space-6)}.home-hero-copy h1{font-size:var(--step-5)}.hero-facts{gap:var(--space-5);margin-top:var(--space-6)}.season-art{padding:var(--space-4) var(--space-3) 0}.season-body{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5)}}.continue-strip{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-2) var(--space-5);gap:var(--space-2) var(--space-5);padding-block:var(--space-4);border-block:var(--rule)}.continue-label{grid-row:span 2;align-self:stretch;display:flex;align-items:center;padding-right:var(--space-5);border-right:var(--rule);font-family:var(--font-ui);font-size:var(--step-n1);font-weight:600;color:var(--color-muted)}.continue-lesson{display:flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--color-text);text-decoration:none}.continue-lesson:hover strong{text-decoration:underline;text-underline-offset:.2em}.continue-text{display:grid}.continue-text strong{font-family:var(--font-heading);font-size:var(--step-2);font-weight:600;line-height:1.1}.continue-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.continue-next{grid-column:2/-1;margin:0;font-size:var(--step-n1);color:var(--color-muted)}.continue-next a{margin-left:var(--space-2)}@media (max-width:1023px){.continue-strip{grid-template-columns:minmax(0,1fr) auto}.continue-label{grid-row:auto;grid-column:1/-1;border-right:0;padding-right:0}.continue-progress{grid-column:1}.continue-next{grid-column:1/-1}}@media (max-width:639px){.continue-strip{grid-template-columns:1fr;gap:var(--space-3)}}.course-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.course-card{position:relative;display:flex;flex-direction:column;border:var(--rule);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden;transition:border-color var(--dur-fast) var(--ease)}.course-card:focus-within,.course-card:hover{border-color:var(--color-accent)}.course-card.is-soon{border-style:dashed;background:transparent}.course-card.is-soon:hover{border-color:var(--color-muted)}.course-cover{padding:var(--space-4) var(--space-5) 0;background:var(--color-surface);border-bottom:var(--rule)}.course-cover.photo{padding:0}.course-cover.photo img{width:100%;aspect-ratio:16/9;object-fit:cover}.course-card.is-soon .course-cover{background:transparent;border-bottom-style:dashed}.course-body{flex:1 1;display:grid;grid-gap:var(--space-3);gap:var(--space-3);align-content:start;padding:var(--space-5)}.course-body h3{font-size:var(--step-3);line-height:1.1}.course-body h3 a{color:inherit;text-decoration:none}.course-body h3 a:after{content:"";position:absolute;inset:0}.course-body h3 a:hover{text-decoration:underline;text-underline-offset:.15em}.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0}.course-progress{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2)}@media (min-width:640px) and (max-width:1023px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid>.course-card:first-child{grid-column:1/-1;flex-direction:row}.course-grid>.course-card:first-child .course-cover{flex:0 0 46%;display:grid;align-items:end;border-bottom:0;border-right:var(--rule)}.course-grid>.course-card:first-child .course-body{align-content:center}}@media (max-width:639px){.course-grid{grid-template-columns:1fr}}.how-it-works{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.how-it-works>li{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-content:start;padding:0 var(--space-5);border-left:var(--rule)}.how-it-works>li:first-child{padding-left:0;border-left:0}.how-step{font-family:var(--font-heading);font-size:var(--step-6);font-weight:500;line-height:.8;color:var(--color-muted);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.how-it-works .icon{justify-self:end;color:var(--color-accent-text)}.how-it-works h3,.how-it-works p{grid-column:1/-1}.how-it-works h3{margin-top:var(--space-3)}.how-it-works p{color:var(--color-muted)}@media (min-width:640px) and (max-width:1023px){.how-it-works{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-6)}.how-it-works>li:nth-child(odd){padding-left:0;border-left:0}}@media (max-width:639px){.how-it-works{grid-template-columns:1fr}.how-it-works>li{padding:var(--space-5) 0;border-left:0;border-top:var(--rule)}.how-it-works>li:first-child{padding-top:0;border-top:0}.how-step{font-size:var(--step-5)}}.course-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:var(--space-7);gap:var(--space-7);padding:var(--space-7) 0 var(--space-6);border-bottom:var(--rule);align-items:start}.course-head h1{font-size:clamp(var(--step-5),4.4vw,var(--step-7));line-height:var(--leading-display);letter-spacing:-.015em;margin-top:var(--space-3)}.course-head .sub{margin-top:var(--space-4);font-size:var(--step-1);color:var(--color-muted);max-width:56ch}.course-head .hero-facts{grid-template-columns:repeat(4,auto)}.course-head .cta-row,.course-head .hero-facts{margin-top:var(--space-5)}.course-head .cover{border:var(--rule);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);padding:var(--space-5) var(--space-5) 0}.course-head .cover.photo{padding:0}.course-head .cover img{aspect-ratio:16/9;object-fit:cover;width:100%}.your-progress{margin-top:var(--space-5);max-width:420px;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.your-progress .row{font-size:var(--step-n1);color:var(--color-muted)}@media (max-width:1023px){.course-head{grid-template-columns:1fr;padding-top:var(--space-5)}.course-head .cover{order:-1}.course-head .hero-facts{grid-template-columns:repeat(2,auto)}}.course-body-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:var(--space-7);gap:var(--space-7);padding-top:var(--space-6)}@media (max-width:1023px){.course-body-grid{grid-template-columns:1fr}}.lesson-list{list-style:none;margin:0;padding:0;border-top:var(--rule)}.lesson-list li{border-bottom:var(--rule)}.lesson-list a{display:grid;grid-template-columns:40px 128px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) 0;color:inherit;text-decoration:none}.lesson-list a:hover .t b{text-decoration:underline;text-underline-offset:.15em}.lesson-list .num{font-family:var(--font-mono);color:var(--color-muted);font-size:var(--step-n1)}.lesson-list .thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);border:var(--rule)}.lesson-list .t{display:grid;grid-gap:2px;gap:2px;min-width:0}.lesson-list .t b{font-family:var(--font-heading);font-size:var(--step-1);font-weight:600;line-height:1.15}.lesson-list .t span{font-family:var(--font-mono)}.lesson-list .state,.lesson-list .t span{color:var(--color-muted);font-size:var(--step-n1)}.lesson-list .state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.lesson-list .state.done{color:var(--color-success)}.lesson-list a[aria-current=page]{background:var(--color-accent-soft);margin:0 calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3);border-radius:var(--radius-md)}@media (max-width:639px){.lesson-list a{grid-template-columns:28px 1fr auto}.lesson-list .thumb{display:none}}.outcomes{list-style:none;padding:0;margin:0;grid-gap:var(--space-3)}.outcomes,.outcomes li{display:grid;gap:var(--space-3)}.outcomes li{grid-template-columns:20px 1fr;grid-gap:var(--space-3);align-items:start}.outcomes .icon{color:var(--color-success);margin-top:2px}.cast{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.cast figure{margin:0;text-align:center}.cast .ph,.cast img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md);margin:0 auto var(--space-2);border:var(--rule);background:var(--color-surface)}.cast .ph{display:grid;place-items:center;font-family:var(--font-heading);font-size:var(--step-2)}.cast figcaption b{display:block;font-size:var(--step-n1)}.cast figcaption span{font-size:var(--step-n2);color:var(--color-muted)}.faq details{border-top:var(--rule);padding:var(--space-3) 0}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:var(--space-3);min-height:32px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--color-muted);font-family:var(--font-mono)}.faq details[open] summary:after{content:"−"}.faq p{color:var(--color-muted);margin-top:var(--space-2)}.aside-block+.aside-block{margin-top:var(--space-7)}.aside-block h3{margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:var(--rule)}.prose p{color:var(--color-muted)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-6);gap:var(--space-6);padding-top:var(--space-5);align-items:start}@media (max-width:1023px){.lesson-layout{grid-template-columns:1fr}}.player{position:relative;aspect-ratio:16/9;background:var(--color-stage);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-stage-line);margin-top:var(--space-4)}.player .yt,.player iframe{border:0}.player .poster,.player .yt,.player iframe{position:absolute;inset:0;width:100%;height:100%}.player .poster{object-fit:cover;opacity:.92}.player .play{position:absolute;inset:0;display:grid;place-items:center;background:transparent;color:var(--color-on-stage);border:0;cursor:pointer}.player .play span{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-stage);border:1px solid var(--color-stage-line);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:600;font-family:var(--font-ui)}.player .play:hover span{border-color:var(--color-stage-accent,#8DB4E6)}.lesson-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap}.lesson-title h1{font-size:clamp(var(--step-3),3vw,var(--step-5));margin:var(--space-2) 0 var(--space-3)}.lesson-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.rail{position:-webkit-sticky;position:sticky;top:80px;display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.chapters{margin-top:var(--space-5)}.chapter-list{list-style:none;margin:0;padding:var(--space-1);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.chapter-list button{display:grid;grid-template-columns:52px 1fr;grid-gap:var(--space-2);gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:0;background:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);font-size:var(--step-n1);line-height:1.4;min-height:40px}.chapter-list button:hover{background:var(--color-surface)}.chapter-list button .tsn{font-family:var(--font-mono);color:var(--color-muted);font-size:var(--step-n2);padding-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chapter-list li[aria-current=true] button{background:var(--color-accent-soft);color:var(--color-on-accent-soft)}.chapter-list li[aria-current=true] .tsn{color:inherit}.rail .lesson-list{border-top:0}.rail .lesson-list li:last-child{border-bottom:0}.rail .lesson-list a{grid-template-columns:28px 1fr auto;padding:var(--space-2) var(--space-3)}.rail .lesson-list a[aria-current=page]{margin:0;border-radius:0}.rail .lesson-list .thumb{display:none}.rail .lesson-list .t b{font-size:var(--step-0)}.tabs{margin-top:var(--space-6)}.tablist{display:flex;gap:var(--space-1);border-bottom:var(--rule);overflow-x:auto}.tab{padding:var(--space-3) var(--space-4);border:0;background:none;color:var(--color-muted);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:var(--font-ui)}.tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent)}.tab .count{font-family:var(--font-mono);font-size:var(--step-n2);margin-left:6px;color:var(--color-muted);font-weight:500}.tabpanel{padding-top:var(--space-5)}.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.term{border:var(--rule);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-bg);display:grid;grid-gap:var(--space-1);gap:var(--space-1);align-content:start}.term b{font-family:var(--font-heading);font-size:var(--step-1);font-weight:600}.term .ch{font-family:var(--font-mono);font-size:var(--step-n2)}.term .ch,.term span{color:var(--color-muted)}.term span{font-size:var(--step-n1)}.exercise{border-left:2px solid var(--color-kitchen);padding:var(--space-1) 0 var(--space-1) var(--space-4);margin-bottom:var(--space-5);display:grid;grid-gap:var(--space-2);gap:var(--space-2);max-width:70ch}.exercise .ch{font-size:var(--step-n2);color:var(--color-muted);text-align:left}.exercise .ch,.exercise pre{font-family:var(--font-mono)}.exercise pre{margin:0;white-space:pre-wrap;font-size:var(--step-n1);background:var(--color-surface);border:var(--rule);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);line-height:1.6}.comments{display:grid;grid-gap:var(--space-5);gap:var(--space-5);max-width:760px}.composer{display:grid;grid-gap:var(--space-2);gap:var(--space-2);border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-3);background:var(--color-bg)}.composer textarea{border:0;background:transparent;padding:var(--space-1);min-height:72px;resize:vertical;width:100%;line-height:1.5}.composer textarea:focus{outline:none}.composer .foot{border-top:var(--rule);padding-top:var(--space-2)}.composer .foot,.signin-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.signin-cta{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.comment{display:grid;grid-template-columns:40px 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.comment .head{display:flex;gap:var(--space-2);align-items:baseline;flex-wrap:wrap;font-size:var(--step-n1)}.comment .head b{font-weight:600;font-size:var(--step-0)}.comment .head time{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--step-n2)}.comment .body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:var(--space-1)}.comment .body.tomb{color:var(--color-muted);font-style:italic}.comment .acts{display:flex;gap:var(--space-3);font-size:var(--step-n2);color:var(--color-muted);margin-top:var(--space-2)}.comment .acts button{background:none;border:0;padding:0;color:var(--color-muted);cursor:pointer;font-family:var(--font-ui);font-weight:600;min-height:24px}.comment .acts button:hover{color:var(--color-text);text-decoration:underline}.comment .replies{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-4);padding-left:var(--space-3);border-left:var(--rule)}.comment .replies .comment{grid-template-columns:32px 1fr}.comment.hidden-c{opacity:.6}.page-signin .stage{min-height:calc(100vh - 240px);display:grid;place-items:center;padding:var(--space-7) 0}.page-signin .col{width:100%;max-width:440px;display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.page-signin h1{font-size:clamp(var(--step-4),5vw,var(--step-5));text-align:center}.signin-lead{text-align:center;color:var(--color-muted);max-width:none}.otp{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-3) 0}.otp input{height:52px;text-align:center;font-family:var(--font-mono);font-size:22px;border:var(--rule);border-radius:var(--radius-md);background:var(--color-bg)}.otp input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.code-row{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.code-row,.note{display:flex;font-size:var(--step-n1);color:var(--color-muted)}.note{gap:var(--space-2);align-items:flex-start;max-width:none}.me-head{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-7)}.me-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:var(--space-7);gap:var(--space-7);padding-top:var(--space-6);align-items:start}@media (max-width:1023px){.me-grid{grid-template-columns:1fr}}.enrolled{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.enrolled-item{display:grid;grid-template-columns:56px 1fr auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--color-bg)}.enrolled-item b{font-family:var(--font-heading);font-size:var(--step-1)}.recent{list-style:none;margin:0;padding:0;display:grid}.recent li{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--step-n1);border-bottom:var(--rule);padding:var(--space-2) 0}.gradcard{border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-surface);display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.gradcard.earned{border-color:var(--color-kitchen);background:var(--color-kitchen-soft)}.admin{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin aside{border-right:var(--rule);padding:var(--space-4);background:var(--color-surface)}.admin aside nav{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin-top:var(--space-4)}.admin aside a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--step-n1);text-decoration:none}.admin aside a:hover{background:var(--color-bg)}.admin main{padding:var(--space-5) var(--space-6);max-width:1200px}.admin h1{font-size:var(--step-4);margin-bottom:var(--space-5)}.admin h2{font-size:var(--step-3);margin:var(--space-7) 0 var(--space-4)}.table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:var(--step-n1)}.table td,.table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:var(--rule);vertical-align:top}.table th{font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface)}.table .mono,.table th{font-size:var(--step-n2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4) var(--space-5);gap:var(--space-4) var(--space-5)}.form-grid .wide{grid-column:1/-1}fieldset{border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-5);min-width:0}legend{padding:0 var(--space-2);font-weight:600;font-family:var(--font-heading);font-size:var(--step-1)}@media (max-width:1023px){.admin{grid-template-columns:1fr}.admin aside{border-right:0;border-bottom:var(--rule)}.form-grid{grid-template-columns:1fr}.admin main{padding:var(--space-4)}}.empty{display:grid;justify-items:center;text-align:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty p{color:var(--color-muted);max-width:40ch}.transcript{max-width:76ch}.transcript-group{margin-top:var(--space-5)}.transcript-group h3{font-size:var(--step-1);margin-bottom:var(--space-2)}.transcript-group h3 .link-btn{text-decoration:none;color:var(--color-text);font:inherit}.transcript-group h3 .tsn{font-family:var(--font-mono);font-size:var(--step-n2);color:var(--color-muted);margin-right:var(--space-2);font-weight:500}.transcript p{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:var(--space-1) 0;max-width:none;line-height:1.55}.transcript p .ts{align-self:start;margin-top:3px}.transcript p b{font-weight:600}.transcript p.is-active{background:var(--color-accent-soft);border-radius:var(--radius-sm)}.transcript>.btn{margin-top:var(--space-5)}.facts-list{margin:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.facts-list div{display:grid;grid-gap:2px;gap:2px;padding-bottom:var(--space-3);border-bottom:var(--rule)}.facts-list dt{font-family:var(--font-mono);font-size:var(--step-n2);color:var(--color-muted)}.facts-list dd,.terms dd,.terms dt{margin:0}