.flower::before,.flower::after { display: none; }
.flower,.wildflower.flower { width: clamp(14px,1.5vw,23px); height: clamp(32px,4.5vh,57px); }
.flower--discovery { opacity: 1; transform: none; transition: none; }
.flower--discovery.is-bloomed { transform: none; }
.flower__stem { position: absolute; left: 49%; bottom: 0; width: 2px; height: 82%; border-radius: 90% 20% 0 0; background: linear-gradient(90deg,#2b503c,#91a06b); transform-origin: bottom; transform: scaleY(1) rotate(var(--stem-turn,0deg)); transition: transform 1.7s cubic-bezier(.2,.6,.2,1) var(--bloom-delay,0s); }
.flower__leaf { position: absolute; width: 55%; height: 15%; bottom: 28%; background: linear-gradient(25deg,#496c46,#8a9b65); border-radius: 1% 100% 1% 100%; transform-origin: 100% 100%; transition: transform 1.3s ease calc(var(--bloom-delay,0s) + .45s); }
.flower__leaf--left { left: -1%; transform: rotate(18deg); }
.flower__leaf--right { left: 49%; bottom: 42%; transform-origin: 0 100%; transform: scaleX(-1) rotate(18deg); }
.flower__bloom { position: absolute; left: 50%; top: 8%; width: 100%; aspect-ratio: 1; transform: translate(-50%,-10%) scale(1); transition: transform 2s cubic-bezier(.2,.6,.2,1) calc(var(--bloom-delay,0s) + .8s),opacity 1.5s ease calc(var(--bloom-delay,0s) + .4s); filter: drop-shadow(0 1px 2px #132d3433); }
.flower__petal { position: absolute; left: 32%; top: 0; width: 36%; height: 60%; border-radius: 58% 58% 45% 45%; background: radial-gradient(ellipse at 45% 12%,color-mix(in srgb,var(--petal-color),#fff4df 38%),var(--petal-color) 65%,color-mix(in srgb,var(--petal-color),#685466 15%)); transform-origin: 50% 86%; transform: rotate(var(--petal-angle)); box-shadow: inset 1px 0 #fff5df21; }
.flower[data-flower-shape="cosmos"] .flower__petal { left: 26%; width: 48%; border-radius: 48% 48% 40% 40%; }
.flower__center { position: absolute; left: 37%; top: 39%; width: 27%; height: 27%; border-radius: 50%; background: radial-gradient(circle at 40% 30%,#f5dba0,#b3924f 70%); box-shadow: 0 0 1px #584c2a; }
.flower--discovery:not(.is-bloomed) .flower__stem { transform: scaleY(0) rotate(var(--stem-turn,0deg)); }
.flower--discovery:not(.is-bloomed) .flower__leaf { transform: scale(0); }
.flower--discovery:not(.is-bloomed) .flower__bloom { opacity: 0; transform: translate(-50%,70%) scale(.03) rotate(-24deg); }
.wildflower-field--upper .wildflower { scale: .65; }
.wildflower-field--near .wildflower { scale: 1; }
.wildflower-garden.is-restoring .flower * { transition: none; }
.flowers,.wildflower-garden { filter: brightness(var(--garden-light,1)) saturate(var(--garden-saturation,1)); transition: filter 6s ease; }
.wildflower.is-bloomed { animation: stem-sway var(--sway-duration,7s) ease-in-out var(--sway-delay,0s) infinite; transform-origin: bottom center; }
@keyframes stem-sway { 0%,100% { rotate: -1deg; } 50% { rotate: 2deg; } }
@media (max-width:720px) { .flower,.wildflower.flower { width: clamp(13px,3.4vw,19px); height: clamp(28px,5vh,43px); } .wildflower-field--upper .wildflower { scale: .8; } }
@media (max-height:500px) and (orientation:landscape) { .flower,.wildflower.flower { width: 13px; height: 27px; } }
@media (prefers-reduced-motion:reduce) { .flower *, .flowers,.wildflower-garden { transition: none !important; } .wildflower.is-bloomed { animation: none; } }
