@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Coding-For-MBA/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Coding-For-MBA/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Coding-For-MBA/assets/fraunces-latin-wght-normal-ukD16Tqj.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(/Coding-For-MBA/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(/Coding-For-MBA/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(/Coding-For-MBA/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(/Coding-For-MBA/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(/Coding-For-MBA/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}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink-50:#f5f5f7;--ink-100:#d4d4dc;--ink-200:#a8a8b4;--ink-300:#6d6d77;--ink-400:#4a4a52;--ink-500:#3a3a42;--ink-600:#26262c;--ink-700:#1b1b20;--ink-800:#131316;--ink-900:#0b0b0c;--bone-50:#faf6ec;--bone-100:#f1ece0;--bone-200:#e8e4d8;--bone-300:#d4cdb8;--bone-400:#b8b09b;--bone-500:#9b9582;--bone-700:#6b6754;--bone-900:#2c2a22;--signal-300:#e8ff7f;--signal-500:#d4ff3f;--signal-700:#a8cc0f;--signal-900:#586a08;--rose-300:#ff9dbd;--rose-500:#ff4f86;--rose-700:#c22a5c;--cyan-300:#8fe9ff;--cyan-500:#22cdfa;--cyan-700:#0f93b8;--amber-500:#ffb000;--ruby-500:#ff4d4d;--teal-500:#3fbfa0;--bg-primary:var(--ink-900);--bg-secondary:var(--ink-900);--bg-card:var(--ink-800);--bg-card-hover:var(--ink-700);--bg-surface:var(--ink-800);--bg-code:var(--ink-700);--surface-paper:var(--ink-900);--surface-ink:var(--ink-800);--text-primary:var(--bone-200);--text-secondary:var(--bone-500);--text-muted:var(--bone-700);--text-heading:var(--bone-100);--text-on-accent:var(--ink-900);--text-on-brand:var(--ink-900);--accent-primary:var(--signal-500);--accent-secondary:var(--signal-300);--accent-tertiary:var(--amber-500);--accent-signal:var(--signal-500);--accent-amber:var(--amber-500);--accent-glow:#d4ff3f2e;--border-subtle:#e8e4d814;--border-card:#e8e4d824;--border-active:#d4ff3f73;--rule-hairline:1px solid var(--border-subtle);--rule-strong:1px solid var(--border-card);--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--gradient-concept-bg:radial-gradient(ellipse at 30% 20%, #d4ff3f0f, transparent 50%), radial-gradient(ellipse at 70% 80%, #ffb0000a, transparent 50%);--reading-theme-bg-primary:var(--ink-900);--reading-theme-bg-surface:var(--ink-800);--reading-theme-bg-card:var(--ink-800);--reading-theme-bg-card-hover:var(--ink-700);--reading-theme-bg-code:var(--ink-700);--reading-theme-accent-primary:var(--signal-300);--reading-theme-accent-secondary:var(--bone-300);--reading-theme-accent-tertiary:var(--amber-500);--reading-theme-border-subtle:#e8e4d80f;--reading-theme-border-card:#e8e4d81a;--reading-theme-border-active:#d4ff3f52;--reading-theme-accent-glow:#d4ff3f14;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 12px 32px #00000080;--shadow-glow:0 0 0 1px var(--border-active);--sidebar-width:280px;--navbar-height:72px;--content-max-width:1180px;--reading-max-width:68ch;--page-padding:clamp(1rem, 3vw, 2.25rem);--grid-col:minmax(0, 1fr);--grid-gutter:clamp(1rem, 2vw, 2rem);--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:10px;--motion-duration-instant:0s;--motion-duration-fast:.15s;--motion-duration-standard:.22s;--motion-duration-slow:.36s;--motion-duration-skeleton:1.4s;--motion-duration-view-transition:.18s;--motion-duration-card-entrance:.42s;--motion-easing-standard:cubic-bezier(.32, .72, 0, 1);--motion-easing-emphasized:cubic-bezier(.22, 1, .36, 1);--motion-duration-active-fast:var(--motion-duration-fast);--motion-duration-active-standard:var(--motion-duration-standard);--motion-duration-active-slow:var(--motion-duration-slow);--motion-duration-active-skeleton:var(--motion-duration-skeleton);--motion-duration-active-view-transition:var(--motion-duration-view-transition);--motion-duration-active-card-entrance:var(--motion-duration-card-entrance);--transition-fast:var(--motion-duration-fast) var(--motion-easing-standard);--transition-base:var(--motion-duration-standard) var(--motion-easing-standard);--transition-slow:var(--motion-duration-slow) var(--motion-easing-standard);--font-display:"Fraunces Variable", "Fraunces", "Iowan Old Style", "Source Serif Pro", georgia, serif;--font-body:var(--font-display);--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "IBM Plex Mono", "Berkeley Mono", ui-monospace, monospace;--font-ui:var(--font-mono);--app-font-size:1rem;--density-scale:1;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.06em;--tracking-mono:.01em}[data-palette=terminal-dark]{--bg-primary:var(--ink-900);--bg-secondary:var(--ink-900);--bg-card:var(--ink-800);--bg-card-hover:var(--ink-700);--bg-surface:var(--ink-800);--bg-code:var(--ink-700);--surface-paper:var(--ink-900);--surface-ink:var(--ink-800);--text-primary:var(--bone-200);--text-secondary:var(--bone-500);--text-muted:var(--bone-700);--text-heading:var(--bone-100);--text-on-accent:var(--ink-900);--text-on-brand:var(--ink-900);--accent-primary:var(--signal-500);--accent-secondary:var(--signal-300);--accent-tertiary:var(--amber-500);--accent-glow:#d4ff3f2e;--border-subtle:#e8e4d814;--border-card:#e8e4d824;--border-active:#d4ff3f73;--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 12px 32px #00000080;--shadow-glow:0 0 0 1px var(--border-active);--reading-bg-primary:var(--ink-900);--reading-bg-surface:var(--ink-800);--reading-bg-code:var(--ink-700);--reading-border-subtle:#e8e4d80f;--reading-border-card:#e8e4d81a;--reading-border-active:#d4ff3f52;--reading-accent-glow:#d4ff3f14}[data-palette=bone-light]{--bg-primary:var(--bone-50);--bg-secondary:var(--bone-100);--bg-card:#fbfaf2;--bg-card-hover:var(--bone-100);--bg-surface:var(--bone-50);--bg-code:var(--bone-200);--surface-paper:var(--bone-50);--surface-ink:#fbfaf2;--text-primary:var(--ink-800);--text-secondary:var(--ink-500);--text-muted:var(--ink-400);--text-heading:var(--ink-900);--text-on-accent:var(--bone-50);--text-on-brand:var(--ink-900);--accent-primary:var(--ink-900);--accent-secondary:var(--ink-700);--accent-tertiary:var(--signal-700);--accent-glow:#0b0b0c1f;--border-subtle:#0b0b0c1a;--border-card:#0b0b0c29;--border-active:var(--ink-900);--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 16px 40px #0b0b0c14;--shadow-glow:0 0 0 1px var(--ink-900);--reading-bg-primary:var(--bone-50);--reading-bg-surface:#fbfaf2;--reading-bg-code:var(--bone-200);--reading-border-subtle:#0b0b0c14;--reading-border-card:#0b0b0c1f;--reading-border-active:var(--ink-900);--reading-accent-glow:#0b0b0c0a;--reading-theme-bg-primary:var(--bone-50);--reading-theme-bg-surface:#fbfaf2;--reading-theme-bg-card:#fbfaf2;--reading-theme-bg-card-hover:var(--bone-100);--reading-theme-bg-code:var(--bone-200);--reading-theme-accent-primary:var(--ink-900);--reading-theme-accent-secondary:var(--ink-700);--reading-theme-accent-tertiary:var(--signal-700);--reading-theme-border-subtle:#0b0b0c14;--reading-theme-border-card:#0b0b0c1f;--reading-theme-border-active:var(--ink-900);--reading-theme-accent-glow:#0b0b0c0a}[data-palette=signal-rose]{--bg-primary:var(--ink-900);--bg-secondary:var(--ink-900);--bg-card:var(--ink-800);--bg-card-hover:var(--ink-700);--bg-surface:var(--ink-800);--bg-code:var(--ink-700);--surface-paper:var(--ink-900);--surface-ink:var(--ink-800);--text-primary:var(--bone-200);--text-secondary:var(--bone-500);--text-muted:var(--bone-700);--text-heading:var(--bone-100);--text-on-accent:var(--ink-900);--text-on-brand:var(--ink-900);--accent-primary:var(--rose-500);--accent-secondary:var(--rose-300);--accent-tertiary:var(--amber-500);--accent-glow:#ff4f862e;--border-subtle:#e8e4d814;--border-card:#e8e4d824;--border-active:#ff4f8673;--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 12px 32px #00000080;--shadow-glow:0 0 0 1px var(--border-active);--reading-bg-primary:var(--ink-900);--reading-bg-surface:var(--ink-800);--reading-bg-code:var(--ink-700);--reading-border-subtle:#e8e4d80f;--reading-border-card:#e8e4d81a;--reading-border-active:#ff4f8652;--reading-accent-glow:#ff4f8614;--reading-theme-bg-primary:var(--ink-900);--reading-theme-bg-surface:var(--ink-800);--reading-theme-bg-card:var(--ink-800);--reading-theme-bg-card-hover:var(--ink-700);--reading-theme-bg-code:var(--ink-700);--reading-theme-accent-primary:var(--rose-300);--reading-theme-accent-secondary:var(--bone-300);--reading-theme-accent-tertiary:var(--amber-500);--reading-theme-border-subtle:#e8e4d80f;--reading-theme-border-card:#e8e4d81a;--reading-theme-border-active:#ff4f8652;--reading-theme-accent-glow:#ff4f8614}[data-palette=signal-cyan]{--bg-primary:var(--ink-900);--bg-secondary:var(--ink-900);--bg-card:var(--ink-800);--bg-card-hover:var(--ink-700);--bg-surface:var(--ink-800);--bg-code:var(--ink-700);--surface-paper:var(--ink-900);--surface-ink:var(--ink-800);--text-primary:var(--bone-200);--text-secondary:var(--bone-500);--text-muted:var(--bone-700);--text-heading:var(--bone-100);--text-on-accent:var(--ink-900);--text-on-brand:var(--ink-900);--accent-primary:var(--cyan-500);--accent-secondary:var(--cyan-300);--accent-tertiary:var(--amber-500);--accent-glow:#22cdfa2e;--border-subtle:#e8e4d814;--border-card:#e8e4d824;--border-active:#22cdfa73;--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 12px 32px #00000080;--shadow-glow:0 0 0 1px var(--border-active);--reading-bg-primary:var(--ink-900);--reading-bg-surface:var(--ink-800);--reading-bg-code:var(--ink-700);--reading-border-subtle:#e8e4d80f;--reading-border-card:#e8e4d81a;--reading-border-active:#22cdfa52;--reading-accent-glow:#22cdfa14;--reading-theme-bg-primary:var(--ink-900);--reading-theme-bg-surface:var(--ink-800);--reading-theme-bg-card:var(--ink-800);--reading-theme-bg-card-hover:var(--ink-700);--reading-theme-bg-code:var(--ink-700);--reading-theme-accent-primary:var(--cyan-300);--reading-theme-accent-secondary:var(--bone-300);--reading-theme-accent-tertiary:var(--amber-500);--reading-theme-border-subtle:#e8e4d80f;--reading-theme-border-card:#e8e4d81a;--reading-theme-border-active:#22cdfa52;--reading-theme-accent-glow:#22cdfa14}[data-palette=high-contrast]{--bg-primary:#fff;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:var(--bone-100);--bg-surface:#fff;--bg-code:var(--bone-100);--surface-paper:#fff;--surface-ink:#fff;--text-primary:#000;--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--text-heading:#000;--text-on-accent:#fff;--text-on-brand:#000;--accent-primary:#000;--accent-secondary:var(--ink-700);--accent-tertiary:var(--signal-700);--accent-glow:#0000001f;--border-subtle:#00000029;--border-card:#00000047;--border-active:#000;--gradient-hero:none;--gradient-card:none;--gradient-glow:none;--gradient-logo:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-elevated:0 16px 40px #00000024;--shadow-glow:0 0 0 1px #000;--reading-bg-primary:#fff;--reading-bg-surface:#fff;--reading-bg-code:var(--bone-100);--reading-border-subtle:#0000001f;--reading-border-card:#0003;--reading-border-active:#000;--reading-accent-glow:#0000000f;--reading-theme-bg-primary:#fff;--reading-theme-bg-surface:#fff;--reading-theme-bg-card:#fff;--reading-theme-bg-card-hover:var(--bone-100);--reading-theme-bg-code:var(--bone-100);--reading-theme-accent-primary:#000;--reading-theme-accent-secondary:var(--ink-700);--reading-theme-accent-tertiary:var(--signal-700);--reading-theme-border-subtle:#0000001f;--reading-theme-border-card:#0003;--reading-theme-border-active:#000;--reading-theme-accent-glow:#0000000f}@media (prefers-reduced-motion:reduce){:root{--motion-duration-active-fast:var(--motion-duration-instant);--motion-duration-active-standard:var(--motion-duration-instant);--motion-duration-active-slow:var(--motion-duration-instant);--motion-duration-active-skeleton:var(--motion-duration-instant);--motion-duration-active-view-transition:var(--motion-duration-instant);--motion-duration-active-card-entrance:var(--motion-duration-instant)}}html{scroll-behavior:smooth;font-size:var(--app-font-size,1rem);background:var(--surface-paper)}body{font-family:var(--font-body);font-feature-settings:"ss01" on, "ss02" on, "kern" on, "liga" on;background:var(--surface-paper);color:var(--text-primary);line-height:calc(var(--leading-normal) * var(--density-scale,1));letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent-primary);text-decoration-color:var(--accent-primary);text-underline-offset:.2em;transition:text-decoration-color var(--transition-fast), color var(--transition-fast);text-decoration-thickness:1px}a:hover{color:var(--accent-primary);text-decoration-thickness:2px}[data-palette-type=light] a:hover{color:var(--text-heading)}img{max-width:100%;height:auto}::selection{background:var(--accent-primary);color:var(--text-on-accent)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}svg[width="1em"]{vertical-align:-.125em;flex-shrink:0}.num,.font-mono,[class*=ticker],[class*=dashboard-tile]{font-variant-numeric:tabular-nums}.skip-to-content{z-index:10000;background:var(--accent-primary);color:var(--text-on-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:.625rem 1.25rem;font-size:.8125rem;font-weight:600;transition:top .18s;position:absolute;top:-100%;left:1rem}.skip-to-content:focus{color:var(--text-on-accent);top:.75rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-loader{justify-content:center;align-items:center;min-height:40vh;display:flex}.page-loader-spinner{border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-card);background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.app-layout{background:var(--surface-paper);min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);padding-top:var(--navbar-height);width:100%;min-width:0;min-height:100vh;transition:margin-left var(--transition-base);flex:1}.main-content>*{min-width:0}.main-content:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.page-container{width:min(100%, var(--content-max-width));padding:clamp(2rem, 4vw, 3.5rem) var(--page-padding) clamp(3rem, 6vw, 5rem);margin:0 auto}.page-container.lesson-with-toc{width:min(100%, calc(var(--content-max-width) + 260px + 2rem))}.lesson-reading-surface{--bg-primary:var(--reading-theme-bg-primary);--bg-surface:var(--reading-theme-bg-surface);--bg-card:var(--reading-theme-bg-card);--bg-card-hover:var(--reading-theme-bg-card-hover);--bg-code:var(--reading-theme-bg-code);--accent-primary:var(--reading-theme-accent-primary);--accent-secondary:var(--reading-theme-accent-secondary);--accent-tertiary:var(--reading-theme-accent-tertiary);--border-subtle:var(--reading-theme-border-subtle);--border-card:var(--reading-theme-border-card);--border-active:var(--reading-theme-border-active);--accent-glow:var(--reading-theme-accent-glow);--gradient-card:none;--gradient-glow:none;--shadow-card:0 1px 0 0 var(--border-subtle);--shadow-glow:none}.lesson-reading-surface.page-container{background:var(--bg-primary)}.eyebrow{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:500}.display-headline{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 380;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:380;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-heading)}.display-numeral{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 280;letter-spacing:-.04em;color:var(--text-heading);font-variant-numeric:lining-nums;font-size:clamp(7rem,14vw,16rem);font-weight:280;line-height:.85}.kicker{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-primary);align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;display:inline-flex}.kicker:before{content:"";background:var(--accent-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.hairline{border:0;border-top:1px solid var(--border-subtle);margin:0}.hairline-strong{border:0;border-top:1px solid var(--border-card);margin:0}.section-header{gap:.5rem;max-width:70ch;margin:0 0 1.25rem;display:grid}.section-header h1,.section-header h2{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 380;font-size:clamp(1.875rem,4vw,3rem);font-weight:380;line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--text-heading);margin:0}.section-header h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.25rem)}.section-header p{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 50;font-size:clamp(1rem,1.2vw,1.125rem);font-weight:380;line-height:var(--leading-snug);color:var(--text-secondary);max-width:60ch;margin:0}.hero-cta-link,.continue-banner-cta{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-sm);background:var(--accent-primary);color:var(--text-on-accent);border:1px solid var(--accent-primary);transition:background var(--transition-fast);align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1.125rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.hero-cta-link:hover,.continue-banner-cta:hover{background:var(--signal-300);color:var(--text-on-accent);text-decoration:none}[data-palette-type=light] .hero-cta-link,[data-palette-type=light] .continue-banner-cta{background:var(--ink-900);color:var(--bone-50);border-color:var(--ink-900)}[data-palette-type=light] .hero-cta-link:hover,[data-palette-type=light] .continue-banner-cta:hover{background:var(--ink-700);color:var(--bone-50)}.continue-banner{background:var(--surface-paper);border:1px solid var(--border-card);border-left:3px solid var(--accent-primary);border-radius:0;gap:.625rem;margin:1rem 0;padding:1.25rem 1.5rem;display:grid}.continue-banner-title{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-primary);margin:0;font-size:.625rem;font-weight:600}.continue-banner-subtitle{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 30;letter-spacing:-.005em;color:var(--text-heading);font-size:1.0625rem;font-weight:460;line-height:var(--leading-tight);margin:0}.difficulty-badge{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;align-items:center;padding:.2rem .55rem;font-size:.6875rem;font-weight:600;display:inline-flex}.meta-pill{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.6875rem;font-weight:500;display:inline-flex}.lesson-meta-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.625rem;display:flex}.day-link-check{color:var(--accent-primary);font-family:var(--font-mono);justify-content:center;align-items:center;margin-left:auto;font-size:.75rem;font-weight:700;display:inline-flex}.navbar{top:0;left:var(--sidebar-width);height:var(--navbar-height);background:var(--surface-ink);border-bottom:1px solid var(--border-card);z-index:200;transition:left var(--transition-base);isolation:isolate;flex-direction:column;display:flex;position:fixed;right:0}.status-ticker{border-bottom:1px solid var(--border-subtle);height:28px;font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);text-transform:lowercase;background:var(--surface-ink);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.75rem;padding:0 1.25rem;font-size:.6875rem;font-weight:500;display:flex;overflow:hidden}.ticker-cell{flex-shrink:0;align-items:center;gap:.4rem;display:inline-flex}.ticker-brand{color:var(--text-secondary);font-weight:600}.ticker-dot{background:var(--accent-primary);width:6px;height:6px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%;flex-shrink:0;animation:2.4s ease-in-out infinite ticker-pulse}@keyframes ticker-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.ticker-dot{animation:none}}.ticker-sep{color:var(--text-muted);opacity:.5}.ticker-path{color:var(--text-secondary);text-overflow:ellipsis;min-width:0;overflow:hidden}.ticker-spacer{flex:1}.ticker-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:.6875rem}.ticker-blocks{color:var(--accent-primary);letter-spacing:1px;font-size:.6875rem;line-height:1}.ticker-value{color:var(--text-primary);font-weight:600}.ticker-of{color:var(--text-muted);font-weight:400}.navbar-row{flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:0 1.25rem 0 1rem;display:flex}.navbar-row-left{align-items:center;gap:.875rem;min-width:0;display:flex}.navbar-row-right{align-items:center;gap:1rem;min-width:0;display:flex}.navbar-brand{color:var(--text-heading);font-family:var(--font-display);font-variation-settings:"opsz" 24;letter-spacing:-.01em;align-items:center;gap:.625rem;font-size:1.0625rem;font-weight:480;text-decoration:none;display:inline-flex}.navbar-brand:hover{color:var(--text-heading);text-decoration:none}.brand-mark{font-family:var(--font-mono);letter-spacing:0;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);text-transform:uppercase;justify-content:center;align-items:center;padding:.125rem .4rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.brand-wordmark{white-space:nowrap}.navbar-hamburger{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.navbar-hamburger:hover{color:var(--text-heading);border-color:var(--border-card);background:var(--bg-card-hover)}.navbar-hamburger svg{width:18px;height:18px}.navbar-search-form{border:1px solid var(--border-subtle);background:var(--surface-paper);border-radius:var(--radius-sm);font-family:var(--font-mono);transition:border-color var(--transition-fast);align-items:center;gap:.5rem;min-width:0;padding:.35rem .5rem .35rem .625rem;display:inline-flex}.navbar-search-form:focus-within{border-color:var(--accent-primary)}.navbar-search-prompt{color:var(--accent-primary);font-size:.875rem;font-weight:700;line-height:1}.navbar-search-input{color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;width:280px;min-width:0;font-size:.8125rem}.navbar-search-input::placeholder{color:var(--text-muted);opacity:.7}.navbar-search-shortcut{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:3px;padding:.125rem .4rem;font-size:.6875rem;line-height:1}.navbar-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.125rem .25rem;font-size:.75rem;line-height:1}.navbar-search-clear:hover{color:var(--text-heading)}.navbar-links{font-family:var(--font-mono);align-items:center;gap:.125rem;display:flex}.navbar-links a{border-radius:var(--radius-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);transition:color var(--transition-fast), background var(--transition-fast);align-items:center;gap:.3rem;padding:.45rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.navbar-links a:hover{color:var(--text-heading);background:var(--bg-card-hover);text-decoration:none}.navbar-links a.active{color:var(--text-on-accent);background:var(--accent-primary)}.navbar-links a.active:before{content:"";background:var(--text-on-accent);width:4px;height:4px;position:absolute;left:.5rem}.navbar-link-external{color:var(--text-muted)!important}@media (max-width:1100px){.navbar-search-input{width:200px}.navbar-links a{padding:.45rem .55rem}}@media (max-width:900px){.navbar-search-form{display:none}}@media (max-width:700px){.status-ticker{gap:.5rem;padding:0 .75rem;font-size:.625rem}.ticker-blocks,.ticker-of,.ticker-path{display:none}.navbar-links a{padding:.4rem .45rem;font-size:.6875rem}.brand-wordmark{display:none}}.sidebar{width:var(--sidebar-width);background:var(--surface-ink);border-right:1px solid var(--border-card);z-index:210;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-card);height:var(--navbar-height);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.125rem;display:flex}.sidebar-brand{color:inherit;align-items:center;gap:.625rem;min-width:0;text-decoration:none;display:inline-flex}.sidebar-brand:hover{text-decoration:none}.sidebar-brand-mark{font-family:var(--font-mono);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem .45rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.sidebar-brand-text{flex-direction:column;min-width:0;display:flex}.sidebar-brand-name{font-family:var(--font-display);font-variation-settings:"opsz" 24;color:var(--text-heading);letter-spacing:-.01em;font-size:.9375rem;font-weight:480;line-height:1.1}.sidebar-brand-meta{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);color:var(--text-muted);text-transform:uppercase;margin-top:.125rem;font-size:.625rem;font-weight:500}.sidebar-close{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);min-width:40px;min-height:40px;transition:all var(--transition-fast);background:0 0;flex-shrink:0;padding:.4rem;display:none}.sidebar-close:hover{color:var(--text-heading);border-color:var(--border-card)}.sidebar-nav{scrollbar-gutter:stable;font-family:var(--font-mono);flex:1;padding:.75rem 0 1.5rem;overflow-y:auto}.tree-section{margin-bottom:1.25rem}.tree-section-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);padding:.625rem 1.125rem .4rem;font-size:.6875rem;font-weight:600}.tree-item{font-family:var(--font-mono);color:var(--text-secondary);transition:color var(--transition-fast), background var(--transition-fast), border-left-color var(--transition-fast);white-space:nowrap;border-left:2px solid #0000;align-items:center;gap:.625rem;padding:.4rem 1.125rem;font-size:.8125rem;text-decoration:none;display:flex;overflow:hidden}.tree-item:hover{color:var(--text-heading);background:var(--bg-card-hover);text-decoration:none}.tree-item.active{color:var(--accent-primary);background:var(--bg-card-hover);border-left-color:var(--accent-primary)}.tree-glyph{font-family:var(--font-mono);text-align:center;width:1ch;color:var(--text-muted);flex-shrink:0;font-size:.875rem}.tree-item:hover .tree-glyph,.tree-item.active .tree-glyph{color:var(--accent-primary)}.tree-label{text-overflow:ellipsis;letter-spacing:var(--tracking-mono);overflow:hidden}.phase-group{margin-bottom:1px}.phase-toggle{cursor:pointer;width:100%;color:var(--text-secondary);font-family:var(--font-mono);text-align:left;transition:color var(--transition-fast), background var(--transition-fast), border-left-color var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:.5rem;padding:.4rem 1.125rem;font-size:.75rem;font-weight:500;display:flex}.phase-toggle:hover,.phase-toggle.active,.phase-toggle.open{color:var(--text-heading);background:var(--bg-card-hover)}.phase-toggle.active{border-left-color:var(--accent-primary)}.phase-toggle-arrow{width:12px;color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.phase-toggle.open .phase-toggle-arrow{color:var(--accent-primary);transform:rotate(90deg)}.phase-toggle-num{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:0;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.6875rem;font-weight:700}.phase-toggle-label{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-variation-settings:"opsz" 18;letter-spacing:-.005em;color:inherit;text-transform:none;flex:1;font-size:.875rem;font-weight:480;overflow:hidden}.phase-toggle-progress{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.625rem}.phase-due{color:var(--accent-tertiary);margin-left:.2rem}.phase-days{overflow:hidden}.day-link{font-family:var(--font-mono);color:var(--text-muted);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;border-left:2px solid #0000;align-items:baseline;gap:.5rem;padding:.3rem 1.125rem .3rem 2.5rem;font-size:.75rem;text-decoration:none;display:flex;overflow:hidden}.day-link:hover{color:var(--text-heading);background:var(--bg-card-hover);text-decoration:none}.day-link.active{color:var(--accent-primary);background:var(--bg-card-hover);border-left-color:var(--accent-primary)}.day-link--overview{color:var(--text-secondary)}.day-link-prefix{text-align:center;width:1ch;color:var(--text-muted);flex-shrink:0;font-size:.6875rem}.day-link-prefix.completed{color:var(--accent-primary)}.day-link-prefix.in-progress{color:var(--text-secondary)}.day-link-num{font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;font-size:.6875rem;font-weight:500}.day-link.active .day-link-num,.day-link:hover .day-link-num{color:var(--accent-primary)}.day-link-text{text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase;letter-spacing:var(--tracking-mono);overflow:hidden}.sidebar-overlay{z-index:190;background:#000000b3;display:none;position:fixed;inset:0}.search-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.search-palette{background:var(--bg-secondary);border:1px solid var(--border-card);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-elevated);flex-direction:column;max-height:70vh;display:flex;overflow:hidden}.search-input-wrapper{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.search-icon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0}.search-input{color:var(--text-primary);font-size:1rem;font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.search-input::placeholder{color:var(--text-muted)}.search-kbd{font-family:var(--font-mono);border:1px solid var(--border-subtle);color:var(--text-muted);background:#94a3b81a;border-radius:4px;flex-shrink:0;padding:.15rem .4rem;font-size:.7rem}.search-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:.25rem;padding:.25rem;display:flex}.search-close-btn:hover{color:var(--text-primary);background:#94a3b81a}.search-close-btn:focus-visible{box-shadow:0 0 0 2px var(--accent-primary);background:#94a3b81a;outline:none}.search-close-btn svg{width:18px;height:18px}.search-results{padding:.5rem;overflow-y:auto}.search-result-item{text-align:left;border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-primary);font-family:var(--font-body);transition:background var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;padding:.75rem 1rem;display:block}.search-result-item:hover,.search-result-item.active{background:var(--accent-glow);border-left-color:var(--accent-primary)}.search-result-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-primary);background:var(--accent-glow);border-left-color:var(--accent-primary);outline:none}.search-result-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.search-result-day{color:var(--accent-primary);white-space:nowrap;font-size:.75rem;font-weight:600}.search-result-title{color:var(--text-heading);flex:1;min-width:0;font-size:.9rem;font-weight:600}.search-result-badge{border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.search-result-snippet{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.search-result-tags{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.search-result-tag{color:var(--text-muted);background:#94a3b814;border-radius:4px;padding:.1rem .4rem;font-size:.65rem}.search-result-tag.matched{background:var(--accent-glow);color:var(--accent-tertiary)}.search-action-item{align-items:center;gap:.75rem;display:flex}.search-action-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.search-action-item.active .search-action-icon,.search-action-item:hover .search-action-icon{color:var(--accent-primary)}.search-action-label{min-width:0;color:var(--text-primary);flex:1;font-size:.9rem}.search-action-hint{font-family:var(--font-mono);border:1px solid var(--border-subtle);color:var(--text-muted);background:#94a3b81a;border-radius:4px;flex-shrink:0;padding:.15rem .4rem;font-size:.7rem}.search-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1.25rem;font-size:.95rem;display:flex}.search-empty-icon{width:48px;height:48px;color:var(--border-active);opacity:.8}.search-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);gap:1.25rem;padding:.6rem 1.25rem;font-size:.75rem;display:flex}.search-footer kbd{font-family:var(--font-mono);border:1px solid var(--border-subtle);background:#94a3b81a;border-radius:3px;margin-right:.3rem;padding:.1rem .3rem;font-size:.65rem}.search-trigger{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:.8rem;font-family:var(--font-body);background:#94a3b80f;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.search-trigger:hover{border-color:var(--border-active);color:var(--text-secondary);background:#4361ee1a}.search-trigger svg{width:16px;height:16px}.search-trigger-shortcut{font-family:var(--font-mono);border:1px solid var(--border-subtle);background:#94a3b81a;border-radius:3px;padding:.1rem .35rem;font-size:.65rem}.search-page-form{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;display:flex}.search-page-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);min-width:0;color:var(--text-primary);font:inherit;flex:1;padding:.6rem .8rem}.search-page-submit{border:1px solid var(--border-active);color:var(--text-heading);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:#4361ee29;padding:.58rem .8rem}.search-page-header{margin-bottom:2rem}.search-page-header h1{color:var(--text-heading);margin-bottom:.5rem;font-size:1.75rem}.search-page-summary{color:var(--text-secondary);font-size:.9rem}.search-results-list{flex-direction:column;gap:.75rem;display:flex}.search-result-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:1.25rem 1.5rem;display:block}.search-result-card:hover{background:var(--bg-card-hover);border-color:var(--border-active);box-shadow:var(--shadow-glow)}.search-result-card-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.search-result-card-day{color:var(--accent-primary);font-size:.8rem;font-weight:700}.search-result-card-title{color:var(--text-heading);flex:1;min-width:0;font-size:1.1rem;font-weight:600}.search-result-card-snippet{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;line-height:1.6}.search-result-card-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem;display:flex}.search-result-card-phase{color:var(--text-muted);font-size:.75rem}.search-highlight{color:var(--accent-tertiary);background:#4361ee40;border-radius:2px;padding:0 1px}.search-empty-page{text-align:center;color:var(--text-muted);padding:3rem 1rem}.search-empty-page p{margin-bottom:.5rem}@media (max-width:640px){.search-overlay{padding-top:5vh;padding-left:1rem;padding-right:1rem}.search-page-form{flex-direction:column;align-items:stretch}.search-page-submit{width:100%}.search-trigger-label,.search-trigger-shortcut{display:none}}.home-page{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(4rem,6vw,6rem)}.editorial-cover{border-bottom:0;gap:clamp(1.5rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(2.5rem,5vw,4rem);display:grid;position:relative}.cover-eyebrow{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.75rem;font-weight:500;display:flex}.cover-title{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 360;letter-spacing:-.035em;color:var(--text-heading);max-width:18ch;font-size:clamp(2.75rem,8vw,7.5rem);font-weight:360;line-height:.92}.cover-title em{font-variation-settings:"opsz" 144, "SOFT" 100, "wght" 360;color:var(--accent-primary);font-style:italic}.cover-lede{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 50, "wght" 380;font-size:clamp(1.0625rem,1.6vw,1.375rem);font-weight:380;line-height:var(--leading-snug);letter-spacing:-.005em;color:var(--text-secondary);max-width:60ch}.cover-actions{flex-wrap:wrap;align-items:center;gap:.875rem 1.25rem;margin-top:.5rem;display:flex}.action-primary,.action-secondary{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-sm);transition:transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:.625rem;min-height:44px;padding:.85rem 1.25rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.action-primary{background:var(--accent-primary);color:var(--text-on-accent);border:1px solid var(--accent-primary)}.action-primary:hover{background:var(--signal-300);border-color:var(--signal-300);color:var(--text-on-accent);text-decoration:none}.action-glyph{font-family:var(--font-mono);font-size:.95rem;font-weight:700}.action-secondary{color:var(--text-secondary);border:1px solid var(--border-card);background:0 0}.action-secondary:hover{color:var(--text-heading);border-color:var(--accent-primary);text-decoration:none}.cover-rule{margin:clamp(2rem,4vw,3rem) 0}.cover-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.75rem;margin:.25rem 0 0;display:flex}.cover-meta-item{align-items:baseline;gap:.5rem;display:flex;position:relative}.cover-meta-item:not(:first-child){padding-left:1.75rem}.cover-meta-item:not(:first-child):before{content:"·";color:var(--text-muted);opacity:.5;position:absolute;left:.75rem}.cover-meta-item dt{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.cover-meta-item dd{color:var(--text-primary);align-items:baseline;gap:.4rem;margin:0;font-size:.8125rem;font-weight:600;display:inline-flex}.cover-meta-blocks{color:var(--accent-primary);letter-spacing:1px;font-size:.75rem}.terminal-dashboard{background:var(--border-subtle);border:1px solid var(--border-card);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin:0;display:grid}.dashboard-tile{background:var(--surface-paper);color:var(--text-primary);transition:background var(--transition-fast), color var(--transition-fast);flex-direction:column;gap:.625rem;min-height:130px;padding:1.125rem 1.25rem;text-decoration:none;display:flex}.dashboard-tile:hover{background:var(--bg-card-hover);color:var(--text-heading);text-decoration:none}.dashboard-tile--highlight{background:var(--surface-ink)}.dashboard-tile-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dashboard-tile-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:600}.dashboard-tile-symbol{font-family:var(--font-mono);color:var(--accent-primary);font-size:.875rem;line-height:1}.dashboard-tile-value{font-variant-numeric:tabular-nums;align-items:baseline;gap:.4rem;margin-top:auto;display:flex}.dashboard-tile-figure{font-family:var(--font-display);font-variation-settings:"opsz" 96, "SOFT" 0, "wght" 380;letter-spacing:-.025em;color:var(--text-heading);font-size:clamp(1.875rem,3.4vw,2.625rem);font-weight:380;line-height:.95}.dashboard-tile-link{color:inherit;text-decoration:none}.dashboard-tile-link:hover{color:var(--accent-primary);text-decoration:none}.dashboard-tile-empty{color:var(--text-muted)}.dashboard-tile-unit{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem;font-weight:500}.dashboard-tile-footer{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);border-top:1px solid var(--border-subtle);min-height:2.4em;padding-top:.625rem;font-size:.6875rem}.curriculum-section{margin-top:clamp(2rem,4vw,3rem)}.section-masthead{gap:.625rem;max-width:70ch;margin-bottom:clamp(1.5rem,3vw,2.5rem);display:grid}.section-eyebrow{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:500}.section-headline{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 360;font-size:clamp(2.25rem,5vw,4rem);font-weight:360;line-height:var(--leading-tight);letter-spacing:-.03em;color:var(--text-heading)}.section-lede{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 50;font-size:1.0625rem;font-weight:380;line-height:var(--leading-snug);color:var(--text-secondary);max-width:60ch}.map-list-toggle{gap:1.25rem;display:grid}.map-list-toggle-bar{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--surface-paper);align-self:flex-start;gap:0;padding:0;display:inline-flex}.map-list-toggle-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1.125rem;font-size:.75rem;font-weight:600;display:inline-flex}.map-list-toggle-btn:hover{color:var(--text-heading)}.map-list-toggle-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.map-list-toggle-btn.active{color:var(--text-on-accent);background:var(--accent-primary)}.map-list-toggle-glyph{color:inherit;font-size:.875rem;line-height:1}.map-list-toggle-panel{min-height:200px}.phases-grid-editorial{background:var(--border-subtle);border:1px solid var(--border-card);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1px;display:grid}.phase-card-editorial{background:var(--surface-paper);color:inherit;transition:background var(--transition-fast);grid-template-columns:auto 1fr auto;align-items:start;gap:1.25rem;padding:1.5rem 1.5rem 1.75rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.phase-card-editorial:hover{background:var(--bg-card-hover);color:inherit;text-decoration:none}.phase-card-numeral{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 220;letter-spacing:-.06em;color:var(--text-heading);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(4rem,7vw,6.5rem);font-weight:220;line-height:.85}.phase-card-editorial:hover .phase-card-numeral{color:var(--accent-primary)}.phase-card-body{gap:.75rem;min-width:0;display:grid}.phase-card-kicker{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.4rem;margin:0;font-size:.625rem;font-weight:600;display:inline-flex}.kicker-dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px;display:inline-block}.phase-card-title{font-family:var(--font-display);font-variation-settings:"opsz" 36, "SOFT" 30, "wght" 460;font-size:1.375rem;font-weight:460;line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--text-heading);margin:0}.phase-card-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,1fr);gap:.625rem;margin:.5rem 0 0;display:grid}.phase-card-meta div{min-width:0}.phase-card-meta dt{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:600}.phase-card-meta dd{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:600}.phase-card-bar{background:var(--border-subtle);height:2px;margin-top:.5rem;overflow:hidden}.phase-card-bar-fill{background:var(--accent-primary);height:100%;transition:width var(--transition-base)}.phase-card-arrow{font-family:var(--font-mono);color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);align-self:center;font-size:1.125rem}.phase-card-editorial:hover .phase-card-arrow{color:var(--accent-primary);transform:translate(4px)}.map-view-frame{border:1px solid var(--border-card);background:var(--surface-paper);background-image:var(--gradient-concept-bg);padding:1rem}.map-view-caption{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);max-width:60ch;margin-top:1rem;font-size:.75rem}@media (max-width:720px){.cover-title{font-size:clamp(2.25rem,11vw,3.75rem)}.terminal-dashboard{grid-template-columns:repeat(2,1fr)}.phase-card-editorial{grid-template-columns:1fr;gap:.5rem}.phase-card-numeral{font-size:4rem}.phase-card-arrow{display:none}.phases-grid-editorial{grid-template-columns:1fr}}.lesson-header{border-bottom:1px solid var(--border-card);margin-bottom:1.75rem;padding-bottom:1.25rem}.lesson-masthead{gap:.875rem;max-width:32em;margin:1rem 0 1.25rem;display:grid}.lesson-kicker{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;margin:0;font-size:.6875rem;font-weight:600;display:inline-flex}.lesson-kicker-link{color:var(--text-muted);transition:color var(--transition-fast);text-decoration:none}.lesson-kicker-link:hover{color:var(--accent-primary);text-decoration:none}.lesson-kicker-divider{opacity:.5;margin:0 .4rem}.lesson-kicker-title{color:var(--text-secondary)}.lesson-headline{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 380;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:380;line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--text-heading);margin:0}.lesson-deck{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 50, "wght" 380;font-size:clamp(1.0625rem,1.4vw,1.25rem);font-weight:380;line-height:var(--leading-snug);color:var(--text-secondary);margin:0;font-style:italic}.lesson-byline{border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:1.25rem 1.75rem;margin:.75rem 0 0;padding:.875rem 0 0;display:flex}.byline-item dt{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin-bottom:.15rem;font-size:.6875rem;font-weight:600}.byline-item dd{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:600}.byline-difficulty{border-radius:var(--radius-sm);padding:.1rem .5rem;display:inline-block;font-size:.75rem!important}.lesson-header-controls{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:1.25rem;display:flex}.lesson-controls-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.lesson-complete-btn{border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1rem;font-size:.75rem;font-weight:600;display:inline-flex}.lesson-complete-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.lesson-complete-btn.completed{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.lesson-complete-glyph{font-family:var(--font-mono);font-size:1rem;font-weight:700;line-height:1}.lesson-tags-row{flex-wrap:wrap;gap:.4rem;display:flex}.lesson-code-actions{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-code-action-btn{border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.6875rem;font-weight:600;display:inline-flex}.lesson-code-action-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.lesson-tag{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:lowercase;color:var(--text-secondary);background:0 0;padding:.2rem .55rem;font-size:.6875rem}.lesson-breadcrumb{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);text-transform:lowercase;align-items:center;gap:.5rem;margin:0 0 .5rem;padding:0;font-size:.6875rem;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:.5rem;display:inline-flex}.lesson-breadcrumb a{color:var(--text-muted);text-decoration:none}.lesson-breadcrumb a:hover{color:var(--accent-primary);text-decoration:underline}.lesson-breadcrumb .sep{color:var(--border-card)}.lesson-note-panel{border-radius:var(--radius-lg);margin-top:3rem;padding:1.25rem 1.5rem}.lesson-note-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lesson-note-panel-title{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.5rem;margin:0;font-size:.75rem;font-weight:600;display:flex}.lesson-note-panel-hint{color:var(--text-muted);margin:.75rem 0 0;font-size:.85rem}.lesson-note-panel .note-content,.lesson-note-panel .note-editor{margin-top:.75rem}.lesson-nav{border-top:1px solid var(--border-card);background:var(--border-subtle);border-bottom:1px solid var(--border-card);grid-template-columns:1fr 1fr;gap:1px;margin-top:3rem;padding-top:0;display:grid}.lesson-nav-btn{background:var(--surface-paper);transition:background var(--transition-fast);flex-direction:column;gap:.4rem;min-height:88px;padding:1.25rem 1.5rem;text-decoration:none;display:flex}.lesson-nav-btn:hover{background:var(--bg-card-hover);text-decoration:none}.lesson-nav-btn.next{text-align:right;grid-column:2}.lesson-nav-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-primary);font-size:.6875rem;font-weight:600}.lesson-nav-title{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 30;letter-spacing:-.01em;color:var(--text-heading);font-size:1rem;font-weight:460;line-height:var(--leading-tight)}.lesson-main-content>article{max-width:var(--reading-max-width)}.reading-mode{--shadow-card:none}.reading-mode .lesson-header{border-bottom-color:var(--border-subtle)}.reading-mode-exit{top:calc(var(--navbar-height) + .5rem);z-index:20;border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--surface-ink);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;margin:0 0 .75rem auto;padding:.5rem 1rem;font-size:.6875rem;font-weight:600;display:inline-flex;position:sticky}.reading-mode-exit:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.mastery-mini-progress{top:calc(var(--navbar-height) + .5rem);z-index:19;border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--surface-ink);align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.5rem .85rem;display:flex;position:sticky}.mastery-mini-progress-track{border-radius:var(--radius-sm);background:var(--border-subtle);flex:auto;min-width:3rem;height:4px;position:relative;overflow:hidden}.mastery-mini-progress-fill{background:var(--amber-500);height:100%;transition:width var(--transition-fast);display:block}.mastery-mini-progress-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;flex:none;font-size:.6875rem;font-weight:600}.lesson-search-bar{top:calc(var(--navbar-height) + .5rem);z-index:21;border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--surface-ink);box-shadow:var(--shadow-card);align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.5rem .75rem;display:flex;position:sticky}.lesson-search-icon{opacity:.7;flex:none;font-size:.875rem}.lesson-search-input{min-width:0;color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:auto;font-size:.875rem}.lesson-search-count{text-align:right;min-width:2.5rem;font-family:var(--font-mono);color:var(--text-secondary);flex:none;font-size:.75rem}.lesson-search-nav-btn,.lesson-search-close-btn{border:1px solid var(--border-card);border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.lesson-search-nav-btn:hover:not(:disabled),.lesson-search-close-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.lesson-search-nav-btn:disabled{opacity:.4;cursor:default}mark.lesson-search-match{background:color-mix(in srgb, var(--amber-500) 35%, transparent);color:inherit;border-radius:2px}mark.lesson-search-match-active{background:var(--amber-500);color:var(--text-on-accent)}.reading-muted{opacity:.4;filter:saturate(.55);transition:opacity var(--transition-fast)}@media (max-width:720px){.lesson-nav{grid-template-columns:1fr}.lesson-nav-btn.next{text-align:left;grid-column:1}}.lesson-position-breadcrumb{top:var(--navbar-height);left:var(--sidebar-width);z-index:150;font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-secondary);background:var(--bg-surface);border-bottom:var(--rule-hairline);font-variant-numeric:tabular-nums;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity var(--motion-duration-active-fast) ease;padding:.4rem 1.25rem;font-size:.6875rem;font-weight:500;position:fixed;right:0}.lesson-position-breadcrumb.is-visible{opacity:1}@media (max-width:1024px){.lesson-position-breadcrumb{left:0}}.phase-spread{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.5rem,3vw,2.25rem) 0 clamp(2rem,4vw,3rem);display:grid}.phase-spread-numeral{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 200;letter-spacing:-.06em;color:var(--text-heading);font-variant-numeric:lining-nums tabular-nums;align-self:start;font-size:clamp(8rem,18vw,18rem);font-weight:200;line-height:.82}.phase-spread-body{gap:1rem;min-width:0;padding-top:.5rem;display:grid}.phase-spread-kicker{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;margin:0;font-size:.6875rem;font-weight:600;display:inline-flex}.phase-spread-title{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 380;font-size:clamp(2rem,5vw,4rem);font-weight:380;line-height:var(--leading-tight);letter-spacing:-.03em;color:var(--text-heading);margin:0}.phase-spread-meta{border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1.25rem 1.75rem;margin:.75rem 0 0;padding:1rem 0 0;display:grid}.phase-spread-meta div{min-width:0}.phase-spread-meta dt{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem;font-size:.5625rem;font-weight:600}.phase-spread-meta dd{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.phase-spread-difficulty{border-radius:var(--radius-sm);padding:.15rem .55rem;display:inline-block;font-size:.75rem!important}.phase-spread-bar{background:var(--border-subtle);height:2px;margin-top:.5rem;overflow:hidden}.phase-spread-bar-fill{background:var(--accent-primary);height:100%;transition:width var(--transition-base)}.section-masthead--inline{margin:2rem 0 1.25rem}.phase-lessons-section{margin-top:clamp(2rem,4vw,3rem)}.phase-lessons-list{border:1px solid var(--border-card);background:var(--surface-paper);margin:0;padding:0;list-style:none}.lesson-row{border-top:1px solid var(--border-subtle);color:inherit;font-family:var(--font-mono);transition:background var(--transition-fast), color var(--transition-fast);grid-template-columns:3rem 5.5rem minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.875rem 1.25rem;text-decoration:none;display:grid}.phase-lessons-list>div:first-child .lesson-row{border-top:none}.lesson-row:hover{background:var(--bg-card-hover);color:inherit;text-decoration:none}.lesson-row-marker{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-mono);text-align:center;font-size:.75rem;font-weight:700}.lesson-row--done .lesson-row-marker{color:var(--accent-primary)}.lesson-row-day{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:500}.lesson-row-title{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 30;letter-spacing:-.005em;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:1.0625rem;font-weight:460;overflow:hidden}.lesson-row:hover .lesson-row-title{color:var(--accent-primary)}.lesson-row-duration{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.lesson-row-arrow{font-family:var(--font-mono);color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);font-size:1rem}.lesson-row:hover .lesson-row-arrow{color:var(--accent-primary);transform:translate(3px)}.phase-solutions-section{border-top:1px solid var(--border-card);align-items:start;gap:1rem;margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.5rem,3vw,2rem);display:grid}.phase-solutions-section .action-secondary{justify-self:flex-start}.phase-overview-article{border-top:1px solid var(--border-card);margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.5rem,3vw,2rem)}@media (max-width:720px){.phase-spread{grid-template-columns:1fr}.phase-spread-numeral{font-size:6rem}.lesson-row{grid-template-columns:2.25rem 1fr auto;gap:.75rem}.lesson-row-day,.lesson-row-duration{display:none}}.curriculum-cover{margin:clamp(1rem,2vw,2rem) 0 clamp(1.5rem,3vw,2.5rem)}.curriculum-stats-row{background:var(--border-subtle);border:1px solid var(--border-card);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:0 0 clamp(2rem,4vw,3rem);display:grid}.curriculum-stat{background:var(--surface-paper);gap:.5rem;padding:1.25rem 1.25rem 1.125rem;display:grid}.curriculum-stat-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.625rem;font-weight:600}.curriculum-stat-value{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 240;letter-spacing:-.04em;color:var(--text-heading);font-variant-numeric:lining-nums tabular-nums;margin:.25rem 0;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:240;line-height:.9}.curriculum-stat-bar{background:var(--border-subtle);height:2px;overflow:hidden}.curriculum-stat-bar-fill{background:var(--accent-primary);height:100%;transition:width var(--transition-base)}.curriculum-stat-note{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-muted);margin:0;font-size:.6875rem}.curriculum-timeline{background:var(--border-subtle);border:1px solid var(--border-card);gap:1px;display:grid}.curriculum-phase{background:var(--surface-paper);gap:1.25rem;padding:1.5rem 1.5rem 1.25rem;display:grid}.curriculum-phase--complete{background:var(--surface-ink)}.curriculum-phase-header{color:inherit;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.25rem;text-decoration:none;display:grid}.curriculum-phase-header:hover{color:inherit;text-decoration:none}.curriculum-phase-num{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 220;letter-spacing:-.05em;color:var(--text-heading);font-variant-numeric:lining-nums tabular-nums;align-self:start;font-size:clamp(3.5rem,6vw,5.5rem);font-weight:220;line-height:.85}.curriculum-phase-header:hover .curriculum-phase-num{color:var(--accent-primary)}.curriculum-phase-headline{gap:.625rem;min-width:0;display:grid}.curriculum-phase-title{font-family:var(--font-display);font-variation-settings:"opsz" 60, "SOFT" 30, "wght" 460;letter-spacing:-.015em;color:var(--text-heading);font-size:clamp(1.375rem,2vw,1.75rem);font-weight:460;line-height:var(--leading-tight);margin:0}.curriculum-phase-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.875rem 1.5rem;margin:.25rem 0 0;display:flex}.curriculum-phase-meta div{min-width:0}.curriculum-phase-meta dt{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin-bottom:.15rem;font-size:.5625rem;font-weight:600}.curriculum-phase-meta dd{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:600}.curriculum-phase-status{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-sm);align-items:center;gap:.25rem;margin-left:.5rem;padding:.15rem .5rem;font-size:.625rem;font-weight:700;display:inline-flex}.curriculum-phase-status--done{color:var(--text-on-accent);background:var(--accent-primary)}.curriculum-phase-status--active{color:var(--accent-tertiary);border:1px solid var(--accent-tertiary)}.curriculum-phase-bar{background:var(--border-subtle);height:2px;margin-top:.25rem;overflow:hidden}.curriculum-phase-bar-fill{background:var(--accent-primary);height:100%;transition:width var(--transition-base)}.curriculum-days{background:var(--border-subtle);border:1px solid var(--border-subtle);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.curriculum-day-link{background:var(--surface-paper);color:inherit;font-family:var(--font-mono);transition:background var(--transition-fast);grid-template-columns:2.25rem 4rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.6rem .875rem;font-size:.75rem;text-decoration:none;display:grid}.curriculum-day-link:hover{background:var(--bg-card-hover);color:inherit;text-decoration:none}.curriculum-day-marker{font-family:var(--font-mono);color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;font-size:.625rem;font-weight:700}.curriculum-day-link--done .curriculum-day-marker{color:var(--accent-primary)}.curriculum-day-num{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.625rem;font-weight:500}.curriculum-day-title{font-family:var(--font-display);font-variation-settings:"opsz" 18, "SOFT" 30;letter-spacing:-.005em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:460;overflow:hidden}.curriculum-day-link:hover .curriculum-day-title{color:var(--accent-primary)}@media (max-width:720px){.curriculum-phase-header{grid-template-columns:1fr}.curriculum-phase-num{font-size:3.25rem}.curriculum-day-link{grid-template-columns:2rem 1fr}.curriculum-day-num{display:none}}.progress-mobile-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}@media (min-width:640px){.progress-mobile-stats-grid{grid-template-columns:repeat(4,1fr)}}.progress-mobile-stat-card{border-radius:var(--radius-lg);transition:transform var(--transition-base);flex-direction:column;gap:.375rem;padding:1rem;display:flex;position:relative;overflow:hidden}.progress-mobile-stat-card:hover{transform:translateY(-2px)}.progress-mobile-stat-icon{width:1.25rem;height:1.25rem;color:var(--accent-primary)}.progress-mobile-stat-value{color:var(--text-heading);margin:0;font-size:1.5rem;font-weight:800;line-height:1.1}.progress-mobile-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.6875rem;font-weight:500}.progress-streak-blocks{font-family:var(--font-mono);letter-spacing:2px;color:var(--accent-primary);margin:.15rem 0;font-size:.8125rem;line-height:1;display:block}.progress-bar-wrapper{align-items:center;gap:.75rem;width:100%;display:flex}.progress-bar-track{background:#94a3b81a;border-radius:100px;flex:1;height:8px;overflow:hidden}.progress-bar-fill{background-color:var(--accent-primary);background-image:var(--gradient-hero);height:100%;transition:width var(--transition-slow);border-radius:100px;min-width:0}.progress-bar-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:500}.progress-stats-card{background:var(--gradient-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-bottom:1.5rem;padding:2rem;display:flex}.progress-stat-big{text-align:center}.progress-stat-value{color:var(--text-heading);font-size:2.25rem;font-weight:800;line-height:1.2;display:block}.progress-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.progress-heatmap{flex-direction:column;gap:.5rem;display:flex}.heatmap-phase{align-items:center;gap:.75rem;display:flex}.heatmap-phase-label{min-width:3.5rem;color:var(--text-muted);white-space:nowrap;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}.heatmap-cells{flex-wrap:wrap;gap:3px;display:flex}.heatmap-cell{width:20px;height:20px;transition:all var(--transition-fast);cursor:pointer;background:#94a3b814;border:1px solid #94a3b81a;border-radius:3px;display:block}.heatmap-cell:hover{border-color:var(--border-active);transform:scale(1.2)}.heatmap-cell.done{background:#4361ee99;border-color:#4361eecc}.heatmap-cell.done:hover{background:#4361eecc}.progress-phases-list{flex-direction:column;gap:.75rem;display:flex}.progress-phase-row{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);color:inherit;transition:all var(--transition-fast);align-items:center;gap:1.25rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.progress-phase-row:hover{border-color:var(--border-active);background:var(--bg-card-hover)}.progress-phase-info{align-items:center;gap:.75rem;min-width:260px;display:flex}.progress-phase-icon{flex-shrink:0;font-size:1.25rem}.progress-phase-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.hero-continue{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;display:flex}.hero-continue a{background:var(--bg-card);border:1px solid var(--border-active);color:var(--accent-tertiary);transition:all var(--transition-base);border-radius:100px;align-items:center;gap:.5rem;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.hero-continue a:hover{color:var(--accent-primary);background:#4361ee1a}.progress-clear-btn{color:#ef4444;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #ef44444d;border-radius:100px;padding:.5rem 1.5rem;font-size:.8125rem;font-weight:600}.progress-clear-btn:hover{background:#ef44441a;border-color:#ef444480}.day-link-check{color:#22c55e;flex-shrink:0;margin-left:auto;font-size:.75rem}.phase-toggle-progress{color:var(--text-muted);white-space:nowrap;margin-left:auto;margin-right:.25rem;font-size:.625rem}.phase-card-progress{margin-top:.75rem}@media (max-width:640px){.progress-stats-card{gap:1.5rem;padding:1.25rem}.progress-stat-value{font-size:1.75rem}.progress-phase-row{flex-direction:column;align-items:flex-start}.progress-phase-info{min-width:auto}.heatmap-cell{width:16px;height:16px}}.preferences-card{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);margin-top:2.5rem;padding:1.25rem}.preferences-grid{gap:calc(1rem * var(--density-scale));grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.preferences-field--palette{grid-column:1/-1}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin-top:.25rem;display:grid}.palette-swatch-btn{background:var(--bg-surface);border:2px solid var(--border-card);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);text-align:left;flex-direction:column;gap:.35rem;padding:.5rem .6rem;display:flex}.palette-swatch-btn:hover{border-color:var(--accent-primary)}.palette-swatch-btn--active{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.palette-swatch-strip{border-radius:var(--radius-sm);width:100%;height:18px;display:flex;overflow:hidden}.palette-swatch-color{flex:1}.palette-swatch-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;overflow:hidden}.preferences-field{color:var(--text-secondary);flex-direction:column;gap:.45rem;font-size:.875rem;display:flex}.preferences-field select{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font:inherit;padding:.45rem .6rem}.preferences-field select:focus,.preferences-field input:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.preferences-toggle-row{color:var(--text-primary);align-items:center;gap:.5rem;display:inline-flex}.preferences-toggle small{color:var(--text-muted)}.learning-analytics-card{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);margin-top:2rem;padding:1.25rem}.learning-analytics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.learning-analytics-chart{width:100%;margin-top:1rem}.learning-analytics-bar{fill:#4361eea6}.learning-analytics-label{fill:var(--text-muted);font-size:.625rem}.gamification-card{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);margin-top:2rem;padding:1.25rem}.mastery-review-card{border:1px solid color-mix(in srgb, var(--ruby-500) 20%, transparent);border-radius:var(--radius-lg);background:var(--bg-card);margin-top:2rem;padding:1.25rem}.recent-activity-card{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);margin-top:2rem;padding:1.25rem}.recent-activity-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.recent-activity-row{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--bg-elevated);font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem 1rem;padding:.625rem .875rem;font-size:.8125rem;display:flex}.recent-activity-link{min-width:0;color:var(--text-primary);align-items:baseline;gap:.5rem;text-decoration:none;display:flex}.recent-activity-link:hover{text-decoration:underline}.recent-activity-day{color:var(--accent-primary);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.recent-activity-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-activity-time{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.heatmap-tooltip{z-index:50;background:var(--bg-secondary);border:1px solid var(--border-card);border-radius:var(--radius-sm);width:220px;box-shadow:var(--shadow-elevated);font-family:var(--font-mono);pointer-events:none;padding:.5rem .65rem;font-size:.75rem;line-height:1.4;position:fixed}.heatmap-tooltip-above{transform:translateY(-100%)}.heatmap-tooltip-title{color:var(--text-heading);margin:0 0 .2rem;font-weight:700}.heatmap-tooltip-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.mastery-review-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mastery-review-row{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .875rem;display:flex}.mastery-review-link{color:var(--text-primary);font-weight:600;text-decoration:none}.mastery-review-link:hover{text-decoration:underline}.mastery-review-count{color:var(--ruby-500);flex-shrink:0;font-size:.75rem;font-weight:700}.gamification-summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.xp-milestone-track{background:#94a3b826;border-radius:100px;width:100%;height:10px;margin:1rem 0;overflow:hidden}.xp-milestone-fill{background:var(--gradient-hero);border-radius:inherit;height:100%;transition:width var(--transition-base)}.daily-challenge-card{border-radius:var(--radius-md);border:1px solid var(--border-card);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.875rem;display:flex}.badge-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1rem;display:grid}.badge-chip{border:1px solid var(--border-card);background:var(--bg-surface);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.875rem;display:flex}.notes-list{flex-direction:column;gap:1rem;display:flex}.note-card{border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.note-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.note-card-meta{flex-direction:column;gap:.2rem;display:flex}.note-lesson-link{color:var(--accent-primary);font-size:.9rem;font-weight:600;text-decoration:none}.note-lesson-link:hover{text-decoration:underline}.note-timestamp{color:var(--text-muted);font-size:.75rem}.note-card-actions{flex-shrink:0;gap:.5rem;display:flex}.note-action-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.25rem .6rem;font-size:.75rem;font-weight:500}.note-action-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.note-action-btn--delete:hover{color:#ef4444;border-color:#ef4444}.note-content{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.6}.note-textarea{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font:inherit;resize:vertical;box-sizing:border-box;padding:.6rem .75rem;font-size:.9rem;line-height:1.6}.note-textarea:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.note-editor-actions{gap:.5rem;margin-top:.5rem;display:flex}.note-save-btn{background:var(--accent-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:.35rem .85rem;font-size:.8rem;font-weight:600}.note-save-btn:hover{opacity:.85}.note-cancel-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:.35rem .85rem;font-size:.8rem}.notes-empty{text-align:center;border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:.5rem;padding:3rem 2rem;display:flex}.notes-empty-glyph{color:var(--text-muted);font-size:2.5rem}.notes-empty-hint{color:var(--text-muted);margin:0;font-size:.875rem}.settings-page{flex-direction:column;gap:1.5rem;display:flex}.settings-section{border-radius:var(--radius-lg);padding:1.5rem}.settings-section-title{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);margin:0 0 1.25rem;font-size:.875rem;font-weight:700}.settings-section-body{flex-direction:column;gap:1rem;display:flex}.settings-palette-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem}.settings-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-row-label{color:var(--text-primary);flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.settings-row-hint{color:var(--text-muted);font-size:.78rem}.settings-row-control select{background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;padding:.45rem .6rem}.settings-row-control select:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.settings-toggle{cursor:pointer;color:var(--text-primary);align-items:center;gap:.6rem;font-size:.875rem;display:inline-flex}.settings-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.settings-toggle-track{background:var(--border-card);width:2.25rem;height:1.25rem;transition:background var(--transition-fast);border-radius:999px;flex-shrink:0;display:inline-block;position:relative}.settings-toggle-track:after{content:"";width:.85rem;height:.85rem;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:.2rem;left:.2rem}.settings-toggle input:checked+.settings-toggle-track{background:var(--accent-primary)}.settings-toggle input:checked+.settings-toggle-track:after{transform:translate(1rem)}.settings-toggle input:focus-visible+.settings-toggle-track{outline:2px solid var(--accent-primary);outline-offset:2px}.settings-toggle-label{color:var(--text-primary)}.markdown-body{font-family:var(--font-display);font-variation-settings:"opsz" 16, "SOFT" 50, "wght" 380;font-weight:380;line-height:var(--leading-relaxed);color:var(--text-primary);max-width:var(--reading-max-width);letter-spacing:-.005em;font-size:clamp(1.0625rem,1rem + .2vw,1.125rem)}.markdown-body>:first-child{margin-top:0}.markdown-body>p:first-of-type:first-letter{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 0, "wght" 320;float:left;color:var(--accent-primary);margin:.05em .12em 0 -.04em;font-size:4.5em;font-weight:320;line-height:.85}@media (max-width:720px){.markdown-body>p:first-of-type:first-letter{font-size:3em}}.markdown-body h1{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 360;color:var(--text-heading);font-size:clamp(2rem,1.6rem + 1.5vw,2.75rem);font-weight:360;line-height:var(--leading-tight);letter-spacing:-.025em;margin:1.5rem 0 1rem}.markdown-body h2{font-family:var(--font-display);font-variation-settings:"opsz" 60, "SOFT" 30, "wght" 420;color:var(--text-heading);border-top:1px solid var(--border-card);letter-spacing:-.015em;font-size:clamp(1.4rem,1.2rem + .7vw,1.875rem);font-weight:420;line-height:var(--leading-tight);border-bottom:none;margin:3rem 0 1rem;padding-top:1rem;padding-bottom:0}.markdown-body h3{font-family:var(--font-display);font-variation-settings:"opsz" 36, "SOFT" 30, "wght" 460;color:var(--text-heading);letter-spacing:-.01em;font-size:clamp(1.18rem,1.08rem + .45vw,1.4rem);font-weight:460;line-height:var(--leading-tight);margin:2.25rem 0 .75rem}.markdown-body h4{font-family:var(--font-display);font-variation-settings:"opsz" 24, "SOFT" 30, "wght" 520;color:var(--text-heading);margin:1.75rem 0 .5rem;font-size:1.0625rem;font-weight:520}.markdown-body p{color:var(--text-primary);margin-bottom:1.15rem}.markdown-body ul,.markdown-body ol{margin-bottom:1.2rem;padding-left:1.5rem}.markdown-body li{margin-bottom:.45rem}.markdown-body li>ul,.markdown-body li>ol{margin-top:.375rem;margin-bottom:0}.markdown-body strong{font-variation-settings:"opsz" 16, "SOFT" 30, "wght" 700;color:var(--text-heading);font-weight:700}.markdown-body em{font-variation-settings:"opsz" 16, "SOFT" 100, "wght" 380;color:var(--text-primary);font-style:italic}.markdown-body blockquote{border:none;border-left:2px solid var(--accent-primary);color:var(--text-heading);font-family:var(--font-display);font-variation-settings:"opsz" 36, "SOFT" 100, "wght" 400;font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);font-style:italic;line-height:var(--leading-snug);letter-spacing:-.015em;background:0 0;border-radius:0;margin:2rem 0 2rem -.5rem;padding:.5rem 0 .5rem 1.5rem}.markdown-body blockquote p{color:inherit;margin-bottom:.5rem}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body .callout{border:var(--rule-hairline);border-left:3px solid var(--callout-accent,var(--accent-primary));border-radius:var(--radius-sm);background:var(--bg-surface);margin:1.5rem 0;padding:.85rem 1rem .9rem 1.1rem;font-style:normal}.markdown-body .callout p{color:var(--text-primary);margin:.35rem 0 0}.markdown-body .callout p:first-child{margin-top:0}.markdown-body .callout:before{font-family:var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--callout-accent,var(--accent-primary));margin-bottom:.35rem;font-size:.75rem;font-weight:600;display:block}.markdown-body .callout-note{--callout-accent:var(--accent-primary)}.markdown-body .callout-note:before{content:"# NOTE:"}.markdown-body .callout-tip{--callout-accent:var(--teal-500)}.markdown-body .callout-tip:before{content:"# TIP:"}.markdown-body .callout-important{--callout-accent:var(--accent-primary)}.markdown-body .callout-important:before{content:"# IMPORTANT:"}.markdown-body .callout-warning{--callout-accent:var(--amber-500)}.markdown-body .callout-warning:before{content:"# WARNING:"}.markdown-body .callout-danger{--callout-accent:var(--ruby-500)}.markdown-body .callout-danger:before{content:"# DANGER:"}.markdown-body hr{border:none;border-top:1px solid var(--border-card);margin:2.5rem 0}.markdown-body code:not(pre code){font-family:var(--font-mono);background:var(--bg-code);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--accent-primary);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;padding:.1em .35em;font-size:.85em}.markdown-body pre{border-radius:var(--radius-md);border:1px solid var(--border-card);background:var(--bg-code);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin:1.25rem 0;padding:1rem;overflow-x:auto}.markdown-body pre code,.markdown-body pre code *{white-space:inherit;overflow-wrap:inherit;word-break:inherit}.markdown-body .code-block--wrapped{border-radius:var(--radius-sm);border:1px solid var(--border-card);background:var(--bg-code);max-width:100%;margin:1.75rem 0;position:relative;overflow:hidden}.code-block-header{border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;padding:.625rem 1rem .5rem;display:flex}.code-block-lang{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-shrink:0;font-size:.6875rem;font-weight:600;overflow:visible}.code-block-copy{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:all var(--transition-fast);background:0 0;padding:.25rem .55rem;font-size:.6875rem;font-weight:600}.code-block-copy:hover{background:var(--bg-card-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.markdown-body .code-block--wrapped pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;overflow-x:visible;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:1rem!important}.markdown-body .code-block--wrapped pre code{font-family:var(--font-mono)!important;white-space:inherit!important;overflow-wrap:anywhere!important;font-size:.875rem!important;line-height:1.75!important}.markdown-body .code-block--wrapped pre code *{white-space:inherit!important;overflow-wrap:inherit!important;word-break:inherit!important}.markdown-body .code-block--wrapped code[class*=language-]{white-space:pre-wrap!important;overflow-wrap:anywhere!important}.markdown-body .code-block--wrapped code[class*=language-] *{white-space:inherit!important;overflow-wrap:inherit!important;word-break:inherit!important}@media (max-width:640px){.markdown-body .code-block--wrapped pre{white-space:pre-wrap!important;overflow-wrap:anywhere!important}.markdown-body .code-block--wrapped pre code{white-space:pre-wrap!important;overflow-wrap:anywhere!important;font-size:.8125rem!important;line-height:1.6!important}}.mermaid-diagram-container{justify-content:center;padding:1rem;display:flex;overflow-x:auto}.mermaid-diagram-loading{color:var(--text-muted);text-align:center;padding:1rem;font-size:.875rem}.mermaid-diagram{width:100%}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram-error{color:var(--text-secondary);padding:1rem}.mermaid-diagram-error pre{background:var(--bg-code);border-radius:var(--radius-sm);white-space:pre-wrap;margin-top:.75rem;padding:.75rem;overflow-x:auto}.markdown-body .mermaid-source{white-space:pre-wrap;font-family:var(--font-mono);font-size:.875rem;line-height:1.75;overflow-x:auto;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:1rem!important}.markdown-body .table-wrapper{max-width:100%;margin:1.5rem 0;position:relative}.markdown-body .table-scroll{border-radius:var(--radius-sm);border:1px solid var(--border-card);background:var(--surface-paper);overflow-x:auto}.markdown-body .table-wrapper:before,.markdown-body .table-wrapper:after{content:"";pointer-events:none;opacity:0;width:2rem;transition:opacity var(--transition-fast);z-index:1;position:absolute;top:0;bottom:0}.markdown-body .table-wrapper:before{background:linear-gradient(to right, var(--surface-paper), transparent);left:0}.markdown-body .table-wrapper:after{background:linear-gradient(to left, var(--surface-paper), transparent);right:0}.markdown-body .table-wrapper[data-overflow-left=true]:before,.markdown-body .table-wrapper[data-overflow-right=true]:after{opacity:1}.markdown-body table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-mono);font-size:.8125rem}.markdown-body thead th,.markdown-body tbody td{line-height:1.5}.markdown-body thead th{background:var(--surface-ink);text-align:left;font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-card);white-space:nowrap;padding:.65rem 1rem;font-size:.6875rem;font-weight:600}.markdown-body tbody td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:.55rem 1rem}.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr:hover{background:var(--bg-card-hover)}.markdown-body details{border:1px solid var(--border-card);border-radius:var(--radius-md);margin:1rem 0;padding:0;overflow:hidden}.markdown-body details summary{cursor:pointer;color:var(--accent-tertiary);transition:background var(--transition-fast);background:#4361ee0f;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;list-style:none;display:flex}.markdown-body details summary::-webkit-details-marker{display:none}.markdown-body details summary:before{content:"▶";transition:transform var(--transition-fast);font-size:.625rem}.markdown-body details[open] summary:before{transform:rotate(90deg)}.markdown-body details summary:hover{background:#4361ee1a}.markdown-body details>:not(summary){padding:0 1.25rem}.markdown-body details>p:last-child{padding-bottom:1rem}.markdown-body input[type=checkbox]{appearance:none;border:2px solid var(--border-card);vertical-align:middle;border-radius:3px;width:1rem;height:1rem;margin-right:.375rem;position:relative}.markdown-body input[type=checkbox]:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.markdown-body input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.75rem;position:absolute;top:-2px;left:1px}.markdown-body :is(h1,h2,h3,h4){scroll-margin-top:calc(var(--navbar-height) + 1.25rem)}@media (max-width:900px){.markdown-body{max-width:100%;font-size:clamp(.98rem,.94rem + .28vw,1.03rem)}}.lesson-reading-surface .markdown-body{font-size:clamp(1.02rem,.99rem + .2vw,1.1rem);line-height:1.92}.lesson-reading-surface .markdown-body p{color:color-mix(in srgb, var(--text-primary) 96%, white 4%);margin-bottom:1.2rem}.lesson-reading-surface .markdown-body h2{border-bottom-color:color-mix(in srgb, var(--border-subtle) 84%, transparent);margin-top:2.65rem}.lesson-reading-surface .markdown-body blockquote{border-left-color:color-mix(in srgb, var(--accent-primary) 72%, var(--border-subtle) 28%);background:color-mix(in srgb, var(--accent-primary) 6%, transparent);color:color-mix(in srgb, var(--text-secondary) 94%, white 6%)}.lesson-reading-surface .markdown-body code:not(pre code){border-color:color-mix(in srgb, var(--border-card) 88%, transparent);color:color-mix(in srgb, var(--accent-tertiary) 88%, var(--text-primary) 12%)}.lesson-reading-surface .markdown-body .code-block--wrapped,.lesson-reading-surface .markdown-body .table-scroll,.lesson-reading-surface .markdown-body details{border-color:color-mix(in srgb, var(--border-card) 84%, transparent);box-shadow:none}.lesson-reading-surface .markdown-body thead th{background:color-mix(in srgb, var(--accent-primary) 5%, transparent);border-bottom-color:color-mix(in srgb, var(--border-card) 88%, transparent)}.lesson-reading-surface .markdown-body tbody tr:hover{background:0 0}.lesson-reading-surface .markdown-body details summary{background:color-mix(in srgb, var(--accent-primary) 4%, transparent)}.lesson-reading-surface .markdown-body details summary:hover{background:color-mix(in srgb, var(--accent-primary) 6%, transparent)}.heading-anchor-link{opacity:0;color:var(--text-muted);font-size:.65em;font-weight:400;font-family:var(--font-mono);transition:opacity var(--transition-fast), color var(--transition-fast);vertical-align:middle;-webkit-user-select:none;user-select:none;margin-left:.4em;text-decoration:none;display:inline-block}.heading-anchor-link:before{content:"#"}.heading-with-anchor:hover .heading-anchor-link,.heading-with-anchor:focus-within .heading-anchor-link{opacity:1}.heading-anchor-link:hover{color:var(--accent-primary)}.code-block-content{position:relative}.code-block-content--collapsed{max-height:20rem;overflow:hidden}.code-block-content--collapsed:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-code));pointer-events:none;height:4rem;position:absolute;bottom:0;left:0;right:0}.code-block-expand-btn{border:none;border-top:1px solid var(--border-subtle);width:100%;color:var(--accent-primary);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast);text-align:center;background:0 0;padding:.45rem 1rem;font-size:.6875rem;font-weight:600;display:block}.code-block-expand-btn:hover{background:var(--bg-card-hover)}.code-block-content code>span[style*="display: flex"],.code-block-content code>span[style*=display\:flex]{display:block!important}.code-block--wrapped[data-wrap=false]{overflow-x:auto}.code-block--wrapped[data-wrap=false] pre,.code-block--wrapped[data-wrap=false] pre code,.code-block--wrapped[data-wrap=false] pre code *{white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important}.code-block-diff-badge{border-radius:var(--radius-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent-tertiary);background:color-mix(in srgb, var(--accent-tertiary) 12%, transparent);margin-left:.4rem;padding:.05rem .35rem;font-size:.625rem;font-weight:700}.code-block-line--highlighted{background:color-mix(in srgb, var(--accent-primary) 10%, transparent);border-left:2px solid var(--accent-primary);margin:0 -1rem;padding:0 1rem;display:block}.code-block-line--diff-add{background:#22c55e24;border-left:2px solid #22c55e;margin:0 -1rem;padding:0 1rem;display:block}.code-block-line--diff-remove{background:#ef444424;border-left:2px solid #ef4444;margin:0 -1rem;padding:0 1rem;display:block}.markdown-image-figure{margin:1.5rem 0}.markdown-image-caption{font-family:var(--font-mono);font-size:.8125rem;line-height:var(--leading-snug);color:var(--text-muted);text-align:center;letter-spacing:var(--tracking-mono);margin-top:.5rem}.zoomable-image-btn{cursor:zoom-in;font:inherit;background:0 0;border:0;padding:0;display:inline-block}.zoomable-image-btn:disabled{cursor:default}.zoomable-image{cursor:zoom-in;transition:opacity var(--transition-fast);display:block}.zoomable-image:hover{opacity:.88}.image-zoom-overlay{z-index:9999;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;padding:2rem;animation:.15s zoom-overlay-in;display:flex;position:fixed;inset:0}@keyframes zoom-overlay-in{0%{opacity:0}to{opacity:1}}.image-zoom-content{object-fit:contain;border-radius:var(--radius-sm);cursor:default;max-width:90vw;max-height:90vh;animation:.15s zoom-content-in;box-shadow:0 25px 60px #0009}@keyframes zoom-content-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.image-zoom-close{border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:background var(--transition-fast);font-size:.875rem;font-family:var(--font-mono);background:#ffffff1f;border:1px solid #fff3;padding:.4rem .65rem;position:absolute;top:1rem;right:1rem}.image-zoom-close:hover{background:#ffffff38}.python-runner,.sql-runner{flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-top:.5rem;display:flex}.python-runner__btn,.sql-runner__btn{font-size:.875rem;font-weight:600;font-family:var(--font-body);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:none;align-items:center;gap:.4rem;padding:.35rem .9rem;display:inline-flex}.python-runner__btn:hover:not(:disabled),.sql-runner__btn:hover:not(:disabled){box-shadow:0 2px 10px #22c55e4d}.python-runner__btn:active:not(:disabled),.sql-runner__btn:active:not(:disabled),.code-playground__btn:active,.exercise-widget__solution-btn:active,.code-block-copy:active{transform:scale(.97)}.python-runner__btn:disabled,.sql-runner__btn:disabled{opacity:.7;cursor:not-allowed}.python-runner__shortcut,.sql-runner__shortcut{font-family:var(--font-mono);opacity:.9;background:#0003;border-radius:3px;padding:.1rem .35rem;font-size:.65rem}.python-runner__icon,.sql-runner__icon{display:block}.python-runner__spinner,.sql-runner__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite py-spinner;display:inline-block}@keyframes py-spinner{to{transform:rotate(360deg)}}.python-runner__output,.sql-runner__output{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-code);width:100%;overflow:hidden}.python-runner__output-header,.sql-runner__output-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:#0000001f;padding:.25rem .6rem;font-size:.625rem;font-weight:700}.python-runner__stdout,.python-runner__error,.sql-runner__stdout,.sql-runner__error{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.5rem .6rem;font-size:.8125rem;line-height:1.5}.python-runner__stdout,.sql-runner__stdout{color:var(--teal-500)}.python-runner__stdout--empty,.sql-runner__stdout--empty{color:var(--text-muted);font-style:italic}.python-runner__error,.sql-runner__error{color:var(--ruby-500);background:color-mix(in srgb, var(--ruby-500) 6%, transparent)}.sql-runner__table-wrapper{border-bottom:1px solid var(--border-subtle);overflow-x:auto}.sql-runner__table-wrapper:last-child{border-bottom:none}.sql-runner__table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.8125rem}.sql-runner__table th,.sql-runner__table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-subtle);padding:.35rem .6rem}.sql-runner__table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:#0000001f;font-size:.6875rem;font-weight:700}.sql-runner__table tr:last-child td{border-bottom:none}.sql-runner__cell--null{color:var(--text-muted);font-style:italic}.sql-runner__truncated{color:var(--text-muted);margin:0;padding:.35rem .6rem;font-size:.75rem}.code-playground{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--bg-card);margin:.75rem 0;overflow:hidden}.code-playground__toolbar{border-bottom:1px solid var(--border-subtle);background:#00000026;justify-content:space-between;align-items:center;padding:.35rem .6rem;display:flex}.code-playground__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:700}.code-playground__actions{gap:.35rem;display:flex}.code-playground__btn{font-size:.8125rem;font-family:var(--font-body);color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);background:0 0;border-radius:4px;padding:.2rem .5rem;font-weight:600}.code-playground__btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.code-playground__btn--confirm{color:#fca5a5!important;background:#ef44441a!important;border-color:#ef444480!important}.code-playground__btn--confirm:hover{color:#fecaca!important;background:#ef444433!important;border-color:#ef4444b3!important}.code-playground__editor-area{min-height:60px;position:relative}.code-playground__highlight{pointer-events:none;background:var(--bg-code);position:absolute;inset:0;overflow:hidden}.code-playground__textarea{width:100%;min-height:60px;font-family:var(--font-mono);color:#0000;caret-color:var(--text-primary);resize:vertical;tab-size:4;z-index:1;background:0 0;border:none;outline:none;padding:.6rem .75rem;font-size:.875rem;line-height:1.6;display:block;position:relative}.code-playground__textarea:focus{box-shadow:inset 0 0 0 1px var(--accent-primary)}.code-playground__preview{background:var(--bg-code)}.code-playground .python-runner,.code-playground .sql-runner{padding:.4rem .6rem}.code-playground__expected{border-top:1px solid var(--border-subtle)}.code-playground__expected-header{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-tertiary);background:color-mix(in srgb, var(--accent-tertiary) 4%, transparent);border-bottom:1px solid var(--border-subtle);padding:.25rem .6rem;font-size:.625rem;font-weight:700}.code-playground__expected-body{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;margin:0;padding:.5rem .6rem;font-size:.75rem;line-height:1.5}.exercise-widget{border:1px solid color-mix(in srgb, var(--accent-primary) 15%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent-primary) 3%, transparent);margin:1rem 0;overflow:hidden}.exercise-widget__header{background:color-mix(in srgb, var(--accent-primary) 6%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent-primary) 8%, transparent);align-items:center;gap:.4rem;padding:.5rem .75rem;display:flex}.exercise-widget__icon{font-size:1rem}.exercise-widget__title{color:var(--text-heading);margin:0;font-size:.8125rem;font-weight:700}.exercise-widget__copy-starter-btn{border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;margin-left:auto;padding:.3rem .6rem;font-size:.6875rem;font-weight:600}.exercise-widget__copy-starter-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.exercise-widget__goal{color:var(--text-secondary);padding:.5rem .75rem 0;font-size:.8125rem;line-height:1.4}.exercise-widget__instructions{color:var(--text-muted);padding:.25rem .75rem .5rem;font-size:.75rem;line-height:1.5}.exercise-widget__instructions p{margin:.15rem 0}.exercise-widget .code-playground{border:none;border-top:1px solid var(--border-subtle);border-radius:0;margin:0}.exercise-widget__quiz-stats{color:var(--text-muted);border-top:1px solid var(--border-subtle);flex-direction:column;gap:.2rem;padding:.45rem .75rem;font-size:.7rem;display:flex}.exercise-widget__recent-attempts{align-items:center;gap:.2rem;display:flex}.exercise-widget__solution{border-top:1px solid var(--border-subtle);padding:.5rem .75rem}.exercise-widget__solution-btn{font-size:.75rem;font-family:var(--font-body);color:var(--accent-tertiary);background:color-mix(in srgb, var(--accent-tertiary) 6%, transparent);border:1px solid color-mix(in srgb, var(--accent-tertiary) 15%, transparent);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);border-radius:4px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-weight:600;display:inline-flex}.exercise-widget__solution-btn:hover{background:color-mix(in srgb, var(--accent-tertiary) 12%, transparent)}.exercise-widget__solution-panel{margin-top:.5rem;overflow:hidden}.mastery-check{border:1px solid color-mix(in srgb, var(--amber-500) 15%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--amber-500) 2%, transparent);transition:border-color var(--motion-duration-active-standard) var(--motion-easing-standard);margin:.75rem 0;overflow:hidden}.mastery-check--revealed{border-color:color-mix(in srgb, var(--teal-500) 20%, transparent)}.mastery-check__header{background:color-mix(in srgb, var(--amber-500) 4%, transparent);border-bottom:1px solid color-mix(in srgb, var(--amber-500) 8%, transparent);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.mastery-check__badge{width:24px;height:24px;color:var(--amber-500);background:color-mix(in srgb, var(--amber-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--amber-500) 20%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:.625rem;font-weight:800;display:inline-flex}.mastery-check__title{color:var(--text-heading);margin:0;font-size:.8125rem;font-weight:700}.mastery-check__question{color:var(--text-primary);padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.mastery-check__question p{margin:.15rem 0}.mastery-check__playground{padding:0 .75rem .25rem}.mastery-check__playground .code-playground{margin:0}.mastery-check__check-btn{font-size:.75rem;font-family:var(--font-body);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none;margin:.25rem .75rem .5rem;padding:.35rem .9rem;font-weight:700;display:inline-block}.mastery-check__check-btn:hover{box-shadow:0 2px 10px #f59e0b40}.mastery-check__check-btn--revealed{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)}.mastery-check__check-btn--revealed:hover{box-shadow:0 2px 10px #22c55e40}.mastery-check__answer{border-top:1px solid color-mix(in srgb, var(--teal-500) 10%, transparent);animation:fade-slide-in var(--motion-duration-active-fast) ease-out}.mastery-check__answer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--teal-500);background:color-mix(in srgb, var(--teal-500) 4%, transparent);border-bottom:1px solid color-mix(in srgb, var(--teal-500) 8%, transparent);padding:.25rem .75rem;font-size:.625rem;font-weight:700}.mastery-check__answer-body{color:var(--text-primary);padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.mastery-check__answer-body p{margin:.15rem 0}.mastery-check__status{white-space:nowrap;border-radius:var(--radius-sm);margin-left:auto;padding:.15rem .5rem;font-size:.625rem;font-weight:700}.mastery-check__status--got-it{color:var(--teal-500);background:color-mix(in srgb, var(--teal-500) 10%, transparent)}.mastery-check__status--review-again{color:var(--ruby-500);background:color-mix(in srgb, var(--ruby-500) 10%, transparent)}.mastery-check__self-assess{border-top:1px solid color-mix(in srgb, var(--teal-500) 8%, transparent);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem .75rem;display:flex}.mastery-check__self-assess-prompt{color:var(--text-muted);font-size:.75rem;font-weight:600}.mastery-check__assess-btn{font-size:.75rem;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);align-items:center;gap:.3rem;padding:.3rem .7rem;font-weight:700;display:inline-flex}.mastery-check__assess-btn--got-it.mastery-check__assess-btn--active{color:var(--teal-500);background:color-mix(in srgb, var(--teal-500) 12%, transparent);border-color:color-mix(in srgb, var(--teal-500) 30%, transparent)}.mastery-check__assess-btn--review-again.mastery-check__assess-btn--active{color:var(--ruby-500);background:color-mix(in srgb, var(--ruby-500) 12%, transparent);border-color:color-mix(in srgb, var(--ruby-500) 30%, transparent)}.mastery-progress-badge{color:var(--amber-500);background:color-mix(in srgb, var(--amber-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--amber-500) 20%, transparent);border-radius:var(--radius-sm);align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.code-block-try-btn{font-size:.625rem;font-weight:700;font-family:var(--font-body);color:var(--teal-500);background:color-mix(in srgb, var(--teal-500) 8%, transparent);border:1px solid color-mix(in srgb, var(--teal-500) 20%, transparent);cursor:pointer;transition:all var(--motion-duration-active-fast) var(--motion-easing-standard);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .5rem}.code-block-try-btn:hover{background:color-mix(in srgb, var(--teal-500) 15%, transparent);border-color:color-mix(in srgb, var(--teal-500) 35%, transparent)}.code-block-inline-playground{border-top:1px solid var(--border-subtle);animation:fade-slide-in var(--motion-duration-active-fast) ease-out}.code-block-inline-playground .code-playground{border:none;border-radius:0;margin:0}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.code-playground__toolbar{flex-direction:column;align-items:flex-start;gap:.3rem}}@media (prefers-reduced-motion:reduce){.mastery-check__answer,.code-block-inline-playground{animation:none!important}.python-runner__btn,.sql-runner__btn,.code-playground__btn,.exercise-widget__solution-btn,.mastery-check,.mastery-check__check-btn,.code-block-try-btn{transition:none!important}}.exercises-notebooks{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--gradient-card);margin-bottom:1.5rem;padding:1.25rem}.exercises-notebooks__title{color:var(--text-heading);margin:0 0 .75rem;font-size:1rem;font-weight:700}.exercises-notebooks__grid{flex-wrap:wrap;gap:.5rem;display:flex}.exercises-notebook-link{color:var(--accent-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#a78bfa14;border:1px solid #a78bfa2e;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.exercises-notebook-link:hover{background:#a78bfa29;border-color:#a78bfa59;transform:translateY(-1px)}.exercises-low-scoring{border:1px solid var(--border-card);border-radius:var(--radius-md);background:#f59e0b0f;margin-bottom:1rem;padding:.9rem 1rem}.exercises-low-scoring h3{margin:0 0 .35rem;font-size:.9rem}.exercises-low-scoring p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8rem}.exercises-low-scoring ul{color:var(--text-secondary);margin:0;padding-left:1rem;font-size:.8rem}.exercises-filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.exercises-filter-group{flex-direction:column;gap:.25rem;display:flex}.exercises-filter-group label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.6875rem;font-weight:700}.exercises-filter-group select,.exercises-filter-group input{font-size:.8125rem;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none;padding:.45rem .75rem}.exercises-filter-group select:focus,.exercises-filter-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.exercises-filter-search{flex:1;min-width:180px}.exercises-filter-search input{width:100%}.exercises-count{color:var(--text-muted);margin-bottom:1rem;font-size:.8125rem}.exercises-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.exercise-card{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--bg-card);transition:all var(--transition-base);flex-direction:column;padding:1rem 1.125rem;display:flex}.exercise-card:hover{border-color:var(--border-active);background:var(--bg-card-hover);box-shadow:var(--shadow-card);transform:translateY(-2px)}.exercise-card__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.exercise-card__phase{color:var(--text-muted);font-size:.75rem;font-weight:600}.exercise-card__title{color:var(--text-heading);margin:0 0 .35rem;font-size:.9375rem;font-weight:700;line-height:1.3}.exercise-card__goal{color:var(--text-secondary);flex:1;margin:0 0 .75rem;font-size:.8125rem;line-height:1.45}.exercise-card__footer{margin-top:auto}.exercise-card__link{color:var(--accent-primary);transition:color var(--transition-fast);font-size:.8125rem;font-weight:600;text-decoration:none}.exercise-card__link:hover{color:var(--accent-tertiary)}.exercises-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.9375rem}.nb-container{flex-direction:column;gap:0;display:flex}.nb-cell{border:1px solid var(--border-card);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden}.nb-cell--markdown{background:0 0;border-color:#0000}.nb-cell--markdown .markdown-body{padding:0}.nb-cell--code{background:var(--bg-card)}.nb-cell__header{border-bottom:1px solid var(--border-subtle);background:#00000026;align-items:center;gap:.5rem;padding:.35rem .75rem;display:flex}.nb-cell__badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-tertiary);background:#a78bfa0f;border:1px solid #a78bfa33;border-radius:3px;padding:.1rem .45rem;font-size:.625rem;font-weight:700}.nb-cell__exec{font-size:.6875rem;font-family:var(--font-mono);color:var(--text-muted)}.nb-cell__code{background:var(--bg-code)}.nb-output{border-top:1px solid var(--border-subtle)}.nb-output__label{text-transform:uppercase;letter-spacing:.08em;color:#22c55e;border-bottom:1px solid var(--border-subtle);background:#22c55e0a;padding:.2rem .75rem;font-size:.5625rem;font-weight:700}.nb-output__text{font-family:var(--font-mono);color:#a7f3d0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.6rem .75rem;font-size:.8125rem;line-height:1.5}.nb-output__error{font-family:var(--font-mono);color:#fca5a5;white-space:pre-wrap;overflow-wrap:anywhere;background:#ef44440a;margin:0;padding:.6rem .75rem;font-size:.8125rem;line-height:1.5}@media (max-width:600px){.exercises-grid{grid-template-columns:1fr}.exercises-filters,.exercises-notebooks__grid{flex-direction:column}}.cs-tabs{border-bottom:1px solid var(--border-subtle);gap:.5rem;margin-bottom:.5rem;padding-bottom:0;display:flex}.cs-tab{font-size:.875rem;font-weight:600;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem 1.1rem}.cs-tab:hover{color:var(--text-primary)}.cs-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.cs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.cs-card{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--bg-card);transition:all var(--transition-base);flex-direction:column;padding:1.125rem 1.25rem;display:flex}.cs-card:hover{border-color:var(--border-active);background:var(--bg-card-hover);box-shadow:var(--shadow-card)}.cs-card__header{flex:1}.cs-card__meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.cs-card__title{color:var(--text-heading);margin:0 0 .4rem;font-size:1rem;font-weight:700;line-height:1.35}.cs-card__phases{color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem;line-height:1.4}.cs-card__footer{margin-top:auto;padding-top:.75rem}.cs-card__expand-btn{font-size:.8125rem;font-weight:600;font-family:var(--font-body);color:var(--accent-primary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.cs-card__expand-btn:hover{color:var(--accent-tertiary)}.cs-card__content{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:1rem}@media (max-width:600px){.cs-grid{grid-template-columns:1fr}.cs-tabs{gap:0}.cs-tab{text-align:center;flex:1;padding:.5rem;font-size:.8125rem}}.review-page .review-card{background:var(--surface-elevated,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;gap:1rem;padding:1rem;display:grid}.review-card-meta{color:var(--text-secondary,#6b7280);justify-content:space-between;font-size:.9rem;display:flex}.review-answer{background:var(--surface-subtle,#f9fafb);border-radius:10px;padding:.75rem}.review-answer-btn,.review-action-btn{border:1px solid var(--border-color,#d1d5db);background:var(--surface-elevated,#fff);border-radius:8px;padding:.55rem .8rem;font-weight:600}.review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.review-again{border-color:#ef4444}.review-hard{border-color:#f59e0b}.review-good{border-color:#10b981}.review-easy{border-color:#3b82f6}.sidebar-review-stats{color:var(--text-secondary,#6b7280);padding:0 1.25rem .75rem}.back-to-top{background:var(--bg-card);border:1px solid var(--border-card);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base), transform var(--transition-base), background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);box-shadow:var(--shadow-card);z-index:100;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(10px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--bg-card-hover);border-color:var(--border-active);color:var(--accent-tertiary)}.back-to-top:focus-visible{box-shadow:0 0 0 2px var(--accent-primary);outline:none}.lesson-with-toc{grid-template-columns:minmax(0, min(var(--content-max-width), 76ch)) 260px;align-items:start;gap:2rem;display:grid}.lesson-main-content{min-width:0}.toc{top:calc(var(--navbar-height) + 1.5rem);width:260px;max-height:calc(100vh - var(--navbar-height) - 3rem);scrollbar-width:none;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);padding:1rem;font-size:.875rem;position:sticky;overflow-y:auto}.toc::-webkit-scrollbar{display:none}.toc-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.toc-list{margin:0;padding:0;list-style:none}.toc-list li{margin-bottom:.25rem}.toc-list li.toc-sub{padding-left:.75rem}.toc-link{min-height:44px;color:var(--text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);overflow-wrap:break-word;white-space:normal;border-left:2px solid #0000;border-radius:2px;padding:.5rem .625rem;font-size:.875rem;line-height:1.4;text-decoration:none;display:block}.toc-link:hover{color:var(--text-primary)}.toc-link.active{color:var(--accent-tertiary);border-left-color:var(--accent-primary)}.not-found{text-align:center;padding:3rem 1rem}.not-found-code{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:4rem}.not-found-message{color:var(--text-secondary);margin-bottom:2rem;font-size:1.25rem}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.not-found-suggestions{text-align:left;max-width:600px;margin:0 auto}.not-found-suggestions h2{color:var(--text-heading);margin-bottom:1rem;font-size:1.125rem}.not-found-phases{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem;display:grid}.not-found-phase-link{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-sm);color:var(--text-secondary);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;text-decoration:none;display:flex}.not-found-phase-link:hover{border-color:var(--border-active);background:var(--bg-card-hover);color:var(--text-primary)}.not-found-tip{text-align:center;color:var(--text-muted);font-size:.875rem}.not-found-tip kbd{background:var(--bg-card);border:1px solid var(--border-card);font-family:var(--font-mono);border-radius:4px;padding:.125rem .375rem;font-size:.75rem}@media (max-width:1200px){.lesson-with-toc{grid-template-columns:1fr}.toc{z-index:30;width:100%;max-height:none;margin-top:1rem;padding:.75rem;position:sticky;top:auto;bottom:1rem}.toc-compact .toc-title{display:none}.toc-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-card);background:var(--bg-primary);width:100%;min-height:44px;color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.875rem;font-weight:600;display:flex}.toc-toggle:focus-visible{box-shadow:0 0 0 2px var(--accent-primary);outline:none}.toc-toggle-chevron{transition:transform var(--transition-fast)}.toc-toggle-chevron.open{transform:rotate(180deg)}.toc-panel{opacity:0;max-height:0;transition:max-height var(--transition-base), opacity var(--transition-base), margin-top var(--transition-base);overflow:hidden}.toc-panel.open{opacity:1;max-height:min(50vh,420px);margin-top:.625rem;overflow-y:auto}.toc-panel .toc-list li{margin-bottom:.125rem}.toc-panel .toc-link{padding-block:.625rem}}@media (max-width:768px){.toc{display:none}.back-to-top{bottom:calc(64px + 1rem);right:1.25rem}}@media (max-width:640px){.not-found-phases{grid-template-columns:1fr}}body.sidebar-open{overflow:hidden}@media (max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible,.sidebar-close{display:block}.main-content{margin-left:0}.navbar{left:0}.navbar-hamburger{display:flex}.navbar-links{display:none}.phases-grid{grid-template-columns:1fr}.day-link{align-items:center;min-height:44px;padding-top:.625rem;padding-bottom:.625rem;display:flex}.phase-toggle{min-height:44px}}@media (max-width:640px){:root{--page-padding:1rem}.hero{padding:2.5rem 1.25rem 2rem}.hero h1{font-size:1.75rem}.hero-stats{gap:1.5rem}.lesson-nav{grid-template-columns:1fr}.lesson-nav-btn.next{text-align:left;grid-column:1}.curriculum-days,.phase-lessons-grid{grid-template-columns:1fr}.curriculum-timeline{padding-left:1.25rem}.curriculum-phase:before{left:-1.25rem}.day-card{min-height:44px}.curriculum-day-link{min-height:44px;padding-top:.625rem;padding-bottom:.625rem}}.reading-time{font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}.prerequisite-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.prerequisite-label{font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:.6875rem;font-weight:600}.prerequisite-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap;background:0 0;align-items:center;padding:.2rem .55rem;font-size:.6875rem;text-decoration:none;display:inline-flex}.prerequisite-pill:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.related-lessons{border-top:1px solid var(--border-subtle);margin-top:2.5rem;padding-top:2rem}.related-lessons-title{color:var(--text-heading);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:700;display:flex}.related-lessons-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.related-lesson-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;gap:.375rem;padding:.875rem 1rem;text-decoration:none;display:flex}.related-lesson-card:hover{border-color:var(--border-active);background:var(--bg-card-hover);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.related-lesson-day{color:var(--accent-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:.8125rem;font-weight:600}.related-lesson-title{color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.3}.related-lesson-meta{align-items:center;gap:.5rem;margin-top:.125rem;display:flex}.related-lesson-badge{border-radius:100px;padding:.1875rem .5rem;font-size:.8125rem;font-weight:600}.related-lesson-tags{flex-wrap:wrap;gap:.25rem;display:flex}.related-tag{background:color-mix(in srgb, var(--accent-primary) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent-primary) 12%, transparent);color:var(--accent-tertiary);border-radius:100px;padding:.125rem .5rem;font-size:.8125rem}.related-tag.shared{color:#4ade80;background:#22c55e1a;border-color:#22c55e33}.concept-graph-page{max-width:1200px;padding:var(--page-padding);margin:0 auto}.concept-graph-header{margin-bottom:1.5rem}.concept-graph-header h1{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.concept-graph-header p{color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.concept-graph-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.concept-graph-search{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);min-width:200px;color:var(--text-primary);font-size:.875rem;font-family:var(--font-body);transition:border-color var(--transition-fast);outline:none;flex:1;padding:.5rem .875rem}.concept-graph-search:focus{border-color:var(--border-active)}.concept-graph-search::placeholder{color:var(--text-muted)}.concept-graph-legend{flex-wrap:wrap;gap:.75rem;display:flex}.legend-item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.8125rem;display:flex}.legend-item:hover{background:#ffffff0d}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.concept-graph-container{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);width:100%;height:600px;position:relative;overflow:hidden}.concept-graph-container svg{cursor:grab;width:100%;height:100%}.concept-graph-container svg:active{cursor:grabbing}.graph-edge{stroke:#94a3b826;stroke-width:1.5px;fill:none}.graph-edge.highlighted{stroke:var(--accent-primary);stroke-width:2px;stroke-opacity:.6}.graph-node{cursor:pointer;transition:filter var(--transition-fast)}.graph-node:hover{filter:brightness(1.3)}.graph-node circle{stroke:#ffffff26;stroke-width:1.5px;transition:all var(--transition-fast)}.graph-node:hover circle{stroke:#ffffff80;stroke-width:2.5px}.graph-node text{fill:var(--text-primary);text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:8px;font-weight:600}.graph-node-label{fill:var(--text-secondary)!important;font-size:6.5px!important;font-weight:400!important}.graph-tooltip{background:var(--bg-secondary);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);pointer-events:none;z-index:10;opacity:0;max-width:220px;transition:opacity var(--transition-fast);padding:.625rem .875rem;position:absolute}.graph-tooltip.visible{opacity:1}.graph-tooltip-title{color:var(--text-heading);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.graph-tooltip-concepts{flex-wrap:wrap;gap:.25rem;display:flex}.graph-tooltip-concept{color:var(--accent-tertiary);background:#4361ee1a;border-radius:100px;padding:.125rem .5rem;font-size:.8125rem}.graph-node.dimmed circle{opacity:.2}.graph-node.dimmed text{opacity:.15}.graph-edge.dimmed{opacity:.05}.glossary-term{border:none;border-bottom:1px dashed var(--accent-tertiary);font:inherit;color:inherit;cursor:help;background:0 0;border-radius:0;margin:0;padding:0;display:inline;position:relative}.glossary-term:after{content:attr(data-definition);background:var(--bg-secondary);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);color:var(--text-primary);white-space:normal;z-index:20;opacity:0;pointer-events:none;width:max-content;max-width:260px;transition:opacity var(--transition-fast), transform var(--transition-fast);padding:.5rem .75rem;font-size:.75rem;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)scale(.95)}.glossary-term:hover:after,.glossary-term.glossary-term-active:after{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.glossary-term:first-child:after{left:0;transform:translate(0)translateY(4px)scale(.95)}.glossary-term:first-child:hover:after,.glossary-term:first-child.glossary-term-active:after{transform:translate(0)translateY(0)scale(1)}@media (hover:none){.glossary-term{cursor:pointer}}@media (max-width:768px){.related-lessons-grid{grid-template-columns:1fr}.concept-graph-container{height:400px}.prerequisite-bar{flex-direction:column;align-items:flex-start}.concept-graph-controls{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.related-lesson-card:hover{transform:none}.glossary-term:after{transition:none}}.skeleton{background:color-mix(in srgb, var(--bg-card) 78%, white 22%);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(110deg, transparent 20%, color-mix(in srgb, var(--bg-card-hover) 45%, white 55%) 45%, transparent 72%);animation:skeleton-shimmer var(--motion-duration-active-skeleton) infinite;position:absolute;inset:0;transform:translate(-130%)}.skeleton-text{width:100%;height:16px;margin-bottom:10px}.skeleton-heading{width:60%;height:32px;margin-bottom:16px}.skeleton-block{border-radius:var(--radius-md);width:100%;height:120px;margin-bottom:16px}.skeleton-card{border-radius:var(--radius-lg);height:200px}.page-skeleton{max-width:var(--content-max-width);padding:0 var(--page-padding);margin:2rem auto}@keyframes skeleton-shimmer{0%{transform:translate(-130%)}to{transform:translate(130%)}}.skeleton-boot{opacity:0;animation:skeleton-boot-in var(--motion-duration-active-fast) var(--motion-easing-standard) forwards;animation-delay:calc(var(--index,0) * var(--motion-duration-active-fast) * .5)}.skeleton-boot:after{content:none}@keyframes skeleton-boot-in{0%{opacity:0}to{opacity:1}}.lesson-skeleton{font-family:var(--font-mono)}.lesson-skeleton .skeleton-text{margin-bottom:.5rem}@media (max-width:1200px){.lesson-skeleton .toc{display:none}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none!important}.skeleton-boot{opacity:1!important;animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.stats-bar-fill,.stats-phase-card{transition:none!important}}.glass-card{background:var(--surface-paper);border:1px solid var(--border-card);border-radius:var(--radius-sm);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:relative}.scroll-progress{z-index:9999;pointer-events:none;opacity:.6;background:0 0;width:100%;height:2px;position:fixed;top:0;left:0}.scroll-progress.lesson-progress{opacity:1;height:4px}.scroll-progress-bar{background:var(--accent-primary);height:100%;transition:width var(--motion-duration-active-fast) linear;border-radius:0 2px 2px 0}.scroll-progress.lesson-progress .scroll-progress-bar{background-color:var(--accent-primary);background-image:var(--gradient-hero)}.mobile-nav{z-index:1000;background:var(--bg-secondary);border-top:1px solid var(--border-card);padding:4px 0;padding-bottom:env(safe-area-inset-bottom,4px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-muted);transition-duration:var(--motion-duration-active-fast);transition-timing-function:var(--motion-easing-standard);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:8px 0;font-size:.75rem;text-decoration:none;display:flex}.mobile-nav-item svg{width:20px;height:20px}.mobile-nav-item.active{color:var(--accent-primary)}@media (max-width:768px){.mobile-nav{justify-content:space-around;display:flex}.main-content{padding-bottom:72px!important}}::view-transition-old(root){animation:fade-out var(--motion-duration-active-view-transition) ease-out}::view-transition-new(root){animation:fade-in var(--motion-duration-active-view-transition) ease-in}@keyframes fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-stats-page{max-width:var(--content-max-width);padding:2rem var(--page-padding);margin:0 auto}.content-stats-page h1{color:var(--accent-primary);margin-bottom:.25rem;font-size:2rem}.stats-subtitle{color:var(--text-secondary);margin-bottom:2rem}.stats-hero-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem;display:grid}.stats-hero-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:.25rem;padding:1.5rem;display:flex}.stats-hero-value{color:var(--accent-primary);font-size:2rem;font-weight:700;line-height:1.1}.stats-hero-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.stats-section{margin-bottom:2.5rem}.stats-section h2{color:var(--text-heading);border-bottom:1px solid var(--border-subtle);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.3rem}.stats-bar-chart{flex-direction:column;gap:.75rem;display:flex}.stats-bar-row{align-items:center;gap:.75rem;display:flex}.stats-bar-label{width:100px;color:var(--text-secondary);text-transform:capitalize;flex-shrink:0;font-size:.85rem}.stats-bar-track{background:var(--bg-surface);border-radius:var(--radius-sm);flex:1;height:24px;overflow:hidden}.stats-bar-fill{border-radius:var(--radius-sm);height:100%;transition:width var(--motion-duration-active-slow) ease-out}.stats-bar-beginner{background:#34d399}.stats-bar-intermediate{background:#fbbf24}.stats-bar-advanced{background:#f87171}.stats-bar-unknown{background:var(--accent-primary)}.stats-bar-value{text-align:right;width:32px;color:var(--text-primary);font-size:.85rem;font-weight:600}.stats-phase-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.stats-phase-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);transition-duration:var(--motion-duration-active-fast);transition-timing-function:var(--motion-easing-standard);padding:1rem;text-decoration:none}.stats-phase-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.stats-phase-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.stats-phase-icon{font-size:1.2rem}.stats-phase-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.stats-phase-title{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.stats-phase-meta{color:var(--text-muted);gap:.75rem;font-size:.75rem;display:flex}.stats-tag-cloud{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stats-tag{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--accent-tertiary);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.stats-tag-count{color:var(--text-muted);background:var(--bg-surface);border-radius:99px;padding:1px 5px;font-size:.65rem}.stats-concepts-grid{flex-wrap:wrap;gap:.5rem;display:flex}.stats-concept-pill{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);color:var(--text-primary);align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.stats-concept-count{color:var(--accent-primary);background:var(--accent-glow);border-radius:99px;padding:2px 6px;font-size:.7rem;font-weight:600}@media (max-width:640px){.stats-hero-grid{grid-template-columns:repeat(2,1fr)}}.shortcut-overlay-backdrop{z-index:1200;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.shortcut-overlay-dialog{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);width:min(640px,100%);max-height:min(85vh,700px);box-shadow:var(--shadow-elevated);padding:1.25rem;overflow-y:auto}.shortcut-overlay-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.shortcut-overlay-header h2{margin:0}.shortcut-overlay-close{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;padding:.35rem .6rem;font-weight:600}.shortcut-overlay-group+.shortcut-overlay-group{margin-top:1rem}.shortcut-overlay-group h3{color:var(--text-secondary);margin:0 0 .4rem;font-size:.95rem}.shortcut-overlay-group ul{margin:0;padding:0;list-style:none}.shortcut-overlay-group li{border-top:1px solid var(--border-subtle);grid-template-columns:92px 1fr;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}.shortcut-overlay-keys kbd{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-card);border-radius:6px;min-width:28px;padding:.2rem .45rem;font-family:inherit;font-size:.82rem;display:inline-block}@media (pointer:fine){.custom-cursor-active,.custom-cursor-active *{cursor:none!important}}.custom-cursor-dot{background:var(--accent-primary);pointer-events:none;z-index:99999;will-change:transform;mix-blend-mode:difference;opacity:0;border-radius:50%;width:8px;height:8px;position:fixed;top:-4px;left:-4px}.custom-cursor-ring{border:1.5px solid color-mix(in srgb, var(--accent-primary) 50%, transparent);pointer-events:none;z-index:99998;will-change:transform;opacity:0;width:40px;height:40px;transition:border-color var(--transition-fast), width var(--motion-duration-active-fast), height var(--motion-duration-active-fast), opacity var(--motion-duration-active-fast);border-radius:50%;position:fixed;top:-20px;left:-20px}.custom-cursor-active .custom-cursor-dot,.custom-cursor-active .custom-cursor-ring{opacity:1}.custom-cursor-ring--hover{border-color:var(--accent-primary)}@media (prefers-reduced-motion:reduce){.custom-cursor-dot,.custom-cursor-ring{display:none}}.empty-state-illustration{border:1px solid var(--border-card);border-radius:var(--radius-sm);width:min(320px,100%);font-family:var(--font-mono);color:var(--text-muted);background:0 0;justify-content:center;align-items:baseline;gap:.5em;margin:0 auto .75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.empty-state-illustration--boot{border-color:var(--accent-primary)}.empty-state-prompt-glyph{color:var(--accent-primary);font-weight:600}.empty-state-prompt-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty-state-cursor{background:var(--accent-primary);width:.55em;height:1.1em;animation:1.1s step-end infinite empty-state-blink;display:inline-block}.empty-state-cursor--static{animation:none}@keyframes empty-state-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.empty-state-cursor{opacity:1;animation:none!important}}@media print{.navbar,.sidebar,.mobile-nav,.scroll-progress,.search-trigger,.search-palette-overlay,.lesson-nav,.back-to-top,.prerequisite-pills,.related-lessons,.lesson-complete-btn,.skip-to-content,.theme-toggle,.navbar-hamburger{display:none!important}:root,[data-palette]{--bg-primary:#fff!important;--bg-secondary:#fff!important;--bg-card:#fff!important;--bg-surface:#fff!important;--bg-code:#f5f5f5!important;--text-primary:#111!important;--text-secondary:#333!important;--text-muted:#666!important;--text-heading:#000!important;--border-card:#ddd!important;--border-subtle:#eee!important;--shadow-card:none!important;--shadow-elevated:none!important}body{color:#000!important;background:#fff!important;font-size:12pt!important;line-height:1.5!important}.app-layout{display:block!important}.main-content{max-width:100%!important;margin:0!important;padding:.5in!important}.lesson-container{max-width:100%!important;padding:0!important}pre,code{white-space:pre-wrap!important;overflow-wrap:break-word!important;color:#333!important;background:#f8f8f8!important;border:1px solid #ddd!important;font-size:9pt!important}a[href^=http]:after{content:" (" attr(href) ")";color:#666;word-break:break-all;font-size:8pt}h1,h2,h3{break-after:avoid;color:#000!important}.lesson-body{break-inside:auto}img{break-inside:avoid;max-width:100%!important}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-in-up var(--motion-duration-active-card-entrance) ease-out forwards}.phase-card{animation:fade-in-up var(--motion-duration-active-standard) ease-out backwards}.phase-card:first-child{animation-delay:50ms}.phase-card:nth-child(2){animation-delay:.1s}.phase-card:nth-child(3){animation-delay:.15s}.phase-card:nth-child(4){animation-delay:.2s}.phase-card:nth-child(5){animation-delay:.25s}.phase-card:nth-child(6){animation-delay:.3s}.phase-card:nth-child(7){animation-delay:.35s}.phase-card:nth-child(8){animation-delay:.4s}.phase-card:nth-child(9){animation-delay:.45s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.animate-in,.phase-card{animation:none!important}.phase-card{animation-delay:0s!important}}
