/* Wrooms motion contract — one calm transition language across public, app, Room and Workspace surfaces. */
:root {
  --wrooms-motion-fast: 140ms;
  --wrooms-motion-base: 220ms;
  --wrooms-motion-slow: 360ms;
  --wrooms-ease: cubic-bezier(.2,.8,.2,1);
  --wrooms-ease-enter: cubic-bezier(.16,1,.3,1);
}

html { scroll-behavior:smooth; }

.prototype-public main,
.app-shell main,
.page-native,
.page-pad,
.workspace-stage,
[data-wrooms-page] {
  animation:wrooms-page-in var(--wrooms-motion-slow) var(--wrooms-ease-enter) both;
}

:is(a,button,[role="button"],input,textarea,select),
.rounded-2xl,
.rounded-3xl,
[class*="card"],
.nav-tab {
  transition-property:transform,border-color,background-color,color,box-shadow,opacity,filter;
  transition-duration:var(--wrooms-motion-base);
  transition-timing-function:var(--wrooms-ease);
}

:is(a,button,[role="button"]):active:not(:disabled) { transform:translateY(1px) scale(.992); }

[data-ai-mark] img { transition:opacity var(--wrooms-motion-base) var(--wrooms-ease); }

::view-transition-old(root) { animation:wrooms-view-out var(--wrooms-motion-fast) ease both; }
::view-transition-new(root) { animation:wrooms-view-in var(--wrooms-motion-base) var(--wrooms-ease-enter) both; }

@keyframes wrooms-page-in {
  from { opacity:0; transform:translateY(7px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes wrooms-view-out { to { opacity:.78; } }
@keyframes wrooms-view-in {
  from { opacity:.72; transform:translateY(4px); }
  to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after {
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
