.sprite-image { object-fit: contain; object-position: center; }
#landing-mascot { display:block; width:min(265px,76vw);height:250px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 5px #183e5225); }
.start-pet { min-height:270px;overflow:visible; }
.start-pet::before{inset:13% 10% 8%;}
.hatch-stage {position:relative; display:flex; align-items:center;justify-content:center;width:min(100%,490px);height:350px;margin:14px auto 0;overflow:visible;}
.hatch-stage .hatch-orb {display:block;max-width:none!important;width:min(430px,90vw)!important;height:325px!important;max-height:none!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;filter:drop-shadow(0 10px 7px #183e521a)}
.hatch-ground{bottom:12px}

.mood-sticker,#game-expression{display:none!important}
.creature-visual{overflow:visible}

.analysis-mood-wrap{position:relative;display:grid;place-items:center;width:min(250px,64vw);height:min(250px,64vw);margin:8px auto 18px;isolation:isolate}
.analysis-mood-wrap::before{content:'';position:absolute;z-index:-1;width:82%;height:82%;border:2px dashed #80c7c3;border-radius:50%;animation:analysisOrbit 14s linear infinite}
.analysis-mood-image{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 9px 6px #183e521c);animation:analysisFloat 3.8s ease-in-out infinite}
.analysis-mood-image.mood-swap{animation:analysisMoodIn .65s cubic-bezier(.15,1.3,.3,1) both,analysisFloat 3.8s .65s ease-in-out infinite}
@keyframes analysisMoodIn{0%{opacity:.35;transform:scale(.82) rotate(-7deg)}65%{opacity:1;transform:scale(1.06) rotate(3deg)}100%{opacity:1;transform:scale(1)}}
@keyframes analysisFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes analysisOrbit{to{transform:rotate(360deg)}}

.share-screen{max-width:670px;margin-inline:auto}
.trading-card-frame{width:min(100%,600px);margin:0 auto;border-radius:26px;filter:drop-shadow(0 9px 9px rgba(24,62,82,.12))}
#share-card-canvas{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:22px;background:#fff9ef}
.share-buttons{max-width:600px;margin:22px auto 8px}
.share-buttons button{min-width:0}

@media(max-width:650px){
 #landing-mascot{height:205px;width:min(220px,68vw)}
 .start-pet{min-height:215px}
 .hatch-stage{height:315px;width:min(100%,370px);margin-top:14px}
 .hatch-stage .hatch-orb{width:min(365px,95vw)!important;height:300px!important}
 .analysis-mood-wrap{width:215px;height:215px}
 .trading-card-frame{width:100%}
 #share-card-canvas{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.analysis-mood-image,.analysis-mood-wrap::before{animation:none!important}}
