/* Short, compositor-friendly feedback. Content is immediately visible and interactive. */
:root{--ease-out:cubic-bezier(.2,.65,.3,1)}
#app{view-transition-name:none}
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
.portal-landscape,.portal-hero-copy,.hero-discovery{animation:none!important}
.scroll-reveal,.scroll-reveal.is-visible{opacity:1;transform:none;transition:none}
.reading-progress{position:fixed;z-index:100;left:0;right:0;top:0;height:2px;background:#deb56a;transform:scaleX(0);transform-origin:left;pointer-events:none}
header{background:#17222b!important;backdrop-filter:none!important;transition:none}
header.header-scrolled{box-shadow:0 3px 12px #0e1b281c}
.hero-discovery,.dungeon-kind{backdrop-filter:none!important}
#nav{position:relative}
#nav>a.active:after{display:none}
.nav-motion-indicator{position:absolute;left:0;bottom:16px;height:2px;background:#dfb66a;width:0;pointer-events:none;border-radius:2px}
.nav-motion-indicator[data-ready]{transition:transform 180ms var(--ease-out),width 180ms var(--ease-out)}
.button{transition:transform 140ms var(--ease-out),background-color 140ms ease,border-color 140ms ease}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0);transition-duration:80ms}
.button.gold:hover{box-shadow:0 3px 0 #b38434}
.button.motion-confirmed{background:#c5dcd0;box-shadow:0 3px 0 #7ca98e;color:#204f37}
.button .ui-icon,.text-link .ui-icon{transition:transform 160ms var(--ease-out)}
.text-link:hover .ui-icon{transform:translateX(2px)}
.product,.dungeon-card,.guide-card,.department,.journey-card{transition:transform 180ms var(--ease-out),border-color 140ms ease}
.product:hover,.dungeon-card:hover,.department:hover,.guide-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #1a303610}
.dungeon-boss-image,.product-art img{transition:transform 220ms var(--ease-out);filter:none!important}
.dungeon-card:hover .dungeon-boss-image{transform:scale(1.02)}
.product:hover .product-art img{transform:scale(1.02)}
dialog{transform-origin:center;will-change:auto}
dialog[open]::backdrop{background:#07121a99;backdrop-filter:none!important;animation:backdrop-in 140ms ease both}
dialog.motion-closing::backdrop{animation:backdrop-out 120ms ease both}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes backdrop-out{from{opacity:1}to{opacity:0}}
#toast{transition:opacity 140ms ease,transform 160ms var(--ease-out);transform:translate(-50%,4px)}
#toast.show{transform:translate(-50%,0)}
.filter-tabs button,.packs button{transition:background-color 120ms ease,color 120ms ease}
.filter-tabs button:active,.packs button:active{transform:none}
.searchbar:focus-within{border-color:#b59560}
.form-field input{transition:border-color 120ms ease}
.close-modal{transition:background-color 120ms ease}
.close-modal:hover{transform:none}
.dashboard-nav a{transition:background-color 120ms ease,color 120ms ease}
@media(max-width:900px){#nav{position:absolute}.nav-motion-indicator{display:none}#nav.motion-menu-out{animation:menu-out 100ms ease both}@keyframes menu-out{to{opacity:0}}}
@media(hover:none),(pointer:coarse){.dungeon-card:hover,.product:hover,.department:hover,.guide-card:hover{transform:none}.dungeon-card:hover .dungeon-boss-image,.product:hover .product-art img{transform:none}}
@media(prefers-reduced-motion:reduce){.nav-motion-indicator[data-ready],.button,.dungeon-card,.product,.department,.guide-card,.journey-card,.dungeon-boss-image,.product-art img,.close-modal,#toast{transition:none!important}dialog[open]::backdrop{animation:none}.button:hover,.button:active{transform:none}}
@media(prefers-reduced-motion:reduce){.product:hover,.dungeon-card:hover,.department:hover,.guide-card:hover,.dungeon-card:hover .dungeon-boss-image,.product:hover .product-art img{transform:none}}
