/* City-owned design tokens (AC 1.5): a city rebrand edits the VALUES here -
   and only here - never the structure in main.css. Whitebox near-defaults.
   No city-name literals belong in this file (AC 1.4). */
:root {
  /* colour */
  --color-bg: #ffffff;
  --color-text: #1a1a1a;
  --color-muted: #555555;
  /* brand: Sherbet Pop (operator decision 2026-08-12) - dopamine magenta
     accent over soft pastel fields; 4.6:1 on white both ways */
  --color-accent: #db2777;
  --color-accent-contrast: #ffffff;

  /* pastel fields: section + card grounds, never lines or text */
  --color-field-blush: #fce7f3;
  --color-field-sky: #d8ecfd;
  --color-field-butter: #fef9c3;
  --color-field-mint: #dcfce7;
  --color-border: #e0e0e0;
  /* monthly-row highlight in the regular-events table (operator
     2026-08-25). Deliberately NOT --color-accent: the accent is the
     site's call-to-action colour, and reusing it here would make a table
     row look clickable. This blue reads 7.1:1 on white, so the bold row
     stays legible for a low-vision reader rather than relying on hue. */
  --color-monthly: #1d4ed8;
  /* design-note speech bubbles on the blueprint pricing page (operator
     2026-08-25: "I still prefer the notes being a pale yellow").
     Deliberately NOT --color-field-butter itself: a note sits directly
     beneath the plate it explains, and a butter bubble under the
     butter door-price plate read as a clash rather than as an aside
     ("it's clashing with the Membership against the door price
     background"). This is a MUCH paler yellow than butter, so the two
     stay distinct where they touch while the note still reads as a
     yellow sticky rather than a grey box. */
  --color-note-bg: #fffdf0;
  --color-note-line: #e3ddc0;

  /* type: Fredoka leads (headings, wordmark), Nunito Sans follows (reading
     text) - operator pick 2026-08-12. Self-hosted latin variable woff2 in
     static/fonts, declared in main.css; no fonts CDN. */
  --font-display: "Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-size-base: 1rem;
  --line-height-base: 1.6;

  /* spacing scale */
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 2rem;
  --space-5: 4rem;

  /* layout */
  --max-width: 42rem;
  --max-width-wide: 60rem;
  --radius: 6px;

  /* diagram plates: the figure panels the model diagrams sit on. LIGHT
     (operator decision 2026-08-12: one whitebox look, site accent
     everywhere) - the panels share the site ground and the figure
     colours derive from the site palette, darkened where a line needs
     contrast on white. A city rebrand recolours the figures here, same
     as everything else. The alpha blacks are the figure hairlines and
     card fills. */
  /* figure categoricals, validated tell-apart on white (dataviz six-checks,
     2026-08-12, Sherbet Pop set): magenta accent + blue + green + amber,
     with --plate-dim as a DELIBERATE de-emphasis neutral (running costs,
     dashed peer lines) - it sits outside the categorical set on purpose. */
  --plate-bg: var(--color-bg);
  --plate-ink: var(--color-text);
  --plate-muted: var(--color-muted);
  --plate-accent: var(--color-accent);
  --plate-accent-ink: var(--color-accent-contrast);
  --plate-blue: #2563eb;
  --plate-amber: #b45309;
  --plate-amber-ink: #ffffff;
  --plate-green: #16a34a;
  --plate-green-bright: #15803d;
  --plate-green-ink: #ffffff;
  /* sixth categorical (marketing, v16): validated 2026-08-12 in strip
     order with the neutral separating it from green */
  --plate-teal: #0d9488;
  --plate-dim: #6e6a61;
  --plate-dim-ink: #ffffff;
  --plate-node: #ffffff;
  --plate-card: rgba(0, 0, 0, 0.02);
  --plate-line: rgba(0, 0, 0, 0.12);
  --plate-line-strong: rgba(0, 0, 0, 0.18);
  --plate-accent-wash: rgba(219, 39, 119, 0.06);
  --plate-accent-wash-strong: rgba(219, 39, 119, 0.1);
  --plate-accent-line: rgba(219, 39, 119, 0.35);
  --plate-accent-line-strong: rgba(219, 39, 119, 0.5);
  --plate-amber-wash: rgba(180, 83, 9, 0.08);
  --plate-amber-line: rgba(180, 83, 9, 0.5);
  --plate-green-wash: rgba(22, 163, 74, 0.08);
  --plate-green-line: rgba(22, 163, 74, 0.55);
  --plate-ink-faint: rgba(26, 26, 26, 0.35);
  --plate-ink-mid: rgba(26, 26, 26, 0.55);
  --plate-accent-wash-heavy: rgba(219, 39, 119, 0.25);
  --plate-font-display: var(--font-display);
}
