/* Blue Bridge Logic — color tokens
   Anchored in steel-bridge blue; warm valley neutrals; one golden-hour accent.
   Light mode is the soul of the brand (daylight, fog lifting). */
:root {
  /* ---- Base: bridge blues (steel, dusk over the valley) ---- */
  --blue-950: #16222E;
  --blue-900: #1D2D3C;  /* river at dusk */
  --blue-800: #263A4D;
  --blue-700: #2E4A62;  /* PRIMARY — steel-bridge blue */
  --blue-600: #3B5E7C;
  --blue-500: #4C7494;  /* weathered steel */
  --blue-400: #7BA0B0;
  --blue-300: #A8C4CF;  /* the bridge's actual paint */
  --blue-200: #CADBE1;
  --blue-100: #E4EEF1;
  --blue-50:  #F1F7F8;

  /* The Novelty Hill bridge is painted a pale powder blue — slightly cyan,
     fog-washed. This alias is for the mark and illustrative line work,
     especially on dusk surfaces. */
  --bridge-paint: var(--blue-300);

  /* ---- Base: warm valley neutrals (paper, fog, river stone, dry grass) ---- */
  --paper:     #FAF8F3;  /* warm white paper */
  --fog:       #F2EFE9;
  --stone-100: #ECE8DF;
  --stone-200: #E0DACE;
  --stone-300: #CCC4B3;
  --stone-400: #A89F8F;
  --stone-500: #837B6C;
  --stone-600: #5F584B;
  --ink-700:   #3E4A56;  /* blue-gray, secondary text */
  --ink-900:   #25303B;  /* primary text */

  /* ---- Base: golden-hour accent (dry field at dusk) — use sparingly ---- */
  --gold-300: #E5C683;
  --gold-400: #CE9D45;
  --gold-500: #B9852E;  /* golden field */
  --gold-600: #8F671E;  /* AA with white text */
  --gold-700: #745213;  /* text-safe on paper */

  /* ---- Semantic: surfaces ---- */
  --surface-page:   var(--paper);
  --surface-card:   #FFFFFF;
  --surface-sunken: var(--fog);
  --surface-tint:   var(--blue-50);   /* quiet blue wash for callouts */
  --surface-dusk:   var(--blue-900);  /* dark band sections (footer, quotes) */

  /* ---- Semantic: text (all AA on --surface-page and --surface-card) ---- */
  --text-body:      var(--ink-900);   /* 12.2:1 on paper */
  --text-secondary: var(--ink-700);   /*  8.0:1 on paper */
  --text-muted:     var(--stone-600); /*  6.0:1 on paper */
  --text-inverse:   var(--paper);     /* on --surface-dusk: 12.6:1 */
  --text-inverse-secondary: var(--blue-200);
  --text-link:      var(--blue-600);  /*  5.6:1 on paper */
  --text-accent:    var(--gold-700);  /*  6.6:1 on paper */

  /* ---- Semantic: borders & lines ---- */
  --border-subtle: #E7E2D7;
  --border-line:   var(--stone-200);
  --border-strong: var(--stone-300);
  --border-inverse: rgba(250, 248, 243, 0.18);

  /* ---- Semantic: interactive ---- */
  --action-primary:        var(--blue-700);
  --action-primary-hover:  var(--blue-800);
  --action-primary-press:  var(--blue-900);
  --action-accent:         var(--gold-600);  /* CTA gold — sparingly */
  --action-accent-hover:   var(--gold-700);
  --focus-ring:            var(--blue-500);

  /* ---- Semantic: status (tuned to the palette, not stoplight defaults) ---- */
  --status-success:    #3E7050;  /* fern */
  --status-success-bg: #E9F0E9;
  --status-warn:       #8A5C12;  /* late-summer grass */
  --status-warn-bg:    #F7ECD7;
  --status-error:      #A03F2E;  /* madrona brick */
  --status-error-bg:   #F7E6E0;
}
