@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-ext-wght-normal.DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/outfit-latin-wght-normal.Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sl-font: "Outfit Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sl-font-system: "Outfit Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sl-line-height: 1.7;--sl-line-height-headings: 1.25;--sl-text-base: 1.0625rem;--sl-text-h1: 2.4rem;--sl-text-h2: 1.65rem;--sl-text-h3: 1.3rem;--sl-text-h4: 1.1rem;--sl-text-h5: 1rem}:root,:root[data-theme=light]{--sl-color-bg: #fceee3;--sl-color-bg-nav: #fceee3;--sl-color-bg-sidebar: #fceee3;--sl-color-bg-inline-code: #fae3d2;--sl-color-bg-accent: #e07a5f;--sl-color-text: #2a2447;--sl-color-text-accent: #c25a3f;--sl-color-text-invert: #ffffff;--sl-color-white: #2a2447;--sl-color-black: #ffffff;--sl-color-accent: #e07a5f;--sl-color-accent-low: #fad0c2;--sl-color-accent-high: #b85d44;--sl-color-gray-1: #2a2447;--sl-color-gray-2: #3f3661;--sl-color-gray-3: #6b5c8c;--sl-color-gray-4: #a998c2;--sl-color-gray-5: #f0dcc9;--sl-color-gray-6: #faf4ed;--sl-color-gray-7: #ffffff;--sl-color-hairline: #f0dcc9;--sl-color-hairline-light: #f8e8d9;--sl-color-hairline-shade: #e5d2be;--aig-elevated-bg: #ffffff;--aig-elevated-bg-warm: #fffaf1;--aig-caution-bg: #fbe9c0;--aig-caution-border: #d4a248;--aig-caution-text: #8a5a18;--aig-danger-bg: #f7c8bc;--aig-danger-border: #b5483a;--aig-danger-text: #8a2f1a;--aig-success-bg: #e5efd9;--aig-success-border: #7aa374;--aig-success-text: #3f6b3a;--aig-shadow-color: 42, 36, 71;--aig-scrim: rgba(42, 36, 71, .45);--aig-hover-wash: rgba(42, 36, 71, .04);--aig-switch-track-off: #d8c9b0;--aig-switch-thumb: #ffffff;color-scheme:light}:root[data-theme=dark]{--sl-color-bg: #1c130d;--sl-color-bg-nav: #1c130d;--sl-color-bg-sidebar: #1c130d;--sl-color-bg-inline-code: #3a2a1e;--sl-color-bg-accent: #e07a5f;--sl-color-text: #f3e5d0;--sl-color-text-accent: #f29a82;--sl-color-text-invert: #1c130d;--sl-color-white: #f3e5d0;--sl-color-black: #2a1d14;--sl-color-accent: #e07a5f;--sl-color-accent-low: #5a3025;--sl-color-accent-high: #f29a82;--sl-color-gray-1: #f3e5d0;--sl-color-gray-2: #d9c4a8;--sl-color-gray-3: #b89a82;--sl-color-gray-4: #7a6452;--sl-color-gray-5: #3d2d22;--sl-color-gray-6: #2a1d14;--sl-color-gray-7: #1c130d;--sl-color-hairline: #6b5140;--sl-color-hairline-light: #4a382b;--sl-color-hairline-shade: #8a6a4e;--aig-elevated-bg: #3a2a1e;--aig-elevated-bg-warm: #402e20;--aig-caution-bg: #3a2a15;--aig-caution-border: #a77a2b;--aig-caution-text: #f0c775;--aig-danger-bg: #3d1f15;--aig-danger-border: #c26048;--aig-danger-text: #f2a28e;--aig-success-bg: #2a3923;--aig-success-border: #7a9a6e;--aig-success-text: #b8d2a8;--aig-shadow-color: 0, 0, 0;--aig-scrim: rgba(0, 0, 0, .65);--aig-hover-wash: rgba(243, 229, 208, .06);--aig-switch-track-off: #7a6452;--aig-switch-thumb: #f3e5d0;color-scheme:dark}.sl-markdown-content :is(h1,h2,h3,h4){font-weight:700;letter-spacing:-.005em}.sl-markdown-content :is(h2,h3){margin-top:2.2em}.sl-markdown-content p,.sl-markdown-content li{line-height:1.7}.sl-markdown-content p+p:not(:where(.not-content,.not-content *)){margin-top:.9em}.sl-markdown-content a:not(:where(.not-content,.not-content *)){color:var(--sl-color-text-accent);text-decoration-color:var(--sl-color-accent-low);text-underline-offset:3px;text-decoration-thickness:1.5px}.sl-markdown-content a:not(:where(.not-content,.not-content *)):hover{text-decoration-color:var(--sl-color-accent)}.sl-markdown-content :not(pre)>code{background:var(--sl-color-bg-inline-code);color:var(--sl-color-text);border-radius:.35rem;padding:.12em .4em;font-size:.92em}.sl-card,.card,:where(starlight-card-grid,.sl-link-card){border-radius:1rem;border-color:var(--sl-color-hairline)}.starlight-aside{border-radius:.75rem}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-accent-high);--sl-color-asides-border: var(--sl-color-accent);background-color:var(--aig-elevated-bg)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-text);--sl-color-asides-border: var(--sl-color-gray-4);background-color:var(--aig-elevated-bg-warm)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--aig-caution-text);--sl-color-asides-border: var(--aig-caution-border);background-color:var(--aig-caution-bg)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--aig-danger-text);--sl-color-asides-border: var(--aig-danger-border);background-color:var(--aig-danger-bg)}.aig-success-wrap .starlight-aside--note{--sl-color-asides-text-accent: var(--aig-success-text);--sl-color-asides-border: var(--aig-success-border);background-color:var(--aig-success-bg)}nav.sidebar a.lesson-completed{position:relative;padding-inline-end:1.5rem}nav.sidebar a.lesson-completed:after{content:"✓";color:inherit;font-weight:700;font-size:.95em;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;line-height:1}.hero{padding-bottom:clamp(1.25rem,3vmin,2.5rem)}.hero h1{font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.01em;line-height:1.15;max-width:22ch}.hero .tagline{font-size:1.15rem;color:var(--sl-color-gray-3);line-height:1.55;max-width:50ch}.hero .actions .sl-link-button{border-radius:999px;padding:.8rem 1.5rem;font-weight:500}.hero .actions .sl-link-button.primary{background:var(--sl-color-accent);color:var(--sl-color-text-invert);border-color:var(--sl-color-accent)}.hero .actions .sl-link-button.primary:hover{background:var(--sl-color-accent-high);border-color:var(--sl-color-accent-high)}.hero .actions .sl-link-button.minimal{color:var(--sl-color-text);background:transparent;border:1px solid var(--sl-color-hairline)}.hero .actions .sl-link-button.minimal:hover{background:var(--aig-hover-wash)}.about-hero{display:flex;align-items:center;gap:1.25rem;margin:1.25rem 0 2rem;padding:1.1rem 1.25rem;background:var(--aig-elevated-bg);border:1px solid var(--sl-color-hairline);border-radius:1rem;box-shadow:0 1px rgba(var(--aig-shadow-color),.04),0 6px 18px rgba(var(--aig-shadow-color),.05)}.about-hero__avatar{width:96px;height:96px;border-radius:50%;flex-shrink:0;display:block;object-fit:cover}.about-hero__text{display:flex;flex-direction:column;gap:.4rem;min-width:0}.about-hero__name{margin:0;font-size:1.2rem;font-weight:700;color:var(--sl-color-text);line-height:1.3}.about-hero__tagline{margin:0;color:var(--sl-color-gray-3);line-height:1.55;font-size:.98rem}@media(max-width:540px){.about-hero{flex-direction:column;align-items:flex-start;gap:.9rem}.about-hero__avatar{width:80px;height:80px}}site-search button[data-open-modal]>span,site-search button[data-open-modal]>kbd{display:none!important}site-search button[data-open-modal]{width:2.4rem;height:2.4rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--sl-color-hairline);background:transparent;color:var(--sl-color-text)}site-search button[data-open-modal]:hover{background:var(--sl-color-accent-low);border-color:var(--sl-color-accent-low);color:var(--sl-color-text)}@media(max-width:49.999rem){[data-has-sidebar] header.header{padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size) + .5rem)}}@media(max-width:640px){:root{--sl-text-h1: 2rem}.hero h1{font-size:clamp(1.8rem,7vw,2.2rem)}.hero .tagline{font-size:1.05rem}.hero .actions{flex-direction:column;align-items:stretch}.hero .actions .sl-link-button{justify-content:center;text-align:center}}a[aria-disabled=true]{pointer-events:none;opacity:.55;cursor:default}nav.sidebar a[aria-disabled=true]{display:flex;align-items:center;gap:.4rem}nav.sidebar a[aria-disabled=true]>span{flex:1 1 auto;min-width:0}nav.sidebar a[aria-disabled=true] .sl-badge{flex:0 0 auto;white-space:nowrap;font-size:.7rem;padding:.05rem .4rem;margin-inline-start:0}
