:root {
  /* Base palette — rojo/negro/blanco muestreados directo del arte de marca
     "Los Fármaco-Vigilantes" (src/Assets/*.png): #E22927 -> #ED4F34 es el
     degradado real de fondo, #A61917 su sombra calculada para hover/pressed. */
  --color-black: #0b0b0c;
  --color-black-soft: #17171a;
  --color-black-elevated: #1f2023;
  --color-red: #e22927;
  --color-red-dark: #a61917;
  --color-red-glow: #ed4f34;
  --color-white: #fafaf8;
  --color-paper: #f0ede4;
  --color-paper-dark: #e4ddc9;
  --color-gray-ink: #4a4a4e;
  --color-gray-mist: #8a8a90;
  --color-gold-accent: #c9a227;
  --color-silver-accent: #b4b4bc;
  --color-bronze-accent: #b5732f;
  --color-success: #2e7d4f;
  --color-danger: var(--color-red);

  /* El degradado real del arte de marca, para fondos "hero". */
  --brand-gradient: linear-gradient(160deg, var(--color-red) 0%, var(--color-red-glow) 100%);

  /* Semantic tokens */
  --bg-app: var(--color-black);
  --bg-surface: var(--color-black-soft);
  --bg-surface-elevated: var(--color-black-elevated);
  --bg-card: var(--color-paper);
  --text-on-dark: var(--color-white);
  --text-on-dark-muted: #b9b9bd;
  --text-on-light: var(--color-black);
  --text-on-light-muted: var(--color-gray-ink);
  --accent: var(--color-red);
  --accent-hover: var(--color-red-dark);
  --accent-glow: var(--color-red-glow);
  --border-subtle: rgba(250, 250, 248, 0.12);
  --border-subtle-light: rgba(11, 11, 12, 0.12);

  /* Typography */
  --font-display: 'Oswald', Impact, 'Arial Narrow', sans-serif;
  --font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Courier Prime', 'Courier New', monospace;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  /* Radii & shadows */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 0 3px rgba(237, 79, 52, 0.25);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
}
