@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_efde1a47-module__SZ3kUW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_efde1a47-module__SZ3kUW__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_ad1bb7b9-module__XsHlgG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_ad1bb7b9-module__XsHlgG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");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;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");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;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");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;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");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;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_84d6efd-module__5Hl15a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_84d6efd-module__5Hl15a__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--navy-900:#04122e;--navy-800:#072359;--navy-700:#0a3a7a;--cream:#ede7da;--cyan-500:#05f2f2;--cyan-700:#067e86;--clay-500:#d97757;--clay-600:#bd5d3a;--oat:#faf9f5;--ivory:#f4efe7;--warm-ink:#141413;--rosa-500:#f22e62;--rosa-600:#c71b49;--white:#f4f7fb;--grey-300:#c3cede;--grey-500:#8a9bb8;--grey-700:#3a4a66;--ink:#0a1b33;--success:#12b886;--warning:#e8a317;--danger:#e5484d;--bg:var(--oat);--surface:#fff;--text:var(--warm-ink);--text-muted:var(--grey-700);--accent:var(--cyan-700);--node:var(--cyan-500);--cta:var(--rosa-600);--border:var(--grey-300);--font-display:"Jost", "Segoe UI", system-ui, sans-serif;--font-serif:"Fraunces", "Newsreader", Georgia, serif;--font-body:"Raleway", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--radius:14px;--radius-sm:10px;--radius-pill:999px;--stroke:1.5px;--ease:cubic-bezier(.2, .6, .2, 1);--dur:.24s}@media (prefers-color-scheme:dark){:root{--bg:var(--navy-900);--surface:var(--navy-800);--text:var(--cream);--text-muted:var(--grey-500);--accent:var(--cyan-500);--node:var(--cyan-500);--cta:var(--rosa-500);--border:#16305c}}:root[data-theme=dark]{--bg:var(--navy-900);--surface:var(--navy-800);--text:var(--cream);--text-muted:var(--grey-500);--accent:var(--cyan-500);--node:var(--cyan-500);--cta:var(--rosa-500);--border:#16305c}:root[data-theme=light]{--bg:var(--oat);--surface:#fff;--text:var(--warm-ink);--text-muted:var(--grey-700);--accent:var(--cyan-700);--node:var(--cyan-500);--cta:var(--rosa-600);--border:var(--grey-300)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}:root,:host{--font-sans:var(--font-geist), system-ui, -apple-system, sans-serif}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}::selection{background:var(--accent-subtle-bg);color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}html{scroll-behavior:smooth}.card-hover{transition:border-color .2s,box-shadow .2s}.card-hover:hover{border-color:var(--text-tertiary);box-shadow:0 1px 3px #0f172a0a,0 8px 24px -12px #0f172a14}.a11y-high-contrast{--bg-primary:#fff;--bg-subtle:#fff;--text-primary:#000;--text-secondary:#000;--text-tertiary:#1f2937;--border-default:#000;--accent-primary:#00c;--accent-hover:#00e;--accent-text:#009;--accent-subtle-bg:#e6e6ff}.a11y-high-contrast p,.a11y-high-contrast li,.a11y-high-contrast a,.a11y-high-contrast blockquote,.a11y-high-contrast h2,.a11y-high-contrast h3{text-shadow:none}.a11y-high-contrast .prose-post a{text-decoration-thickness:2px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-muted) 40%, var(--bg-subtle) 80%);background-size:200% 100%;animation:2s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dark ::selection{background:var(--accent-subtle-bg);color:var(--text-primary)}
