.hero-visual{position:relative;display:block;width:100%;height:100%;min-height:0;isolation:isolate}.hero-visual>.hero-visual-layer{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none}.hero-character-art .hero-visual{height:340px;max-height:100%}.scene-explorer .hero-visual{flex:1;min-height:0;transform-origin:50% 86%;filter:drop-shadow(0 6px 4px #10242c9f)}.scene-explorer .hero-visual-layer{animation:none!important}.city-explorer .hero-visual{animation:scene-idle 4s ease-in-out infinite}.gate-explorer.is-walking .hero-visual{animation:scene-walk .32s ease-in-out infinite alternate}.gate-explorer.facing-left .hero-visual{transform:scaleX(-1)}.gate-explorer.facing-left.is-walking .hero-visual{animation:scene-walk-left .32s ease-in-out infinite alternate}.hero-character-art:hover .hero-visual{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.scene-explorer .hero-visual{animation:none!important}}.duelist.player .combat-outfit{position:absolute;inset:0;z-index:3;pointer-events:none}.duelist.player .combat-outfit .hero-visual{height:100%;width:100%}.duelist.player .combat-outfit .hero-visual-layer{width:100%;height:100%;object-fit:contain}