/* Shared reveal for work surfaces. Only compositor properties; no JS timers or persistent layers. */
:root {
  --office-panel-reveal-duration: 360ms;
  --office-panel-reveal-easing: cubic-bezier(0.16, 1, 0.3, 1);
  --office-panel-reveal-distance: 100vh;
}
.work-hub:not([hidden]),
.office-calls:not([hidden]),
.office-boards:not([hidden]),
.office-messages:not([hidden]) {
  animation: office-panel-reveal var(--office-panel-reveal-duration)
    var(--office-panel-reveal-easing) backwards;
}
@keyframes office-panel-reveal {
  from {
    transform: translateY(var(--office-panel-reveal-distance));
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .work-hub:not([hidden]),
  .office-calls:not([hidden]),
  .office-boards:not([hidden]),
  .office-messages:not([hidden]) {
    animation: none;
  }
}
