/* Shared motion: feedback without moving the layout or hiding content. */
:root{--nova-motion-ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:nova-site-out .15s ease both}
  ::view-transition-new(root){animation:nova-site-in .3s var(--nova-motion-ease) both}
  button,a.button,a.primary,.account-link,.text-link,.notice-link{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease!important}
  button:not(:disabled):active,a.button:active{scale:.97}
  :is(.notice-card,.discord-card,.premium-panel,.privacy-panel,.leaderboard-panel,.metric,.settings-card,.dashboard-section){transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
  @media(hover:hover) and (pointer:fine){
    :is(.notice-card,.discord-card,.premium-panel,.privacy-panel,.leaderboard-panel,.metric,.settings-card):hover{border-color:#ff416a40;box-shadow:0 12px 32px #0003}
    .orbit-art{animation:nova-orbit-float 7s ease-in-out infinite}
    .orbit-one{animation:nova-orbit-turn 22s linear infinite}
  }
  dialog[open]{animation:nova-dialog-enter .26s var(--nova-motion-ease) both}
  dialog[open]::backdrop{animation:nova-backdrop-enter .2s ease both}
  :is(input,textarea,select):focus{transition:border-color .18s ease,box-shadow .18s ease}
}
@keyframes nova-site-in{from{opacity:.45;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes nova-site-out{to{opacity:.6}}
@keyframes nova-dialog-enter{from{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes nova-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes nova-orbit-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes nova-orbit-turn{from{rotate:0deg}to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
/* Keep scrolling available while removing the browser's visible scroll tracks. */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
html{scrollbar-gutter:auto!important}
*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
/* A transformed body would make a fixed header scroll with its contents. */
html,body{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;filter:none!important;perspective:none!important}
html.nova-motion-fallback body,html.nova-motion-fallback.nova-leaving body{animation:none!important}
body:is(.nova-ui-rewrite,.nova-inner-page,.title-ui-page)>.topbar{position:fixed!important;transform:none!important;translate:none!important;transition-property:background-color,border-color,box-shadow!important;z-index:1000!important}
.community-space>.site-head{position:sticky;top:0;z-index:1000;background:#08090df5;backdrop-filter:blur(18px)}
/* Search must sit above the fixed desktop and mobile navigation. */
body>.nova-search-modal{z-index:2147483500!important;isolation:isolate}
body.search-open{overflow:hidden!important}
.nova-search-field input{min-width:0!important;border:0!important;box-shadow:none!important;margin:0!important;background:transparent!important}
.nova-search-field>svg,.nova-search-field>kbd{flex-shrink:0}
/* Pinned catalogue filters share the viewport with, rather than cover, the header. */
body.catalog-page.nova-catalog-pin-ready>.catalog-v2-controls{
  position:fixed!important;top:var(--nova-catalog-pin-top,78px)!important;
  left:var(--nova-catalog-pin-left,16px)!important;right:var(--nova-catalog-pin-right,16px)!important;
  width:auto!important;max-width:none!important;margin:0!important;z-index:990!important;
  transform:none!important;translate:none!important;animation:none!important;
}
body.catalog-page .nova-catalog-pin-placeholder{visibility:hidden!important;pointer-events:none!important}
/* Catalogue filters stay in the page and never follow scrolling. */
body.catalog-page .catalog-v2-controls,
body.catalog-page .catalog-v2-controls.catalog-controls-fixed,
body.catalog-page.nova-catalog-pin-ready>.catalog-v2-controls{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  width:auto!important;transform:none!important;translate:none!important;
}
body.catalog-page .nova-catalog-pin-placeholder,body.catalog-page .catalog-controls-placeholder{display:none!important}
/* Main navigation belongs to the top of the document, not the viewport. */
body:is(.nova-ui-rewrite,.nova-inner-page,.title-ui-page)>.topbar{
  position:absolute!important;
}
body.community-space>.site-head{position:relative!important;top:auto!important}
