/* Figma H00: 160ms controls, 200ms dialogs; layout dimensions stay static. */
:root{--motion-fast:160ms;--motion-dialog:200ms;--motion-ease:ease-out}
.btn,.iconbtn,.navitem,.langitem,.saved-view-chip,.card,tbody tr,
.filter-trigger,.filter-option,.blogitem,.blog-filter-chips button,.payment-chips button,
.tabs button,#settings-nav button,.choice-options span,.blog-methods span,
input,select,textarea{
 transition-property:background-color,border-color,box-shadow,color,opacity;
 transition-duration:var(--motion-fast);transition-timing-function:var(--motion-ease)
}
.modal-backdrop{animation:rb-backdrop-in var(--motion-dialog) ease-out}
.modal{animation:dialog-enter var(--motion-dialog) ease-out}
@keyframes rb-backdrop-in{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:#0009;backdrop-filter:blur(7px)}}
@keyframes slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Only a refreshed table fades, not the entire search/filter toolbar. */
#deal-table .table-wrap{animation:table-crossfade var(--motion-fast) ease-out}
.language-track i,.track i{transition:width 300ms ease-out}
.payment-card{transition:opacity 160ms ease-out,border-color 160ms ease-out,background-color 160ms ease-out,box-shadow 160ms ease-out}
@media(max-width:760px){.sidebar{transition:transform 200ms ease-out,box-shadow 200ms ease-out}}

/* H01/H03/H05/H07: animation states, with no change to hit areas. */
.btn.primary{transition-property:background-color,border-color,box-shadow,color,opacity,transform}
@media(hover:hover){.btn.primary:not(:disabled):hover{transform:translateY(-1px)}}
.login-progress{height:3px;margin-top:24px;border-radius:3px;background:#51e6d0;transform-origin:left;animation:rb-login-progress 2s linear both}
@keyframes rb-login-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#caps{overflow:hidden}
.switch{transition:background-color 160ms ease-out}
.switch:disabled{opacity:.4}
.setting-row.is-dragging{box-shadow:0 16px 40px -8px #0009,0 0 18px #51e6d026;opacity:.8}
.payment-method-group{animation:slide-up 200ms ease-out}
.payment-card.locked{opacity:.6}
.payment-card:not(.locked){opacity:1}
.platform-options:not([hidden]){animation:slide-up 160ms ease-out}
.import-steps>div{transition:border-color 220ms ease-out,color 220ms ease-out}
.dropzone.dragover{border-color:#51e6d0;box-shadow:0 0 24px #51e6d026}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
