@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c-s.11-onw4a9s-o3.woff2)format("woff2");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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8-s.1oj6iblxvm99n.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2-s.p.1q-jjomgjvbjf.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.1nzccunaoxsdm.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.1wuo3gtslpr33.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0ggqn9ig56u4s.woff2)format("woff2");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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.XrAHKW_className{font-family:Fraunces,Fraunces Fallback}.XrAHKW_variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.f4k-Ea_className{font-family:Inter,Inter Fallback;font-style:normal}.f4k-Ea_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.i1YWaa_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.i1YWaa_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
._1cPzEW_brand{font-family:var(--serif);white-space:nowrap;font-size:20px;font-weight:800;text-decoration:none}._1cPzEW_brand span{color:var(--terra)}
.zX2wcG_footer{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding:40px 0 26px}.zX2wcG_grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:24px;display:grid}.zX2wcG_about p{max-width:260px;margin:8px 0 0;font-size:14px}.zX2wcG_heading{color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 10px;font-size:11px}.zX2wcG_link{color:var(--muted);padding:2px 0;font-size:14px;text-decoration:none;display:block}.zX2wcG_link:hover{color:var(--ink)}.zX2wcG_note{font-family:var(--mono);text-align:center;margin:30px 0 0;font-size:12px}@media (max-width:760px){.zX2wcG_grid{grid-template-columns:1fr 1fr}.zX2wcG_about{grid-column:1/-1}}
.gq3ekG_nav{align-items:center;gap:16px;padding:22px 0;display:flex}.gq3ekG_links{gap:24px;margin-left:16px;font-weight:500;display:flex}.gq3ekG_links a{color:var(--muted);text-decoration:none}.gq3ekG_links a:hover{color:var(--ink)}.gq3ekG_tools{align-items:center;gap:8px;margin-left:auto;display:flex}.gq3ekG_tool{border:1px solid var(--line);background:var(--paper);min-width:40px;height:40px;color:var(--ink);font-family:var(--sans);white-space:nowrap;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.gq3ekG_tool:hover{border-color:var(--ink)}.gq3ekG_avatar{border-color:var(--terra);background:var(--terra);color:#fff;border-radius:50%;padding:0;font-weight:700}.gq3ekG_cta{padding:10px 16px;font-size:15px}.gq3ekG_sun{display:none}:root[data-theme=dark] .gq3ekG_sun{display:inline}:root[data-theme=dark] .gq3ekG_moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gq3ekG_sun{display:inline}:root:not([data-theme=light]) .gq3ekG_moon{display:none}}@media (max-width:1180px){.gq3ekG_links{gap:18px}.gq3ekG_label{display:none}}@media (max-width:960px){.gq3ekG_nav .gq3ekG_cta{display:none}}@media (max-width:760px){.gq3ekG_links{display:none}}
.QmZqpW_trigger{border:1px solid var(--line);background:var(--paper);height:40px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex}.QmZqpW_trigger:hover{border-color:var(--ink);color:var(--ink)}.QmZqpW_triggerKey{white-space:nowrap;border:1px solid var(--line);font-family:var(--mono);border-radius:5px;padding:1px 6px;font-size:11px}.QmZqpW_dialog{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--paper);width:min(640px,100vw - 32px);max-height:min(560px,100vh - 80px);color:var(--ink);margin:10vh auto auto;padding:0;box-shadow:0 24px 60px #1f1a1740}.QmZqpW_dialog::backdrop{background:#14110f73}.QmZqpW_box{flex-direction:column;display:flex}.QmZqpW_input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:18px 20px;font-size:17px}.QmZqpW_input::-webkit-search-cancel-button{appearance:none}.QmZqpW_list{margin:0;padding:8px;list-style:none;overflow-y:auto}.QmZqpW_list li{border-radius:var(--radius-m);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.QmZqpW_list .QmZqpW_active{background:var(--soft)}.QmZqpW_tag{border:1px solid var(--line);width:66px;font-family:var(--mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;border-radius:6px;flex:none;padding:3px 0;font-size:10px}.QmZqpW_lesson{border-color:var(--sun);background:var(--sun);color:#1f1a17}.QmZqpW_course{border-color:var(--terra);background:var(--terra);color:#fff}.QmZqpW_stage{border-color:var(--sage);background:var(--sage);color:#fff}.QmZqpW_text{flex-direction:column;min-width:0;display:flex}.QmZqpW_text b,.QmZqpW_text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.QmZqpW_text small{color:var(--muted)}.QmZqpW_empty{color:var(--muted);margin:0;padding:18px 20px}.QmZqpW_hints{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);margin:0;padding:10px 20px;font-size:11px}@media (max-width:960px){.QmZqpW_triggerKey{display:none}}
:root{--cream:#fbf7f0;--paper:#fff;--ink:#1f1a17;--muted:#6b625a;--line:#e9e1d4;--soft:#f4ede2;--terra:#e2552d;--terra-dark:#b23f1f;--sage:#4f7a65;--sun:#f4b740;--night:#1f1a17;--on-night:#fbf7f0;--term-bg:#15120f;--term-line:#2c2621;--chip:#fff6dc;--chip-line:#ecd9a6;--tint:#fff3ec;--tint-warn:#fdf6e6;--serif:var(--font-serif), Georgia, serif;--sans:var(--font-sans), system-ui, -apple-system, sans-serif;--mono:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--radius-s:8px;--radius-m:12px;--radius-l:18px;--wrap:1080px;--gutter:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--cream:#14110f;--paper:#1d1916;--ink:#f3ebe1;--muted:#a99d90;--line:#332c26;--soft:#2a241f;--chip:#2d2416;--chip-line:#4a3c22;--tint:#2e1e17;--tint-warn:#2b2416;--night:#0d0b0a;--term-bg:#0d0b0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cream:#14110f;--paper:#1d1916;--ink:#f3ebe1;--muted:#a99d90;--line:#332c26;--soft:#2a241f;--chip:#2d2416;--chip-line:#4a3c22;--tint:#2e1e17;--tint-warn:#2b2416;--night:#0d0b0a;--term-bg:#0d0b0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.7;transition:background-color .25s}a{color:inherit}img{max-width:100%}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.01em;line-height:1.12}code{font-family:var(--mono);background:var(--soft);border-radius:5px;padding:.1em .35em;font-size:.88em}:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.muted{color:var(--muted)}.eyebrow{font-family:var(--mono);color:var(--sage);font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-m);font-family:var(--sans);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:8px;padding:13px 24px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--terra);color:#fff;box-shadow:0 5px 0 var(--terra-dark);transition:transform .1s,box-shadow .1s}.btn-primary:active{box-shadow:0 1px 0 var(--terra-dark);transform:translateY(4px)}.btn-plain{border:1.5px solid var(--ink);color:var(--ink);background:0 0}.btn-plain:hover{background:var(--ink);color:var(--cream)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
