/* ---------------------------------------------------------------------
 * base.css — reset + design tokens ONLY. No component or visual styling
 * lives here on purpose: that's the theme's job (see THEME-CONTRACT.md).
 * Themes are expected to read/override these custom properties rather
 * than fight them with !important or higher specificity.
 * ------------------------------------------------------------------- */

:root {
  /* Color */
  --color-bg: #cfdfe2;
  --color-text: #111111;
  /* muted/accent/border tuned for the #cfdfe2 background, all >= 5:1
   * text contrast against it (stock #666 muted was 4.2:1). */
  --color-muted: #4f5a5c;
  --color-accent: #1f4aa8;
  --color-border: #b3c7cb;
  --color-surface: #e6eff1;

  /* Type */
  --font-body: system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-heading: var(--font-body);
  --font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;

  /* Space (4px scale) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;

  /* Layout */
  --content-max-width: 52rem;
  --page-gutter: var(--space-4);
  --radius: 4px;

  /* Light-only palette: the theme (minima 2.5) has no dark mode, so a
   * dark token set would only pair light text with the light background. */
  color-scheme: light;
}

/* Minimal reset — box model + baseline only, no visual opinions beyond this. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  line-height: 1.5;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

a {
  color: var(--color-accent);
}
