/* ═══════════════════════════════════════════════════════════════
   J-Bot Theme System — base.css
   Theme-agnostic defaults + canonical --jbot-* token fallbacks.
   Loaded by all dashboards BEFORE a theme file.
   ═══════════════════════════════════════════════════════════════

   Contract: every theme file (cyberpunk.css, indigo.css, ...)
   MUST define the canonical --jbot-* tokens below. Shared components
   (tiles, vitals ribbon, mood readout) resolve colors/fonts via
   these tokens, so swapping theme files instantly re-skins them.

   See themes/README.md for the full contract.
*/

:root {
  /* ── Canonical --jbot-* fallback defaults ────────────────────
     Overridden by every theme file. These values exist only so a
     dashboard rendered WITHOUT a theme file still paints something
     legible (FOUC guard). They aim for indigo-default parity.
  */
  --jbot-bg:         #07080F;
  --jbot-bg-panel:   #131921;
  --jbot-bg-panel-hi:#181F2A;
  --jbot-fg:         #E8ECF4;
  --jbot-fg-dim:     #A0AABE;
  --jbot-fg-muted:   #6B7A99;
  --jbot-border:     rgba(37, 99, 235, 0.15);
  --jbot-border-hi:  rgba(37, 99, 235, 0.3);
  --jbot-accent:     #2563EB;
  --jbot-accent-hi:  #3B82F6;
  --jbot-accent-glow:rgba(37, 99, 235, 0.25);
  --jbot-warn:       #F59E0B;
  --jbot-alert:      #EF4444;
  --jbot-success:    #10B981;
  --jbot-font-mono:  'JetBrains Mono', 'Share Tech Mono', 'Courier New', monospace;
  --jbot-font-ui:    'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  --jbot-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Additive utility: mark elements that should follow the live mood.
   mood-bus.js sets document.documentElement.style.setProperty('--jbot-accent', mood.accent_hex)
   on each jbot:mood event. Any element using var(--jbot-accent) re-paints automatically. */
