/* Motion is decorative: never hide content or transform scrolling surfaces. */
body.ui-motion-v2{
  --motion-ease:cubic-bezier(.2,.8,.2,1);
  --motion-short:clamp(90ms,var(--ui-motion-fast,140ms),200ms);
  --motion-medium:clamp(150ms,var(--ui-motion-normal,240ms),360ms);
}
body.ui-motion-v2 .page{
  animation:object-page-arrive var(--motion-short) ease-out backwards!important;
  transform:none!important;filter:none;will-change:auto;
}
body.ui-motion-v2:has(.menu-grid) .page{animation:none!important}
body.ui-motion-v2 .menu-hero,
body.ui-motion-v2 .menu-grid-animated::before,
body.ui-motion-v2 .menu-card.menu-card-animated,
body.ui-motion-v2 .menu-stats .menu-stat,
body.ui-motion-v2 .async-fragment.is-loaded{
  animation:none!important;opacity:1;transform:none!important;will-change:auto!important;
}
body.ui-motion-v2 .menu-card,
body.ui-motion-v2 .menu-card.menu-card-animated{
  transition:translate var(--motion-medium) var(--motion-ease),border-color var(--motion-short) ease,box-shadow var(--motion-medium) ease!important;
}
body.ui-motion-v2 .menu-icon{
  transition:background-color var(--motion-short) ease,border-color var(--motion-short) ease!important;
  transform:none!important;translate:none!important;rotate:none!important;scale:none!important;
  overflow:hidden;contain:paint;isolation:isolate;
}
body.ui-motion-v2 .menu-icon svg{display:block;overflow:hidden;transform:none;filter:none}
body.ui-motion-v2 .menu-card-mark{transition:translate var(--motion-medium) var(--motion-ease),opacity var(--motion-medium) ease!important}
body.ui-motion-v2 .btn,body.ui-motion-v2 .nav a,
body.ui-motion-v2 .header-icon-button,body.ui-motion-v2 .messenger-tool-btn{
  transition:scale var(--motion-short) var(--motion-ease),background-color var(--motion-short) ease,border-color var(--motion-short) ease,color var(--motion-short) ease!important;
}
body.ui-motion-v2 .btn:active:not(:disabled),body.ui-motion-v2 .nav a:active,
body.ui-motion-v2 .header-icon-button:active:not(:disabled),body.ui-motion-v2 .messenger-tool-btn:active:not(:disabled){scale:.98}
body.ui-motion-v2 .btn:hover,body.ui-motion-v2 .nav a:hover{transform:none!important}
body.ui-motion-v2 .menu-card:active{translate:0 0!important}
body.ui-motion-v2 .toast{transition:opacity var(--motion-short) ease,transform var(--motion-medium) var(--motion-ease)!important}
body.ui-motion-v2 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
body.ui-motion-v2 select,body.ui-motion-v2 textarea{
  transition:border-color var(--motion-short) ease,box-shadow var(--motion-short) ease;
}
/* A finite entrance sequence using the existing artwork, without idle loops. */
body.ui-motion-v2 .app-intro{transition:opacity 240ms ease!important}
body.ui-motion-v2 .app-intro-grid{animation:motion-intro-grid 900ms ease-out both!important}
body.ui-motion-v2 .app-intro::before{animation:intro-scan 800ms cubic-bezier(.2,.8,.2,1) 60ms both}
body.ui-motion-v2 .app-intro-ring{animation:motion-intro-ring 780ms var(--motion-ease) both!important}
body.ui-motion-v2 .app-intro-ring-b{animation-delay:70ms!important}
body.ui-motion-v2 .app-intro-ring-c{animation-delay:130ms!important}
body.ui-motion-v2 .app-intro-line{animation:motion-intro-line 740ms var(--motion-ease) 90ms both!important}
body.ui-motion-v2 .app-intro-line-b{animation-delay:150ms!important}
body.ui-motion-v2 .app-intro-core{animation:motion-intro-core 600ms var(--motion-ease) both}
body.ui-motion-v2 .app-intro-mark span{animation:motion-intro-bar 540ms var(--motion-ease) both!important;transform-origin:center bottom}
body.ui-motion-v2 .app-intro-mark span:nth-child(2){animation-delay:55ms!important}
body.ui-motion-v2 .app-intro-mark span:nth-child(3){animation-delay:110ms!important}
body.ui-motion-v2 .app-intro-mark span:nth-child(4){animation-delay:165ms!important}
body.ui-motion-v2 .app-intro-core strong{animation:motion-intro-caption 520ms var(--motion-ease) 110ms both}
body.ui-motion-v2 .app-intro-core p{animation:motion-intro-caption 460ms var(--motion-ease) 200ms both}
body.ui-motion-v2 .app-intro-loader span{animation:motion-intro-loader 820ms var(--motion-ease) 80ms both!important;transform-origin:left}
body.ui-motion-v2 .app-intro :is(.app-intro-grid,.app-intro-ring,.app-intro-line,.app-intro-mark span,.app-intro-loader span){will-change:auto}
@keyframes motion-intro-grid{from{opacity:0}to{opacity:1}}
@keyframes motion-intro-ring{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
@keyframes motion-intro-line{from{opacity:0;scale:.85 1}to{opacity:1;scale:1 1}}
@keyframes motion-intro-core{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes motion-intro-caption{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes motion-intro-bar{from{opacity:0;scale:1 .3}to{opacity:1;scale:1 1}}
@keyframes motion-intro-loader{from{transform:translateX(-105%)}to{transform:translateX(125%)}}
.object-motion-rail{
  position:absolute;left:0;top:0;display:block;height:2px;pointer-events:none;z-index:1;
  border-radius:2px;background:var(--primary,#287b74);transform-origin:left center;
}
.object-motion-rail.is-ready{transition:translate var(--motion-medium) var(--motion-ease),width var(--motion-medium) var(--motion-ease)}
.object-motion-rail[hidden]{display:none}
@media(hover:hover) and (pointer:fine){
  body.ui-motion-v2:not(.ui-motion-off) .menu-card:hover{translate:none;transform:none!important}
  body.ui-motion-v2:not(.ui-motion-off) .menu-card:hover .menu-icon{translate:none;rotate:none;transform:none!important}
  body.ui-motion-v2:not(.ui-motion-off) .menu-card:hover .menu-card-mark{translate:3px 0}
}
@media(hover:none),(pointer:coarse){
  body.ui-motion-v2 .menu-card:hover,body.ui-motion-v2 .menu-card:hover .menu-icon,
  body.ui-motion-v2 .btn:hover,body.ui-motion-v2 .nav a:hover{transform:none!important;translate:none!important;rotate:none!important}
}
@keyframes object-page-arrive{from{opacity:.72}to{opacity:1}}
html.app-motion-disabled body.ui-motion-v2 .page{animation:none!important;opacity:1}
body.ui-motion-v2.ui-motion-off .page,
body.ui-motion-v2.motion-suspended .page{animation:none!important;opacity:1}
body.ui-motion-v2.ui-motion-off .menu-card,
body.ui-motion-v2.ui-motion-off .menu-icon,
body.ui-motion-v2.ui-motion-off .menu-card-mark,
body.ui-motion-v2.ui-motion-off .btn,
body.ui-motion-v2.ui-motion-off .nav a,
body.ui-motion-v2.ui-motion-off .object-motion-rail,
body.ui-motion-v2.motion-suspended .menu-card,
body.ui-motion-v2.motion-suspended .menu-icon,
body.ui-motion-v2.motion-suspended .menu-card-mark,
body.ui-motion-v2.motion-suspended .btn,
body.ui-motion-v2.motion-suspended .nav a,
body.ui-motion-v2.motion-suspended .object-motion-rail{
  transition:none!important;translate:none!important;rotate:none!important;scale:none!important;
}
body.ui-motion-v2.ui-motion-off .object-motion-rail{display:none}
html.app-motion-disabled body.ui-motion-v2 :is(input,select,textarea,.header-icon-button,.messenger-tool-btn),
body.ui-motion-v2:is(.ui-motion-off,.motion-suspended) :is(input,select,textarea,.header-icon-button,.messenger-tool-btn){transition:none!important;scale:none!important}
html.app-motion-disabled body.ui-motion-v2 :is(.app-intro,.app-startup) *,
body.ui-motion-v2:is(.ui-motion-off,.motion-suspended) :is(.app-intro,.app-startup) *,
html.app-motion-disabled body.ui-motion-v2 .app-intro::before,
body.ui-motion-v2:is(.ui-motion-off,.motion-suspended) .app-intro::before{animation:none!important;transition:none!important}
@media(max-width:700px),(pointer:coarse){
  body.ui-motion-v2 .app-intro-ring,body.ui-motion-v2 .app-intro-line{animation-name:motion-intro-grid!important}
}
@media(prefers-reduced-motion:reduce){
  body.ui-motion-v2 :is(input,select,textarea,.header-icon-button,.messenger-tool-btn){transition:none!important;scale:none!important}
  body.ui-motion-v2 :is(.app-intro,.app-startup) *,body.ui-motion-v2 .app-intro::before{animation:none!important;transition:none!important}
  body.ui-motion-v2 .page{animation:none!important;opacity:1}
  body.ui-motion-v2 .menu-card,body.ui-motion-v2 .menu-icon,body.ui-motion-v2 .menu-card-mark,
  body.ui-motion-v2 .btn,body.ui-motion-v2 .nav a,body.ui-motion-v2 .object-motion-rail{
    transition:none!important;translate:none!important;rotate:none!important;scale:none!important;
  }
  body.ui-motion-v2 .object-motion-rail{display:none}
}
