/* Botanical effects anchored to the original image coordinate plane. */
.flora-magic-layer{position:absolute;left:50%;top:50%;height:var(--plant-height,92%);aspect-ratio:1672/941;width:auto;max-width:none;transform:translate(-50%,-50%) scale(1);pointer-events:none;z-index:1;transition:transform .65s cubic-bezier(.22,1,.36,1);}
.flora-magic-layer *{pointer-events:none;}
.flora-moon{position:absolute;left:35.5%;top:8.5%;width:3.8%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 32%,#fffef5 0%,#ece9da 50%,#b5b6bc 85%,#9296a2 100%);box-shadow:0 0 12px 3px #e8e8fa55,0 0 30px 9px #e8e8fa20;animation:flora-moon-breathe 5.5s ease-in-out infinite;}
.flora-moon::after{content:'';position:absolute;inset:19%;border-radius:50%;background:radial-gradient(circle at 29% 70%,#9195a422 0 12%,transparent 16%),radial-gradient(circle at 72% 28%,#777d9422 0 17%,transparent 23%);}
.flora-dreamseed{position:absolute;left:var(--seed-x);top:var(--seed-y);width:var(--seed-size,3px);height:var(--seed-size,3px);border-radius:50%;background:#fff4e7;box-shadow:0 0 5px 1px #ffeacdcc,0 0 11px 2px #d5baff66;opacity:0;animation:flora-seed-rise var(--seed-duration,5s) var(--seed-delay,0s) linear infinite;}
@keyframes flora-moon-breathe{0%,100%{opacity:.72;transform:translateY(0);filter:brightness(.94);}50%{opacity:1;transform:translateY(-2px);filter:brightness(1.12);}}
@keyframes flora-seed-rise{0%{opacity:0;transform:translate(0,0) scale(.45);}15%{opacity:.8;}55%{opacity:.7;}100%{opacity:0;transform:translate(var(--seed-drift,8px),calc(-1 * var(--fx-rise,90px))) scale(.35);}}
.flora-magic-layer:not(.is-active) *{animation-play-state:paused!important;}
@media(hover:hover) and (pointer:fine){.psq-flora-index .card:hover .flora-magic-layer,.psq-flora-detail .flora-art:hover .flora-magic-layer{transform:translate(-50%,-50%) scale(1.035);}}
.psq-flora-index .card:is(:focus-visible,.psq-revealed) .flora-magic-layer{transform:translate(-50%,-50%) scale(1.035);}
@media(prefers-reduced-motion:reduce){.flora-magic-layer{transition:none!important;transform:translate(-50%,-50%)!important;}.flora-moon{animation:none;opacity:.85;}.flora-dreamseed{display:none;}}
