:root{--bg:#f2f4f1;--surface:#ffffff;--ink:#17202b;--muted:#586472;--line:#d5dbd6;--accent:#2f4bd6;--accent-soft:#e3e8fb;--teal:#0e8a7e;--amber:#b5651d;--blossom:#d9668a;--font-ui:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--font-read:var(--font-ui);--step--1:0.875rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.563rem;--step-3:2.441rem;--step-4:clamp(2.6rem,6vw,3.815rem);--radius-s:6px;--radius-l:18px;--max:1180px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#121820;--surface:#18202a;--ink:#e6eaee;--muted:#98a3ae;--line:#2a3440;--accent:#8fa2ff;--accent-soft:#1f2a4d;--teal:#4cc3b6;--amber:#e39a52;--blossom:#f094b1}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3{line-height:1.15;margin:0;letter-spacing:-.01em}p{margin:0 0 1em}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:10}.skip-link:focus{left:1rem;top:1rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.75rem 0 0}.tags li{padding:.15rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.site-footer,.tags li{font-size:var(--step--1)}.site-footer{max-width:var(--max);margin:6rem auto 0;padding:2rem clamp(1.25rem,4vw,3rem) 3rem;color:var(--muted);border-top:1px solid var(--line)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.project-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-weight:500}.project-links a:after{content:" ↗";font-size:.85em}[style*="--pa"]{--pa-ink:color-mix(in srgb,var(--pa) 70%,black);--on-pa:#ffffff}@media (prefers-color-scheme:dark){[style*="--pa"]{--pa-ink:color-mix(in srgb,var(--pa) 60%,white);--on-pa:#121820}}.table-wrap{overflow-x:auto;margin:1.5rem 0}.table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-links a,.site-footer a{display:inline-block;padding:.2rem 0}.site-footer p{margin:0 0 .25rem}