:root {
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur-base: 220ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --dur-ambient: 3200ms; /* @kind other */
  --transition-base: all var(--dur-base) var(--ease-out);
  --press-scale: 0.98; /* @kind other */
  --hover-lift: -1px;
}

@keyframes sylvester-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.86) rotate(0deg); }
  50%      { opacity: 1;    transform: scale(1) rotate(8deg); }
}

@keyframes sylvester-fade-up {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; /* @kind other */ --dur-base: 0ms; /* @kind other */ --dur-slow: 0ms; /* @kind other */ }
}
