/* v5 measured raster placement. Source alpha is preserved; no object-fit crop. */
.dino-stage{position:relative;display:block;width:100%;flex:none;isolation:isolate;overflow:visible;line-height:0;pointer-events:none}
.dino-stage[role="button"],.dino-stage[data-action]{pointer-events:auto;cursor:pointer}
.dino-stage>.dino-stage-platform,.dino-stage>.dino-stage-art{position:absolute;display:block;max-width:none;max-height:none;object-fit:fill;margin:0;padding:0;border:0;pointer-events:none}
.dino-stage>.dino-stage-platform{z-index:0;filter:drop-shadow(0 3px 2px #48623720)}
.dino-stage>.dino-stage-contact{position:absolute;display:block;z-index:1;background:#53663b48;border-radius:50%;filter:blur(2px);pointer-events:none}
.dino-stage>.dino-stage-art{z-index:2;filter:none;transform-origin:var(--stage-foot-x) var(--stage-foot-y);transform:scaleX(var(--stage-mirror,1));animation:none}
.dino-stage--home>.dino-stage-art,.dino-stage--appearance>.dino-stage-art,.dino-stage--shop>.dino-stage-art{animation:stageBreath 4.4s ease-in-out infinite}
.dino-stage--home.greet>.dino-stage-art{animation:stageGreet .45s ease-in-out}
@keyframes stageBreath{0%,100%{transform:scaleX(var(--stage-mirror,1)) scaleY(1)}50%{transform:scaleX(var(--stage-mirror,1)) scaleY(1.009)}}
@keyframes stageGreet{0%,100%{transform:scaleX(var(--stage-mirror,1)) scaleY(1)}38%{transform:scaleX(var(--stage-mirror,1)) scaleY(.97)}72%{transform:scaleX(var(--stage-mirror,1)) scaleY(1.025)}}
/* Whole scene height and its source mapping scale together at every phone width. */
.home-scene:has(>.dino-stage--home){height:auto!important;aspect-ratio:400/340;overflow:hidden}
.home-scene>.dino-stage--home{position:absolute;inset:0;z-index:2}
.home-scene:has(>.dino-stage--home)>.scene-background{object-position:center 30%}
.passport-stage:has(>.dino-stage--passport){height:auto!important;aspect-ratio:400/350;overflow:hidden}
.passport-stage>.dino-stage--passport{position:absolute;inset:0;z-index:1}
.passport-stage:has(>.dino-stage--passport)>.scene-background{object-position:center 52%}
.passport-stage:has(>.dino-stage--passport)+.passport-stage-caption{margin-top:4px}
.pet-plot:has(>.dino-stage--flock){height:auto!important;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:33px}
.pet-plot>.dino-stage--flock{position:relative;z-index:1}
.pet-plot:has(>.dino-stage--flock)>.plot-caption{position:relative;left:auto;right:auto;bottom:auto;width:calc(100% - 8px);margin:0 4px;z-index:3;min-height:95px}
.pet-plot:has(>.dino-stage--flock)>.plot-rarity{top:4px;z-index:4}
.pet-plot:has(>.dino-stage--flock)>.plot-active{top:29px;z-index:4}
.appearance-hero:has(>.dino-stage--appearance){height:auto!important;padding:0!important;aspect-ratio:400/400;background-position:center 65%;background-size:cover;overflow:hidden}
.appearance-hero>.dino-stage--appearance{position:absolute;inset:0;z-index:1}
.appearance-hero:has(>.dino-stage--appearance)>.passport-tag{z-index:3;bottom:6px}
.nest-stage:has(>.dino-stage--nest){height:auto!important;aspect-ratio:400/530;overflow:hidden}
.nest-stage:has(>.dino-stage--nest)>.scene-background{object-position:center 65%}
.nest-stage>.dino-stage--nest{position:absolute;inset:0;z-index:3}
.nest-stage:has(>.dino-stage--nest)>.parents-row{left:4%;right:4%;top:1.5%;gap:8%;align-items:flex-start;z-index:4}
.nest-stage:has(>.dino-stage--nest) .nest-parent{width:46%;min-width:0;min-height:0;padding:3px 5px 9px}
.nest-parent>.dino-stage--parent{width:100%}
.egg-card-hero>.dino-stage--shop{position:relative;z-index:1}
.egg-card-hero:has(>.dino-stage--shop-scene){height:auto!important;aspect-ratio:400/310;overflow:hidden}
.egg-card-hero>.dino-stage--shop-scene{position:absolute;inset:0;z-index:1}
.egg-card-hero:has(>.dino-stage--shop-scene)>.scene-background{object-position:center 65%}
.market-art:has(>.dino-stage--market){display:block;height:auto;aspect-ratio:400/350;overflow:visible}
.market-art>.dino-stage--market{position:relative}
.dino-stage--arena{pointer-events:none}
.dino-stage--arena>.dino-stage-contact{filter:blur(1.5px);background:#4f65424d}
@media(prefers-reduced-motion:reduce){.dino-stage>.dino-stage-art{animation:none!important}}
.reduced-motion .dino-stage>.dino-stage-art{animation:none!important}
