/* Minimal resets + global keyframes for pages built on the system */
:root {
  color-scheme: dark;
}
body {
  margin: 0;
  background: var(--surface-page);
  color: var(--text-body);
  font: var(--type-body);
  -webkit-font-smoothing: antialiased;
}
.theme-paper {
  color-scheme: light;
}
::selection {
  background: var(--blood);
  color: var(--bone-bright);
}

/* Marquee / ticker — infinite horizontal scroll (Nº 666, legales, avisos) */
@keyframes odd-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes odd-marquee-reverse {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}
/* Slow blood pulse for live/alert accents */
@keyframes odd-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.35; }
}
@media (prefers-reduced-motion: reduce) {
  [class*="odd-marquee"], .odd-marquee__track { animation: none !important; }
}
