/* weather-theme — the shared visual language for the weather sites.
 *
 * Served by the weather-data plane at
 *     https://weather-data.legal2carry.workers.dev/theme.css
 * and <link>ed by every weather page (DAW, RMW, and any future location).
 * Change a value here, run `cd deploy/weather-data && bash deploy.sh`, and it
 * lands on every site within the cache TTL (10 min) — no per-site edit, no
 * publish-weather run.
 *
 * HOW THE PAGES USE IT
 * Pages reference tokens with a fallback that is their own current value:
 *     background: var(--wx-bg, #0d1b2e);
 * so if this sheet ever fails to load, every page still renders exactly as it
 * does today. That is deliberate — a shared stylesheet must not be able to
 * take the sites down, and a half-applied extraction must not ship a page with
 * missing styles.
 *
 * Only :root custom properties live here. Page-specific rules stay in the page.
 * Nothing in this file can override a page's own declarations, so adding a
 * token is always safe.
 *
 * CONTRAST RULE: these pages are read on a phone outdoors. Text colors are
 * solid hex at >=6:1 against --wx-bg — no low-alpha muted text.
 */

:root {
  /* ── Type ─────────────────────────────────────────────────────────── */
  --wx-font:      'Segoe UI', Arial, sans-serif;
  --wx-font-mono: 'Courier New', Courier, monospace;

  /* ── Surfaces / overall brightness ────────────────────────────────── */
  --wx-bg:           #0d1b2e;   /* page background */
  --wx-bg-deep:      #071220;   /* insets, map wells, code blocks */
  --wx-panel:        rgba(255,255,255,0.04);   /* card / bubble fill */
  --wx-panel-hover:  rgba(255,255,255,0.08);
  --wx-panel-solid:  #0d2c5c;   /* opaque bubble (over maps/images) */
  --wx-border:       rgba(120,160,255,0.30);   /* card / bubble edge */
  --wx-border-soft:  rgba(120,160,255,0.16);
  --wx-shadow:       0 2px 10px rgba(0,0,0,0.5);
  --wx-radius:       10px;

  /* ── Header band ──────────────────────────────────────────────────── */
  --wx-header-a:     #0d47a1;   /* gradient ends */
  --wx-header-b:     #1565c0;   /* gradient middle */
  --wx-header-rule:  rgba(120,180,255,0.22);

  /* ── Text ─────────────────────────────────────────────────────────── */
  --wx-text:       #ddeeff;   /* body copy */
  --wx-text-soft:  #cfe4ff;   /* secondary copy, still high contrast */
  --wx-text-dim:   #a3c3e8;   /* labels, captions — the dimmest allowed */
  --wx-text-max:   #ffffff;   /* headlines, live numbers */
  --wx-link:       #90caf9;
  --wx-accent:     #90caf9;   /* the blue everything keys off */
  --wx-accent-2:   #64b5f6;
  --wx-accent-3:   #42a5f5;
  --wx-accent-deep:#1565c0;

  /* ── Weather semantics ────────────────────────────────────────────── */
  --wx-hot:      #e65100;   /* high temps, heat */
  --wx-hot-2:    #ff7043;
  --wx-cold:     #4fc3f7;   /* low temps, cold */
  --wx-cold-2:   #8ec2f7;
  --wx-water:    #4dd0e1;   /* lake / marine / water level */
  --wx-water-2:  #4db6ac;
  --wx-sky:      #b3e5fc;
  --wx-good:     #81c784;   /* all-clear, fresh data */
  --wx-caution:  #ffb74d;   /* advisory */
  --wx-warn:     #ffa726;   /* watch */
  --wx-danger:   #ef5350;   /* warning */
  --wx-info:     #26c6da;   /* everything else */
}
