:root{
  /* --- Base palette: three reds, ink, paper --- */
  --red-signal:#ff1f1f;   /* neon / screen / overlay red - the loudest voice */
  --red-stamp:#c1151f;    /* print + stamp red, the wordmark red */
  --red-blood:#8e0f13;    /* deep red, shadowed lighting */
  --red-ember:#3a0a0a;    /* near-black red, tinted darkness */

  --ink-000:#000000;
  --ink-050:#050505;
  --ink-100:#0d0d0d;
  --ink-200:#161616;
  --ink-300:#222222;
  --ink-400:#2e2e2e;

  --grey-500:#5a5a5a;
  --grey-600:#8a8a8a;
  --grey-700:#b3b3b3;
  --grey-800:#d2cfc9;

  --paper-100:#ede9e2;    /* badge / sticker paper */
  --paper-050:#f6f4f0;
  --white:#ffffff;

  /* --- Semantic: dark is the default TMPO surface --- */
  --surface-page:var(--ink-050);
  --surface-raised:var(--ink-200);
  --surface-card:var(--ink-100);
  --surface-inset:var(--ink-000);
  --surface-paper:var(--paper-100);
  --surface-accent:var(--red-stamp);

  --text-primary:var(--white);
  --text-secondary:var(--grey-700);
  --text-muted:var(--grey-600);
  --text-accent:var(--red-signal);
  --text-on-accent:var(--white);
  --text-on-paper:var(--ink-050);

  --border-hairline:rgba(255,255,255,.14);
  --border-strong:rgba(255,255,255,.32);
  --border-accent:var(--red-stamp);
  --border-on-paper:rgba(5,5,5,.18);

  --focus-ring:var(--red-signal);

  /* --- Light (paper) scope: stickers, print, tickets --- */
  --overlay-scrim:rgba(5,5,5,.72);
  --overlay-red:rgba(255,31,31,.86);
}
[data-theme="paper"],.tmpo-paper{
  --surface-page:var(--paper-100);
  --surface-raised:var(--paper-050);
  --surface-card:var(--white);
  --surface-inset:var(--paper-050);
  --text-primary:var(--ink-050);
  --text-secondary:var(--ink-400);
  --text-muted:var(--grey-500);
  --text-accent:var(--red-stamp);
  --border-hairline:rgba(5,5,5,.16);
  --border-strong:rgba(5,5,5,.4);
}
