/* Motion shows state changes and reading order. Content is visible without JS. */
:root { --motion-enter:cubic-bezier(.16,1,.3,1); --motion-travel:cubic-bezier(.76,0,.24,1); }
.app-view,[data-settings-page] { animation:none; }
button { transition:background .2s,border-color .2s,color .2s,box-shadow .25s; }
button:active { transform:none; filter:brightness(1.16); }
.bottom-nav button .icon { transition:color .22s,transform .32s var(--motion-enter); }
.bottom-nav button.active .icon { transform:translateY(-2px); }
.bottom-nav button.active::after { animation:nav-signal .35s var(--motion-enter); }
.rmm-reui [data-slot="event-calendar-content"] { animation:calendar-arrive .34s var(--motion-enter); }
[data-slot="dropdown-menu-content"],[data-slot="popover-content"] { animation:menu-arrive .22s var(--motion-enter); transform-origin:top; }
dialog[open] { animation:sheet-arrive .38s var(--motion-enter); }
dialog.is-closing { animation:sheet-depart .17s ease-in forwards; }
html.app-paused [data-slot="event-calendar-content"] { animation-play-state:paused; }
@keyframes calendar-arrive { from { opacity:.2; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes menu-arrive { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@keyframes nav-signal { from { opacity:.2; } to { opacity:1; } }
@keyframes sheet-arrive { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes sheet-depart { to { opacity:0; transform:translateY(12px); } }
@media(max-width:600px) {
 @keyframes sheet-arrive { from { opacity:.2; transform:translateY(64px); } to { opacity:1; transform:none; } }
 @keyframes sheet-depart { to { opacity:0; transform:translateY(35px); } }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

[data-native-submit] { display:none !important; }
