@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.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:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.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,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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}:root{--font-body:"Vazirmatn Variable", "Vazirmatn", Tahoma, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "Vazirmatn Variable", "Vazirmatn", ui-monospace, Consolas, monospace;--navy-950:#0a1120;--navy-900:#0f1a33;--navy-800:#13203f;--navy-700:#1d2d55;--amber:#e98a35;--bg:#f6f3ec;--bg-grain:#ece6d9;--surface:#fff;--surface-2:#f1ede4;--ink:#13203f;--ink-2:#3e4a66;--ink-3:#6b7490;--line:#e2dccf;--line-strong:#cfc7b6;--accent:#d9761f;--accent-ink:#fff;--shadow-sm:0 1px 2px #13203f0f, 0 2px 6px #13203f0a;--shadow-md:0 2px 4px #13203f0d, 0 12px 32px -8px #13203f29;--course:var(--accent);--radius:14px;--radius-lg:22px;--container:1180px;--gutter:clamp(16px, 4vw, 32px);--header-h:64px;--ease:cubic-bezier(.2, .7, .2, 1);--fwd:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[dir=rtl]{--fwd:-1}:root[data-theme=dark]{--bg:#0b1222;--bg-grain:#121b31;--surface:#111a2e;--surface-2:#17223b;--ink:#e7ebf4;--ink-2:#b6bfd3;--ink-3:#8691ab;--line:#222e4a;--line-strong:#31405f;--accent:#f0a04b;--accent-ink:#1a1206;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 4px #00000040, 0 16px 40px -12px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,.course-card,.course-page,.topic-page{--course-soft:color-mix(in srgb, var(--course) 12%, transparent);--course-line:color-mix(in srgb, var(--course) 38%, var(--line));--course-ink:color-mix(in srgb, var(--course) 78%, var(--ink))}:root[data-theme=dark],:root[data-theme=dark] .course-card,:root[data-theme=dark] .course-page,:root[data-theme=dark] .topic-page{--course-soft:color-mix(in srgb, var(--course) 16%, transparent);--course-line:color-mix(in srgb, var(--course) 45%, var(--line));--course-ink:color-mix(in srgb, var(--course) 70%, white)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(var(--bg-grain) 1px, transparent 1.2px);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:22px 22px;margin:0;font-size:1.0625rem;line-height:1.85;overflow-x:hidden}img,svg{max-width:100%}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--course);outline-offset:3px;border-radius:6px}code,kbd,pre{font-family:var(--font-mono)}h1,h2,h3,h4{margin:0;line-height:1.35}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}[dir=rtl] .icon-arrow,:root[dir=rtl] .icon-arrow{transform:scaleX(-1)}.icon-arrow,.icon-grid{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.15em;height:1.15em}.site-header{z-index:20;height:var(--header-h);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.brand{align-items:center;gap:10px;font-size:1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--navy-800);width:34px;height:34px;transition:transform .3s var(--ease);border-radius:10px;place-items:center;display:grid}:root[data-theme=dark] .brand-mark{background:var(--navy-700)}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.05)}.brand-mark svg{fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.brand-mark circle{stroke:var(--amber)}.brand-mark path{stroke:#fff}.theme-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:42px;height:42px;transition:border-color .2s, transform .2s var(--ease);border-radius:12px;place-items:center;display:grid}.header-actions{align-items:center;gap:8px;display:flex}.lang-switch{border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;min-width:42px;height:42px;padding-inline:10px;font-size:.875rem;font-weight:700;text-decoration:none;transition:border-color .2s;display:grid}.lang-switch:hover{border-color:var(--line-strong)}.theme-toggle:hover{border-color:var(--line-strong);transform:rotate(-12deg)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.site-footer{border-top:1px solid var(--line);color:var(--ink-3);margin-top:96px;padding-block:28px;font-size:.875rem}.site-footer .container{flex-wrap:wrap;gap:4px 10px;display:flex}.btn{transition:transform .2s var(--ease), box-shadow .2s, background-color .2s, border-color .2s;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:11px 20px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--course);color:#fff;box-shadow:0 8px 20px -10px var(--course)}:root[data-theme=dark] .btn-primary{color:#0b1222}.btn-ghost{background:var(--surface);border-color:var(--line)}.btn-ghost:hover{border-color:var(--line-strong)}.btn:hover .icon-arrow{animation:nudge .6s var(--ease)}.hero{padding-block:clamp(56px,10vw,120px) clamp(40px,6vw,72px);position:relative;overflow:hidden}.hero-inner{z-index:1;position:relative}.hero-title{letter-spacing:-.01em;max-width:14ch;animation:rise .8s var(--ease) both;font-size:clamp(2.3rem,6.4vw,4.6rem);font-weight:900;line-height:1.25}.hero-highlight{white-space:nowrap;color:var(--accent);position:relative}.hero-highlight:after{content:"";inset-inline:-.08em;opacity:.28;transform-origin:100%;height:.16em;animation:draw .9s .45s var(--ease) both;background:currentColor;border-radius:99px;position:absolute;bottom:.06em}.hero-subtitle{color:var(--ink-2);animation:rise .8s .12s var(--ease) both;margin:18px 0 0;font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:500}.hero-art{inset-inline:auto -40px;opacity:.85;pointer-events:none;width:min(520px,60vw);position:absolute;top:50%;transform:translateY(-50%)}.hero-art-edges line{stroke:var(--line-strong);stroke-width:1.5px;stroke-dasharray:4 6}.hero-art-node{fill:var(--bg);stroke:var(--node);stroke-width:3px;animation:pulse 4.5s var(--d) ease-in-out infinite;transform-box:fill-box;transform-origin:50%}@media (width<=760px){.hero-art{opacity:.35;width:90vw;inset-inline-end:-30vw}}.course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.course-grid{grid-template-columns:repeat(2,1fr);gap:24px}}.course-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);height:100%;box-shadow:var(--shadow-sm);isolation:isolate;transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr;gap:14px 18px;padding:clamp(22px,3vw,32px);text-decoration:none;display:grid;position:relative;overflow:hidden}.course-card:before{content:"";z-index:-1;background:radial-gradient(120% 90% at 100% 0%, var(--course-soft), transparent 60%);opacity:.6;transition:opacity .35s;position:absolute;inset:0}.course-card:after{content:"";background:var(--course);transform-origin:100%;height:4px;transition:transform .45s var(--ease);position:absolute;inset-block-start:0;inset-inline:0;transform:scaleX(.18)}.course-card:hover{box-shadow:var(--shadow-md);border-color:var(--course-line);transform:translateY(-6px)}.course-card:hover:before{opacity:1}.course-card:hover:after{transform:scaleX(1)}.course-icon{width:60px;height:60px;color:var(--course-ink);background:var(--course-soft);border:1px solid var(--course-line);transition:transform .4s var(--ease);border-radius:16px;place-items:center;display:grid}.course-icon svg{width:32px;height:32px}.course-icon-lg{border-radius:20px;width:76px;height:76px}.course-icon-lg svg{width:40px;height:40px}.course-card:hover .course-icon{transform:rotate(-6deg)scale(1.06)}.course-card-titles{flex-direction:column;justify-content:center;display:flex}.course-card-title{font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:800;line-height:1.4}.course-card-en{font-family:var(--font-mono);color:var(--course-ink);letter-spacing:.02em;font-size:.78rem}.course-card-desc{color:var(--ink-2);grid-column:1/-1}.course-card-foot{border-top:1px dashed var(--line);color:var(--ink-3);grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:14px;font-size:.9rem;display:flex}.course-card-foot .icon-arrow{width:22px;height:22px;color:var(--course-ink);transition:transform .35s var(--ease)}.course-card:hover .course-card-foot .icon-arrow{translate:calc(var(--fwd) * 6px) 0}.page-hero{background:linear-gradient(180deg, var(--course-soft), transparent);border-bottom:1px solid var(--line);padding-block:28px 44px;position:relative}.page-hero:before{content:"";background:var(--course);height:4px;position:absolute;inset-block-start:0;inset-inline:0}.page-hero-compact{padding-bottom:36px}.breadcrumb ol{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 22px;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:4px;display:inline-flex}.breadcrumb li+li:before{content:"‹";opacity:.7;margin-inline:4px;font-size:1.1em}:root[dir=ltr] .breadcrumb li+li:before{content:"›"}.breadcrumb a{border-radius:6px;padding:2px 6px;text-decoration:none;transition:background-color .2s,color .2s}.breadcrumb a:hover{background:var(--course-soft);color:var(--ink)}.breadcrumb [aria-current]{color:var(--ink);padding-inline:6px;font-weight:600}.course-hero-head{align-items:center;gap:20px;display:flex}.eyebrow{color:var(--course-ink);letter-spacing:.02em;margin:0 0 4px;font-size:.85rem;font-weight:600}.eyebrow[dir=ltr]{font-family:var(--font-mono)}:root[dir=rtl] .eyebrow[dir=ltr],:root[dir=rtl] .course-card-en,:root[dir=rtl] .topic-card-en{text-align:right}:root[dir=ltr] .reading-progress-bar,:root[dir=ltr] .course-card:after,:root[dir=ltr] .hero-highlight:after{transform-origin:0}.page-title{font-size:clamp(1.9rem,4.6vw,3rem);font-weight:900}.page-title-en{font-family:var(--font-mono);color:var(--ink-3);vertical-align:middle;margin-inline:14px;font-size:.42em;font-weight:500;display:inline-block}.page-lead{max-width:66ch;color:var(--ink-2);margin:16px 0 0;font-size:1.12rem}.page-source{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:14px 0 0;padding:6px 12px;font-size:.85rem;line-height:1.6;display:inline-flex}.page-source-label{color:var(--course-ink);font-weight:700}.page-source [dir=ltr]{font-family:var(--font-mono);font-size:.92em}.books{max-width:66ch;margin-top:22px}.books-heading{color:var(--ink-3);margin:0 0 8px;font-size:.8rem;font-weight:700}.books ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.book{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.book-role{color:var(--course-ink);background:var(--course-soft);border-radius:99px;flex-shrink:0;margin-top:2px;padding:1px 8px;font-size:.75rem;font-weight:700}.book-info{min-width:0;color:var(--ink-3);flex-direction:column;font-size:.85rem;line-height:1.6;display:flex}:root[dir=rtl] .book-info{text-align:right}.book-info cite{color:var(--ink);font-size:.95rem;font-style:italic;font-weight:700}.page-meta{color:var(--ink-3);margin:12px 0 0;font-size:.85rem;display:block}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.section{padding-top:44px}.section-title{align-items:baseline;gap:12px;margin-bottom:24px;font-size:1.4rem;font-weight:800;display:flex}.section-count{color:var(--ink-3);background:var(--surface-2);border-radius:99px;padding:2px 10px;font-size:.85rem;font-weight:600}.empty-note,.page-loading{color:var(--ink-3);border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;padding:28px}.page-loading{border:0}.topic-path{--dot:46px;gap:14px;max-width:860px;margin:0;padding:0;list-style:none;display:grid;position:relative}.topic-path:before{content:"";inset-inline-start:calc(var(--dot) / 2 + 18px);background:repeating-linear-gradient(to bottom, var(--course-line) 0 6px, transparent 6px 12px);width:2px;position:absolute;top:30px;bottom:30px}.topic-card{grid-template-columns:var(--dot) 1fr auto;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;align-items:center;gap:18px;padding:16px 18px;text-decoration:none;display:grid;position:relative}.topic-card:hover{transform:translateX(calc(var(--fwd) * 6px));border-color:var(--course-line);box-shadow:var(--shadow-md)}.topic-num{width:var(--dot);height:var(--dot);color:var(--course-ink);background:var(--surface);border:2px solid var(--course-line);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;transition:background-color .3s,color .3s,border-color .3s;display:grid}.topic-card:hover .topic-num{background:var(--course);border-color:var(--course);color:#fff}.topic-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.topic-card-title{font-size:1.08rem;font-weight:800}.topic-card-en{font-family:var(--font-mono);color:var(--ink-3);margin-inline:10px;font-size:.75rem;font-weight:400}.topic-card-summary{color:var(--ink-2);font-size:.95rem;line-height:1.7}.topic-card>.icon-arrow{color:var(--ink-3);transition:color .3s, transform .3s var(--ease)}.topic-card:hover>.icon-arrow{color:var(--course-ink);translate:calc(var(--fwd) * 4px) 0}.topic-card.is-draft .topic-num{border-style:dashed}.reading-progress{top:var(--header-h);z-index:19;pointer-events:none;height:3px;position:fixed;inset-inline:0}.reading-progress-bar{background:var(--course);transform-origin:100%;height:100%;transform:scaleX(0)}.topic-layout{gap:32px;padding-top:36px;display:grid}@media (width>=1000px){.topic-layout{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"main aside";align-items:start;gap:56px}.topic-layout>.prose{grid-area:main}.topic-aside{grid-area:aside;align-self:stretch}.topic-aside-inner{top:calc(var(--header-h) + 24px);position:sticky}}.topic-aside-inner{gap:20px;display:grid}@media (width<=999px){.topic-aside .toc{display:none}.topic-aside .video-card{max-width:560px}}.video-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;padding:14px;text-decoration:none;display:block}a.video-card:hover{box-shadow:var(--shadow-md);border-color:var(--course-line);transform:translateY(-4px)}.video-card-heading{color:var(--ink-3);margin:0 0 10px;font-size:.8rem;font-weight:700}.video-thumb{aspect-ratio:16/9;background:var(--surface-2);border-radius:10px;position:relative;overflow:hidden}.video-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);display:block}a.video-card:hover .video-thumb img{transform:scale(1.05)}.video-play{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:54px;height:54px;transition:background-color .3s, transform .3s var(--ease);background:#0a1120b8;border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.video-play svg{fill:#fff;width:24px;height:24px;margin-inline-start:-3px;transform:scaleX(1)}a.video-card:hover .video-play{background:#e62117;transform:scale(1.1)}.video-cta{color:#fff;background:#0a1120c7;border-radius:99px;padding:3px 10px;font-size:.78rem;font-weight:700;position:absolute;inset-block-end:10px;inset-inline-start:10px}.video-meta{padding:12px 2px 2px}.video-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;font-weight:700;line-height:1.6;display:-webkit-box;overflow:hidden}.video-sub{color:var(--ink-3);flex-wrap:wrap;gap:6px;margin:6px 0 0;font-size:.82rem;display:flex}.video-likes{align-items:center;gap:4px;display:inline-flex}.video-likes svg{fill:currentColor;width:14px;height:14px}.video-card-note{color:var(--ink-2);margin:0 0 14px;font-size:.9rem}.video-search-link{background:var(--surface-2);border:1px solid var(--line);transition:border-color .2s, transform .2s var(--ease);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:.92rem;font-weight:700;text-decoration:none;display:flex}.video-search-link:hover{border-color:#e62117;transform:translateY(-2px)}.yt-glyph{fill:#e62117;flex-shrink:0;width:26px;height:26px}.yt-glyph-play{fill:#fff}.toc{border-top:1px solid var(--line);padding:16px 4px 4px}.toc-title{color:var(--ink-3);margin:0 0 8px;padding-inline:12px;font-size:.8rem;font-weight:700}.toc ol{margin:0;padding:0;list-style:none}.toc a{border-inline-start:2px solid var(--line);color:var(--ink-2);padding:5px 12px;font-size:.9rem;line-height:1.6;text-decoration:none;transition:color .2s,border-color .2s,background-color .2s;display:block}.toc a:hover{color:var(--ink);background:var(--surface-2)}.toc a.is-active{color:var(--course-ink);border-color:var(--course);font-weight:700}.topic-nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:14px;margin-top:64px;display:grid}.topic-nav-link{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;display:flex}.topic-nav-link:hover{border-color:var(--course-line);box-shadow:var(--shadow-md)}.topic-nav-prev:hover{transform:translateX(calc(var(--fwd) * -4px))}.topic-nav-next{text-align:end;justify-content:flex-end}.topic-nav-next:hover{transform:translateX(calc(var(--fwd) * 4px))}.topic-nav-link>span{flex-direction:column;min-width:0;display:flex}.topic-nav-label{color:var(--ink-3);font-size:.8rem}.topic-nav-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.topic-nav-link .icon-arrow{color:var(--course-ink)}.topic-nav-all{border-radius:var(--radius);border:1px dashed var(--line-strong);color:var(--ink-2);align-items:center;gap:8px;padding:0 18px;font-size:.9rem;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.topic-nav-all:hover{border-color:var(--course);color:var(--ink)}@media (width<=720px){.topic-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.topic-nav-all{grid-area:2/1/auto/-1;justify-content:center;padding:12px}.topic-nav-link{gap:10px;padding:14px}}.not-found{text-align:center;flex-direction:column;align-items:center;gap:4px;padding-top:80px;display:flex}.not-found .page-lead{margin-bottom:28px}.not-found-code{font-family:var(--font-mono);color:#0000;-webkit-text-stroke:2px var(--accent);margin:0;font-size:clamp(4rem,14vw,8rem);font-weight:800;line-height:1}.rise{animation:rise .6s calc(var(--i,0) * 70ms + .1s) var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes draw{0%{transform:scaleX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes nudge{50%{translate:calc(var(--fwd) * 4px) 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (width<=560px){.course-icon{width:52px;height:52px}.course-hero-head{gap:14px}.course-icon-lg{width:60px;height:60px}.page-title-en{margin:6px 0 0;font-size:.45em;display:block}.topic-path{--dot:38px}.topic-card{gap:12px;padding:14px}.topic-card>.icon-arrow{display:none}.topic-card{grid-template-columns:var(--dot) 1fr}.topic-path:before{inset-inline-start:calc(var(--dot) / 2 + 14px)}.topic-card-en{margin:0;display:block}}
