/* btr-core.css — reset, BTR design tokens, theme overrides, shared keyframes.
 * Loaded by every BTR-themed page: /index, /404, /3d/{arms,spirals,cube,plane,video,lab}.
 */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }

:root {
  --void:  #0A0807;
  --paper: #ECEAE4;
  --fire:  #FF2200;
  --token: #FFD200;
  --smoke: #1C1A18;
  --ash:   #4A4846;
  --lgrey: #D4D2CC;
  --ink:   #0C0C0A;
}

html[data-theme="yrop"] {
  --void:  #1A0600;
  --paper: #FFE200;
  --fire:  #FF2D00;
  --token: #FF6FAB;
  --smoke: #2D0E00;
  --ash:   #BF7040;
  --lgrey: #FFD000;
  --ink:   #1A0600;
}

html[data-theme="wvpo"] {
  --void:  #160025;
  --paper: #FFF8FF;
  --fire:  #9D3DB5;
  --token: #FF5FA0;
  --smoke: #240038;
  --ash:   #8A5098;
  --lgrey: #EAD0F5;
  --ink:   #160025;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes blink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.3; transform: scale(0.7); }
}

@keyframes spinFwd {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes spinRev {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@keyframes tickerRun {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
