/* Outrider brand tokens - single source for console and plain views. Aligned to Bascule's PolicyHub system (Liam, 16 Oct
   2026): the logo's navy, a cool grey page with white cards, electric blue for actions, Equine blue and Farm teal, and one
   navy hero tile per page (with the Bascule arc). Teal stays the one "live" accent. */
:root {
  --brand-navy: #050B35;        /* the Bascule logo's navy */
  --brand-teal: #2BD5DB;
  --brand-teal-text: #0E7A80;   /* text-safe teal on light backgrounds */
  --brand-blue: #354CF4;        /* electric blue, PolicyHub family */
  --brand-blue-soft: #7E8CFF;   /* electric blue for dark backgrounds */

  --bg: #F4F5F7;                /* page: PolicyHub's cool grey, with white cards on it */
  --surface: #FFFFFF;           /* cards, panels, the header */
  --surface-2: #EFF1F8;         /* raised elements: inputs, chips, buttons, table headers */
  --border: #E1E3EA;            /* navy at about 12% on white, as PolicyHub's lines */
  --ink: #050B35;
  --muted: #49536E;
  --link: #354CF4;
  --accent: var(--brand-teal);
  --accent-text: var(--brand-teal-text);   /* teal as text: never #2BD5DB on a light background */
  --on-accent: var(--brand-navy);          /* text on a teal fill */
  --tile-fill: var(--accent);              /* state tile map ramp top; tiles past 55% switch to navy text */
  --header-bg: var(--surface);             /* the site header: white on the grey page */

  /* actions (Bascule's electric blue): primary buttons and the selected control; teal keeps "live" */
  --action: #354CF4;
  --action-hover: #1E34D9;
  --on-action: #FFFFFF;

  /* the two lines, everywhere they are told apart (legends, bars, splits): Equine blue, Farm & Ranch teal. Farm's
     teal is darkened in light mode to hold 3:1 against white (charts are graphics) */
  --series-equine: var(--series-1);   /* Equine: Bascule electric blue, wherever the two lines are told apart */
  --series-farm: var(--series-2);     /* Farm: teal (the same values as the charts' second series) */

  /* the hero tile: one navy panel per page for its headline figure, the Bascule arc in its corner */
  --hero-bg: #FFFFFF;                      /* light: the hero is a white card with the grid and arc (Liam, 16 Oct 2026) */
  --hero-ink: #050B35;
  --hero-muted: #49536E;
  --hero-line: rgba(5, 11, 53, 0.12);
  --hero-arc: #131E6D;
  --hero-readout: var(--brand-teal-text);  /* text-safe teal on white */
  --hero-arc-opacity: 0.16;

  /* severity - colour + icon + word, never colour alone */
  --sev-quiet: #7A8299;
  --sev-notice: var(--brand-teal-text);
  --sev-elevated: #354CF4;
  --sev-severe: #B3261E;

  /* county choropleth (console map): sequential green ramp, light to deep, and "no value" */
  --map-ramp-1: #e8f1ec;
  --map-ramp-2: #b9d9c7;
  --map-ramp-3: #7fb89a;
  --map-ramp-4: #3f8f68;
  --map-ramp-5: #1f5c40;
  --map-ramp-none: #eceef0;

  /* live map layers (plain views): what is in force in a county */
  --layer-storm: #7B3FE4;
  --layer-fire: #E2461B;
  --layer-flood: #1F78C4;
  --layer-warning: #C2297A;
  --layer-air: #8A6D55;
  --layer-disease: #2E9E6E;
  --layer-wind: #4B1FA8;     /* hurricane-force wind chance, inside the storm cone (V1) */
  --layer-drought: #A8741A;  /* severe drought or worse, beneath the farm book (V1) */
  --map-fill: #D9DEEA;          /* a county with nothing in force */
  --map-edge: #FFFFFF;          /* county borders */
  --map-state: #7D86A3;         /* state borders */

  /* chart series (disease by month): five colours and "other" */
  --series-1: #354CF4;
  --series-2: #0E7A80;
  --series-3: #C2410C;
  --series-4: #A21CAF;
  --series-5: #3B6E8F;
  --series-other: #9AA1B8;
}
[data-theme="dark"] {
  /* desaturated, navy-hinted near-black: brand navy is never a dark background (it stays the light theme's ink) */
  --bg: #0A0C13;          /* page */
  --surface: #11141D;     /* cards, panels */
  --surface-2: #171B27;   /* raised elements: inputs, chips, buttons, table headers */
  --border: #252A3A;
  --ink: #E8EAF2;
  --muted: #8E96AD;
  --link: #7E8CFF;
  --accent: var(--brand-teal);
  --accent-text: var(--brand-teal);
  --on-accent: var(--brand-navy);
  --tile-fill: #0C6B70;    /* deeper teal: light text passes AA (5.2:1) at every step of the ramp (UI-12) */
  --header-bg: var(--bg);

  --action: #354CF4;
  --action-hover: #4A60F7;
  --on-action: #FFFFFF;
  --series-equine: var(--series-1);
  --series-farm: var(--series-2);
  /* the hero tile: a navy-hinted panel, a step above the cards (the page itself stays near-black) */
  --hero-bg: #0E1433;
  --hero-ink: #E8EAF2;
  --hero-muted: #9BA3CC;
  --hero-line: rgba(163, 177, 255, 0.16);
  --hero-arc: #1A2680;
  --hero-readout: var(--brand-teal);
  --hero-arc-opacity: 0.5;

  --sev-quiet: #8E97BD;
  --sev-notice: var(--brand-teal);
  --sev-elevated: #7E8CFF;
  --sev-severe: #FF8A80;

  --map-ramp-1: #263a30;
  --map-ramp-2: #2f6b4f;
  --map-ramp-3: #4a9a72;
  --map-ramp-4: #7fcca3;
  --map-ramp-5: #d2f5e1;
  --map-ramp-none: #2a2e33;

  --layer-storm: #A97DFF;
  --layer-fire: #FF6A3D;
  --layer-flood: #42AAF5;
  --layer-warning: #FF6FB5;
  --layer-air: #C2A68C;
  --layer-disease: #5FD3A0;
  --layer-wind: #C9B0FF;
  --layer-drought: #E0B05A;
  --map-fill: #232838;
  --map-edge: #0A0C13;
  --map-state: #8F9BC8;

  --series-1: #7E8CFF;
  --series-2: #2BD5DB;
  --series-3: #FF8A50;
  --series-4: #E879F9;
  --series-5: #7FB3D5;
  --series-other: #6B7499;
}
[data-theme="dark"] { color-scheme: dark; } [data-theme="light"] { color-scheme: light; }

