/* 第 8 关：evermore 雪林空手道，作用域 .ev */
.ev{position:absolute;inset:0;overflow:hidden;background:#2f3a34;touch-action:none;user-select:none}
.ev-bg{position:absolute;inset:0}
.ev-bg .art{width:100%;height:100%}
.ev-trees{position:absolute;inset:0;pointer-events:none}
.ev-trees i{position:absolute;opacity:.95;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}
.ev-mist{position:absolute;left:0;right:0;top:250px;height:110px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.35) 60%,rgba(255,255,255,0));pointer-events:none}
.ev-snow{position:absolute;inset:0;pointer-events:none;z-index:1}
.ev-snow i{position:absolute;top:-10px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:.85;animation:evsnow 6s linear infinite}
.ev-snow i:nth-child(odd){width:3px;height:3px;opacity:.6;animation-duration:8s}
.ev-snow i:nth-child(1){left:3%;animation-delay:0s}.ev-snow i:nth-child(2){left:7%;animation-delay:1s}.ev-snow i:nth-child(3){left:11%;animation-delay:2.4s}.ev-snow i:nth-child(4){left:15%;animation-delay:.6s}.ev-snow i:nth-child(5){left:19%;animation-delay:3.2s}.ev-snow i:nth-child(6){left:23%;animation-delay:1.8s}.ev-snow i:nth-child(7){left:27%;animation-delay:4.4s}.ev-snow i:nth-child(8){left:31%;animation-delay:.3s}.ev-snow i:nth-child(9){left:35%;animation-delay:2.9s}.ev-snow i:nth-child(10){left:39%;animation-delay:5.1s}.ev-snow i:nth-child(11){left:43%;animation-delay:1.4s}.ev-snow i:nth-child(12){left:47%;animation-delay:3.8s}.ev-snow i:nth-child(13){left:51%;animation-delay:.9s}.ev-snow i:nth-child(14){left:55%;animation-delay:2.1s}.ev-snow i:nth-child(15){left:59%;animation-delay:4.9s}.ev-snow i:nth-child(16){left:63%;animation-delay:.2s}.ev-snow i:nth-child(17){left:67%;animation-delay:3.4s}.ev-snow i:nth-child(18){left:71%;animation-delay:1.1s}.ev-snow i:nth-child(19){left:75%;animation-delay:5.6s}.ev-snow i:nth-child(20){left:79%;animation-delay:2.6s}.ev-snow i:nth-child(21){left:83%;animation-delay:.7s}.ev-snow i:nth-child(22){left:87%;animation-delay:4.1s}.ev-snow i:nth-child(23){left:91%;animation-delay:1.9s}.ev-snow i:nth-child(24){left:95%;animation-delay:3.1s}.ev-snow i:nth-child(25){left:5%;animation-delay:5.3s}.ev-snow i:nth-child(26){left:45%;animation-delay:6.2s}.ev-snow i:nth-child(27){left:65%;animation-delay:7s}.ev-snow i:nth-child(28){left:85%;animation-delay:6.6s}
@keyframes evsnow{from{transform:translate(0,0)}to{transform:translate(-30px,660px)}}
.ev-girl{position:absolute;left:44px;top:278px;width:112px;height:134px;filter:drop-shadow(0 6px 4px rgba(0,0,0,.35));transition:transform .1s;z-index:2}
.ev-girl .hit{display:none}
.ev-girl.punch .hit{display:block}
.ev-girl.punch .idle{display:none}
.ev-girl.punch{transform:translateX(10px)}
.ev-girl.ouch{transform:translateX(-14px) rotate(-8deg)}
.ev-girl.sad{filter:grayscale(1) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
.ev-girl.pose{transform:translateY(-10px) rotate(-6deg) scale(1.08)}
.ev-ball{position:absolute;left:0;top:0;width:68px;height:68px;margin:-34px 0 0 -34px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.45));z-index:2}
.ev-ball.hit{animation:evhit .55s ease-out forwards}
@keyframes evhit{to{transform:translate(460px,-60px) rotate(720deg);opacity:0}}
.ev-ball.passed{animation:evpass .5s ease-in forwards}
@keyframes evpass{to{transform:translate(-90px,330px) rotate(-200deg);opacity:0}}
.ev-ball.oops{animation:evoops .7s ease-in forwards}
@keyframes evoops{30%{transform:translate(152px,300px) rotate(20deg)}to{transform:translate(152px,420px) rotate(60deg);opacity:0}}
.ev-ball.kept{animation:evkept .8s ease-out forwards}
@keyframes evkept{to{transform:translate(152px,120px) scale(1.3);opacity:0}}
.ev-ball.e .art{filter:drop-shadow(0 0 8px #ffd166)}
.ev-fx{position:absolute;inset:0;pointer-events:none;z-index:3}
.ev-pow{position:absolute;width:70px;height:70px;margin:-35px 0 0 -35px;animation:evpow .7s ease-out forwards}
.ev-pow b{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;font-size:16px;font-weight:900;color:#fff;-webkit-text-stroke:1px #1c1c30;paint-order:stroke fill;text-shadow:2px 2px 0 #1c1c30}
@keyframes evpow{from{transform:scale(.5)}60%{transform:scale(1.15);opacity:1}to{transform:scale(1.2) translateY(-20px);opacity:0}}
.ev-score{position:absolute;left:0;right:0;top:16px;text-align:center;color:#fff;font-weight:900;font-size:15px;text-shadow:0 1px 3px #000;z-index:4}
.ev-say{position:absolute;left:50%;top:150px;transform:translateX(-50%);background:#fff;color:#1c1c30;font-weight:900;font-size:16px;padding:6px 14px;border-radius:999px;border:3px solid #1c1c30;box-shadow:3px 3px 0 #1c1c30;opacity:0;transition:opacity .1s;z-index:4;white-space:nowrap;pointer-events:none}
.ev-say.on{opacity:1}
.ev-tutor{position:absolute;left:50%;top:60px;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#ffd166;font-weight:900;font-size:15px;padding:8px 16px;border-radius:12px;text-align:center;line-height:1.4;z-index:4;transition:opacity .3s;pointer-events:none}
.ev-tutor small{color:#fff;font-size:12px}
.ev-tutor.off{opacity:0}
.ev-tip{position:absolute;left:0;right:0;top:545px;text-align:center;font-size:12px;color:#3a3f4a;font-weight:700;z-index:4}
