@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.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;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");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-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-greek-500-normal.JpySY46c.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-500-normal.D7SFKleX.woff)format("woff");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff)format("woff");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-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff");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{--canvas:#e9ecf8;--canvas-2:#dde1f3;--panel:#fff;--ink:#1a1f4b;--ink-2:#353b6b;--muted:#5f668c;--line:#cfd4ec;--primary:#4c3bea;--primary-ink:#3a2bc9;--primary-soft:#e4e0ff;--ok:#1f9d6f;--lift:0 18px 40px -22px #1a1f4b73;--f-head:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--f-body:"Instrument Sans Variable", "Segoe UI", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--wrap:1200px}.clay-amber{--clay:#ffb224;--clay-soft:#fff0cc;--clay-ink:#8a5600}.clay-mint{--clay:#2fcb97;--clay-soft:#d3f5e8;--clay-ink:#0b6b4c}.clay-sky{--clay:#4aa8ff;--clay-soft:#d9ecff;--clay-ink:#0b5aa8}.clay-lilac{--clay:#a98bff;--clay-soft:#ebe4ff;--clay-ink:#5a3cc4}.clay-coral{--clay:#ff6f61;--clay-soft:#ffe0dc;--clay-ink:#a8352a}.clay-indigo{--clay:#5b52eb;--clay-soft:#e2e0ff;--clay-ink:#3a2bc9}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}body{font:400 1.09rem/1.62 var(--f-body);color:var(--ink-2);background:var(--canvas);margin:0;overflow-x:clip}img{max-width:100%;height:auto}a{color:var(--primary-ink);text-underline-offset:3px}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:6px}h1,h2,h3{font-family:var(--f-head);color:var(--ink);letter-spacing:-.02em;margin:0 0 .55em}h1{font-size:clamp(2rem,1.3rem + 3vw,3.6rem);font-weight:700;line-height:1.04}h2{margin-top:2.1em;font-size:clamp(1.35rem,1.1rem + 1.1vw,1.95rem);font-weight:680;line-height:1.12}h3{letter-spacing:-.01em;font-size:1.08rem;font-weight:600;line-height:1.25}p{margin:0 0 1em}code,kbd{font-family:var(--f-mono);font-size:.86em}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:22px}.skip-link{background:var(--ink);color:#fff;z-index:100;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.lead{color:var(--ink-2);max-width:58ch;font-size:1.22rem;line-height:1.55}.muted{color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.site-header{z-index:50;backdrop-filter:blur(10px);background:#e9ecf8db;position:sticky;top:0}.site-header__bar{align-items:center;gap:18px;min-height:74px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__mark{width:36px;height:36px}.brand__word{font:640 1.22rem/1 var(--f-head);letter-spacing:-.03em}.site-nav{background:var(--panel);box-shadow:0 1px 0 var(--line);border-radius:999px;gap:2px;margin-left:auto;padding:5px;display:flex}.site-nav a{color:var(--ink-2);border-radius:999px;padding:9px 16px;font-size:.98rem;font-weight:600;text-decoration:none}.site-nav a:hover{background:var(--canvas);color:var(--ink)}.site-nav a[aria-current=page]{background:var(--ink);color:#fff}.nav-toggle{background:var(--panel);cursor:pointer;border:0;border-radius:12px;width:46px;height:42px;margin-left:auto;display:none}.nav-toggle__bars{justify-items:center;gap:4px;display:grid}.nav-toggle__bars span{background:var(--ink);border-radius:2px;width:18px;height:2px;display:block}.lang-switch{position:relative}.lang-switch summary{cursor:pointer;background:var(--panel);color:var(--ink);border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:700;list-style:none}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch__menu{background:var(--panel);box-shadow:var(--lift);border-radius:16px;min-width:190px;max-height:70vh;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.lang-switch__menu a{color:var(--ink);border-radius:10px;padding:9px 12px;text-decoration:none;display:block}.lang-switch__menu a:hover{background:var(--canvas)}.lang-switch__menu a[aria-current]{color:var(--primary-ink);font-weight:700}@media (width<=880px){.nav-toggle{place-items:center;display:inline-grid}.site-nav{box-shadow:var(--lift);border-radius:20px;flex-direction:column;padding:8px;display:none;position:absolute;top:calc(100% - 4px);left:12px;right:12px}.site-header.is-open .site-nav{display:flex}.site-nav a{padding:13px 16px}}.btn{font:650 1rem/1 var(--f-body);border:2px solid var(--ink);color:var(--ink);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:15px 22px;text-decoration:none;transition:transform .12s;display:inline-flex}.btn:hover{color:var(--ink);transform:translateY(-1px)}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 22px -12px var(--primary)}.btn--primary:hover{background:var(--primary-ink);border-color:var(--primary-ink);color:#fff}.btn small{opacity:.75;font-size:.78rem;font-weight:500}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{font:600 .78rem/1 var(--f-mono);background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;padding:7px 9px}.tag{background:var(--panel);color:var(--ink-2);border-radius:999px;padding:7px 12px;font-size:.86rem;font-weight:650}.crumbs{color:var(--muted);padding-top:14px;font-size:.92rem}.crumbs ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line);margin-right:6px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary-ink);text-decoration:underline}.hero{padding:40px 0 30px}.hero__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:36px;display:grid}.hero h1{max-width:13ch;font-size:clamp(2.3rem,1.4rem + 3.2vw,4rem);font-weight:720}.hero__cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero__facts{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.hero__facts li{background:var(--panel);color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:600}.stage{aspect-ratio:1.15;background:radial-gradient(120% 90% at 50% 100%,#d4d8f1 0%,#e9ecf8 60%);border-radius:36px;position:relative}.stage img{height:auto;position:absolute}.stage .s1{z-index:3;width:60%;bottom:4%;left:2%}.stage .s2{z-index:2;width:48%;bottom:14%;right:0}.stage .s3{z-index:1;width:46%;top:6%;left:12%}.stage .s4{z-index:1;width:32%;top:12%;right:8%}@media (width<=900px){.hero__grid{grid-template-columns:1fr}.stage{max-width:560px}}.course{padding:30px 0 20px}.course__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.course__head h2{max-width:22ch;margin:0}.track{grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 14px;margin:34px 0 0;padding:0;list-style:none;display:grid;position:relative}.track li{position:relative}.station{text-align:center;color:var(--ink);justify-items:center;gap:10px;text-decoration:none;display:grid}.station__disc{aspect-ratio:1;background:var(--clay-soft,var(--panel));border-radius:50%;place-items:center;width:100%;transition:transform .15s;display:grid;position:relative}.station:hover .station__disc{transform:translateY(-4px)}.station__disc img{width:96%;height:auto}.station__n{background:var(--ink);color:#fff;width:34px;height:34px;font:600 .88rem/1 var(--f-head);border-radius:50%;place-items:center;display:grid;position:absolute;top:4%;left:4%}.station__title{max-width:16ch;font-size:.98rem;font-weight:650;line-height:1.25}.station.is-soon{pointer-events:none}.station.is-soon .station__disc{background:var(--canvas-2)}.station.is-soon .station__disc img{opacity:.35;filter:grayscale()}.station.is-soon .station__title{color:var(--muted)}.is-done .station__n{background:var(--ok)}.track li:not(:nth-child(6n)):after{content:"";border-top:3px dotted var(--line);width:14px;position:absolute;top:34%;right:-14px}@media (width<=980px){.track{grid-template-columns:repeat(4,minmax(0,1fr))}.track li:after{display:none}}@media (width<=560px){.track{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}}.module+.module{margin-top:40px}.module__title{color:var(--ink-2);margin:34px 0 0;font-size:1.15rem}.module .track{margin-top:22px}.section{padding:34px 0}.inside{background:var(--panel);border-radius:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;padding:34px;display:grid}.inside h2{margin-top:0}.inside__sheet{box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:18px;overflow:hidden}.inside__sheet img{width:100%;display:block}.inside ul{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.inside li{grid-template-columns:44px 1fr;align-items:start;gap:12px;display:grid}.inside li b{color:var(--ink);display:block}.inside__icon{background:var(--primary-soft);width:44px;height:44px;color:var(--primary-ink);font:700 .72rem/1 var(--f-mono);border-radius:12px;place-items:center;display:grid}@media (width<=900px){.inside{grid-template-columns:1fr;padding:22px}}.prose-block{max-width:760px}.faq{gap:10px;max-width:860px;margin:18px 0 0;display:grid}.faq details{background:var(--panel);border-radius:18px;padding:16px 20px}.faq summary{cursor:pointer;color:var(--ink);font-weight:650}.faq details p{margin:10px 0 0}.hub-hero{padding:26px 0 10px}.hub-hero .lead{margin-bottom:0}.lesson-hero{background:var(--clay-soft);border-radius:36px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:24px;margin-top:14px;padding:34px 38px;display:grid}.lesson-hero h1{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.1rem)}.lesson-hero__render img{width:100%;height:auto;display:block}.lesson-hero__n{color:var(--clay-ink);align-items:center;gap:10px;margin-bottom:14px;font-weight:650;display:inline-flex}.lesson-hero__n span{background:var(--clay);color:#fff;width:38px;height:38px;font:600 .95rem/1 var(--f-head);border-radius:50%;place-items:center;display:inline-grid}.lesson__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}@media (width<=860px){.lesson-hero{border-radius:28px;grid-template-columns:1fr;gap:6px;padding:24px}.lesson-hero__render{order:-1;max-width:240px;margin:-6px 0 0 auto}}.lesson{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:44px;padding-top:26px;padding-bottom:60px;display:grid}.lesson__main{min-width:0}.lesson__main>header+.prose{margin-top:26px}.goals{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.goals li{background:var(--panel);border-radius:16px;padding:14px 16px 14px 50px;position:relative}.goals li:before{content:"";background:var(--clay,var(--primary));border-radius:6px;width:20px;height:20px;position:absolute;top:16px;left:16px}.prose{overflow-wrap:anywhere}.prose p,.prose li{max-width:70ch}.prose ul,.prose ol{padding-left:1.25em}.prose li{margin-bottom:.4em}.prose table:not(.cmd-table){border-collapse:separate;border-spacing:0;background:var(--panel);border-radius:16px;width:100%;margin:1.3em 0 1.7em;font-size:.96rem;overflow:hidden}.prose table:not(.cmd-table) th,.prose table:not(.cmd-table) td{text-align:left;vertical-align:top;border-bottom:1px solid var(--canvas);overflow-wrap:break-word;hyphens:auto;padding:11px 14px}.prose table:not(.cmd-table) th{color:var(--muted);background:var(--panel);font-size:.88rem;font-weight:650}.prose table:not(.cmd-table) tr:last-child td{border-bottom:0}.prose table:not(.cmd-table) td:first-child,.prose table:not(.cmd-table) th:first-child{white-space:nowrap;hyphens:manual}.prose table:not(.cmd-table) td:first-child{color:var(--ink);font-weight:600}@media (width<=560px){.prose table:not(.cmd-table){font-size:.88rem;display:block;overflow-x:auto}.prose table:not(.cmd-table) th,.prose table:not(.cmd-table) td{padding:9px 10px}}.table-scroll{background:var(--panel);border-radius:18px;overflow-x:auto}.cmd-table{border-collapse:collapse;width:100%;font-size:.98rem}.cmd-table th,.cmd-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--canvas);padding:12px 14px}.cmd-table th{color:var(--muted);font-size:.88rem;font-weight:650}.cmd-table tr:last-child td{border-bottom:0}.cmd-table td:first-child,.cmd-table td:nth-child(2){white-space:nowrap}.cmd-table code{white-space:nowrap;background:var(--canvas);color:var(--ink);border-radius:6px;padding:3px 7px;font-weight:600}.sheet{background:var(--panel);box-shadow:var(--lift);border-radius:26px;margin:28px 0;overflow:hidden}.sheet__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.sheet__title{font:600 1rem/1.2 var(--f-head);color:var(--ink);margin:0}.sheet__fig{box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:14px;margin:0 14px;overflow:hidden}.sheet__fig a{display:block}.sheet__fig img{width:100%;height:auto;display:block}.sheet__downloads{flex-wrap:wrap;gap:10px;padding:16px 18px 6px;display:flex}.sheet__note{color:var(--muted);margin:0;padding:6px 18px 16px;font-size:.88rem}.unit-tabs{background:var(--canvas);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.unit-tabs button{font:650 .9rem/1 var(--f-body);cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:9px 14px}.unit-tabs button[aria-selected=true]{background:var(--ink);color:#fff}[data-unit-panel][hidden]{display:none}.steps{counter-reset:step;gap:18px;margin:20px 0 0;padding:0;list-style:none;display:grid}.step{background:var(--panel);border-radius:22px;padding:22px 22px 22px 84px;position:relative}.step:before{counter-increment:step;content:counter(step);width:44px;height:44px;font:600 1.05rem/1 var(--f-head);background:var(--clay,var(--primary));color:#fff;border-radius:14px;place-items:center;display:grid;position:absolute;top:22px;left:22px}.step h3{margin:10px 0 8px}.step__fig{box-shadow:inset 0 0 0 1px var(--line);background:#fff;border-radius:14px;margin:14px 0 0;overflow:hidden}.step__fig img{width:100%;height:auto;display:block}@media (width<=560px){.step{padding:18px}.step:before{margin-bottom:4px;position:static}}.your-turn{background:var(--ink);color:#d9dcf3;border-radius:30px;margin:36px 0;padding:28px}.your-turn h2{color:#fff;margin-top:0}.your-turn .prose p{color:#d9dcf3}.your-turn .sheet{box-shadow:none;color:var(--ink-2);margin:20px 0 0}details.solution{margin-top:16px}details.solution>summary{cursor:pointer;color:#fff;background:#ffffff1f;border-radius:999px;padding:12px 18px;font-weight:700;display:inline-block}.mistakes{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.mistakes li{background:var(--panel);border-radius:16px;padding:14px 16px 14px 50px;position:relative}.mistakes li:before{content:"";border:3px solid #ff6f61;border-radius:50%;width:16px;height:16px;position:absolute;top:19px;left:18px}.done-toggle{background:var(--panel);color:var(--ink);border-radius:18px;align-items:center;gap:12px;margin:36px 0 0;padding:18px 20px;font-weight:600;display:flex}.done-toggle input{width:22px;height:22px;accent-color:var(--ok)}.pager{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:26px 0 0;display:grid}.pager a{background:var(--panel);color:var(--ink);border-radius:18px;gap:6px;padding:18px 20px;font-weight:650;text-decoration:none;display:grid}.pager a:hover{box-shadow:inset 0 0 0 2px var(--primary)}.pager small{color:var(--muted);font-weight:500}.pager__next{text-align:right;grid-column:2}.pager a{overflow-wrap:anywhere}@media (width<=560px){.pager{grid-template-columns:minmax(0,1fr)}.pager__next{grid-column:auto}}h1,h2,h3,.lead{overflow-wrap:break-word;hyphens:auto}.toc{background:var(--panel);border-radius:24px;padding:20px 14px;position:sticky;top:96px}.toc__title{font:600 1rem/1.25 var(--f-head);margin:0 6px 4px}.toc .toc__title a{color:var(--ink);padding:0;text-decoration:none;display:inline}.cmd-table td.cmd-lesson{white-space:nowrap}.toc__count{color:var(--muted);margin:0 6px 12px;font-size:.88rem}.toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc a,.toc .toc__soon{color:var(--ink-2);border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:8px;padding:7px 8px;font-size:.94rem;line-height:1.25;text-decoration:none;display:grid}.toc .toc__soon{color:var(--muted)}.toc a:hover{background:var(--canvas)}.toc a[aria-current=page]{background:var(--clay-soft,var(--canvas));color:var(--ink);font-weight:650}.toc__n{width:26px;height:26px;font:600 .72rem/1 var(--f-head);background:var(--canvas);color:var(--ink);border-radius:50%;place-items:center;display:grid}.toc a[aria-current=page] .toc__n{background:var(--clay,var(--ink));color:#fff}.toc li.is-done .toc__n{background:var(--ok);color:#fff}.toc__extra{border-top:1px solid var(--canvas);margin:12px 6px 0;padding-top:12px;font-size:.94rem}.toc__extra a{color:var(--primary-ink);padding:0;text-decoration:underline;display:inline}@media (width<=1000px){.lesson{grid-template-columns:1fr;gap:0}.toc{margin-top:30px;position:static}}.page{max-width:860px;padding-top:10px;padding-bottom:60px}.notfound{text-align:center;padding:90px 22px}.site-footer{background:var(--ink);color:#c9cdea;border-radius:40px 40px 0 0;margin-top:50px;padding:54px 0 30px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.sf{grid-template-columns:1fr 2.1fr .8fr;gap:34px 40px;display:grid}.sf__brand .brand__word{color:#fff}.sf__tag{max-width:36ch;margin-top:14px}.sf h2{font:600 1rem/1.2 var(--f-head);color:#fff;margin:0 0 14px}.sf ul{gap:9px;margin:0;padding:0;font-size:.97rem;list-style:none;display:grid}.sf__bottom{color:#a6abd2;border-top:1px solid #ffffff24;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:14px;padding-top:24px;font-size:.88rem;display:flex}.sf .sf__langs{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sf .sf__langs a{background:#ffffff1a;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:650}.sf .sf__langs a[aria-current]{color:var(--ink);background:#fff}.sf .sf__lessons{columns:2;column-gap:32px;display:block}.sf .sf__lessons li{break-inside:avoid;margin-bottom:9px}.sf__bottom>span{flex:420px}@media (width<=820px){.sf{grid-template-columns:1fr}.sf .sf__lessons{columns:1}}@media print{body{background:#fff;font-size:11pt}.site-header,.site-footer,.crumbs,.track,.skip-link,.lang-switch{display:none!important}.page{max-width:none;padding:0}.cmd-table{font-size:9pt}a{color:inherit;text-decoration:none}}