/* Paper is always light: the dark theme's values give way to the light ones when printing */
@media print {
  [data-theme="dark"] {
    --bg: #FFFFFF; --surface: #FFFFFF; --surface-2: #EFF1F8; --border: #E1E3EA; --ink: #050B35; --muted: #49536E; --link: #354CF4;
    --header-bg: #FFFFFF; --series-equine: var(--series-1); --series-farm: var(--series-2);
    --hero-bg: #FFFFFF; --hero-ink: #050B35; --hero-muted: #49536E; --hero-line: rgba(5, 11, 53, 0.12); --hero-arc: #131E6D; --hero-readout: var(--brand-teal-text);
    --accent-text: var(--brand-teal-text); --tile-fill: var(--accent);
    --sev-quiet: #7A8299; --sev-notice: var(--brand-teal-text); --sev-elevated: #354CF4; --sev-severe: #B3261E;
    --map-ramp-1: #e8f1ec; --map-ramp-2: #b9d9c7; --map-ramp-3: #7fb89a; --map-ramp-4: #3f8f68; --map-ramp-5: #1f5c40;
    --map-ramp-none: #eceef0;
    --layer-storm: #7B3FE4; --layer-fire: #E2461B; --layer-flood: #1F78C4; --layer-warning: #C2297A; --layer-air: #8A6D55; --layer-disease: #2E9E6E; --layer-wind: #4B1FA8; --layer-drought: #A8741A;
    --map-fill: #D9DEEA; --map-edge: #FFFFFF; --map-state: #7D86A3;
    --series-1: #354CF4; --series-2: #0E7A80; --series-3: #C2410C; --series-4: #A21CAF; --series-5: #3B6E8F; --series-other: #9AA1B8;
    color-scheme: light;
  }
}
