:root{--im-ease:cubic-bezier(.22,.8,.25,1);--im-motion:280ms}
dialog.im-dialog-closing{pointer-events:none}
dialog[open]::backdrop{animation:im-backdrop-in 260ms ease-out both}
dialog.im-dialog-closing::backdrop{animation:im-backdrop-out 180ms ease-in both}
@keyframes im-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes im-backdrop-out{from{opacity:1}to{opacity:0}}
.nav-item,.mobile-nav a,.mobile-nav button,.pf-tabs button,.wallet-tabs button{transition:background-color 160ms ease,color 160ms ease,border-color 180ms ease}
.btn,.pf-primary,.pf-secondary,.game-guide-toggle{transition:transform 140ms var(--im-ease),background-color 160ms ease,border-color 160ms ease}
.btn:active,.pf-primary:active,.pf-secondary:active,.game-guide-toggle:active{transform:translateY(1px) scale(.98)}
.game-cover{transition:transform 280ms var(--im-ease),filter 240ms ease}
@media(hover:hover){@media (hover:hover) and (pointer:fine){.game-cover:hover{transform:translateY(-4px);filter:brightness(1.08)}}}
#sidebar .nav-item[hidden]{display:none}
.im-route-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:16px;color:#bca8d5;font:500 13px var(--display,sans-serif)}
.im-route-loading img{width:52px;height:52px;object-fit:contain}.im-route-loading span{display:grid;gap:10px}.im-route-loading i{display:block;width:90px;height:2px;background:linear-gradient(90deg,transparent,#bd8cff,transparent);animation:im-loading-line 1.2s ease-in-out infinite}
@keyframes im-loading-line{0%,100%{opacity:.25;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}
@media(max-width:760px){
 .sidebar{transition:transform var(--im-motion) var(--im-ease)}
 body .nav-scrim{display:block;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--im-motion) ease,visibility var(--im-motion)}
 body.menu-open .nav-scrim{visibility:visible;opacity:1;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){
 .im-route-loading i{animation:none}
 dialog[open]::backdrop,dialog.im-dialog-closing::backdrop{animation:none}
 .nav-item,.mobile-nav a,.mobile-nav button,.pf-tabs button,.wallet-tabs button,.btn,.pf-primary,.pf-secondary,.game-guide-toggle,.game-cover,.sidebar,body .nav-scrim{transition:none}.btn:active,.pf-primary:active,.pf-secondary:active{transform:none}@media (hover:hover) and (pointer:fine){
 .game-cover:hover{transform:none}}
}
