/* generated by build.py from uc-muhur-v2/v2/main.html: card clash + scene animations only (verbatim) */
.card.won .in{animation:won .6s ease}
.card.lost .in{animation:lost .5s ease forwards}
@keyframes won{30%{transform:scale(1.12) rotate(-3deg)}60%{transform:scale(1.1) rotate(3deg)}}
@keyframes lost{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}100%{transform:scale(.92);filter:brightness(.5) saturate(.4)}}
.card.glow .f.front{box-shadow:0 0 0 3px var(--gold),0 0 28px rgba(255,201,60,.7)}

@keyframes pop{from{transform:scale(.85);opacity:0}}
.card.lunge-r{animation:lungeR .75s cubic-bezier(.3,1.3,.4,1) both;z-index:3}
.card.lunge-l{animation:lungeL .75s cubic-bezier(.3,1.3,.4,1) both;z-index:3}
@keyframes lungeR{0%{transform:none}35%{transform:translateX(-14%) rotate(-7deg) scale(1.04)}70%{transform:translateX(62%) rotate(5deg) scale(1.14)}100%{transform:translateX(8%) scale(1.06)}}
@keyframes lungeL{0%{transform:none}35%{transform:translateX(14%) rotate(7deg) scale(1.04)}70%{transform:translateX(-62%) rotate(-5deg) scale(1.14)}100%{transform:translateX(-8%) scale(1.06)}}
.card.burn{animation:curl 1.4s ease-in forwards}
.card.burn .f.front{animation:burn 1.4s ease-in forwards}
.card.burn::after{content:"";position:absolute;inset:-3%;border-radius:calc(var(--cw)*.14);pointer-events:none;
  box-shadow:0 0 0 0 rgba(255,122,61,0) inset;animation:charEdge 1.4s ease-in forwards}
