.celebration-motion .birthday-confetti,.celebration-motion .birthday-wish-ring{display:none}
.celebration-motion .celebration-prop{position:absolute;pointer-events:none;z-index:5;opacity:0;will-change:transform,opacity}
.celebration-prop img,.celebration-evening-lantern img,.celebration-evening-roses img{width:100%;height:100%;object-fit:contain;display:block}
.celebration-tracing{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:0}
.celebration-tracing path[pathLength]{stroke-dasharray:1;stroke-dashoffset:1}
.oc-playing .celebration-tracing{animation:celebration-emblem 9.8s ease 1.4s both}
.oc-playing .celebration-tracing path[pathLength]{animation:celebration-draw 4.2s ease calc(2.1s + var(--i,0)*.13s) both}
.celebration-star{opacity:0;transform-box:fill-box;transform-origin:center}
.oc-playing .celebration-star{animation:celebration-star-light 2.4s ease calc(3s + var(--i,0)*.32s) both}
.graduation-cap-flight{top:7%;left:calc(9% + var(--i)*15%);width:21%;aspect-ratio:3/2}
.oc-playing .graduation-cap-flight{animation:celebration-cap-toss 5.8s cubic-bezier(.2,.65,.4,1) calc(2.2s + var(--i)*.45s) both}
.graduation-diploma-reveal{left:27%;top:66%;width:46%;aspect-ratio:3/2;transform-origin:center;filter:drop-shadow(0 10px 12px #614c2a18)}
.oc-playing .graduation-diploma-reveal{animation:celebration-diploma 7.5s ease 2.5s both}
.celebration-graduation .graduation-laurel{opacity:0}
.baby-moon-mobile{width:40%;height:32%;left:30%;top:3%;transform-origin:50% 0}
.oc-playing .baby-moon-mobile{animation:celebration-mobile-arrive 2.7s ease 1s both,celebration-mobile-sway 4.7s ease-in-out 3.7s infinite alternate}
.baby-cloud-drift{position:absolute;z-index:3;left:-30%;top:20%;width:46%;height:11%;opacity:0;border-radius:50%;background:radial-gradient(ellipse at 50% 65%,#fffaf1e6 0 33%,#f6eadb77 48%,transparent 70%);filter:blur(4px);pointer-events:none}
.baby-cloud-drift.cloud-right{top:9%;left:auto;right:-25%;width:38%;transform:scaleX(-1)}
.oc-playing .baby-cloud-drift{animation:celebration-cloud-pass 11s ease 1.2s both}.oc-playing .cloud-right{animation-direction:reverse;animation-delay:1.5s}
.celebration-mobile .baby-moon-mobile{width:33%;left:7%;top:4%}.celebration-balloon .baby-moon-mobile{left:58%;width:34%;top:3%}
.olive-branch{height:45%;width:29%;top:39%;transform-origin:50% 100%}.olive-left{left:-4%}.olive-right{right:-4%;scale:-1 1}
.oc-playing .olive-branch{animation:celebration-olive-grow 3s ease 1.6s both,celebration-olive-sway 5s ease-in-out 4.6s infinite alternate}
.aqiqah-dove{width:24%;height:15%;top:10%;left:-30%}.dove-two{top:17%;width:19%}
.oc-playing .aqiqah-dove{animation:celebration-dove-flight 7s ease calc(2s + var(--i)*1.2s) both}
.celebration-evening-lantern{position:absolute;top:0;z-index:5;width:20%;height:34%;opacity:0;transform-origin:50% 0;pointer-events:none}.evening-lantern-0{left:2%}.evening-lantern-1{right:2%;height:29%}
.celebration-evening-lantern i{position:absolute;left:30%;top:65%;width:40%;height:20%;border-radius:50%;background:#ffde95;filter:blur(12px);mix-blend-mode:screen;opacity:.5}
.oc-playing .celebration-evening-lantern{animation:celebration-mobile-arrive 2.6s ease 1s both,celebration-mobile-sway 5s ease-in-out 3.6s infinite alternate}
.celebration-evening-roses{position:absolute;z-index:5;bottom:5%;width:37%;height:26%;opacity:0;pointer-events:none}.evening-roses-0{left:-7%;rotate:-20deg}.evening-roses-1{right:-7%;scale:-1 1;rotate:20deg}
.oc-playing .celebration-evening-roses{animation:celebration-rose-arrive 3s ease 1.8s both}
.celebration-table .celebration-evening-lantern{height:27%;width:17%}.celebration-table .evening-trail{rotate:-5deg}
.birthday-ambient .celebration-tracing,.birthday-ambient .baby-cloud-drift{display:none}
.birthday-ambient .baby-moon-mobile{opacity:.8;animation:celebration-mobile-sway 7s ease-in-out infinite alternate}
.birthday-ambient .olive-branch{opacity:.65;animation:celebration-olive-sway 8s ease-in-out infinite alternate}
.birthday-ambient .celebration-evening-lantern{opacity:.8;animation:celebration-mobile-sway 7s ease-in-out infinite alternate}
.birthday-ambient .celebration-evening-roses{opacity:.65}
@keyframes celebration-cap-toss{0%{opacity:0;transform:translateY(230%) rotate(-35deg) scale(.35)}15%{opacity:1}48%{transform:translateY(-50%) rotate(20deg) scale(1)}78%{opacity:1;transform:translate(15%,-90%) rotate(65deg) scale(.85)}100%{opacity:0;transform:translate(35%,-150%) rotate(95deg) scale(.5)}}
@keyframes celebration-diploma{0%{opacity:0;clip-path:inset(0 50%);transform:translateY(40px) rotate(-10deg) scale(.7)}25%{opacity:1;clip-path:inset(0);transform:translateY(0) rotate(3deg) scale(1)}72%{opacity:1;transform:translateY(-5px) rotate(-2deg)}100%{opacity:0;clip-path:inset(0);transform:translateY(-20px) rotate(4deg) scale(.9)}}
@keyframes celebration-draw{to{stroke-dashoffset:0}}
@keyframes celebration-emblem{0%,100%{opacity:0}20%,75%{opacity:.85}}
@keyframes celebration-star-light{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.2)}100%{opacity:.8;transform:scale(1)}}
@keyframes celebration-mobile-arrive{from{opacity:0;transform:translateY(-55%) rotate(-9deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes celebration-mobile-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes celebration-cloud-pass{0%{opacity:0;translate:0}18%,80%{opacity:.6}100%{opacity:0;translate:220% 10%}}
@keyframes celebration-olive-grow{from{opacity:0;clip-path:inset(100% 0 0);transform:translateY(30px) scale(.65)}to{opacity:.9;clip-path:inset(0);transform:translateY(0) scale(1)}}
@keyframes celebration-olive-sway{from{rotate:-3deg}to{rotate:3deg}}
@keyframes celebration-dove-flight{0%{opacity:0;transform:translate(0,55%) rotate(8deg) scale(.65)}15%,75%{opacity:1}48%{transform:translate(250%,-12%) rotate(-4deg) scale(1)}100%{opacity:0;transform:translate(570%,-80%) rotate(-9deg) scale(.65)}}
@keyframes celebration-rose-arrive{from{opacity:0;transform:translateY(35px) scale(.8)}to{opacity:.85;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.celebration-motion *{animation:none!important;transition:none!important}.birthday-stage .celebration-prop,.birthday-stage .celebration-tracing,.birthday-stage .baby-cloud-drift,.birthday-stage .celebration-evening-lantern,.birthday-stage .celebration-evening-roses{display:none}.birthday-ambient .celebration-prop{transform:none!important;rotate:none!important}}
