.iv-flap{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.35s cubic-bezier(.55,.05,.25,1);z-index:1}.iv-flap.open{transform:rotateY(-172deg)}.iv-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.iv-face svg{position:absolute;inset:0;width:100%;height:100%;display:block}.iv-face-back{transform:rotateY(180deg);background:linear-gradient(90deg,#efe7dc,#fffaf2 30%,#f6efe5);box-shadow:inset -12px 0 24px #00000014}.iv-flap.open .iv-face-front{box-shadow:0 30px 50px #00000040}.iv-alive .iv-inside [data-anim] *,.iv-alive .iv-inside [data-anim],.iv-inside [data-tap],.iv-inside [data-tap] *{transform-box:fill-box;transform-origin:center}.iv-alive .iv-inside [data-anim=smoke] .puff{animation:iv-rise 3.6s ease-in infinite}.iv-alive .iv-inside [data-anim=flame] .flick{transform-origin:center bottom;animation:iv-flick .5s ease-in-out infinite alternate}.iv-alive .iv-inside [data-anim=twinkle] .bulb{animation:iv-twinkle 2.4s ease-in-out infinite}.iv-alive .iv-inside [data-anim=bob]{animation:iv-bob 3s ease-in-out infinite}.iv-alive .iv-inside [data-anim=drift] .bit{animation:iv-drift 4s ease-in-out infinite}@keyframes iv-rise{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:.6}to{transform:translateY(-120px) translate(14px) scale(1.7);opacity:0}}@keyframes iv-flick{0%{transform:scaleY(.82) scaleX(1.05)}to{transform:scaleY(1.18) scaleX(.92)}}@keyframes iv-twinkle{0%,to{opacity:1;filter:none}50%{opacity:.55}60%{opacity:1;filter:drop-shadow(0 0 6px #ffe9a8)}}@keyframes iv-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes iv-drift{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(6px) rotate(25deg)}}.iv-alive .iv-inside [data-anim=sway]{transform-origin:center top;animation:iv-sway 3.2s ease-in-out infinite alternate}.iv-alive .iv-inside [data-anim=bubbles] .bub{animation:iv-bubble 2.6s ease-in infinite}.iv-alive .iv-inside [data-anim=rock]{transform-origin:center bottom;animation:iv-rock 3.4s ease-in-out infinite}.iv-alive .iv-inside [data-anim=float]{animation:iv-float 3.6s ease-in-out infinite}.iv-alive .iv-inside [data-anim=beat]{animation:iv-beat 1.6s ease-in-out infinite}.iv-alive .iv-inside [data-anim=glow]{animation:iv-glow 4s ease-in-out infinite alternate}.iv-alive .iv-inside [data-anim=wave] .wv{animation:iv-wave 4s ease-in-out infinite alternate}.iv-alive .iv-inside [data-anim=wave] .wv2{animation-duration:5.2s;animation-direction:alternate-reverse}.iv-alive .iv-inside [data-anim=fall] .flake{animation:iv-fall 5s linear infinite}@keyframes iv-sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}@keyframes iv-bubble{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-70px) translate(6px);opacity:0}}@keyframes iv-rock{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes iv-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(4deg)}}@keyframes iv-beat{0%,60%,to{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(1.04)}45%{transform:scale(1.12)}}@keyframes iv-glow{0%{opacity:.85}to{opacity:1;filter:drop-shadow(0 0 12px rgba(255,200,110,.7))}}@keyframes iv-wave{0%{transform:translate(-18px)}to{transform:translate(18px)}}@keyframes iv-fall{0%{transform:translateY(-40px);opacity:0}10%{opacity:.9}to{transform:translateY(240px);opacity:0}}.iv-inside [data-tap=blow].tapped .candle{animation:iv-blow 1.2s ease-in-out!important}.iv-inside [data-tap=clink].tapped .gl-l{animation:iv-clink-l .6s ease-in-out}.iv-inside [data-tap=clink].tapped .gl-r{animation:iv-clink-r .6s ease-in-out}.iv-inside [data-tap=rock].tapped{animation:iv-rock .5s ease-in-out 2!important}.iv-inside [data-tap=pop].tapped{animation:iv-pop .6s ease-out!important}.iv-inside [data-tap=toss].tapped{animation:iv-toss 1s cubic-bezier(.3,1.3,.5,1)!important}.iv-inside [data-tap=cork].tapped .cork{animation:iv-cork 1.1s ease-out}@keyframes iv-blow{0%{transform:scaleY(1);opacity:1}25%{transform:scaleY(.1) translate(6px);opacity:0}75%{opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes iv-clink-l{50%{transform:rotate(14deg)}}@keyframes iv-clink-r{50%{transform:rotate(-14deg)}}@keyframes iv-toss{40%{transform:translateY(-80px) rotate(360deg)}to{transform:translateY(0) rotate(360deg)}}@keyframes iv-cork{30%{transform:translateY(-120px) rotate(200deg);opacity:1}60%{opacity:0}61%{transform:translateY(0);opacity:0}to{opacity:1}}.iv-inside [data-tap]{cursor:pointer}.iv-inside [data-tap=sizzle].tapped{animation:iv-shake .5s ease-in-out 2}.iv-inside [data-tap=sizzle].tapped~[data-anim=smoke] .puff,.iv-alive .iv-inside [data-anim=smoke]:has(~.tapped) .puff{animation-duration:1.4s}.iv-inside [data-tap=twinkle].tapped{animation:iv-pop .6s ease-out!important}.iv-inside [data-tap=bounce].tapped{animation:iv-hop .7s cubic-bezier(.3,1.6,.5,1)!important}@keyframes iv-shake{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes iv-pop{40%{transform:scale(1.5);filter:drop-shadow(0 0 10px #fff3b0)}}@keyframes iv-hop{40%{transform:translateY(-28px) rotate(-6deg)}}@media(prefers-reduced-motion:reduce){.iv-flap{transition:none}.iv-alive .iv-inside *{animation:none!important}}
