:root{color-scheme:dark;--color-ink:#0b0e0f;--color-ink-elevated:#111516;--color-ink-surface:#1a1f20;--color-mineral:#f5f3ed;--color-mineral-secondary:#ece9e1;--color-mineral-border:#d3d0c7;--color-dark-border:#2a3030;--color-graphite-muted:#7c8581;--color-graphite-strong:#505855;--color-signal:#b9ff66;--color-signal-deep:#416f14;--color-signal-wash:#e7f8d2;--color-error:#c84a44;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-30:7.5rem;--space-40:10rem;--space-50:12.5rem;--radius-structural:0;--radius-small:.25rem;--radius-medium:.5rem;--radius-large:.75rem;--motion-t1:90ms;--motion-t2:.17s;--motion-t3:.28s;--motion-t4:.46s;--motion-t5:.68s;--motion-t6:.98s;--ease-e1:cubic-bezier(.2, 0, 0, 1);--ease-e2:cubic-bezier(.16, 1, .3, 1);--ease-e3:cubic-bezier(.4, 0, .2, 1);--ease-e4:cubic-bezier(.22, 1, .36, 1);--font-primary:"Manrope", "Avenir Next", "Segoe UI", sans-serif;--font-functional:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--container-max:85rem;--page-margin:var(--space-4);--grid-columns:4;--grid-gap:var(--space-4)}@media (width>=390px){:root{--page-margin:1.25rem}}@media (width>=430px){:root{--page-margin:var(--space-6)}}@media (width>=768px){:root{--grid-columns:8;--grid-gap:var(--space-6)}}@media (width>=1024px){:root{--page-margin:var(--space-12);--grid-columns:12}}@media (width>=1280px){:root{--page-margin:var(--space-16)}}@media (width>=1440px){:root{--page-margin:var(--space-20)}}@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-variable.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap;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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;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:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-600.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap;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}*,:before,:after{box-sizing:border-box}html{background:var(--color-ink);font-family:var(--font-primary);font-synthesis:none;text-size-adjust:100%;scroll-padding-top:5.5rem}body{overflow-wrap:break-word;min-height:100vh;color:var(--color-mineral);background:var(--color-ink);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}body.nav-open{overflow:hidden}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:.1875rem solid var(--color-signal);outline-offset:.1875rem}::selection{color:var(--color-ink);background:var(--color-signal)}.skip-link{z-index:100;padding:var(--space-3) var(--space-4);color:var(--color-ink);background:var(--color-signal);border-radius:var(--radius-small);font-family:var(--font-functional);transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--motion-t2) var(--ease-e1);font-size:.8125rem;font-weight:600;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3)}.skip-link:focus-visible{transform:translateY(0)}.container{width:min(calc(100% - (2 * var(--page-margin))), var(--container-max));margin-inline:auto}.grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.touch-target{min-block-size:2.75rem;min-inline-size:2.75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
