/* CRT power-off: card squeezes to line, then dot, then gone */
.crt-off {
  transform-origin: center center;
  animation: crt-off 0.6s cubic-bezier(0.2, 0, 0, 1) forwards;
}

@keyframes crt-off {
  0%   { transform: scaleY(1) scaleX(1); filter: brightness(1); opacity: 1; }
  50%  { transform: scaleY(0.005) scaleX(1); filter: brightness(1.5); opacity: 1; }
  85%  { transform: scaleY(0.005) scaleX(0.01); filter: brightness(2); opacity: 0.9; }
  100% { transform: scaleY(0) scaleX(0); filter: brightness(0); opacity: 0; }
}

/* CRT power-on: card expands from dot to full size */
.crt-on {
  transform-origin: center center;
  animation: crt-on 0.5s cubic-bezier(0, 0.2, 0.2, 1) forwards;
}

@keyframes crt-on {
  0%   { transform: scaleY(0) scaleX(0); filter: brightness(2); opacity: 0; }
  30%  { transform: scaleY(0.005) scaleX(0.01); filter: brightness(2); opacity: 0.9; }
  60%  { transform: scaleY(0.005) scaleX(1); filter: brightness(1.5); opacity: 1; }
  100% { transform: scaleY(1) scaleX(1); filter: brightness(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .crt-off { animation: none; opacity: 0; }
  .crt-on { animation: none; }
}
