/* Screen transitions */
[data-screen].active {
  animation: fadeIn 0.3s ease;
}

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

/* Button press */
.btn:active {
  transform: scale(0.97);
}

/* Memory cell flash */
@keyframes cellFlash {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

/* Score reveal */
@keyframes scoreReveal {
  from { transform: scale(0.5); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.result-score-display .score {
  animation: scoreReveal 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Attention item entrance */
@keyframes itemPop {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.attention-item {
  animation: itemPop 0.2s ease-out;
}

/* Feedback flash */
@keyframes correctFlash {
  0% { background: var(--success); }
  100% { background: transparent; }
}

@keyframes wrongFlash {
  0% { background: var(--error); }
  100% { background: transparent; }
}

/* Copy confirmation */
@keyframes copyConfirm {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
