/* The controller owns this transition; never replay the old sheet-rise rule. */
.sheet-modal.sheet-motion-managed[open] > .sheet { animation: none; }
.sheet-motion-running { will-change: transform, opacity; }
body > .app-shell, body > .dock-wrap {
  transition: filter 420ms cubic-bezier(.22, 1, .36, 1);
}
body:has(.sheet-modal.sheet-motion-managed[open]) > .app-shell,
body:has(.sheet-modal.sheet-motion-managed[open]) > .dock-wrap { filter: blur(0px); }
body:has(.sheet-modal.sheet-motion-managed:is([data-sheet-state="opening"], [data-sheet-state="open"])) > .app-shell,
body:has(.sheet-modal.sheet-motion-managed:is([data-sheet-state="opening"], [data-sheet-state="open"])) > .dock-wrap { filter: blur(3px); }
body:has(.sheet-modal.sheet-motion-managed[data-sheet-state="closing"]) > .app-shell,
body:has(.sheet-modal.sheet-motion-managed[data-sheet-state="closing"]) > .dock-wrap {
  transition-duration: 340ms;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.sheet-modal.sheet-motion-managed::backdrop {
  opacity: 0;
  transition: opacity 420ms cubic-bezier(.22, 1, .36, 1);
}
.sheet-modal.sheet-motion-managed[data-sheet-state="opening"]::backdrop,
.sheet-modal.sheet-motion-managed[data-sheet-state="open"]::backdrop { opacity: 1; }
.sheet-modal.sheet-motion-managed[data-sheet-state="closing"]::backdrop {
  opacity: 0;
  transition-duration: 340ms;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
@media (prefers-reduced-motion: reduce) {
  body > .app-shell, body > .dock-wrap { transition: none !important; }
  .sheet-modal.sheet-motion-managed::backdrop { transition: none; }
  .sheet-motion-running { will-change: auto; }
}
