:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--veil-0:var(--lightningcss-light,#0f172a03)var(--lightningcss-dark,#ffffff03);--veil-1:var(--lightningcss-light,#0f172a06)var(--lightningcss-dark,#ffffff08);--veil-2:var(--lightningcss-light,#0f172a0a)var(--lightningcss-dark,#ffffff0f);--veil-3:var(--lightningcss-light,#0f172a0f)var(--lightningcss-dark,#ffffff14);--veil-4:var(--lightningcss-light,#0f172a17)var(--lightningcss-dark,#ffffff1f);--veil-5:var(--lightningcss-light,#0f172a24)var(--lightningcss-dark,#fff3);--veil-6:var(--lightningcss-light,#0f172a40)var(--lightningcss-dark,#ffffff59);--veil-7:var(--lightningcss-light,#0f172a66)var(--lightningcss-dark,#ffffff80);--sheen-2:var(--lightningcss-light,#ffffff80)var(--lightningcss-dark,#ffffff0f);--sheen-3:var(--lightningcss-light,#ffffffa6)var(--lightningcss-dark,#ffffff14);--sheen-4:var(--lightningcss-light,#ffffffbf)var(--lightningcss-dark,#ffffff1f);--sheen-5:var(--lightningcss-light,#ffffffd9)var(--lightningcss-dark,#fff3);--sheen-6:var(--lightningcss-light,#ffffffe6)var(--lightningcss-dark,#ffffff59);--shade-1:var(--lightningcss-light,#0f172a0f)var(--lightningcss-dark,#0000004d);--shade-2:var(--lightningcss-light,#0f172a1a)var(--lightningcss-dark,#00000080);--shade-3:var(--lightningcss-light,#0f172a33)var(--lightningcss-dark,#000000e6);--bg:var(--lightningcss-light,#f6f7fb)var(--lightningcss-dark,#07080d);--bg-inset:var(--lightningcss-light,#eceef4)var(--lightningcss-dark,#05060b);--bg-muted:var(--lightningcss-light,#f0f1f6)var(--lightningcss-dark,#0d0f17);--bg-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#12141d);--bg-control:var(--lightningcss-light,#f1f2f7)var(--lightningcss-dark,#171a26);--bg-control-hover:var(--lightningcss-light,#e7e9f1)var(--lightningcss-dark,#1e2231);--bg-neutral:var(--veil-2);--glass-strong:var(--lightningcss-light,#ffffffeb)var(--lightningcss-dark,#0b0d14e6);--fg:var(--lightningcss-light,#14161f)var(--lightningcss-dark,#f2f4fb);--fg-prose:var(--lightningcss-light,#2a2f3d)var(--lightningcss-dark,#d6dbe8);--fg-muted:var(--lightningcss-light,#4f5869)var(--lightningcss-dark,#a3abbf);--fg-subtle:var(--lightningcss-light,#5b6476)var(--lightningcss-dark,#9199ae);--fg-on-emphasis:#fff;--border:var(--veil-4);--border-muted:var(--veil-2);--border-control:var(--veil-4);--border-strong:var(--veil-5);--highlight:inset 0 1px 0 var(--sheen-3);--accent:var(--lightningcss-light,#5b3df5)var(--lightningcss-dark,#a78bfa);--accent-underline:var(--lightningcss-light,#5b3df580)var(--lightningcss-dark,#a78bfa80);--accent-emphasis:var(--lightningcss-light,#5b3df5)var(--lightningcss-dark,#5f42f0);--accent-hover:var(--lightningcss-light,#4b2ee6)var(--lightningcss-dark,#6f56f7);--accent-muted:var(--lightningcss-light,#5b3df514)var(--lightningcss-dark,#6d4dff1f);--accent-border:var(--lightningcss-light,#5b3df566)var(--lightningcss-dark,#8b5cf666);--accent-glow:var(--lightningcss-light,#5b3df540)var(--lightningcss-dark,#7c5cff59);--accent-2:var(--lightningcss-light,#0e7490)var(--lightningcss-dark,#22d3ee);--success:var(--lightningcss-light,#047857)var(--lightningcss-dark,#34d399);--success-emphasis:var(--lightningcss-light,#059669)var(--lightningcss-dark,#10b981);--success-muted:var(--lightningcss-light,#04785714)var(--lightningcss-dark,#34d3991f);--success-border:var(--lightningcss-light,#04785752)var(--lightningcss-dark,#34d39959);--attention:var(--lightningcss-light,#b45309)var(--lightningcss-dark,#fbbf24);--attention-muted:var(--lightningcss-light,#b4530914)var(--lightningcss-dark,#fbbf241f);--attention-border:var(--lightningcss-light,#b4530952)var(--lightningcss-dark,#fbbf2459);--danger:var(--lightningcss-light,#be123c)var(--lightningcss-dark,#fb7185);--danger-muted:var(--lightningcss-light,#be123c14)var(--lightningcss-dark,#fb71851f);--danger-border:var(--lightningcss-light,#be123c52)var(--lightningcss-dark,#fb718559);--done:var(--lightningcss-light,#7e22ce)var(--lightningcss-dark,#c084fc);--done-emphasis:var(--lightningcss-light,#9333ea)var(--lightningcss-dark,#a855f7);--done-muted:var(--lightningcss-light,#7e22ce14)var(--lightningcss-dark,#c084fc1f);--done-border:var(--lightningcss-light,#7e22ce52)var(--lightningcss-dark,#c084fc59);--selection:var(--lightningcss-light,#5b3df533)var(--lightningcss-dark,#6d4dff66);--calendar-0:var(--lightningcss-light,#e6e8ef)var(--lightningcss-dark,#12141d);--calendar-1:var(--lightningcss-light,#d6d0fb)var(--lightningcss-dark,#1e2a4a);--calendar-2:var(--lightningcss-light,#ab9ef7)var(--lightningcss-dark,#3b3f8f);--calendar-3:var(--lightningcss-light,#7b64f2)var(--lightningcss-dark,#6d5cff);--calendar-4:var(--lightningcss-light,#5b3df5)var(--lightningcss-dark,#a78bfa);--aurora-violet:var(--lightningcss-light,#c4b5fd)var(--lightningcss-dark,#6d28d9);--aurora-cyan:var(--lightningcss-light,#a5f3fc)var(--lightningcss-dark,#0e7490);--aurora-rose:var(--lightningcss-light,#fbcfe8)var(--lightningcss-dark,#9d174d);--aurora-opacity:.2;--grain-opacity:.025;--shadow-1:inset 0 1px 0 var(--sheen-2), 0 1px 2px var(--shade-2), 0 8px 24px -16px var(--shade-3);--shadow-2:inset 0 1px 0 var(--sheen-3), 0 24px 56px -24px var(--shade-3);--shadow-drawer:0 0 0 1px var(--veil-4), 0 32px 80px -24px var(--shade-3);--shadow-pop:0 0 0 1px var(--veil-4), 0 24px 64px -16px var(--shade-3), 0 0 40px -8px var(--accent-glow);--backdrop:var(--lightningcss-light,#0f172a40)var(--lightningcss-dark,#04050bd9);--text-title:2.5rem;--leading-title:1.08;--tracking-title:-.03em;--text-part:1.75rem;--leading-part:1.2;--tracking-part:-.02em;--text-subpart:1.375rem;--leading-subpart:1.35;--tracking-subpart:-.015em;--text-body:1.125rem;--leading-body:1.7;--text-ui:.875rem;--leading-ui:1.45;--text-small:.75rem;--leading-small:1.4;--weight-body:430;--font-smoothing:antialiased;--font-smoothing-firefox:grayscale;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--list-indent:1.375em;--radius-small:8px;--radius:10px;--radius-large:18px;--radius-bar:999px;--radius-day:4px;--radius-pill:999px;--ease:cubic-bezier(.22, 1, .36, 1);--duration-hover:.12s;--duration-appear:.12s;--duration-drawer:.2s;--duration-fill:.3s;--duration-pulse:1.6s;--topbar-row:64px;--topbar-h:var(--topbar-row);--topbar-tabs-row:44px;--sidebar:292px;--column:min(40rem, 100% - 2 * var(--space-5));--rail:15.5rem;--rail-gap:var(--space-5)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (min-width:1440px){:root{--rail:19rem;--rail-gap:var(--space-6)}}@media (min-width:1680px){:root{--rail:22rem}}@media (max-width:1079.98px){:root{--topbar-h:calc(var(--topbar-row) + var(--topbar-tabs-row))}}@media (max-width:767.98px){:root{--text-title:1.9375rem;--text-part:1.5rem;--text-subpart:1.25rem;--text-body:1.0625rem;--topbar-row:58px}}@media (prefers-reduced-motion:reduce){:root{--duration-hover:0s;--duration-appear:0s;--duration-drawer:0s;--duration-fill:0s}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=navy]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1a5c;--bg-inset:#08134a;--bg-muted:#102068;--bg-raised:#132672;--bg-control:#1a2f80;--bg-control-hover:#22398f;--glass-strong:#0d1c62e6;--fg:#fdf6d8;--fg-prose:#f6ecc4;--fg-muted:#d8cfae;--fg-subtle:#cbc3a3;--accent:#fff;--accent-underline:#ffffff80;--accent-emphasis:#2f5ff0;--accent-hover:#4270ff;--accent-muted:#ffffff1a;--accent-border:#ffffff59;--accent-glow:#5b8cff59;--accent-2:#a9d6ff;--selection:#5b8cff66;--calendar-0:#132672;--calendar-1:#26409e;--calendar-2:#4f6fd0;--calendar-3:#a7b8ec;--calendar-4:#fff;--aurora-violet:#2a3fd6;--aurora-cyan:#1f6fe0;--aurora-rose:#3b2fb8}:root[data-theme=light]{--aurora-opacity:.45;--grain-opacity:.02;--weight-body:400;--font-smoothing:auto;--font-smoothing-firefox:auto}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--aurora-opacity:.45;--grain-opacity:.02;--weight-body:400;--font-smoothing:auto;--font-smoothing-firefox:auto}}
*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{background:var(--bg);scroll-padding-top:calc(var(--topbar-h) + var(--space-4));scrollbar-gutter:stable}body{isolation:isolate;background:var(--bg);min-height:100vh;color:var(--fg-prose);font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:var(--font-smoothing);-moz-osx-font-smoothing:var(--font-smoothing-firefox);position:relative}body:before{content:"";z-index:-2;background:radial-gradient(26vmax 26vmax at 12% 4%, color-mix(in oklab, var(--aurora-violet) 48%, transparent), transparent 60%), radial-gradient(22vmax 22vmax at 90% 0%, color-mix(in oklab, var(--aurora-cyan) 32%, transparent), transparent 58%), radial-gradient(30vmax 30vmax at 76% 98%, color-mix(in oklab, var(--aurora-rose) 24%, transparent), transparent 62%);opacity:var(--aurora-opacity);position:fixed;inset:-8vmax}body:after{content:"";z-index:-1;opacity:var(--grain-opacity);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3{color:var(--fg);font-size:inherit;font-weight:600}p{text-wrap:pretty}button,input,textarea{font:inherit;color:inherit}fieldset{border:0;min-width:0}input[type=radio]{accent-color:var(--accent-emphasis)}html:has(dialog[open]){overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[tabindex="-1"]:focus{outline:none}::selection{background:var(--selection);color:var(--fg)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}strong{color:var(--fg);font-weight:600}code,kbd,pre{font-family:var(--font-mono), ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0}code{border:1px solid var(--border-muted);border-radius:var(--radius-small);background:var(--bg-raised);color:var(--accent-2);overflow-wrap:anywhere;padding:.15em .4em;font-size:.875em}a{color:var(--accent);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent-underline);text-decoration-color:var(--accent-underline);text-underline-offset:.22em;overflow-wrap:anywhere;transition:text-decoration-color var(--duration-hover) var(--ease);text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose p,.prose ul,.prose ol,.prose pre,.prose blockquote{margin-bottom:1em}.prose h2{margin:var(--space-8) 0 var(--space-4);border-bottom:1px solid var(--border-muted);font-family:var(--font-display), var(--font-sans), sans-serif;font-size:var(--text-part);line-height:var(--leading-part);letter-spacing:var(--tracking-part);padding-bottom:.35em}.prose h3{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-subpart);line-height:var(--leading-subpart);letter-spacing:var(--tracking-subpart)}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose ul,.prose ol{padding-left:var(--list-indent)}.prose li+li{margin-top:.375em}.prose li::marker{color:var(--accent)}.prose li>ul,.prose li>ol{margin-bottom:0}.prose blockquote{padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:3px solid var(--accent-border);color:var(--fg-muted)}.prose hr{margin:var(--space-6) 0;border:0;border-top:1px solid var(--border)}.prose pre{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-inset);box-shadow:var(--shadow-1);color:var(--fg);font-size:var(--text-ui);line-height:1.65;overflow-x:auto}@media (min-width:1280px){.prose[data-margin]{position:relative}}.prose>:has(+[data-margin-note]:is(:hover,:focus-within)){border-radius:var(--radius-small);background:var(--accent-muted);box-shadow:0 0 0 6px var(--accent-muted);transition:background-color var(--duration-hover) var(--ease)}.prose .lesson-image{margin:var(--space-5) 0}.prose .lesson-image img{border:1px solid var(--border);border-radius:var(--radius);max-width:100%;height:auto;box-shadow:var(--shadow-2);margin:0 auto;display:block}.prose .lesson-image figcaption{margin-top:var(--space-3);color:var(--fg-muted);font-size:var(--text-ui);line-height:var(--leading-ui);text-align:center;text-wrap:balance}.prose pre code{color:inherit;font-size:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}
