/* New artwork and a different movement route for each of forty stories. */
.life-scene{position:relative;overflow:hidden}.life-scene>img{display:block;width:100%;height:auto;aspect-ratio:auto;animation:none!important;transform:none!important}.life-scene span{pointer-events:none}
.life-burst{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;animation:life-effect-window 6.4s both}.life-sprite{width:min(68vw,510px);max-height:74vh;object-fit:contain;filter:drop-shadow(0 10px 16px #42331b40);animation-duration:6.2s;animation-timing-function:cubic-bezier(.25,.6,.3,1);animation-fill-mode:both}
@keyframes life-effect-window{0%,100%{opacity:0}7%,86%{opacity:1}}
.life-leaves{position:absolute;inset:0;overflow:hidden}.life-leaf{position:absolute;top:-15%;left:var(--x);width:3.2%!important;min-width:9px;max-width:30px;height:auto!important;aspect-ratio:auto!important;object-fit:contain;opacity:0;animation:life-leaf-drift var(--duration) linear var(--delay) infinite!important}
@keyframes life-leaf-drift{0%{opacity:0;transform:translate(0,-20px) rotate(-20deg)}8%{opacity:.9}45%{transform:translate(18px,150px) rotate(130deg)}86%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),460px) rotate(310deg)}}
.life-light{position:absolute;left:calc(var(--x) - 20%);top:calc(var(--y) - 30%);width:40%;height:60%;background:radial-gradient(ellipse,#fff5cbb3 0,#ffe49a70 25%,#ffe6ac28 48%,transparent 72%);mix-blend-mode:screen;transform-origin:center;animation:life-local-light 3.2s ease-in-out infinite alternate}
.life-lamp-light{left:calc(var(--x) - 8%);top:calc(var(--y) - 14%);width:16%;height:28%}
@keyframes life-local-light{from{opacity:.24;transform:scale(.85)}to{opacity:.86;transform:scale(1.14)}}
.life-stars{position:absolute;inset:0}.life-stars i{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#fffbe9;box-shadow:0 0 7px #ffe78e;animation:life-star-twinkle 2.8s ease-in-out var(--delay) infinite alternate}
.life-candle-glow{position:absolute;left:calc(var(--x) - 2%);top:calc(var(--y) - 4%);width:4%;height:8%;background:radial-gradient(ellipse,#fff1ac99,#ffc34d55 30%,transparent 70%);mix-blend-mode:screen;animation:life-flame-flicker 1.3s ease-in-out infinite alternate}.life-fire-glow{left:calc(var(--x) - 5%);top:calc(var(--y) - 8%);width:10%;height:16%}
@keyframes life-flame-flicker{0%,100%{opacity:.3;transform:scale(.85,.9)}25%{opacity:.8;transform:scale(1.1,1.2)}70%{opacity:.5;transform:scale(.9,1.05)}}
@keyframes life-star-twinkle{from{opacity:.15;transform:scale(.7)}to{opacity:1;transform:scale(1.3)}}
.life-butterfly{left:83%;top:72%;width:6%;max-width:48px}.life-scene .gold-shine-layer i{width:2.2%;max-width:20px}.life-water{position:absolute;inset:0}.life-water-canvas{display:none;width:100%;height:100%;pointer-events:none}.life-water-canvas[data-ready="true"]{display:block}
.life-burst.reduced-motion .life-sprite{animation:none!important;transform:none!important;opacity:1}
@media(max-width:600px){.life-sprite{width:80vw}@keyframes life-leaf-drift{0%{opacity:0;transform:translate(0,-10px) rotate(-20deg)}8%{opacity:.9}45%{transform:translate(12px,85px) rotate(130deg)}86%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),260px) rotate(310deg)}}}
@media(prefers-reduced-motion:reduce){.life-leaves,.life-light,.life-stars,.life-water,.life-candle-glow{display:none}.life-butterfly,.life-butterfly span,.life-bees span,.life-scene .gold-shine-layer i{animation:none!important}.life-burst,.life-sprite{animation:none!important}}
.life-fx-01 .life-sprite{animation-name:life-route-01}@keyframes life-route-01{0%{transform:translate(0vw,50vh) rotate(-8deg) scale(0.45)}23%{transform:translate(-4vw,12vh) rotate(5deg) scale(0.9)}47%{transform:translate(3vw,-5vh) rotate(-4deg) scale(1.04)}72%{transform:translate(0vw,-18vh) rotate(0deg) scale(1)}100%{transform:translate(0vw,-45vh) rotate(4deg) scale(0.82)}}
.life-fx-02 .life-sprite{animation-name:life-route-02}@keyframes life-route-02{0%{transform:translate(-45vw,8vh) rotate(-18deg) scale(0.7)}23%{transform:translate(-16vw,0vh) rotate(-4deg) scale(0.9)}47%{transform:translate(0vw,4vh) rotate(0deg) scale(1)}72%{transform:translate(8vw,0vh) rotate(4deg) scale(1.04)}100%{transform:translate(25vw,-12vh) rotate(8deg) scale(0.9)}}
.life-fx-03 .life-sprite{animation-name:life-route-03}@keyframes life-route-03{0%{transform:translate(-55vw,18vh) rotate(-9deg) scale(0.65)}23%{transform:translate(-25vw,9vh) rotate(5deg) scale(0.82)}47%{transform:translate(0vw,0vh) rotate(-3deg) scale(1)}72%{transform:translate(15vw,-6vh) rotate(4deg) scale(0.96)}100%{transform:translate(45vw,-12vh) rotate(-5deg) scale(0.85)}}
.life-fx-04 .life-sprite{animation-name:life-route-04}@keyframes life-route-04{0%{transform:translate(0vw,55vh) rotate(0deg) scale(0.25)}23%{transform:translate(0vw,15vh) rotate(0deg) scale(0.76)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-2vh) rotate(0deg) scale(1.12)}100%{transform:translate(0vw,-15vh) rotate(0deg) scale(1.18)}}
.life-fx-05 .life-sprite{animation-name:life-route-05}@keyframes life-route-05{0%{transform:translate(35vw,28vh) rotate(8deg) scale(0.6)}23%{transform:translate(12vw,10vh) rotate(-4deg) scale(0.9)}47%{transform:translate(0vw,0vh) rotate(3deg) scale(1)}72%{transform:translate(1vw,-4vh) rotate(-2deg) scale(1.02)}100%{transform:translate(-6vw,-15vh) rotate(0deg) scale(0.93)}}
.life-fx-06 .life-sprite{animation-name:life-route-06}@keyframes life-route-06{0%{transform:translate(45vw,-15vh) rotate(25deg) scale(0.6)}23%{transform:translate(20vw,-2vh) rotate(12deg) scale(0.88)}47%{transform:translate(0vw,5vh) rotate(-9deg) scale(1)}72%{transform:translate(-12vw,12vh) rotate(-18deg) scale(0.97)}100%{transform:translate(-24vw,25vh) rotate(-25deg) scale(0.84)}}
.life-fx-07 .life-sprite{animation-name:life-route-07}@keyframes life-route-07{0%{transform:translate(0vw,0vh) rotate(-70deg) scale(0.2)}23%{transform:translate(0vw,0vh) rotate(-22deg) scale(0.65)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,1vh) rotate(4deg) scale(1.05)}100%{transform:translate(0vw,0vh) rotate(0deg) scale(1.2)}}
.life-fx-08 .life-sprite{animation-name:life-route-08}@keyframes life-route-08{0%{transform:translate(-40vw,-25vh) rotate(-12deg) scale(0.5)}23%{transform:translate(-15vw,-8vh) rotate(-6deg) scale(0.88)}47%{transform:translate(0vw,3vh) rotate(0deg) scale(1)}72%{transform:translate(8vw,6vh) rotate(3deg) scale(0.96)}100%{transform:translate(15vw,9vh) rotate(5deg) scale(0.94)}}
.life-fx-09 .life-sprite{animation-name:life-route-09}@keyframes life-route-09{0%{transform:translate(-30vw,40vh) rotate(-8deg) scale(0.4)}23%{transform:translate(-12vw,10vh) rotate(-3deg) scale(0.85)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(8vw,-2vh) rotate(4deg) scale(1.03)}100%{transform:translate(18vw,-7vh) rotate(7deg) scale(1.08)}}
.life-fx-10 .life-sprite{animation-name:life-route-10}@keyframes life-route-10{0%{transform:translate(0vw,70vh) rotate(0deg) scale(0.45)}23%{transform:translate(0vw,25vh) rotate(0deg) scale(0.8)}47%{transform:translate(0vw,8vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,2vh) rotate(0deg) scale(1.1)}100%{transform:translate(0vw,-2vh) rotate(0deg) scale(1.14)}}
.life-fx-11 .life-sprite{animation-name:life-route-11}@keyframes life-route-11{0%{transform:translate(-60vw,0vh) rotate(-18deg) scale(0.6)}23%{transform:translate(-25vw,-7vh) rotate(9deg) scale(0.8)}47%{transform:translate(0vw,5vh) rotate(-9deg) scale(1)}72%{transform:translate(20vw,-5vh) rotate(9deg) scale(0.94)}100%{transform:translate(60vw,0vh) rotate(-12deg) scale(0.72)}}
.life-fx-12 .life-sprite{animation-name:life-route-12}@keyframes life-route-12{0%{transform:translate(0vw,-45vh) rotate(12deg) scale(0.4)}23%{transform:translate(0vw,-12vh) rotate(-6deg) scale(0.8)}47%{transform:translate(0vw,9vh) rotate(3deg) scale(1)}72%{transform:translate(0vw,1vh) rotate(-2deg) scale(0.98)}100%{transform:translate(0vw,0vh) rotate(0deg) scale(1.05)}}
.life-fx-13 .life-sprite{animation-name:life-route-13}@keyframes life-route-13{0%{transform:translate(0vw,22vh) rotate(0deg) scale(0.35)}23%{transform:translate(0vw,4vh) rotate(0deg) scale(0.72)}47%{transform:translate(0vw,-6vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-10vh) rotate(0deg) scale(1.18)}100%{transform:translate(0vw,-35vh) rotate(0deg) scale(1.34)}}
.life-fx-14 .life-sprite{animation-name:life-route-14}@keyframes life-route-14{0%{transform:translate(40vw,15vh) rotate(16deg) scale(0.6)}23%{transform:translate(18vw,4vh) rotate(8deg) scale(0.84)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(-4vw,-4vh) rotate(-3deg) scale(1.03)}100%{transform:translate(-8vw,-2vh) rotate(0deg) scale(0.95)}}
.life-fx-15 .life-sprite{animation-name:life-route-15}@keyframes life-route-15{0%{transform:translate(0vw,-50vh) rotate(-12deg) scale(0.65)}23%{transform:translate(-4vw,-10vh) rotate(-4deg) scale(0.9)}47%{transform:translate(0vw,12vh) rotate(5deg) scale(1)}72%{transform:translate(4vw,6vh) rotate(-3deg) scale(0.98)}100%{transform:translate(12vw,25vh) rotate(8deg) scale(0.85)}}
.life-fx-16 .life-sprite{animation-name:life-route-16}@keyframes life-route-16{0%{transform:translate(-35vw,15vh) rotate(-8deg) scale(0.6)}23%{transform:translate(-8vw,3vh) rotate(-2deg) scale(0.9)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(4vw,-2vh) rotate(2deg) scale(1.06)}100%{transform:translate(0vw,2vh) rotate(0deg) scale(1)}}
.life-fx-17 .life-sprite{animation-name:life-route-17}@keyframes life-route-17{0%{transform:translate(-25vw,-35vh) rotate(-22deg) scale(0.5)}23%{transform:translate(-10vw,-12vh) rotate(-8deg) scale(0.78)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(10vw,-5vh) rotate(8deg) scale(1.07)}100%{transform:translate(25vw,-20vh) rotate(20deg) scale(0.88)}}
.life-fx-18 .life-sprite{animation-name:life-route-18}@keyframes life-route-18{0%{transform:translate(0vw,48vh) rotate(-7deg) scale(0.55)}23%{transform:translate(0vw,10vh) rotate(3deg) scale(0.83)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-3vh) rotate(2deg) scale(1.06)}100%{transform:translate(0vw,5vh) rotate(-2deg) scale(1.02)}}
.life-fx-19 .life-sprite{animation-name:life-route-19}@keyframes life-route-19{0%{transform:translate(0vw,65vh) rotate(5deg) scale(0.4)}23%{transform:translate(-3vw,20vh) rotate(-3deg) scale(0.78)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(2vw,-8vh) rotate(2deg) scale(1.03)}100%{transform:translate(0vw,-16vh) rotate(0deg) scale(1.08)}}
.life-fx-20 .life-sprite{animation-name:life-route-20}@keyframes life-route-20{0%{transform:translate(30vw,-20vh) rotate(-18deg) scale(0.6)}23%{transform:translate(10vw,-6vh) rotate(-9deg) scale(0.86)}47%{transform:translate(0vw,4vh) rotate(0deg) scale(1)}72%{transform:translate(-7vw,10vh) rotate(13deg) scale(1.02)}100%{transform:translate(-15vw,18vh) rotate(22deg) scale(0.88)}}
.life-fx-21 .life-sprite{animation-name:life-route-21}@keyframes life-route-21{0%{transform:translate(-60vw,30vh) rotate(-30deg) scale(0.65)}23%{transform:translate(-20vw,12vh) rotate(-12deg) scale(0.86)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(20vw,-10vh) rotate(12deg) scale(0.96)}100%{transform:translate(55vw,-25vh) rotate(28deg) scale(0.74)}}
.life-fx-22 .life-sprite{animation-name:life-route-22}@keyframes life-route-22{0%{transform:translate(0vw,-40vh) rotate(0deg) scale(0.35)}23%{transform:translate(0vw,-14vh) rotate(0deg) scale(0.7)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,5vh) rotate(0deg) scale(1.08)}100%{transform:translate(0vw,10vh) rotate(0deg) scale(1.02)}}
.life-fx-23 .life-sprite{animation-name:life-route-23}@keyframes life-route-23{0%{transform:translate(35vw,-45vh) rotate(30deg) scale(0.5)}23%{transform:translate(15vw,-10vh) rotate(14deg) scale(0.84)}47%{transform:translate(0vw,8vh) rotate(0deg) scale(1)}72%{transform:translate(-3vw,4vh) rotate(-4deg) scale(0.97)}100%{transform:translate(0vw,10vh) rotate(0deg) scale(0.94)}}
.life-fx-24 .life-sprite{animation-name:life-route-24}@keyframes life-route-24{0%{transform:translate(-45vw,8vh) rotate(0deg) scale(0.3)}23%{transform:translate(-20vw,2vh) rotate(0deg) scale(0.65)}47%{transform:translate(0vw,-4vh) rotate(0deg) scale(1)}72%{transform:translate(8vw,-8vh) rotate(0deg) scale(1.18)}100%{transform:translate(20vw,-12vh) rotate(0deg) scale(1.36)}}
.life-fx-25 .life-sprite{animation-name:life-route-25}@keyframes life-route-25{0%{transform:translate(0vw,55vh) rotate(-14deg) scale(0.6)}23%{transform:translate(0vw,16vh) rotate(-6deg) scale(0.84)}47%{transform:translate(0vw,4vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-1vh) rotate(4deg) scale(1.05)}100%{transform:translate(0vw,4vh) rotate(-3deg) scale(1)}}
.life-fx-26 .life-sprite{animation-name:life-route-26}@keyframes life-route-26{0%{transform:translate(-50vw,-8vh) rotate(-8deg) scale(0.5)}23%{transform:translate(-20vw,0vh) rotate(-3deg) scale(0.8)}47%{transform:translate(0vw,4vh) rotate(0deg) scale(1)}72%{transform:translate(8vw,0vh) rotate(4deg) scale(1.06)}100%{transform:translate(18vw,-4vh) rotate(0deg) scale(1.1)}}
.life-fx-27 .life-sprite{animation-name:life-route-27}@keyframes life-route-27{0%{transform:translate(0vw,20vh) rotate(0deg) scale(0.15)}23%{transform:translate(0vw,8vh) rotate(0deg) scale(0.55)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-5vh) rotate(0deg) scale(1.25)}100%{transform:translate(0vw,-8vh) rotate(0deg) scale(1.42)}}
.life-fx-28 .life-sprite{animation-name:life-route-28}@keyframes life-route-28{0%{transform:translate(-30vw,35vh) rotate(-20deg) scale(0.45)}23%{transform:translate(-12vw,10vh) rotate(-8deg) scale(0.8)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(5vw,-3vh) rotate(3deg) scale(1.02)}100%{transform:translate(8vw,2vh) rotate(6deg) scale(0.96)}}
.life-fx-29 .life-sprite{animation-name:life-route-29}@keyframes life-route-29{0%{transform:translate(45vw,8vh) rotate(8deg) scale(0.5)}23%{transform:translate(20vw,1vh) rotate(4deg) scale(0.82)}47%{transform:translate(0vw,-2vh) rotate(0deg) scale(1)}72%{transform:translate(-10vw,2vh) rotate(-4deg) scale(0.97)}100%{transform:translate(-20vw,8vh) rotate(-8deg) scale(0.92)}}
.life-fx-30 .life-sprite{animation-name:life-route-30}@keyframes life-route-30{0%{transform:translate(-60vw,12vh) rotate(-8deg) scale(0.6)}23%{transform:translate(-22vw,8vh) rotate(4deg) scale(0.86)}47%{transform:translate(0vw,5vh) rotate(-2deg) scale(1)}72%{transform:translate(8vw,-5vh) rotate(3deg) scale(1.07)}100%{transform:translate(18vw,5vh) rotate(0deg) scale(0.98)}}
.life-fx-31 .life-sprite{animation-name:life-route-31}@keyframes life-route-31{0%{transform:translate(0vw,-55vh) rotate(0deg) scale(0.55)}23%{transform:translate(0vw,-15vh) rotate(0deg) scale(0.84)}47%{transform:translate(0vw,8vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,3vh) rotate(0deg) scale(0.97)}100%{transform:translate(0vw,5vh) rotate(0deg) scale(1)}}
.life-fx-32 .life-sprite{animation-name:life-route-32}@keyframes life-route-32{0%{transform:translate(0vw,45vh) rotate(0deg) scale(0.3)}23%{transform:translate(0vw,12vh) rotate(0deg) scale(0.72)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-3vh) rotate(0deg) scale(1.04)}100%{transform:translate(0vw,-8vh) rotate(0deg) scale(1.07)}}
.life-fx-33 .life-sprite{animation-name:life-route-33}@keyframes life-route-33{0%{transform:translate(55vw,10vh) rotate(35deg) scale(0.6)}23%{transform:translate(20vw,3vh) rotate(16deg) scale(0.82)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(-5vw,2vh) rotate(-4deg) scale(1.02)}100%{transform:translate(-2vw,4vh) rotate(0deg) scale(1)}}
.life-fx-34 .life-sprite{animation-name:life-route-34}@keyframes life-route-34{0%{transform:translate(0vw,4vh) rotate(0deg) scale(0.65)}23%{transform:translate(-8vw,2vh) rotate(-12deg) scale(0.86)}47%{transform:translate(-22vw,0vh) rotate(-28deg) scale(1)}72%{transform:translate(-35vw,-4vh) rotate(-48deg) scale(1.08)}100%{transform:translate(-55vw,-10vh) rotate(-75deg) scale(0.94)}}
.life-fx-35 .life-sprite{animation-name:life-route-35}@keyframes life-route-35{0%{transform:translate(0vw,38vh) rotate(-20deg) scale(0.3)}23%{transform:translate(0vw,12vh) rotate(-8deg) scale(0.74)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-4vh) rotate(6deg) scale(1.12)}100%{transform:translate(0vw,-8vh) rotate(0deg) scale(1.16)}}
.life-fx-36 .life-sprite{animation-name:life-route-36}@keyframes life-route-36{0%{transform:translate(-50vw,35vh) rotate(-16deg) scale(0.45)}23%{transform:translate(-22vw,18vh) rotate(-7deg) scale(0.75)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(22vw,-16vh) rotate(6deg) scale(0.92)}100%{transform:translate(50vw,-35vh) rotate(14deg) scale(0.7)}}
.life-fx-37 .life-sprite{animation-name:life-route-37}@keyframes life-route-37{0%{transform:translate(-30vw,-15vh) rotate(-12deg) scale(0.5)}23%{transform:translate(-12vw,-6vh) rotate(-4deg) scale(0.84)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(12vw,-6vh) rotate(4deg) scale(1.06)}100%{transform:translate(25vw,-12vh) rotate(8deg) scale(1.12)}}
.life-fx-38 .life-sprite{animation-name:life-route-38}@keyframes life-route-38{0%{transform:translate(0vw,60vh) rotate(-6deg) scale(0.5)}23%{transform:translate(-4vw,20vh) rotate(3deg) scale(0.8)}47%{transform:translate(0vw,4vh) rotate(0deg) scale(1)}72%{transform:translate(3vw,0vh) rotate(-3deg) scale(1.05)}100%{transform:translate(0vw,4vh) rotate(0deg) scale(1.08)}}
.life-fx-39 .life-sprite{animation-name:life-route-39}@keyframes life-route-39{0%{transform:translate(0vw,35vh) rotate(-30deg) scale(0.4)}23%{transform:translate(0vw,12vh) rotate(-14deg) scale(0.7)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-10vh) rotate(16deg) scale(1.08)}100%{transform:translate(0vw,-22vh) rotate(35deg) scale(0.96)}}
.life-fx-40 .life-sprite{animation-name:life-route-40}@keyframes life-route-40{0%{transform:translate(0vw,65vh) rotate(0deg) scale(0.3)}23%{transform:translate(0vw,25vh) rotate(0deg) scale(0.65)}47%{transform:translate(0vw,0vh) rotate(0deg) scale(1)}72%{transform:translate(0vw,-25vh) rotate(0deg) scale(1.08)}100%{transform:translate(0vw,-70vh) rotate(0deg) scale(0.9)}}
