/* Design tokens + shared base styles. Contract (docs/CONTRACTS.md §6):
   the token NAMES below are fixed; Track C owns the values and the rest of this file,
   Track I (themes) overrides --brand-* per center at runtime from center.theme. */

:root {
  /* Center brand, set from center.theme by JS: theme.primary/accent/background/font */
  --brand-primary: #2f5d8a;
  --brand-accent: #f2b134;
  --brand-bg: #f8f8f6;
  --brand-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --on-primary: #fff;            /* text on --brand-primary; theme.js picks white or near-black */
  --brand-pattern: none;         /* optional background motif (data URL), light mode only */

  /* Neutrals */
  --surface: #ffffff;
  --surface-tint: var(--surface); /* subtle card tint from center.theme.surface_tint */
  --text: #1d1d1f;
  --text-muted: #5f6368;
  --border: #dedede;
  --danger: #b3261e;
  --ok: #1e7b45;

  --radius: 12px;
  --space: 16px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --brand-bg: #151515;
    --surface: #202022;
    --text: #ededed;
    --text-muted: #a0a0a5;
    --border: #3a3a3d;
  }
}

*, *::before, *::after { box-sizing: border-box; }

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

button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: 2px; }
a { color: var(--brand-primary); }
@media (prefers-color-scheme: dark) { a { color: var(--brand-accent); } }
