/* Main Hub adventure portraits only. Battle and character-selection assets are untouched. */
.hubProfile{background:radial-gradient(circle at 20% 35%,rgba(71,180,255,.22),transparent 33%),linear-gradient(90deg,rgba(13,40,69,.8),rgba(12,28,52,.94)),url('../assets/battlefields/forest-temple/arena-v1.webp') center/cover}
.hubProfile:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,216,91,.08),transparent 32%),radial-gradient(circle at 25% 88%,rgba(72,220,171,.13),transparent 29%);mix-blend-mode:screen;z-index:0}
.hubScene{isolation:isolate}
.hubHeroCharacter{left:-9%!important;bottom:-32px!important;width:99%!important;height:178px!important;z-index:2;animation:hubAdventureBreathe 3.8s ease-in-out infinite}
body.hero-bunga .hubHeroCharacter{left:-8%!important;width:93%!important;height:165px!important}
body.hero-sidma .hubHeroCharacter{left:-10%!important;bottom:-32px!important;width:105%!important;height:188px!important;object-fit:contain!important;object-position:center bottom!important;filter:none!important;image-rendering:auto!important}
body.hero-sidma .hubMathFx{left:-16%!important;bottom:-8px!important;width:102%!important;height:158px!important;opacity:.24!important;filter:saturate(1.04) drop-shadow(0 0 7px rgba(255,164,43,.28))!important}
.hubMathFx{position:absolute;left:-12%;bottom:-3px;width:92%;height:145px;object-fit:contain;opacity:.28;filter:saturate(1.08) drop-shadow(0 0 7px rgba(77,194,255,.3));z-index:1;pointer-events:none;animation:hubMathDrift 8s ease-in-out infinite}
.hubMathFx[data-hero="bunga"]{left:-17%;bottom:-11px;width:100%;height:158px;opacity:.24;filter:saturate(.95) drop-shadow(0 0 7px rgba(157,232,96,.28));animation-duration:9.5s}
.hubScenePet{left:62%!important;bottom:-2px!important;width:38%!important;height:79px!important;z-index:3;animation:hubPetReady 2.8s ease-in-out infinite}
.hubScenePet[data-pet="aurora"]{left:55%!important;width:47%!important;height:86px!important}
.hubScenePet[data-pet="arif"]{left:62%!important;width:37%!important;height:78px!important}
.hubScenePet[data-pet="pembaris"]{left:60%!important;width:40%!important;height:82px!important}
.hubScenePet[data-pet="tiko"]{left:60%!important;width:42%!important;height:82px!important}
@keyframes hubAdventureBreathe{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-2px) rotate(.25deg)}}
@keyframes hubMathDrift{0%,100%{transform:rotate(-2deg) scale(.98);opacity:.22}50%{transform:rotate(2deg) scale(1.03);opacity:.32}}
@keyframes hubPetReady{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@media(max-width:380px){.hubHeroCharacter{left:-11%!important;width:102%!important;height:174px!important}body.hero-bunga .hubHeroCharacter{left:-9%!important;width:95%!important;height:162px!important}.hubMathFx{left:-15%;width:98%}.hubScenePet{left:61%!important}}
.paCoinIcon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
#hubCoins .paCoinIcon{width:1.1em;height:1.1em;margin-right:.18em;vertical-align:-.16em}
@media(prefers-reduced-motion:reduce){.hubHeroCharacter,.hubMathFx,.hubScenePet{animation:none!important}}

/* Wira Chibi hub: keep the source raster crisp and let CSS provide the idle motion. */
body.hero-wirachibi .hubHeroCharacter{height:172px!important;width:96%!important;object-fit:contain!important;object-position:center bottom!important;image-rendering:auto!important;filter:drop-shadow(0 6px 5px rgba(0,0,0,.42))!important;animation:hubAdventureBreathe 3.2s ease-in-out infinite!important;transform-origin:50% 100%!important}
