@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/academy/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/academy/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/academy/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/academy/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/academy/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/academy/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/academy/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bitcount Prop Single Variable;font-style:oblique 0deg 8deg;font-display:swap;font-weight:100 900;src:url(/academy/_astro/bitcount-prop-single-latin-ext-full-normal.B9-2pSEs.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bitcount Prop Single Variable;font-style:oblique 0deg 8deg;font-display:swap;font-weight:100 900;src:url(/academy/_astro/bitcount-prop-single-latin-full-normal.jzyx2q58.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--font-ui:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", sans-serif;--font-pixel:"Bitcount Prop Single Variable", "Bitcount Prop Single", ui-monospace, monospace;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:clamp(2.25rem, 1.4rem + 3.6vw, 3.75rem);--fs-4xl:clamp(2.75rem, 1.2rem + 6vw, 5.25rem);--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:7rem;--px:2px;--measure:68ch;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--nav-h:3.5rem}:root,:root[data-theme=light]{--bg:#fff;--bg-2:#f4f6f9;--surface:#fff;--surface-2:#eef1f5;--ink:#0e1219;--ink-2:#394150;--mute:#5a6272;--line:#dde2ea;--line-strong:#b9c1ce;--brand:#087a86;--brand-ink:#076670;--brand-soft:#e3f4f6;--on-brand:#fff;--focus:#2b64e8;--stage-bg:#f7f9fc;--stage-dot:#d4dae4;--sig:#0b93a0;--sig-soft:#0b93a022;--sig-ink:#076670;--err:#d42a74;--err-soft:#d42a7422;--err-ink:#a81858;--w:#c77400;--w-soft:#c7740022;--w-ink:#8a5000;--dat:#2a9a4a;--dat-soft:#2a9a4a22;--dat-ink:#1d7236;--lat:#6a48e0;--lat-soft:#6a48e022;--lat-ink:#5233c0}:root[data-theme=dark]{--bg:#080b10;--bg-2:#0d1118;--surface:#11161e;--surface-2:#171d27;--ink:#ebf0f7;--ink-2:#b8c1ce;--mute:#8c96a7;--line:#1f2733;--line-strong:#323d4e;--brand:#3ed3dc;--brand-ink:#7fe4ea;--brand-soft:#0f2a2e;--on-brand:#04181a;--focus:#7aa2ff;--stage-bg:#0b0f15;--stage-dot:#1b2431;--sig:#3ed3dc;--sig-soft:#3ed3dc26;--sig-ink:#7fe4ea;--err:#ff5fa2;--err-soft:#ff5fa226;--err-ink:#ff93bf;--w:#ffb13b;--w-soft:#ffb13b26;--w-ink:#ffc974;--dat:#5fe07a;--dat-soft:#5fe07a26;--dat-ink:#8eeaa1;--lat:#a98bff;--lat-soft:#a98bff26;--lat-ink:#c4b0ff}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#080b10;--bg-2:#0d1118;--surface:#11161e;--surface-2:#171d27;--ink:#ebf0f7;--ink-2:#b8c1ce;--mute:#8c96a7;--line:#1f2733;--line-strong:#323d4e;--brand:#3ed3dc;--brand-ink:#7fe4ea;--brand-soft:#0f2a2e;--on-brand:#04181a;--focus:#7aa2ff;--stage-bg:#0b0f15;--stage-dot:#1b2431;--sig:#3ed3dc;--sig-soft:#3ed3dc26;--sig-ink:#7fe4ea;--err:#ff5fa2;--err-soft:#ff5fa226;--err-ink:#ff93bf;--w:#ffb13b;--w-soft:#ffb13b26;--w-ink:#ffc974;--dat:#5fe07a;--dat-soft:#5fe07a26;--dat-ink:#8eeaa1;--lat:#a98bff;--lat-soft:#a98bff26;--lat-ink:#c4b0ff}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 1rem)}body{background:var(--bg);min-height:100dvh;color:var(--ink);font:400 var(--fs-md)/1.6 var(--font-ui);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,svg,canvas,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand-ink);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:1px}::selection{background:color-mix(in srgb, var(--brand) 28%, transparent)}h1,h2,h3,h4{letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:700;line-height:1.12}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--ink);color:var(--bg);z-index:100;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.px-box{background:var(--surface);box-shadow:0 calc(var(--px) * -1) 0 0 var(--line-strong), 0 var(--px) 0 0 var(--line-strong), calc(var(--px) * -1) 0 0 0 var(--line-strong), var(--px) 0 0 0 var(--line-strong);margin:var(--px);position:relative}.px-box.is-brand{box-shadow:0 calc(var(--px) * -1) 0 0 var(--brand), 0 var(--px) 0 0 var(--brand), calc(var(--px) * -1) 0 0 0 var(--brand), var(--px) 0 0 0 var(--brand)}.wrap{width:min(100% - max(2rem, env(safe-area-inset-left) + env(safe-area-inset-right) + 1.5rem), 76rem);margin-inline:auto}.wrap-narrow{width:min(100% - max(2rem, env(safe-area-inset-left) + env(safe-area-inset-right) + 1.5rem), 46rem);margin-inline:auto}.pixel{font-family:var(--font-pixel);font-variation-settings:"ELSH" 50, "wght" 500;letter-spacing:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mute{color:var(--mute)}.btn{--_bg:var(--surface);--_fg:var(--ink);--_bd:var(--line-strong);cursor:pointer;background:var(--_bg);min-height:2.75rem;color:var(--_fg);font-weight:600;font-size:var(--fs-sm);box-shadow:0 calc(var(--px) * -1) 0 0 var(--_bd), 0 var(--px) 0 0 var(--_bd), calc(var(--px) * -1) 0 0 0 var(--_bd), var(--px) 0 0 0 var(--_bd);margin:var(--px);transition:background-color .15s var(--ease-out), transform .12s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.6rem;padding:.55rem 1.1rem;text-decoration:none;display:inline-flex}.btn:hover{--_bg:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-primary{--_bg:var(--brand);--_fg:var(--on-brand);--_bd:var(--brand)}.btn-primary:hover{--_bg:color-mix(in srgb, var(--brand) 88%, var(--ink))}.btn-quiet{--_bg:transparent;--_bd:transparent}.btn-quiet:hover{--_bg:var(--surface-2)}.btn-icon{width:2.75rem;padding:0}.btn svg{flex:none;width:1.15rem;height:1.15rem}.chip{font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:.4rem;padding:.15rem .55rem;font-weight:600;display:inline-flex}.nav{z-index:50;height:var(--nav-h);background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav .wrap{align-items:center;gap:1rem;height:100%;display:flex}.brand-mark{color:var(--ink);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark .pixel{font-size:1.45rem;line-height:1}.nav-links{align-items:center;gap:.25rem;margin-left:auto;display:flex}.nav-link{color:var(--ink-2);font-weight:600;font-size:var(--fs-sm);padding:.45rem .75rem;text-decoration:none}.nav-link:hover,.nav-link[aria-current=page]{color:var(--ink);background:var(--surface-2)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1em}.prose h2{font-size:var(--fs-xl);margin-top:2em}.prose h3{font-size:var(--fs-lg);margin-top:1.6em}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose code{font-family:var(--font-mono);background:var(--surface-2);padding:.1em .35em;font-size:.88em}.prose pre{background:var(--surface-2);border:1px solid var(--line);font:400 .88rem/1.55 var(--font-mono);padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose .katex-display{padding:.4rem 0;overflow:auto hidden}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .7rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=1700px){html{font-size:112.5%}}@media (width>=2400px){html{font-size:137.5%}}@media (pointer:coarse){.btn{min-height:3rem}.btn-sm{min-height:2.75rem}.btn-icon,.btn-sm.btn-icon{width:3rem}.nav-link{align-items:center;min-height:2.75rem;display:inline-flex}.seg-btn,.seg button{min-height:2.75rem}}.nav{padding-top:env(safe-area-inset-top);height:calc(var(--nav-h) + env(safe-area-inset-top))}.ti{display:inline-flex}.ti-sun,:root[data-theme=dark] .ti-moon{display:none}:root[data-theme=dark] .ti-sun{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme]) .ti-moon{display:none}:root:not([data-theme]) .ti-sun{display:inline-flex}}.pneu{image-rendering:pixelated;line-height:0;display:inline-flex}.pneu-d,:root[data-theme=dark] .pneu-l{display:none}:root[data-theme=dark] .pneu-d{display:inline-flex}@media (prefers-color-scheme:dark){:root:not([data-theme]) .pneu-l{display:none}:root:not([data-theme]) .pneu-d{display:inline-flex}}.btn-sm{min-height:2.25rem;padding:.3rem .75rem}.btn-sm.btn-icon{width:2.25rem;padding:0}.btn-lg{min-height:3.25rem;font-size:var(--fs-md);padding:.7rem 1.5rem}.btn-lg svg{width:1.3rem;height:1.3rem}@media (width<=720px){.nav-hide-sm{display:none}}@media (width<=440px){.nav .wrap{gap:.5rem}.brand-mark{gap:.45rem}.brand-mark .pixel{font-size:1.2rem}.nav-lang span{display:none}.nav-lang{justify-content:center;width:3rem;padding:0}}@media (width<=340px){.brand-mark .pixel{font-size:.85rem}.nav-links{gap:0}.nav-links .btn-icon,.nav-lang{width:2.6rem}}.foot{margin-top:var(--s-9);border-top:1px solid var(--line);background:var(--bg-2);padding-block:var(--s-7)}.foot-in{gap:var(--s-5);grid-template-columns:1fr auto;align-items:start;display:grid}.foot-name{margin-bottom:.25rem;font-size:1.5rem}.foot-links{flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.25rem;list-style:none;display:flex}.foot-links a{color:var(--ink-2);font-weight:600;font-size:var(--fs-sm)}.foot-legal{font-size:var(--fs-xs);grid-column:1/-1}.foot-origin{font-size:var(--fs-xs);margin-top:calc(var(--s-2) * -1);grid-column:1/-1;align-items:center;gap:.4rem;display:flex}.foot-origin svg{flex:none}@media (width<=720px){.foot-in{grid-template-columns:1fr}.foot-links{justify-content:flex-start}}.picker{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.picker-bar{padding:var(--s-4) clamp(1rem, 3vw, 2rem);align-items:center;gap:var(--s-4);grid-template-columns:1fr auto 1fr;display:grid}.picker-bar .btn{justify-self:end}.picker-hint{font-size:var(--fs-sm);text-align:center;font-weight:600}.picker-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid;position:relative}.picker-panel{justify-content:space-between;gap:var(--s-6);color:var(--ink);transition:background-color .35s var(--ease-out);flex-direction:column;padding:clamp(1.5rem,4.5vw,4.5rem);text-decoration:none;display:flex}.picker-panel+.picker-panel{border-left:1px solid var(--line)}.picker-panel:hover,.picker-panel:focus-visible{background:var(--brand-soft);text-decoration:none}.picker-panel:focus-visible{outline-offset:-4px}.picker-name{letter-spacing:-.02em;font-variation-settings:"ELSH" 50, "wght" 600;font-size:clamp(3.5rem,11vw,9rem);line-height:.9}.picker-lower{gap:var(--s-6);display:grid}.picker-body{gap:var(--s-4);max-width:30rem;display:grid}.picker-title{font-size:var(--fs-2xl);letter-spacing:-.015em;text-wrap:balance;font-weight:800;line-height:1.1}.picker-lede{color:var(--ink-2);font-size:var(--fs-md)}.picker-facts{flex-wrap:wrap;gap:.5rem;display:flex}.picker-go{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.picker-panel:hover .picker-go .btn{transform:translate(3px)}.picker-suggest{font-size:var(--fs-xs);color:var(--brand-ink);font-weight:700}.picker-panel.is-suggested .picker-name{color:var(--brand-ink)}.picker-foot{text-align:center;font-size:var(--fs-xs);padding:var(--s-4)}.picker-signal{background:var(--bg);box-shadow:0 0 0 1px var(--line);pointer-events:none;gap:6px;padding:10px 12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sig-dot{background:var(--brand);opacity:.18;width:8px;height:8px;animation:1.8s step-end infinite sig-chase;animation-delay:calc(var(--i) * .22s)}@keyframes sig-chase{0%{opacity:1}22%{opacity:.18}to{opacity:.18}}.sig-track{display:none}@media (width<=760px){.picker-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.picker-panel+.picker-panel{border-left:0;border-top:1px solid var(--line)}.picker-signal{flex-direction:column;left:auto;right:1.25rem;transform:translateY(-50%)}.picker-name{font-size:clamp(3rem,16vw,5rem)}.picker-bar{grid-template-columns:1fr auto;grid-template-areas:"brand theme""hint hint";row-gap:.35rem}.picker-bar .brand-mark{grid-area:brand}.picker-bar .btn{grid-area:theme}.picker-hint{text-align:left;font-size:var(--fs-sm);grid-area:hint}.picker-lede{display:none}}.hero{padding-block:var(--s-8) var(--s-7)}.hero-grid{gap:var(--s-7);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}@media (width>=960px){.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.hero-title{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.4rem,1.1rem + 4.4vw,4.4rem);font-weight:800;line-height:1}.hero-lede{margin-top:var(--s-5);font-size:var(--fs-lg);color:var(--ink-2);max-width:34rem}.hero-cta{margin-top:var(--s-6);gap:var(--s-3);flex-wrap:wrap;display:flex}.hero-facts{margin-top:var(--s-6);font-size:var(--fs-sm);flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;display:flex}.hero-facts li:not(:last-child):after{content:"";background:var(--line-strong);vertical-align:middle;width:4px;height:4px;margin-left:1.25rem;display:inline-block}.hero-stage{aspect-ratio:4/3;background:var(--stage-bg);overflow:hidden}.hero-stage canvas{width:100%;height:100%}.how{margin-top:var(--s-8)}.how h2,.section-head h2{font-size:var(--fs-2xl)}.how-list{margin-top:var(--s-6);gap:var(--s-5) var(--s-7);counter-reset:how;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));list-style:none;display:grid}.how-list li{gap:var(--s-4);grid-template-columns:auto 1fr;display:grid}.how-n{color:var(--brand-ink);min-width:1.4ch;font-size:2.5rem;line-height:1}.how-list h3{font-size:var(--fs-md);margin-bottom:.25rem}.section-head{margin:var(--s-8) 0 var(--s-6);gap:.5rem;display:grid}.curr-filter{margin-bottom:var(--s-5);box-shadow:0 0 0 1px var(--line-strong);display:inline-flex}.seg-btn{font-weight:600;font-size:var(--fs-sm);cursor:pointer;color:var(--ink-2);background:0 0;border:0;min-height:2.5rem;padding:.5rem 1rem}.seg-btn[aria-pressed=true]{background:var(--ink);color:var(--bg)}.mods{list-style:none;display:grid}.mod{gap:var(--s-6);padding-block:var(--s-6);border-top:1px solid var(--line);grid-template-columns:minmax(0,17rem) minmax(0,1fr);display:grid}.mod-head{gap:var(--s-4);grid-template-columns:auto 1fr;align-content:start;display:grid}.mod-n{color:var(--brand-ink);font-size:3rem;line-height:.9}.mod-head h3{font-size:var(--fs-lg)}.mod-head p{font-size:var(--fs-sm);margin-top:.35rem}.lessons{list-style:none}.lsn a,.lsn .lsn-row{gap:.25rem var(--s-4);color:var(--ink);border-bottom:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr) auto 1.5rem;align-items:baseline;padding:.8rem .5rem;text-decoration:none;transition:background-color .15s;display:grid}.lsn:last-child a{border-bottom:0}.lsn a:hover{background:var(--surface-2)}.lsn-n{color:var(--mute);font-size:var(--fs-sm)}.lsn-t{font-weight:700}.lsn-q{color:var(--mute);font-size:var(--fs-sm);grid-column:2/3;line-height:1.4}.lsn-m{color:var(--mute);font-size:var(--fs-xs);grid-area:1/3}.lsn-done{color:var(--dat-ink);opacity:0;grid-area:1/4}.lsn.is-done .lsn-done{opacity:1}.lsn.is-started .lsn-n{color:var(--brand-ink);font-weight:700}.curr[data-path=exec] .lsn[data-exec="0"]{opacity:.32}@media (width<=800px){.mod{gap:var(--s-4);grid-template-columns:1fr}.lsn-q{display:none}.lsn a{grid-template-columns:2rem 1fr auto 1.25rem}}.page{padding-block:var(--s-8)}.page h1{font-size:var(--fs-3xl);margin-bottom:var(--s-4)}.lede{font-size:var(--fs-lg)}.gloss{margin-top:var(--s-6);gap:var(--s-5);display:grid}.gloss dt{font-weight:800;font-size:var(--fs-lg)}.gloss dd{color:var(--ink-2);max-width:var(--measure);margin:.25rem 0 0}.gloss-link{font-size:var(--fs-sm);margin-left:.5rem;display:inline-block}.lesson-head{padding-block:var(--s-3) var(--s-2)}.crumbs{font-size:var(--fs-sm);margin-bottom:var(--s-3);flex-wrap:wrap;gap:.5rem;display:flex}.crumbs a{color:var(--mute)}.lesson-title-row{gap:var(--s-4);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.lesson-num{color:var(--brand-ink);margin-top:.2rem;font-size:clamp(2.4rem,5vw,3.5rem);line-height:.85}.lesson-head h1{font-size:var(--fs-2xl);letter-spacing:-.02em}.lesson-q{margin-top:var(--s-2);font-size:var(--fs-md);color:var(--ink-2);max-width:46rem}.lesson-meta{margin-top:var(--s-2);align-items:center;gap:var(--s-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.lesson-body{margin-top:var(--s-7);gap:var(--s-6);grid-template-columns:minmax(0,1fr);display:grid}.lesson-col{gap:var(--s-8);min-width:0;max-width:46rem;display:grid}.toc{display:none}@media (width>=1100px){.lesson-body{gap:var(--s-6);grid-template-columns:minmax(0,1fr) 19rem}.toc{top:calc(var(--nav-h) + 1rem);align-self:start;display:block;position:sticky}}.toc-title{font-weight:700;font-size:var(--fs-sm);margin-bottom:var(--s-3)}.toc ol{gap:.1rem;list-style:none;display:grid}.toc a{color:var(--ink-2);font-size:var(--fs-sm);padding:.4rem .7rem;font-weight:600;text-decoration:none;display:block}.toc a:hover{background:var(--surface-2);color:var(--ink)}.toc .toc-comments{gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-4);box-shadow:0 0 0 1px var(--line-strong);background:var(--surface);color:var(--ink);grid-template-columns:auto 1fr;align-items:start;display:grid}.toc .toc-comments span{gap:.15rem;display:grid}.toc .toc-comments .mute{font-weight:400}.block h2{font-size:var(--fs-xl);margin-bottom:var(--s-4);align-items:center;gap:.6rem;display:flex}.block>p.mute{margin:-.5rem 0 var(--s-4)}.checks{gap:.65rem;list-style:none;display:grid}.checks li{padding-left:1.75rem;position:relative}.checks li:before{content:"";background:var(--dat);width:.6rem;height:.6rem;box-shadow:.35rem .35rem 0 -.1rem var(--dat-soft);position:absolute;top:.5em;left:0}.ideas{gap:var(--s-4);counter-reset:idea;list-style:none;display:grid}.ideas li{counter-increment:idea;gap:var(--s-3);font-size:var(--fs-md);grid-template-columns:2.25rem 1fr;display:grid}.ideas li:before{content:counter(idea);font-family:var(--font-pixel);color:var(--brand-ink);font-size:1.6rem;line-height:1}.misc{margin-top:var(--s-6);padding:var(--s-5);background:var(--bg-2);border:1px solid var(--line);gap:var(--s-3);display:grid}.misc h3{font-size:var(--fs-md)}.chip-ok{color:var(--dat-ink);border-color:var(--dat);background:var(--dat-soft)}.misc-wrong .chip{color:var(--err-ink);border-color:var(--err);background:var(--err-soft)}.q{margin:0 0 var(--s-6);border:0;min-width:0;padding:0}.q legend{font-weight:700;font-size:var(--fs-md);margin-bottom:var(--s-3);gap:.5rem;padding:0;display:grid}.q-kind{justify-self:start}.q-options{gap:.5rem;display:grid}.q-opt{cursor:pointer;background:var(--surface);box-shadow:0 0 0 1px var(--line-strong);grid-template-columns:1.25rem 1fr;align-items:start;gap:.75rem;padding:.75rem 1rem;transition:background-color .12s;display:grid}.q-opt:hover{background:var(--surface-2)}.q-opt input{opacity:0;pointer-events:none;position:absolute}.q-mark{width:1.1rem;height:1.1rem;box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:50%;margin-top:.2em}.q-opt:has(input:checked){background:var(--brand-soft);box-shadow:0 0 0 2px var(--brand)}.q-opt:has(input:checked) .q-mark{background:radial-gradient(var(--brand) 0 45%, transparent 50%);box-shadow:inset 0 0 0 2px var(--brand)}.q-opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.q-opt.is-answer{background:var(--dat-soft);box-shadow:0 0 0 2px var(--dat)}.q-opt.is-picked:not(.is-answer){background:var(--err-soft);box-shadow:0 0 0 2px var(--err)}.q-why{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--bg-2);color:var(--ink-2)}.q.is-right .q-verdict{color:var(--dat-ink)}.q.is-wrong .q-verdict{color:var(--err-ink)}.quiz-bar{align-items:center;gap:var(--s-4);display:flex}.quiz-score{font-weight:700}.deeper,.transcript,.comments{box-shadow:0 0 0 1px var(--line-strong);background:var(--surface)}.deeper summary,.transcript summary,.comments summary{gap:var(--s-3);padding:var(--s-4) var(--s-5);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;list-style:none;display:grid}.deeper summary::-webkit-details-marker,.transcript summary::-webkit-details-marker,.comments summary::-webkit-details-marker{display:none}.deeper summary span,.comments summary span{display:grid}.deeper summary .mute,.comments summary .mute{font-weight:400;font-size:var(--fs-sm)}.comments-body{padding:var(--s-2) var(--s-5) var(--s-5)}.comments-note{font-size:var(--fs-sm);margin:0 0 var(--s-4)}.comments .giscus{min-height:120px}.chev{transition:transform .2s var(--ease-out)}details[open]>summary .chev{transform:rotate(180deg)}.deeper .prose{padding:var(--s-2) var(--s-5) var(--s-6)}.deeper .prose h2{font-size:var(--fs-lg);margin-top:1.5em}.math-block{padding:.5rem 0;overflow-x:auto}.tr-list{padding:0 var(--s-5) var(--s-5);gap:.25rem;list-style:none;display:grid}.tr-seek{text-align:left;cursor:pointer;width:100%;color:var(--ink-2);background:0 0;border:0;padding:.45rem .5rem;line-height:1.5}.tr-seek:hover{background:var(--surface-2);color:var(--ink)}.lens{gap:var(--s-3);list-style:none;display:grid}.lens li{padding:var(--s-3) var(--s-4) var(--s-3) 2.25rem;background:var(--bg-2);position:relative}.lens li:before{content:"";background:var(--w);width:.5rem;height:.5rem;position:absolute;top:1.15rem;left:.9rem}.terms{gap:.4rem;list-style:none;display:grid}.terms a{color:var(--ink);box-shadow:0 0 0 1px var(--line);padding:.5rem .75rem;text-decoration:none;display:block}.terms a:hover{background:var(--surface-2)}.terms .mute{font-size:var(--fs-sm)}.sources{font-size:var(--fs-sm);color:var(--ink-2);gap:.5rem;list-style:none;display:grid}.lesson-nav{margin-top:var(--s-8);gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.ln{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong);text-decoration:none;display:flex}.ln:hover{background:var(--surface-2)}.ln span{display:grid}.ln small{font-size:var(--fs-xs);font-weight:600}.ln-next{text-align:right;grid-column:2;justify-content:space-between}.noscript{padding:var(--s-5);background:var(--bg-2)}@media (width<=640px){.lesson-nav:not(.lesson-nav-compact){grid-template-columns:1fr}.lesson-nav:not(.lesson-nav-compact) .ln-next{grid-column:1}}.lesson-nav-compact{margin-top:var(--s-4);gap:var(--s-3)}.lesson-nav-compact .ln{padding:var(--s-2) var(--s-4);gap:var(--s-3);box-shadow:none}.lesson-nav-compact .ln strong{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-nav-compact .ln span{min-width:0}@media (width<=640px){.lesson-nav-compact .ln strong{display:none}}.amark{color:var(--ink);flex:none}.academy{padding-block:var(--s-8) 0}.academy-title{font-size:var(--fs-4xl);letter-spacing:-.03em;max-width:16ch;font-weight:800;line-height:.98}.academy-lede{margin-top:var(--s-5);font-size:var(--fs-lg);color:var(--ink-2);max-width:40rem}.academy-h{margin-top:var(--s-8);font-size:var(--fs-xl);padding-bottom:var(--s-3);border-bottom:1px solid var(--line)}.course-list{list-style:none}.course-row{gap:var(--s-5);padding-block:var(--s-6);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.course-row h3{font-size:var(--fs-2xl);letter-spacing:-.02em}.course-row h3 a{color:var(--ink);text-decoration:none}.course-row h3 a:hover{color:var(--brand-ink)}.course-row p{max-width:46rem;margin-top:.4rem}.course-meta{font-size:var(--fs-sm)}.academy>p.mute:last-child{margin-top:var(--s-5)}@media (width<=640px){.course-row{grid-template-columns:1fr}}.brand-mark .pixel{white-space:nowrap}@media (width<=640px){.brand-mark .pixel{font-size:1.2rem}.lesson-head{padding-block:var(--s-3) var(--s-2)}.crumbs{display:none}.lesson-title-row{gap:var(--s-3)}.lesson-num{font-size:2.4rem}.lesson-head h1{font-size:var(--fs-2xl)}.lesson-q{font-size:var(--fs-md);margin-top:.3rem}.lesson-meta{margin-top:.5rem}.hero{padding-block:var(--s-6) var(--s-5)}.page{padding-block:var(--s-6)}}@media (orientation:landscape) and (height<=520px){.nav{position:static}.lesson-head{padding-block:.4rem .2rem}.crumbs,.lesson-q,.lesson-meta{display:none}.lesson-num{font-size:1.8rem}.lesson-head h1{font-size:var(--fs-xl)}.picker-panel{padding-block:1rem}.picker-name{font-size:3rem}.picker-lower{gap:var(--s-3)}.picker-lede,.picker-facts{display:none}}.link-btn{color:var(--brand-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.chip-path{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.hero-exec-time{font-size:var(--fs-xs);color:var(--mute);margin-left:.25rem}.ad{margin-block:var(--s-4) var(--s-5);padding:var(--s-3) var(--s-4);background:var(--bg-2);min-block-size:5rem;box-shadow:0 0 0 1px var(--line);align-content:center;gap:.2rem;display:grid}.ad-label{font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;font-weight:700}.ad-house{font-size:var(--fs-sm);margin:0}.ad-house a{color:var(--brand-ink);font-weight:600}.ethical-ad{min-block-size:3.5rem}@media (width<=40rem){.ad{min-block-size:6.75rem;margin-block:var(--s-3) var(--s-4);padding-inline:var(--s-3)}}.search{width:min(92vw,40rem);color:var(--ink);background:0 0;border:0;margin-top:10dvh;padding:0}.search::backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent)}.search-box{background:var(--surface);box-shadow:0 0 0 2px var(--line-strong);padding:var(--s-3);max-height:76dvh;overflow:auto}.search-row{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--line);padding:.25rem .5rem;display:flex}.search-row input{min-width:0;font-size:var(--fs-lg);background:0 0;border:0;outline:none;flex:1;padding:.6rem 0}.search-status{padding:var(--s-3) .5rem;font-size:var(--fs-sm)}.search-results{list-style:none;display:grid}.search-results a{color:var(--ink);border-bottom:1px solid var(--line);gap:.25rem;padding:.7rem .5rem;text-decoration:none;display:grid}.search-results a:hover,.search-results a:focus-visible{background:var(--surface-2)}.search-results span{color:var(--ink-2);font-size:var(--fs-sm)}.search-results mark{background:var(--brand-soft);color:var(--ink)}.part{margin-top:calc(var(--s-4) * 3)}.part:first-of-type{margin-top:0}.part-head{align-items:baseline;gap:.4rem var(--s-4);padding-bottom:var(--s-4);margin-bottom:var(--s-4);border-bottom:2px solid var(--line-strong);flex-wrap:wrap;display:flex}.part-head h3{font-size:var(--fs-lg)}.part-eyebrow{font-size:var(--fs-xs);color:var(--brand-ink);text-transform:uppercase;letter-spacing:.06em}.part-badge{font-family:var(--font-mono,monospace);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;border:1px solid;padding:.1rem .5rem}.part-badge.is-open{color:var(--dat-ink)}.part-badge.is-soon{color:var(--mute)}.part-blurb{font-size:var(--fs-sm);flex-basis:100%;max-width:62ch}.lsn.is-soon .lsn-row{color:var(--mute);border-bottom:1px solid var(--line)}.lsn.is-soon:last-child .lsn-row{border-bottom:0}.lsn.is-soon .lsn-t{font-weight:600}.part-end{gap:var(--s-4);margin-block:calc(var(--s-4) * 3);padding:calc(var(--s-4) * 1.5);border:2px solid var(--line-strong);background:var(--surface-2);max-width:46rem;display:grid}.part-end h2{font-size:var(--fs-xl,1.6rem)}.lesson-nav-compact .ln-next{justify-content:flex-end;gap:var(--s-3)}
