*{box-sizing:border-box}:root{--bg-1: #090b1a;--bg-2: #111833;--bg-3: #1b2550;--bg-4: #2a3568;--petal-1: #fffafc;--petal-2: #ffe3f1;--petal-3: #ffbfdc;--petal-edge: #f58ac0;--center-1: #ffd86b;--center-2: #d58b00;--stem-1: #3ddc84;--stem-2: #0f8f47;--leaf-1: #54e38f;--leaf-2: #179b52;--text: #ffffff}html,body,#root{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh}.scene{position:relative;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:20px 14px;background:radial-gradient(circle at 50% 18%,rgba(255,205,234,.18),transparent 22%),linear-gradient(180deg,var(--bg-1),var(--bg-2) 35%,var(--bg-3) 72%,var(--bg-4))}.bg-glow{position:absolute;inset:auto;width:min(82vw,380px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,235,.28),rgba(255,214,235,.04) 55%,transparent 72%);bottom:22%;left:50%;transform:translate(-50%) scale(.2);filter:blur(12px);opacity:0;animation:introGlow 1.6s ease-out forwards}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,transparent 48%,rgba(0,0,0,.24) 100%);pointer-events:none}.bouquet-wrap{position:relative;width:min(100%,460px);min-height:92vh;display:flex;align-items:flex-end;justify-content:center;padding-bottom:110px}.bouquet{position:relative;width:100%;height:min(72vh,620px)}.lily{position:absolute;width:clamp(120px,29vw,175px);height:clamp(260px,52vw,390px);transform-origin:center bottom;opacity:0}.lily-left{left:2%;bottom:40px;animation:lilyEntranceLeft 1.4s .25s ease-out forwards}.lily-center{left:50%;bottom:58px;transform:translate(-50%);z-index:3;animation:lilyEntranceCenter 1.5s .5s ease-out forwards}.lily-right{right:2%;bottom:40px;animation:lilyEntranceRight 1.4s .8s ease-out forwards}.stem{position:absolute;left:50%;bottom:0;width:8px;height:68%;transform:translate(-50%) scaleY(0);transform-origin:bottom center;border-radius:999px;background:linear-gradient(180deg,var(--stem-1),var(--stem-2));box-shadow:0 0 14px #3ddc842e;animation:growStem 1s 1.05s ease-out forwards}.lily-left .stem{animation-delay:1.1s}.lily-center .stem{animation-delay:1.25s}.lily-right .stem{animation-delay:1.4s}.leaf{position:absolute;width:56px;height:22px;bottom:96px;opacity:0;background:linear-gradient(90deg,var(--leaf-1),var(--leaf-2));border-radius:100% 0;filter:drop-shadow(0 0 8px rgba(84,227,143,.18));animation:leafAppear .8s 1.8s ease-out forwards}.leaf-left{left:28%;transform:rotate(-36deg)}.leaf-right{right:24%;transform:rotate(36deg) scaleX(-1)}.flower-head{position:absolute;left:50%;top:0;width:120px;height:120px;transform:translate(-50%) scale(.2) rotate(-14deg);transform-origin:center center;opacity:0;animation:bloomIn 1.2s 1.45s cubic-bezier(.2,.8,.2,1) forwards}.lily-left .flower-head{animation-delay:1.55s}.lily-center .flower-head{animation-delay:1.7s}.lily-right .flower-head{animation-delay:1.9s}.petal{position:absolute;left:50%;top:50%;width:34px;height:62px;border-radius:58% 58% 18% 18%;transform-origin:center 88%;background:linear-gradient(180deg,var(--petal-1) 0%,var(--petal-2) 58%,var(--petal-3) 86%,var(--petal-edge) 100%);box-shadow:inset 0 0 8px #fffffff2,0 0 12px #f58ac02e}.p1{transform:translate(-50%,-50%) rotate(0) translateY(-30px)}.p2{transform:translate(-50%,-50%) rotate(35deg) translateY(-22px)}.p3{transform:translate(-50%,-50%) rotate(-35deg) translateY(-22px)}.p4{transform:translate(-50%,-50%) rotate(72deg) translateY(2px)}.p5{transform:translate(-50%,-50%) rotate(-72deg) translateY(2px)}.p6{transform:translate(-50%,-50%) rotate(180deg) translateY(14px)}.center{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%);border-radius:50%;z-index:3;background:radial-gradient(circle,var(--center-1),var(--center-2));box-shadow:0 0 12px #ffd86b66}.stamen{position:absolute;left:50%;top:50%;width:2px;height:34px;transform-origin:bottom center;background:#f3a300;border-radius:999px;z-index:2}.stamen:after{content:"";position:absolute;top:-5px;left:50%;width:8px;height:8px;transform:translate(-50%);border-radius:50%;background:#ffca2d;box-shadow:0 0 8px #ffca2d73}.s1{transform:translate(-50%,-50%) rotate(-18deg)}.s2{transform:translate(-50%,-50%) rotate(0)}.s3{transform:translate(-50%,-50%) rotate(18deg)}.name{position:absolute;left:50%;bottom:32px;width:100%;margin:0;text-align:center;transform:translate(-50%) translateY(26px);opacity:0;color:var(--text);font-size:clamp(2.2rem,9vw,3.8rem);line-height:1;letter-spacing:clamp(2px,1vw,5px);text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.55),0 0 22px rgba(245,138,192,.42),0 0 42px rgba(255,255,255,.14);animation:titleIn 1s 2.35s ease-out forwards,titleFloat 3s 3.2s ease-in-out infinite}.subtitle{position:absolute;left:50%;bottom:8px;margin:0;transform:translate(-50%) translateY(14px);opacity:0;color:#ffffffd6;font-size:clamp(.95rem,3.2vw,1.15rem);letter-spacing:2px;animation:titleIn 1s 2.7s ease-out forwards}.sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff4fad9;box-shadow:0 0 12px #fff4fa8c;opacity:0}.s1{left:18%;top:22%;animation:sparkle 3.6s 1.2s infinite}.s2{left:26%;top:36%;animation:sparkle 4s 2s infinite}.s3{right:18%;top:20%;animation:sparkle 3.4s 1.7s infinite}.s4{right:24%;top:40%;animation:sparkle 4.3s 2.2s infinite}.s5{left:40%;top:18%;animation:sparkle 3.8s 1.5s infinite}.s6{left:50%;top:30%;animation:sparkle 4.4s 2.4s infinite}.s7{left:34%;top:48%;animation:sparkle 4.2s 2.1s infinite}.s8{right:34%;top:50%;animation:sparkle 3.9s 1.9s infinite}@keyframes introGlow{0%{opacity:0;transform:translate(-50%) scale(.15)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes lilyEntranceLeft{0%{opacity:0;transform:translateY(70px) rotate(-16deg) scale(.82)}to{opacity:1;transform:translateY(0) rotate(-8deg) scale(1)}}@keyframes lilyEntranceCenter{0%{opacity:0;transform:translate(-50%) translateY(80px) scale(.8)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes lilyEntranceRight{0%{opacity:0;transform:translateY(70px) rotate(16deg) scale(.82)}to{opacity:1;transform:translateY(0) rotate(8deg) scale(1)}}@keyframes growStem{0%{transform:translate(-50%) scaleY(0)}to{transform:translate(-50%) scaleY(1)}}@keyframes leafAppear{0%{opacity:0;transform:scale(.4) rotate(0)}to{opacity:1}}@keyframes bloomIn{0%{opacity:0;transform:translate(-50%) scale(.18) rotate(-18deg);filter:blur(6px)}60%{opacity:1;transform:translate(-50%) scale(1.08) rotate(2deg);filter:blur(0)}to{opacity:1;transform:translate(-50%) scale(1) rotate(0);filter:blur(0)}}@keyframes titleIn{0%{opacity:0;transform:translate(-50%) translateY(18px);filter:blur(6px)}to{opacity:1;transform:translate(-50%) translateY(0);filter:blur(0)}}@keyframes titleFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-6px)}}@keyframes sparkle{0%{opacity:0;transform:translateY(8px) scale(.4)}25%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:.8}to{opacity:0;transform:translateY(-18px) scale(.35)}}.lily-left,.lily-center,.lily-right,.lily-left .flower-head,.lily-center .flower-head,.lily-right .flower-head{animation-fill-mode:forwards}.lily-left,.lily-right,.lily-center{will-change:transform,opacity}.bouquet .lily-left{animation:lilyEntranceLeft 1.4s .25s ease-out forwards,swayLeft 4.8s 2.8s ease-in-out infinite}.bouquet .lily-center{animation:lilyEntranceCenter 1.5s .5s ease-out forwards,swayCenter 4.6s 3s ease-in-out infinite}.bouquet .lily-right{animation:lilyEntranceRight 1.4s .8s ease-out forwards,swayRight 5s 3.1s ease-in-out infinite}@keyframes swayLeft{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-4px) rotate(-4deg)}}@keyframes swayCenter{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}@keyframes swayRight{0%,to{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-4px) rotate(4deg)}}@media (max-width: 480px){.bouquet-wrap{width:100%;min-height:100vh;padding-bottom:112px}.bouquet{height:68vh}.lily{width:min(35vw,150px);height:min(62vw,320px)}.lily-left{left:-2%}.lily-right{right:-2%}.flower-head{width:100px;height:100px}.petal{width:30px;height:56px}}
