@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/645c88064de6876a-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cccb76cee38030ea-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/645c88064de6876a-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cccb76cee38030ea-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville Fallback;src:local("Times New Roman");ascent-override:76.22%;descent-override:21.22%;line-gap-override:0.00%;size-adjust:127.26%}.__className_cc3c70{font-family:Libre Baskerville,Libre Baskerville Fallback;font-style:normal}.__variable_cc3c70{--font-display:"Libre Baskerville","Libre Baskerville Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_7dcaba{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_7dcaba{--font-body:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6cf36b{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_6cf36b{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#000000;--paper:#ffffff;--section:#f9fafb;--teal:#074d47;--mint:#89e4da;--text-body:#4b5563;--text-meta:#6b7280;--text-body-on-ink:#d1d5db;--text-meta-on-ink:#9ca3af;--rule-on-ink:#27272a;--max:1240px;--gutter:24px}*{box-sizing:border-box;border-radius:0}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-size:17px;line-height:1.6}a{color:var(--teal)}:focus-visible{outline:2px solid var(--mint);outline-offset:2px;box-shadow:8px 8px 0 var(--mint)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow{display:block;font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-meta);margin:0 0 12px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--gutter);background:var(--ink);color:var(--paper);border-bottom:1px solid var(--rule-on-ink)}.brand{color:var(--paper);text-decoration:none;font-family:var(--font-display),Georgia,serif;font-size:20px}.brand span{color:var(--mint);margin-left:10px}.brand img{height:32px;width:auto;vertical-align:-11px}.intro{position:relative;display:flex;align-items:center;min-height:calc(100svh - 64px);padding:64px var(--gutter) 96px}.intro .wrap{width:100%}.intro h1{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(40px,7vw,88px);line-height:1.05;margin:0 0 24px;max-width:14ch}.scroll-cue{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:44px;color:var(--text-meta);text-decoration:none;font-size:22px}.scroll-cue:hover{color:var(--ink)}.home-search{border-top:2px solid var(--ink);padding:64px var(--gutter) 72px;scroll-margin-top:0}.search label.eyebrow{margin-bottom:16px}.search input{width:100%;min-height:72px;padding:16px 20px;font-family:var(--font-display),Georgia,serif;font-size:clamp(22px,4vw,36px);color:var(--ink);background:var(--paper);border:2px solid var(--ink)}.search input:focus{outline:none;box-shadow:8px 8px 0 var(--mint)}.results{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--ink)}.results li{border-bottom:1px solid #e5e7eb}.results a{display:block;padding:16px 0;color:var(--ink);text-decoration:none;min-height:44px}.results a:focus-visible strong,.results a:hover strong{color:var(--teal)}.results .eyebrow{margin-bottom:4px}.results strong{display:block;font-family:var(--font-display),Georgia,serif;font-size:21px;font-weight:400}.results .snippet{display:block;color:var(--text-body);font-size:15px;margin-top:4px}.results .empty{padding:16px 0;color:var(--text-meta)}.lesson{max-width:var(--max);margin:0 auto;padding:48px var(--gutter) 96px}.lesson-head{border-bottom:2px solid var(--ink);padding-bottom:24px;margin-bottom:32px}.lesson-head h1{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(36px,6vw,72px);line-height:1.05;margin:0}.as-of{font-family:var(--font-mono),monospace;font-size:13px;color:var(--text-meta);margin:16px 0 0}.prose{max-width:760px;color:#1f2937}.prose h2,.prose h3{font-family:var(--font-display),Georgia,serif;font-weight:400;color:var(--ink);scroll-margin-top:24px}.prose h2{font-size:clamp(28px,4vw,40px);margin:56px 0 16px;border-top:2px solid var(--ink);padding-top:24px}.prose h3{font-size:23px;margin:36px 0 12px}.prose blockquote{margin:24px 0;padding:16px 20px;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--teal);background:var(--section)}.prose blockquote p{margin:0}.prose code{font-family:var(--font-mono),monospace;font-size:.9em;background:var(--section);padding:1px 4px}.prose pre{overflow-x:auto;background:var(--ink);color:var(--paper);padding:16px}.prose pre code{background:none;padding:0}.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:24px 0;font-size:15px}.prose td,.prose th{border:1px solid var(--ink);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--ink);color:var(--paper);font-weight:500}.prose p:has(>em:only-child){margin-top:28px;padding-top:10px;border-top:1px solid #e5e7eb;font-size:13px;line-height:1.5;color:var(--text-meta)}.prose p:has(>em:only-child) em{font-style:normal}.page,.wrap{max-width:var(--max);margin:0 auto}.page{padding:48px var(--gutter) 96px}.page-head{border-bottom:2px solid var(--ink);padding-bottom:32px;margin-bottom:40px}.page-head h1,.tracks h2{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(36px,6vw,72px);line-height:1.05;margin:0 0 16px}.tracks h2{font-size:clamp(30px,4vw,48px);margin-bottom:32px}.lede{color:var(--text-body);font-size:19px;max-width:720px;margin:0}.section-title{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:28px;margin:0 0 24px}.button{display:inline-flex;align-items:center;min-height:52px;margin-top:24px;padding:0 24px;background:var(--teal);color:var(--paper);text-decoration:none;font-weight:500;border:2px solid var(--teal)}.button:hover,.notice{box-shadow:8px 8px 0 var(--mint)}.notice{border:2px solid var(--ink);padding:16px 20px;max-width:760px}.notice,.tracks{background:var(--section)}.tracks{border-top:2px solid var(--ink);padding:64px var(--gutter) 96px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:24px;gap:24px}.card{display:flex;flex-direction:column;gap:8px;height:100%;min-height:180px;padding:24px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none}.card strong{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:26px;line-height:1.15}.card .card-text{color:var(--text-body);font-size:15px;margin-top:auto}.card.live{border-color:var(--ink)}.card.live .eyebrow{color:var(--teal)}a.card.live:hover{box-shadow:8px 8px 0 var(--mint)}.card.soon{border-style:dashed;border-color:var(--text-meta);color:var(--text-meta);background:transparent}a.card.soon:hover{border-style:solid}.module-list{list-style:none;margin:0 0 56px;padding:0;max-width:960px}.module-list li{border-bottom:1px solid #d1d5db}.module-list a{display:flex;gap:20px;align-items:baseline;padding:18px 0;color:var(--ink);text-decoration:none;min-height:44px}.module-list a:hover strong{color:var(--teal)}.module-list .eyebrow{margin-bottom:4px}.module-list strong{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:22px}.module-no{font-family:var(--font-mono),monospace;font-size:14px;color:var(--text-meta);min-width:28px}.course{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;max-width:1680px;margin:0 auto}.course.with-examples{grid-template-columns:300px minmax(0,1fr) minmax(320px,420px)}.course-examples,.course-nav{position:-webkit-sticky;position:sticky;top:0;max-height:100vh;overflow-y:auto}.course-nav{border-right:2px solid var(--ink);padding:24px 0 48px;font-size:15px}.course-nav summary{cursor:pointer;list-style:none}.course-nav summary::-webkit-details-marker{display:none}.course-nav>details>summary{padding:0 20px 16px;border-bottom:1px solid #d1d5db}.course-nav>details>summary a{font-family:var(--font-display),Georgia,serif;font-size:22px;color:var(--ink);text-decoration:none}.course-nav ol{list-style:none;margin:0;padding:0}.course-nav>details>ol>li{border-bottom:1px solid #e5e7eb}.course-nav li details>summary{display:grid;grid-template-columns:28px 1fr auto;grid-gap:8px;gap:8px;padding:12px 20px;min-height:44px;align-items:baseline}.course-nav li.active>details>summary{background:var(--ink);color:var(--paper)}.course-nav li.active .nav-count,.course-nav li.active .nav-no{color:var(--mint)}.nav-count,.nav-no{font-family:var(--font-mono),monospace;font-size:12px;color:var(--text-meta)}.nav-title{line-height:1.35}.course-nav li details ol{padding:6px 0 10px}.course-nav li details ol a{display:block;padding:7px 20px 7px 56px;color:var(--text-body);text-decoration:none;line-height:1.35;position:relative}.course-nav li details ol a.visited:before{content:"✓";position:absolute;left:34px;color:var(--teal);font-size:13px}.course-nav a[aria-current=step],.course-nav li details ol a:hover{color:var(--ink);background:var(--section)}.course-nav a[aria-current=step]{font-weight:600;box-shadow:inset 4px 0 0 var(--mint)}.course-main{padding:40px clamp(20px,4vw,64px) 96px;min-width:0}.course-main>h1{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(32px,4.5vw,56px);line-height:1.08;margin:0 0 32px}.lesson-no{color:var(--text-meta);margin-right:.3em}.course-main .prose{max-width:760px}.course-main .prose>h3:first-child{margin-top:0}.video{margin:0 0 40px;max-width:960px}.video video{display:block;width:100%;aspect-ratio:16/9;background:var(--ink);border:2px solid var(--ink)}.video figcaption{margin-top:10px}.video-embed{display:block;width:100%;aspect-ratio:16/9;background:var(--ink);border:2px solid var(--ink);padding:0}.video-poster{position:relative;cursor:pointer}.video-poster img{display:block;width:100%;height:100%;object-fit:cover}.video-poster .video-frame{height:100%;border:0;text-align:left}.video-poster.title-card .video-play{position:static;transform:none;flex:none;align-self:flex-start;width:56px;height:56px;margin-top:16px}.video-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:72px;height:72px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border:2px solid var(--paper);font-size:24px}.video-poster:focus-visible .video-play,.video-poster:hover .video-play{background:var(--teal)}.video-frame{aspect-ratio:16/9;background:var(--ink);color:var(--paper);border:2px solid var(--ink);display:flex;flex-direction:column;justify-content:center;gap:8px;padding:clamp(20px,5vw,64px);background-image:linear-gradient(90deg,#111 1px,transparent 0);background-size:120px 100%}.video-frame .eyebrow{color:var(--mint);margin:0}.video-frame strong{font-family:var(--font-display),Georgia,serif;font-weight:400;font-size:clamp(26px,4vw,48px);line-height:1.1}.course-nav{grid-column:1;grid-row:1/span 3}.course-main{grid-column:2;grid-row:1;padding-bottom:0!important}.course.with-examples .course-examples{grid-column:3;grid-row:1/span 2}.step-nav{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;max-width:760px;margin:64px clamp(20px,4vw,64px) 96px;border-top:2px solid var(--ink);padding-top:24px}.step-nav a{display:block;padding:16px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;min-height:44px}.step-nav a .eyebrow{margin-bottom:6px}.step-nav a.next{text-align:right;background:var(--ink);color:var(--paper)}.step-nav a.next .eyebrow{color:var(--mint)}.step-nav a:hover{box-shadow:8px 8px 0 var(--mint)}.course-examples{border-left:2px solid var(--ink);background:var(--section);padding:40px 24px 64px}.example+.example{margin-top:32px;padding-top:32px;border-top:1px solid #d1d5db}.example .eyebrow{color:var(--teal)}.example .prose{font-size:15.5px}.example .prose p:first-child{margin-top:0}.example .prose strong{color:var(--ink)}@media (max-width:1180px){.course.with-examples{grid-template-columns:280px minmax(0,1fr)}.course.with-examples .course-examples{grid-column:2;grid-row:2}.course.with-examples .step-nav{grid-row:3}.course-examples{position:static;max-height:none;border-left:0;border-top:2px solid var(--ink);margin:0 clamp(20px,4vw,64px) 64px}}@media (max-width:760px){.course,.course.with-examples{grid-template-columns:minmax(0,1fr)}.course-nav{position:static;max-height:none;border-right:0;border-bottom:2px solid var(--ink);padding:16px 0}.course-main,.course-nav,.course.with-examples .course-examples,.course.with-examples .step-nav,.step-nav{grid-column:1;grid-row:auto}.course-examples{margin:0 16px 48px}.step-nav{margin:48px 16px 64px}.course-main{padding-top:28px}.step-nav{grid-template-columns:1fr}}