/* USAGI 2.0 — presentation only, no changes to calculations or storage */
:root{--dream-pink:#ffb6d5;--dream-lavender:#c8b5ff;--dream-ink:#263450}
body{background-image:radial-gradient(ellipse at 12% 10%,rgba(255,192,220,.22),transparent 40%),radial-gradient(ellipse at 90% 24%,rgba(198,179,255,.2),transparent 45%)!important}
.hero{isolation:isolate;box-shadow:0 10px 35px rgba(231,115,165,.22),0 0 0 2px rgba(255,182,210,.35)!important;transition:box-shadow .4s ease}
.hero::after{content:'✦';position:absolute;right:7%;top:8%;z-index:3;color:#ffe0a1;font-size:26px;text-shadow:0 0 13px #ffb6d5;pointer-events:none;animation:dreamTwinkle 3s ease-in-out infinite}
.usagi-hero-bunny{image-rendering:auto;transition:opacity .35s ease,transform .6s cubic-bezier(.2,.8,.2,1)!important;filter:drop-shadow(0 8px 12px rgba(138,80,124,.13))}
.usagi-hero-bunny.is-changing{opacity:.2!important;transform:translateY(7px) scale(.975)}
.usagi-friends{position:relative;overflow:hidden;border-color:rgba(234,174,209,.42)!important;box-shadow:0 10px 32px rgba(181,124,174,.08)!important}
.usagi-friend{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;will-change:transform}
.usagi-friend:active{transform:scale(.965)!important}
.usagi-friend.is-selected{box-shadow:0 5px 20px rgba(239,137,169,.24)!important}
.usagi-friend img{image-rendering:auto;transition:transform .35s ease!important}
.usagi-friend:hover img{transform:scale(1.045)}
.usagi-friends-title strong{color:#293a59!important}
.usagi-friends-title span{color:#4a556c!important;opacity:1!important}
.usagi-dream-petals{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;border-radius:inherit}
.usagi-dream-petals span{position:absolute;top:-25px;left:var(--x);font-size:var(--size);opacity:0;color:#f7a4c3;filter:drop-shadow(0 2px 2px rgba(236,140,174,.2));animation:dreamFall var(--duration) linear infinite;animation-delay:var(--delay)}
@keyframes dreamFall{0%{transform:translate3d(0,-20px,0) rotate(0deg);opacity:0}10%{opacity:.75}85%{opacity:.6}100%{transform:translate3d(var(--drift),350px,0) rotate(270deg);opacity:0}}
@keyframes dreamTwinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.usagi-dream-petals span,.hero::after{animation:none!important}.usagi-friend,.usagi-hero-bunny{transition:none!important}}
@media(max-width:520px){.usagi-dream-petals span{animation-duration:calc(var(--duration) * 1.4)}}
