:root {
  font-synthesis: none;
  color-scheme: light;
  --ink: #17243b;
  --ink-soft: #52647e;
  --muted: #8292aa;
  --line: #dce5ef;
  --line-strong: #cad7e6;
  --paper: #ffffff;
  --fog: #f3f6fa;
  --blue: #2464ca;
  --blue-deep: #101d3a;
  --blue-pale: #eaf2ff;
  --mint: #178a76;
  --mint-pale: #e5f6f1;
  --coral: #c66a47;
  --coral-pale: #fff0e8;
  --violet: #7060bb;
  --violet-pale: #f0edfc;
  --shadow: 0 16px 42px rgba(28, 48, 80, 0.08);
  --font-ui: "Geist", sans-serif;
  --font-display: "Geist", sans-serif;
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/geist-latin-wght-normal.woff2") format("woff2");
}

* { box-sizing: border-box; }
html { min-width: 320px; background: #e8edf4; }
body { margin: 0; color: var(--ink); font-family: var(--font-ui); font-size: 14px; letter-spacing: 0; }
button, textarea, select { font: inherit; letter-spacing: 0; }
button { color: inherit; }
button:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(36, 100, 202, 0.26); outline-offset: 2px; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }