.reveal {
  animation: rise 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.reveal-d1 { animation-delay: 0.08s; }
.reveal-d2 { animation-delay: 0.16s; }
.reveal-d3 { animation-delay: 0.24s; }
.reveal-d4 { animation-delay: 0.32s; }

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

.drift-dog {
  animation: drift 1.15s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}

@keyframes drift {
  from { transform: translateY(90px); }
  to { transform: translateY(0); }
}

[data-theme="dark"] .icon-moon { display: none; }
[data-theme="light"] .icon-sun { display: none; }

#lightbox:not([hidden]) { display: flex; }

.top-5 { top: calc(var(--spacing) * 5); }
.right-5 { right: calc(var(--spacing) * 5); }
.max-h-\[80dvh\] { max-height: 80dvh; }

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .drift-dog {
    animation: none;
  }
}
