@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter/inter-400-normal.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/inter/inter-400-italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter/inter-700-normal.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3/source-sans-3-400-normal.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3/source-sans-3-400-italic.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3/source-sans-3-700-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4/source-serif-4-400-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4/source-serif-4-400-italic.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-serif-4/source-serif-4-700-normal.woff2) format("woff2")}@font-face{font-family:TeX Gyre Heros;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tex-gyre-heros/tex-gyre-heros-400-normal.woff2) format("woff2")}@font-face{font-family:TeX Gyre Heros;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/tex-gyre-heros/tex-gyre-heros-400-italic.woff2) format("woff2")}@font-face{font-family:TeX Gyre Heros;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tex-gyre-heros/tex-gyre-heros-700-normal.woff2) format("woff2")}@font-face{font-family:TeX Gyre Pagella;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tex-gyre-pagella/tex-gyre-pagella-400-normal.woff2) format("woff2")}@font-face{font-family:TeX Gyre Pagella;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/tex-gyre-pagella/tex-gyre-pagella-400-italic.woff2) format("woff2")}@font-face{font-family:TeX Gyre Pagella;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tex-gyre-pagella/tex-gyre-pagella-700-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-400-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-700-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-400-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans/ibm-plex-sans-700-normal.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif/ibm-plex-serif-400-normal.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif/ibm-plex-serif-400-italic.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-serif/ibm-plex-serif-700-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono/jetbrains-mono-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono/jetbrains-mono-700-normal.woff2) format("woff2")}@font-face{font-family:Latin Modern Roman;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/latin-modern-roman/latin-modern-roman-400-normal.woff2) format("woff2")}@font-face{font-family:Latin Modern Roman;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/latin-modern-roman/latin-modern-roman-400-italic.woff2) format("woff2")}@font-face{font-family:Latin Modern Roman;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/latin-modern-roman/latin-modern-roman-700-normal.woff2) format("woff2")}:root{--color-bg: #fafaf9;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #666666;--color-border: #e5e5e5;--color-accent: #1a3a5c;--color-accent-hover: #0f2744;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-6: 2.5rem;--space-8: 4rem;--space-12: 6rem;--radius: 4px;--content-width: 72ch;--page-width: 1100px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:700;line-height:1.2;margin:0 0 var(--space-3)}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--color-accent-hover)}code,pre{font-family:var(--font-mono);font-size:.9em}pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);overflow-x:auto;line-height:1.5}.page{max-width:var(--page-width);margin:0 auto;padding:0 var(--space-3)}.prose{max-width:var(--content-width)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-footer[data-astro-cid-gcn2mc3v]{margin-top:var(--space-12);padding:var(--space-8) 0 var(--space-6);background:var(--color-bg);border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-muted)}.site-footer__grid[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-6);align-items:start}.site-footer__brand[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{margin-top:var(--space-3);margin-bottom:0;max-width:30em;line-height:1.55}.site-footer__brand[data-astro-cid-gcn2mc3v] img[data-astro-cid-gcn2mc3v]{display:block;height:auto;max-width:160px}.site-footer__col[data-astro-cid-gcn2mc3v] h4[data-astro-cid-gcn2mc3v]{font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0 0 var(--space-3);color:var(--color-text)}.site-footer__col[data-astro-cid-gcn2mc3v] ul[data-astro-cid-gcn2mc3v]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.site-footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--color-text-muted);text-decoration:none}.site-footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover,.site-footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:focus-visible{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}.site-footer__bottom[data-astro-cid-gcn2mc3v]{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.35rem;font-size:.8rem}.site-footer__bottom[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{margin:0}.site-footer__license-note[data-astro-cid-gcn2mc3v]{max-width:72ch}@media (max-width: 720px){.site-footer__grid[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr;gap:var(--space-6)}}.site-nav[data-astro-cid-4lunwx2e]{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.site-nav__inner[data-astro-cid-4lunwx2e]{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-3)}.site-nav__brand[data-astro-cid-4lunwx2e]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);text-decoration:none}.site-nav__logo[data-astro-cid-4lunwx2e]{height:1.5rem;width:auto;display:block}.site-nav__sub[data-astro-cid-4lunwx2e]{font-weight:500;font-size:.875rem;color:var(--color-text-muted);letter-spacing:.01em}.site-nav__links[data-astro-cid-4lunwx2e]{display:flex;gap:var(--space-4);margin:0;padding:0;list-style:none}.site-nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]{color:var(--color-text-muted);text-decoration:none}.site-nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e].active,.site-nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:hover{color:var(--color-text)}
