/* Living pearl: vector surface only; approved WebGL fluid remains the wake. */
.grove-pearl{position:absolute;width:44px;height:44px;left:-22px;top:-22px;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 1px #1b2c4266);transition:scale .12s ease-out}
.pearl-shell{transform-origin:0 0;animation:pearl-breathe 4.8s ease-in-out infinite;scale:.40}
.seed-corolla{opacity:.9;transform:rotate(calc(-22deg + var(--fairy-bank,0deg) * .5 + var(--unfold,0) * 24deg));filter:drop-shadow(0 0 2px #cef3de66)}
.seed-wing{transform-origin:0 2px;transform-box:view-box}
.seed-wing-left{animation:seed-left-flight 3.2s ease-in-out infinite}
.seed-wing-right{animation:seed-right-flight 4.1s ease-in-out infinite}
.seed-warm{fill:#f3dfaf;opacity:var(--unfold,0);stroke:none}
.petal-vein{fill:none;stroke:#f4ffe6;stroke-width:.5;opacity:.64}
.grove-pointer[data-story=awakening] .pearl-aura,.grove-pointer[data-story=blossom] .pearl-aura{opacity:1}
.pearl-nacre{transform-origin:0 0;animation:pearl-turn 12s ease-in-out infinite}
.pearl-aura{opacity:.68;transition:opacity .18s ease}
.grove-pointer b{width:2px;height:2px;left:-1px;top:-1px;border:0;border-radius:50%;background:#fffbe7;transform:none;box-shadow:0 0 3px #fff7ce;opacity:.8}
.grove-pointer[data-kind=light] b,.grove-pointer[data-kind=ui] b{scale:1;rotate:0;background:#fffbe7}
.grove-pointer[data-kind=light] .pearl-aura{opacity:1}
.grove-pointer.pressed .grove-pearl{scale:.88}
.grove-pointer[data-kind=ui] .grove-pearl{scale:.72}
.grove-pointer:not(.visible) .grove-pearl *,body.paused .grove-pearl *,body.reduced .grove-pearl *{animation-play-state:paused}
@keyframes pearl-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes pearl-turn{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(28deg)}}
@keyframes seed-left-flight{0%,100%{transform:rotate(-10deg) scaleX(.84)}50%{transform:rotate(12deg) scaleX(1.07)}}
@keyframes seed-right-flight{0%,100%{transform:rotate(9deg) scaleX(1.04)}50%{transform:rotate(-15deg) scaleX(.79)}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.grove-pearl *{animation:none!important}.grove-pearl{transition:none}}