@keyframes burn{0%{filter:none}30%{filter:brightness(1.25) sepia(.35)}100%{filter:brightness(.22) saturate(.25) sepia(.9) contrast(1.2)}}
@keyframes curl{0%{transform:none}60%{transform:rotate(6deg) scale(.96)}100%{transform:rotate(11deg) scale(.82) translateY(10%)}}
@keyframes charEdge{40%{box-shadow:0 0 18px 6px rgba(255,140,60,.9) inset}100%{box-shadow:0 0 30px 22px rgba(20,8,4,.95) inset}}
.card.douse{animation:dripDown 1.3s ease-out forwards}
.card.douse .f.front{animation:douse 1.3s ease-out forwards}
@keyframes douse{0%{filter:none}25%{filter:brightness(1.3) hue-rotate(160deg)}100%{filter:grayscale(.85) brightness(.55) blur(.4px)}}
@keyframes dripDown{0%{transform:none}30%{transform:translateY(-3%) scale(1.02)}100%{transform:translateY(9%) scale(.9) rotate(-3deg)}}
.puff{position:absolute;width:30%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(232,240,255,.95) 0%,rgba(232,240,255,.5) 40%,rgba(232,240,255,0) 70%);animation:puff 1.2s ease-out forwards}
@keyframes puff{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.95}100%{opacity:0;transform:translateY(-140%) scale(1.8)}}
.card.absorb{animation:absorb 1.2s cubic-bezier(.5,0,.8,.4) forwards}
.card.absorb .f.front{animation:drain 1.2s ease-in forwards}
.card.absorb::after{content:"";position:absolute;inset:0;border-radius:calc(var(--cw)*.12);pointer-events:none;border:3px solid rgba(120,200,255,.9);animation:ripple 1.2s ease-out forwards}
@keyframes absorb{0%{transform:none}100%{transform:translateX(var(--dir,60%)) scale(.15) rotate(20deg);opacity:0}}
@keyframes drain{0%{filter:none}100%{filter:saturate(.2) brightness(.7)}}
@keyframes ripple{0%{transform:scale(1);opacity:1}100%{transform:scale(1.9);opacity:0}}
.card.swell{animation:swell 1.2s ease-out forwards}
.card.swell .f.front{animation:swellGlow 1.2s ease-out forwards}
@keyframes swell{0%{transform:scale(1)}45%{transform:scale(1.18) rotate(-2deg)}70%{transform:scale(1.1) rotate(2deg)}100%{transform:scale(1.08)}}
@keyframes swellGlow{40%{box-shadow:0 0 0 4px rgba(120,200,255,.9),0 0 30px rgba(120,200,255,.8)}100%{box-shadow:0 0 0 3px var(--gold),0 0 28px rgba(255,201,60,.7)}}
.card.press-r{animation:pressR .95s ease-in-out both} .card.press-l{animation:pressL .95s ease-in-out both}
@keyframes pressR{0%{transform:none}20%{transform:translateX(18%)}35%{transform:translateX(6%)}55%{transform:translateX(26%) rotate(2deg)}70%{transform:translateX(10%)}100%{transform:translateX(34%) rotate(3deg) scale(1.04)}}
@keyframes pressL{0%{transform:none}20%{transform:translateX(-18%)}35%{transform:translateX(-6%)}55%{transform:translateX(-26%) rotate(-2deg)}70%{transform:translateX(-10%)}100%{transform:translateX(-34%) rotate(-3deg) scale(1.04)}}
.card.bignum .n.tl{transform:scale(1.9);transform-origin:top left;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.card .n.tl{transition:transform .25s cubic-bezier(.2,1.4,.4,1),background .25s}
.card.shove-r{animation:shoveR .6s cubic-bezier(.2,.8,.3,1) forwards} .card.shove-l{animation:shoveL .6s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes shoveR{0%{transform:translateX(-34%) rotate(-3deg) scale(1.04)}100%{transform:translateX(70%) translateY(14%) rotate(28deg) scale(.82);filter:brightness(.5) saturate(.4)}}
@keyframes shoveL{0%{transform:translateX(34%) rotate(3deg) scale(1.04)}100%{transform:translateX(-70%) translateY(14%) rotate(-28deg) scale(.82);filter:brightness(.5) saturate(.4)}}
.card.stand-r{animation:standR .6s cubic-bezier(.2,.8,.3,1) forwards} .card.stand-l{animation:standL .6s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes standR{0%{transform:translateX(34%) rotate(3deg) scale(1.04)}100%{transform:translateX(0) scale(1.08)}}
@keyframes standL{0%{transform:translateX(-34%) rotate(-3deg) scale(1.04)}100%{transform:translateX(0) scale(1.08)}}
.card.knock-r{animation:knockR .9s cubic-bezier(.3,1.2,.4,1) both} .card.knock-l{animation:knockL .9s cubic-bezier(.3,1.2,.4,1) both}
@keyframes knockR{0%{transform:none}30%{transform:translateX(38%) rotate(4deg)}45%{transform:translateX(-16%) rotate(-8deg)}65%{transform:translateX(6%) rotate(3deg)}100%{transform:none}}
@keyframes knockL{0%{transform:none}30%{transform:translateX(-38%) rotate(-4deg)}45%{transform:translateX(16%) rotate(8deg)}65%{transform:translateX(-6%) rotate(-3deg)}100%{transform:none}}
#scene{position:fixed;inset:0;pointer-events:none;z-index:45;overflow:hidden}
@keyframes ossPop{0%{opacity:0;transform:translate(-50%,-80%) scale(.6)}18%{opacity:1;transform:translate(-50%,-100%) scale(1.08)}30%{transform:translate(-50%,-100%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-120%) scale(.96)}}
.rig.atk-r{animation:atkR .7s cubic-bezier(.3,1.4,.4,1)} .rig.atk-l{animation:atkL .7s cubic-bezier(.3,1.4,.4,1)}
@keyframes atkR{30%{transform:translate(-8%,4%) scale(.94)}60%{transform:translate(22%,-10%) scale(1.12)}100%{transform:none}}
@keyframes atkL{30%{transform:translate(8%,-4%) scale(.94)}60%{transform:translate(-22%,10%) scale(1.12)}100%{transform:none}}
.rig.scorch{animation:scorch 1.9s ease-out}
@keyframes scorch{0%{filter:none}15%{filter:brightness(1.5) sepia(.5);transform:translate(-3%,0)}30%{transform:translate(3%,-2%)}45%{transform:translate(-3%,1%);filter:brightness(.5) sepia(.8) contrast(1.3)}60%{transform:translate(2%,0)}80%{filter:brightness(.35) sepia(1) contrast(1.4);transform:none}100%{filter:none}}
.fl{position:absolute;width:34px;height:52px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;transform-origin:50% 100%;
  background:radial-gradient(ellipse at 50% 80%,#FFF3B0 0%,#FFB13D 35%,#FF5A1F 65%,rgba(255,60,20,0) 100%);mix-blend-mode:screen;animation:fl .55s ease-in-out infinite alternate}
@keyframes fl{0%{transform:scaleY(.85) rotate(-6deg)}100%{transform:scaleY(1.25) rotate(6deg)}}
.jet{position:absolute;width:14px;height:14px;border-radius:50%;mix-blend-mode:screen;
  background:radial-gradient(circle,#FFF6C8 0%,#FFB13D 40%,#FF5A1F 70%,rgba(255,60,20,0) 100%);animation:jet .9s ease-out forwards;opacity:0}
@keyframes jet{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(var(--sc,2.4))}}
.smoke{position:absolute;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,rgba(70,60,60,.85),rgba(70,60,60,0) 70%);animation:puff 1.4s ease-out forwards}
.rain{position:absolute;top:-12vh;width:2px;height:11vh;background:linear-gradient(rgba(190,220,255,0),rgba(200,228,255,.85));transform:rotate(10deg);animation:rain .65s linear infinite}
@keyframes rain{to{transform:translateY(125vh) rotate(10deg)}}
.rainveil{position:absolute;inset:0;background:linear-gradient(rgba(40,70,120,.35),rgba(20,40,80,.45));animation:fadeio 2.2s ease-in-out forwards}
@keyframes fadeio{0%{opacity:0}20%{opacity:1}75%{opacity:1}100%{opacity:0}}
.wave{position:absolute;width:170vw;height:32vh;left:-35vw;animation:waveR 1.5s cubic-bezier(.4,0,.3,1) forwards}
.wave.l{animation-name:waveL}
@keyframes waveR{0%{transform:translateX(-90vw) translateY(10vh)}45%{transform:translateX(0) translateY(-4vh)}100%{transform:translateX(110vw) translateY(6vh)}}
@keyframes waveL{0%{transform:translateX(90vw) translateY(10vh)}45%{transform:translateX(0) translateY(-4vh)}100%{transform:translateX(-110vw) translateY(6vh)}}
.rig.drown{animation:drown 2s ease-in-out}
@keyframes drown{0%{transform:none}20%{transform:translateY(-6%) rotate(-6deg)}40%{transform:translateY(30%) rotate(14deg) scale(.92)}60%{transform:translateY(45%) rotate(-10deg) scale(.88);filter:saturate(.6) brightness(.7)}80%{transform:translateY(15%) rotate(4deg);filter:saturate(.8)}100%{transform:none;filter:none}}
.bub{position:absolute;border-radius:50%;border:1.5px solid rgba(220,240,255,.9);background:rgba(200,230,255,.25);animation:bub 1.3s ease-out forwards;opacity:0}
@keyframes bub{0%{opacity:0;transform:translateY(0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translateY(-90px) translateX(var(--dx,0)) scale(1.2)}}
.bolt{position:absolute;top:0;width:3px;height:52vh;background:#EAF3FF;box-shadow:0 0 14px 4px rgba(200,225,255,.9);transform-origin:top;animation:bolt .5s ease-out forwards;opacity:0;clip-path:polygon(40% 0,60% 0,55% 30%,80% 30%,45% 100%,50% 55%,25% 55%)}
@keyframes bolt{0%{opacity:0}10%{opacity:1}30%{opacity:.4}45%{opacity:1}100%{opacity:0}}
.rig.sink{animation:sink 2.1s ease-in}
@keyframes sink{0%{transform:none}10%{transform:translate(-4%,0)}20%{transform:translate(4%,0)}30%{transform:translate(-3%,2%)}40%{transform:translate(3%,0)}55%{transform:translateY(20%) rotate(-8deg)}75%{transform:translateY(80%) rotate(14deg) scale(.8);opacity:.2}82%{transform:translateY(90%);opacity:0}90%{transform:translateY(-10%) scale(1.05);opacity:1}100%{transform:none;opacity:1}}
.crack{position:absolute;overflow:visible}
.crack path{fill:none;stroke:#05060B;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600;animation:crack 2.1s ease-out forwards}
.crack .gl{stroke:#D9A560;filter:blur(3px);opacity:.9}
@keyframes crack{0%{stroke-dashoffset:600;stroke-width:1;opacity:1}30%{stroke-dashoffset:0;stroke-width:6}60%{stroke-dashoffset:0;stroke-width:18;opacity:1}85%{stroke-dashoffset:0;stroke-width:16;opacity:1}100%{stroke-dashoffset:0;stroke-width:0;opacity:0}}
.pebble{position:absolute;width:7px;height:6px;border-radius:40%;background:#6B4A2B;animation:pebble .9s cubic-bezier(.2,.6,.6,1) forwards;opacity:0}
@keyframes pebble{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(200deg)}}
.sprout{position:absolute;transform-origin:50% 100%;animation:sprout 1.4s cubic-bezier(.3,1.5,.4,1) forwards;transform:scale(0)}
@keyframes sprout{0%{transform:scale(0) rotate(-10deg)}60%{transform:scale(1.15) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
.sprout.bye{animation:sproutBye .5s ease-in forwards}
@keyframes sproutBye{to{transform:scale(0);opacity:0}}
.leaf{position:absolute;width:12px;height:7px;border-radius:100% 0;background:#7FD98A;animation:leafFall 1.8s ease-in forwards;opacity:0}
.leaf{position:absolute;width:12px;height:7px;border-radius:100% 0;background:#7FD98A;animation:leafFall 1.8s ease-in forwards;opacity:0}
@keyframes leafFall{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(300deg)}}
@keyframes fadeio{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}
