/* ── Typography ───────────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0300-0301, U+0303, U+0308, U+0327,
                 U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-primary);
  background: var(--bg-root);
  background-image: var(--gradient-bg-mesh);
  background-attachment: fixed;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
  -webkit-font-smoothing: antialiased;
}

h1 { font-size: 24px; font-weight: 650; letter-spacing: -0.02em; line-height: 1.2; }
h2 { font-size: 20px; font-weight: 625; letter-spacing: -0.015em; line-height: 1.3; }
h3 { font-size: 16px; font-weight: 600; line-height: 1.4; }
h4 { font-size: 14px; font-weight: 600; line-height: 1.5; }

.text-xs   { font-size: 11px; line-height: 1.45; }
.text-sm   { font-size: 13px; line-height: 1.5; }
.text-base { font-size: 14px; line-height: 1.5; }
.text-lg   { font-size: 16px; line-height: 1.4; }
.text-xl   { font-size: 20px; line-height: 1.3; }
.text-2xl  { font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; }
.text-3xl  { font-size: 30px; line-height: 1.1; letter-spacing: -0.025em; }

code, .monospace {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.9em;
}

/* Gradient text utility */
.text-gradient {
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
