.site-header,.brand img,.header-actions>button{transition:height .35s var(--ease),top .35s var(--ease),width .35s var(--ease),background .35s,box-shadow .35s}
.site-header{animation:header-enter .65s var(--ease) .2s both}.brand img{animation:logo-enter .7s var(--ease) .25s both}.hero-copy h1{animation:fade-up .9s var(--ease) .4s both}.hero-sub,.hero-eyebrow{animation:fade-up .9s var(--ease) .65s both}.hero-actions{animation:fade-up .9s var(--ease) .9s both}.hero-zoom{animation:hero-zoom 36s ease-in-out infinite alternate}.hero-parallax{transform:translate3d(0,var(--parallax,0px),0);will-change:transform}.hero-image{animation:art-enter 1.3s ease both}.tab-indicator{transition:transform .4s var(--ease),width .4s var(--ease)}.game-art,.game-caption{transition:opacity .2s ease,translate .35s var(--ease)}.game-card.switching .game-art,.game-card.switching .game-caption{opacity:0;translate:0 6px}.btn,.guide-card,.toolbar button{transition:transform .3s var(--ease),box-shadow .3s,border-color .3s,background .3s}.guide-image img{transition:transform .65s var(--ease)}.guide-arrow{transition:translate .3s var(--ease)}.promotion-art{transition:transform 1.2s var(--ease)}.progress>span{transition:transform 1.2s var(--ease)}.motion-ready .reveal{opacity:0;translate:0 22px;transition:opacity .8s var(--ease) var(--delay,0ms),translate .8s var(--ease) var(--delay,0ms)}.motion-ready .reveal.in-view{opacity:1;translate:0 0}.motion-ready .progress>span{transform:scaleX(0)}.motion-ready .mission-task.in-view .progress>span{transform:scaleX(1)}.app-float{animation:app-float 7s ease-in-out infinite;animation-play-state:paused}.app-card.in-view .app-float{animation-play-state:running}.toolbar{animation:toolbar-enter .45s var(--ease) both}.mobile-menu:not([hidden]){animation:fade-up .3s var(--ease) both}
@media(hover:hover){.btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #009dff40;border-color:#62d4ff}.guide-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0004}.guide-card:hover .guide-image img{transform:scale(1.04)}.guide-card:hover .guide-arrow{translate:4px 0}.promotion-card:hover .promotion-art{transform:scale(1.025)}.toolbar button:hover{transform:translateY(-2px)}}
@keyframes header-enter{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}@keyframes logo-enter{from{opacity:0;scale:.96}to{opacity:1;scale:1}}@keyframes fade-up{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes art-enter{from{opacity:0}to{opacity:1}}@keyframes hero-zoom{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes app-float{0%,100%{transform:translateY(0) scale(1.012)}50%{transform:translateY(-5px) scale(1.012)}}@keyframes toolbar-enter{from{opacity:0;translate:12px 0}to{opacity:1;translate:0 0}}@keyframes dialog-enter{from{opacity:0;scale:.97}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-parallax,.hero-zoom,.app-float{transform:none!important;will-change:auto}.motion-ready .reveal{opacity:1;translate:none}.motion-ready .progress>span{transform:scaleX(1)}.game-card.switching .game-art,.game-card.switching .game-caption{opacity:1;translate:none}.btn:hover,.guide-card:hover,.guide-card:hover .guide-image img,.promotion-card:hover .promotion-art,.toolbar button:hover{transform:none!important}}
/* Full viewport decoration; all interaction passes through to the page. */
.home-fireworks{position:fixed;inset:0;width:100%;height:100%;z-index:20;pointer-events:none;user-select:none;opacity:1;transition:opacity .12s linear}
@media(prefers-reduced-motion:reduce){.home-fireworks{display:none}}
