/* Apex Faceoff Duel board */
.duelgo{display:block;margin:10px 0;padding:14px;border-radius:14px;text-decoration:none;color:#ffe39a;background:linear-gradient(135deg,#3a0507,#7a1015 60%,#b07a22);border:2px solid #f6d77a;box-shadow:0 0 18px #ff8a2a55;text-align:center}.duelgo b{font:700 22px Georgia,serif;letter-spacing:.1em;display:block}.duelgo small{color:#fff3cf}
.duelx{position:relative;margin:0 -8px;padding:8px;border-radius:14px;overflow:hidden;color:#fff;min-height:600px;background:#120a14}
.duelx .envbg{position:absolute;inset:0;z-index:0;opacity:.85;background:radial-gradient(ellipse at 50% 50%,#3a2a40,#120a14);transition:background 1s}
.duelx>*{position:relative;z-index:1}
.env-ocean .envbg{background:linear-gradient(180deg,#022a4a,#0a5a8a 50%,#023050);background-size:100% 300%;animation:envwave 6s ease-in-out infinite alternate}
.env-savanna .envbg{background:linear-gradient(180deg,#ff9a3a,#c4702a 45%,#6a4a1a);animation:envshim 8s ease-in-out infinite alternate}
.env-jungle .envbg{background:radial-gradient(circle at 20% 30%,#1f6a2a,transparent 40%),radial-gradient(circle at 80% 70%,#0f4a1a,transparent 45%),#06200c;animation:envshim 7s infinite alternate}
.env-desert .envbg{background:linear-gradient(180deg,#f2c46a,#c4842a 60%,#7a4a14);animation:envheat 3s ease-in-out infinite alternate}
.env-arctic .envbg{background:linear-gradient(180deg,#cfefff,#6aa8d0 50%,#2a5a80);animation:envshim 9s infinite alternate}
.env-night .envbg{background:radial-gradient(circle at 75% 15%,#fff8d0 0 3%,transparent 4%),linear-gradient(180deg,#0a0a2a,#14203a 60%,#06100a)}
.env-swamp .envbg{background:linear-gradient(180deg,#2a3a1a,#3a4a2a 50%,#1a2a14);animation:envwave 9s infinite alternate}
.env-mountains .envbg{background:linear-gradient(160deg,#6a7a9a,#3a4a6a 50%,#1a2030)}
.envswap .envbg{animation:envin 1s ease-out}
@keyframes envwave{to{background-position:0 100%}}@keyframes envshim{to{filter:brightness(1.2) saturate(1.2)}}@keyframes envheat{to{filter:blur(.6px) brightness(1.1)}}@keyframes envin{from{opacity:0;transform:scale(1.2)}}
.dlp{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;background:#0008;border-radius:10px;padding:5px 8px}.dlp small{grid-column:1/-1;opacity:.8;font-size:11px}
.lpb{position:relative;height:18px;border-radius:9px;background:#3a0507;border:1px solid #f6d77a;overflow:hidden}.lpb i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#c4002a,#ff6a3a);transition:width .5s}.lpb span{position:relative;font:700 12px system-ui;padding-left:6px}
.drow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0}
.dz{position:relative;aspect-ratio:3/4;border-radius:10px;border:2px dashed #ffffff44;display:grid;place-items:center;font-size:11px;color:#fff8}
.dz.u{border:2px solid #e6b85a;overflow:hidden;background:#000;place-items:stretch}.dz.u.def{transform:rotate(-6deg) scale(.94);border-color:#7fc8ff}.dz.sel{outline:3px solid #fff;box-shadow:0 0 16px #ffe27a}
.dz .dimg{position:absolute;inset:0;background-size:cover;background-position:center}.dz .dn{position:absolute;top:2px;left:3px;right:3px;font:700 10px system-ui;text-shadow:0 1px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz .dhp{position:absolute;left:3px;right:3px;bottom:26px;height:11px;background:#0009;border-radius:6px;overflow:hidden}.dz .dhp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#2ad06a,#a8ff6a);transition:width .4s}.dz .dhp span{position:relative;font:700 9px system-ui;padding-left:4px}
.dz .dst{position:absolute;left:3px;right:3px;bottom:13px;display:flex;gap:3px;font:700 10px system-ui;text-shadow:0 1px 2px #000}.chg{color:#7dffb0;text-shadow:0 0 6px #2aff7a!important;animation:sup 1s infinite}
.dz .dsup{position:absolute;left:3px;right:3px;bottom:2px;height:9px;border-radius:5px;background:#2a0406;border:1px solid #f6d77a88;overflow:hidden}.dz .dsup i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#ff4a00,#ffe68a)}.dz .dsup span{position:relative;font:800 7px system-ui;letter-spacing:.1em;padding-left:3px}.dz .dsup.full{animation:sup 1s infinite}
.dz .dmk{position:absolute;top:14px;right:3px;font-size:12px}.dz.t-legend,.dz.eternal{border-color:#fff0a0;box-shadow:0 0 14px #ffd34a}
.dz .dholo{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.45;background:linear-gradient(115deg,transparent 20%,#ff3cac66 35%,#2b86c566 50%,#3cffb066 65%,transparent 80%);background-size:250% 250%;animation:dholo 3s linear infinite}@keyframes dholo{to{background-position:250% 0}}
.dhit{animation:dhit .35s}@keyframes dhit{20%{transform:translateX(-5px);filter:brightness(2)}60%{transform:translateX(5px)}}
.dpop{position:absolute;left:50%;top:40%;transform:translateX(-50%);font:900 18px system-ui;color:#ff4a4a;text-shadow:0 2px 3px #000;animation:dpop .9s forwards;z-index:5}@keyframes dpop{to{transform:translate(-50%,-40px);opacity:0}}
.dko{animation:dko .4s forwards}@keyframes dko{to{transform:scale(.4) rotate(20deg);opacity:0}}.devade{animation:dev .4s}@keyframes dev{50%{transform:translateX(14px);opacity:.5}}
.chained{filter:grayscale(.8) brightness(.7)}.chained::after{content:"⛓️";position:absolute;inset:0;display:grid;place-items:center;font-size:40px}
.denv{text-align:center;font:600 12px system-ui;background:#0007;border-radius:20px;padding:3px}
.dtip{margin:6px 0;text-align:center;font:600 13px system-ui;color:#ffe39a}
.dact{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.dact .sup{background:linear-gradient(90deg,#ff4a00,#ffcf3a);color:#2a0406;animation:sup 1s infinite}
.dhand{display:flex;gap:6px;overflow-x:auto;padding:8px 2px;scroll-snap-type:x mandatory}.dhand>*{flex:none;scroll-snap-align:start}
.hwrap.hsel,.hsel{transform:translateY(-10px);filter:drop-shadow(0 0 10px #ffe27a)}
.envc,.abc{width:120px;aspect-ratio:59/86;border-radius:8px;padding:5px;color:#fff;font-family:Georgia,serif;cursor:pointer;position:relative;overflow:hidden}
.envc{background:linear-gradient(135deg,#0a8a6a,#e6f2ff 30%,#2a6aa8 55%,#9fe8c8 80%,#0a5a4a);box-shadow:0 0 12px #6affd099}.envc .in{height:100%;border-radius:6px;padding:6px;background:linear-gradient(#0a2a3acc,#03141ccc);border:1px solid #bff}
.envc small,.abc small{display:block;font:700 8px system-ui;letter-spacing:.12em;color:#bff}.envc b,.abc b{display:block;font-size:14px;margin:6px 0}.envc p,.abc p{font:11px/1.25 system-ui;margin:0}
.abc{background:linear-gradient(135deg,#5a2a8a,#d8b8ff 40%,#3a1a6a)}.abc.set{background:linear-gradient(135deg,#7a1a3a,#ffb8c8 40%,#4a0a1a)}.abc .in{position:relative;height:100%;border-radius:6px;padding:6px;background:#140a20d9}
.abc.eend{background:linear-gradient(135deg,#1a1a1a,#c0c0c0 30%,#3a2a0a 50%,#f6d77a 70%,#111);box-shadow:0 0 16px #f6d77a}.abc.eend .eimg{position:absolute;inset:0;background:url('/leaffauna/cards/legends/eternals-end.webp') center/cover;opacity:.55}.abc.eend .in{background:#000a}
.dban{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);z-index:99;padding:12px 18px;border-radius:12px;font:900 18px Georgia,serif;color:#fff;background:linear-gradient(90deg,#3a0507,#c4002a);border:2px solid #f6d77a;animation:dban 1.3s forwards;text-align:center;max-width:90vw}
.dban.eend{background:linear-gradient(90deg,#111,#555 50%,#111);color:#f6d77a;box-shadow:0 0 40px #f6d77a}.dban.env{background:linear-gradient(90deg,#0a5a4a,#2a6aa8)}.dban.et-worldbreaker{background:linear-gradient(90deg,#03200c,#2aff7a 50%,#03200c);color:#111}.dban.et-frostwarden{background:linear-gradient(90deg,#0a2a5a,#cfefff,#0a2a5a);color:#06203a}
@keyframes dban{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}15%{transform:translate(-50%,-50%) scale(1.1);opacity:1}80%{opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
.dlog{margin-top:6px;font:11px system-ui;opacity:.85;background:#0007;border-radius:8px;padding:5px}.drules{font:12px system-ui;background:#0007;border-radius:8px;padding:6px;margin-top:6px}
.apx.eternal{--gold:linear-gradient(135deg,#0a3a1a,#2aff9a 15%,#f6d77a 30%,#1a1a1a 45%,#9fffd0 60%,#f6d77a 75%,#0a2a14)}.apx.eternal .in{background:radial-gradient(ellipse at 50% 0,#0a3a1a,#06140a 60%,#020604)!important}
.abc.aegis .eimg.ag{background-image:url('/leaffauna/cards/legends/aegis.webp')}.abc.aegis{background:linear-gradient(135deg,#0a3a1a,#2aff9a 20%,#f6d77a 40%,#1a1a1a 55%,#9fffd0 75%,#0a2a14);box-shadow:0 0 16px #2aff9a}
.dban.aegis{background:radial-gradient(circle,#9fffd0,#0a5a2a 70%);color:#03200c;box-shadow:0 0 50px #2aff9a}.dz .cd{color:#f6d77a}
.hwrap .pwr{pointer-events:none}
.upgo{background:linear-gradient(135deg,#0a2a3a,#14526a 60%,#7fd8ff)}
.upgl{display:flex;flex-direction:column;gap:10px}.upr{display:flex;gap:10px;align-items:center;background:#fff8;border-radius:12px;padding:8px}.upr.can{background:linear-gradient(90deg,#fff3c4,#ffe39a);box-shadow:0 0 12px #ffcf3a88}
.fusem{position:fixed;inset:0;z-index:100;background:#000d;display:grid;place-items:center}.fuse{position:relative;width:320px;height:420px}
.fz{position:absolute;top:120px;animation:fz 1.3s ease-in forwards}.fz.f0{left:0}.fz.f1{left:100px;top:60px}.fz.f2{left:200px}
@keyframes fz{70%{transform:translate(0,0) scale(1)}100%{left:100px;top:110px;transform:scale(.3) rotate(720deg);opacity:0}}
.fflash{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fff,#ffe27a 30%,transparent 60%);opacity:0;animation:ffl 1.4s ease-in forwards}@keyframes ffl{75%{opacity:0;transform:scale(.2)}90%{opacity:1;transform:scale(1.4)}100%{opacity:0}}
.fnew{text-align:center;color:#fff;animation:fnew .6s ease-out}.fnew .lfc{margin:0 auto}@keyframes fnew{from{transform:scale(.2) rotate(-20deg);opacity:0}}.fnew h3{color:#ffe39a;font:900 24px Georgia,serif}
.abc.eend:not(.aegis) .eimg{opacity:1}.abc.eend:not(.aegis) .in{position:absolute;left:4px;right:4px;bottom:4px;height:auto;background:#000d;padding:4px}.abc.eend:not(.aegis) .in p{display:none}
.abc.aegis .eimg{opacity:.9}.abc.aegis .in{position:absolute;left:4px;right:4px;bottom:4px;height:auto;background:#000c}
.lfc.duel.apx.eternal{--gold:linear-gradient(135deg,#0a3a1a,#2aff9a 15%,#f6d77a 30%,#1a1a1a 45%,#9fffd0 60%,#f6d77a 75%,#0a2a14)!important;background:var(--gold)}.lfc.duel.apx.eternal .in{background:radial-gradient(ellipse at 50% 0,#0a3a1a,#06140a 60%,#020604)!important}.lfc.duel.apx.eternal .ttl,.lfc.duel.apx.eternal .sts,.lfc.duel.apx.eternal .pbx{background:linear-gradient(#0a2a14,#03140a)}
/* ---- fight animations (CSS only, transform/opacity for smooth phones) ---- */
.dz{will-change:transform}.fx{position:absolute;inset:0;pointer-events:none;z-index:8}
.fx.imp{background:radial-gradient(circle,#fff 0,#fff8 25%,transparent 60%);animation:imp .45s ease-out forwards}@keyframes imp{0%{opacity:0;transform:scale(.4)}25%{opacity:1}100%{opacity:0;transform:scale(1.5)}}
.fx-claw{background:linear-gradient(115deg,transparent 30%,#fff 31% 33%,transparent 34% 44%,#fff 45% 47%,transparent 48% 58%,#fff 59% 61%,transparent 62%);filter:drop-shadow(0 0 6px #ff3a3a);clip-path:inset(0 100% 0 0);animation:claw .5s ease-out forwards}
@keyframes claw{60%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:0}}
.fx-bite::before,.fx-bite::after{content:"";position:absolute;left:10%;right:10%;height:40%;background:repeating-linear-gradient(90deg,transparent 0 8px,#fff 8px 14px);clip-path:polygon(0 0,100% 0,100% 30%,95% 100%,90% 30%,85% 100%,80% 30%,75% 100%,70% 30%,65% 100%,60% 30%,55% 100%,50% 30%,45% 100%,40% 30%,35% 100%,30% 30%,25% 100%,20% 30%,15% 100%,10% 30%,5% 100%,0 30%);filter:drop-shadow(0 0 4px #ff2d4a)}
.fx-bite::before{top:-10%;animation:jawT .45s ease-in forwards}.fx-bite::after{bottom:-10%;transform:scaleY(-1);animation:jawB .45s ease-in forwards}
@keyframes jawT{60%{top:28%}100%{top:28%;opacity:0}}@keyframes jawB{60%{bottom:28%}100%{bottom:28%;opacity:0}}
.fx-sting{background:radial-gradient(circle at 50% 50%,#b6ff3a 0 10%,#4adf2a88 25%,transparent 55%);animation:sting .6s ease-out forwards}.fx-sting::after{content:"";position:absolute;left:50%;top:-30%;width:4px;height:70%;background:linear-gradient(#fff0,#d8ff8a);transform:translateX(-50%);animation:needle .25s ease-in forwards}
@keyframes sting{0%{opacity:0;transform:scale(.3)}40%{opacity:1}100%{opacity:0;transform:scale(1.6)}}@keyframes needle{to{top:40%;opacity:0}}
.fx-horn{background:radial-gradient(ellipse at 50% 100%,#c8a070cc,transparent 60%);animation:dust .65s ease-out forwards}.fx-horn::after{content:"";position:absolute;inset:40% -20%;background:linear-gradient(90deg,transparent,#fff,transparent);animation:streak .35s ease-out forwards}
@keyframes dust{0%{opacity:0;transform:scale(.6)}30%{opacity:1}100%{opacity:0;transform:scale(1.8) translateY(-10px)}}@keyframes streak{from{transform:scaleX(.1)}to{transform:scaleX(1.4);opacity:0}}
.fx-slam{background:radial-gradient(circle,#ffd27a88,transparent 60%);animation:sting .5s forwards}
.fx-drops{background-image:radial-gradient(circle,#d0102a 0 3px,transparent 4px),radial-gradient(circle,#ff2a3a 0 2px,transparent 3px);background-size:22px 30px,17px 26px;animation:drops .7s linear forwards}@keyframes drops{from{background-position:0 -30px,5px -40px;opacity:1}to{background-position:0 60px,5px 70px;opacity:0}}
.fx-burn{background:linear-gradient(0deg,#ff4a00cc,#ffb02a55 40%,transparent 70%);animation:sting .6s forwards}
.fx-aegis{inset:-8%;border-radius:50%;background:radial-gradient(circle,#9fffd033 40%,#2aff9a88 60%,transparent 70%);border:3px solid #9fffd0;box-shadow:0 0 30px #2aff9a,inset 0 0 30px #2aff9a;animation:aegis 1.3s ease-out forwards}@keyframes aegis{0%{transform:scale(.2);opacity:0}25%{transform:scale(1.05);opacity:1}70%{opacity:1}100%{transform:scale(1.3);opacity:0}}
.fx-chains{background:repeating-linear-gradient(45deg,transparent 0 10px,#c0c0c0 10px 14px,transparent 14px 24px),repeating-linear-gradient(-45deg,transparent 0 10px,#9a7aff 10px 14px,transparent 14px 24px);box-shadow:inset 0 0 30px #8a3aff;animation:chains 1.6s ease-out forwards}@keyframes chains{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:.0}}
.fx-summon{border-radius:50%;border:3px solid #ffe27a;animation:ring .8s ease-out forwards}.fx-summonbig{border-radius:50%;border:5px solid #fff;box-shadow:0 0 40px #ffd34a,0 0 80px #2aff9a;animation:ring 1s ease-out forwards}@keyframes ring{from{transform:scale(.2);opacity:1}to{transform:scale(2.2);opacity:0}}
.summonin{animation:sumin .5s cubic-bezier(.2,1.4,.4,1)}@keyframes sumin{from{transform:translateY(-40px) scale(1.3);opacity:0;filter:brightness(3)}}
.fx-st{animation:imp .6s forwards}.fx-st.st-freeze,.fx-st.st-stun{background:radial-gradient(circle,#cfefff,transparent 60%)}.fx-st.st-poison{background:radial-gradient(circle,#8dff4a,transparent 60%)}.fx-st.st-bleed{background:radial-gradient(circle,#ff2a3a,transparent 60%)}
.dpop.miss{color:#bff;font-size:15px}.cflash{position:absolute;inset:0;background:#fff;animation:imp .5s forwards}
.shards{position:fixed;z-index:60;pointer-events:none}.shards i{position:absolute;width:33.4%;height:33.4%;animation:shard .85s cubic-bezier(.2,.6,.4,1) forwards;box-shadow:0 0 6px #fff8}
@keyframes shard{to{transform:translate(var(--tx),var(--ty)) rotate(var(--rt)) scale(.6);opacity:0}}
/* ---- super cinematics ---- */
.cin{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.cin.out{opacity:0;transition:opacity .3s}
.cin .cbg{position:absolute;inset:0;background:#000c;animation:cbg .3s ease-out}@keyframes cbg{from{opacity:0}}
.cin .cart{position:absolute;left:50%;top:44%;width:74vw;max-width:340px;aspect-ratio:4/5;background-size:cover;background-position:center;border-radius:14px;border:3px solid #f6d77a;box-shadow:0 0 60px var(--cc,#ff6a1a);transform:translate(-50%,-50%);animation:cart 1.7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes cart{0%{transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0}18%{transform:translate(-50%,-50%) scale(1.05) rotate(0);opacity:1}75%{transform:translate(-50%,-50%) scale(1.12)}100%{transform:translate(-50%,-50%) scale(1.6);opacity:0}}
.cin .cname{position:absolute;left:0;right:0;top:76%;text-align:center;font:900 30px Georgia,serif;color:#fff;text-shadow:0 0 18px var(--cc,#ff6a1a),0 3px 0 #000;letter-spacing:.06em;animation:cname 1.7s ease-out forwards}.cin .cname small{display:block;font:700 13px system-ui;letter-spacing:.2em;color:#ffe39a}
@keyframes cname{0%{transform:translateX(-120%)}15%{transform:translateX(4%)}22%{transform:translateX(0)}85%{opacity:1}100%{opacity:0;transform:scale(1.2)}}
.cin .cparts i{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;border-radius:50%;background:var(--pc,#ffb02a);box-shadow:0 0 10px var(--pc,#ffb02a);opacity:0;animation:cpart 1.2s var(--d) ease-out forwards}
@keyframes cpart{0%{opacity:0;transform:scale(.2)}30%{opacity:1}100%{opacity:0;transform:translateY(-80px) rotate(var(--r)) scale(1.4)}}
.cin .cswirl{position:absolute;left:50%;top:44%;width:150vmax;height:150vmax;transform:translate(-50%,-50%);border-radius:50%;opacity:0}
.cin-shark{--cc:#1aa8ff;--pc:#7fd8ff}.cin-shark .cbg{background:radial-gradient(circle,#023a6acc,#000e 70%)}
.cin-shark .cswirl{opacity:.7;background:conic-gradient(from 0deg,transparent,#1aa8ff66,transparent 30%,#7fd8ff55,transparent 60%,#1a6aff66,transparent);animation:swirl 1.7s linear forwards}@keyframes swirl{from{transform:translate(-50%,-50%) rotate(0) scale(.4)}to{transform:translate(-50%,-50%) rotate(540deg) scale(1)}}
.cin-shark .cparts i:nth-child(2n){background:#d0102a;box-shadow:0 0 8px #ff2a3a;border-radius:50% 50% 50% 0;animation-name:cdrop}@keyframes cdrop{0%{opacity:0}20%{opacity:1}100%{opacity:0;transform:translateY(160px)}}
.cin .cbites{position:absolute;left:50%;top:44%;width:74vw;max-width:340px;aspect-ratio:4/5;transform:translate(-50%,-50%)}.cin .cbites b{position:absolute;width:46%;height:30%;opacity:0;background:radial-gradient(ellipse,transparent 45%,#fff 47% 52%,transparent 54%);filter:drop-shadow(0 0 6px #ff2a3a);animation:cbite .35s ease-out forwards}
.cin .cbites b:nth-child(1){left:5%;top:8%;animation-delay:.45s}.cin .cbites b:nth-child(2){left:50%;top:20%;animation-delay:.65s}.cin .cbites b:nth-child(3){left:15%;top:45%;animation-delay:.85s}.cin .cbites b:nth-child(4){left:48%;top:60%;animation-delay:1.05s}.cin .cbites b:nth-child(5){left:28%;top:30%;animation-delay:1.25s}
@keyframes cbite{0%{opacity:0;transform:scale(1.8)}40%{opacity:1;transform:scale(1)}100%{opacity:0}}
.cin-stampede{--cc:#c8a070;--pc:#a07a4a}.cin-stampede .cbg{background:linear-gradient(0deg,#5a3a1acc,#000d)}.cin-stampede .cparts i{width:40px;height:26px;border-radius:50%;filter:blur(4px);animation-name:cdust}@keyframes cdust{0%{opacity:0;transform:translateX(-60vw)}30%{opacity:.9}100%{opacity:0;transform:translateX(40vw) scale(2)}}
.cin-stampede .cswirl{opacity:1;top:auto;bottom:-140vmax;background:repeating-linear-gradient(90deg,transparent 0 30px,#3a2410aa 30px 50px);animation:herd 1.7s linear}@keyframes herd{from{transform:translate(-80%,-50%)}to{transform:translate(-20%,-50%)}}
.cin-poison{--cc:#7dff2a;--pc:#9dff4a}.cin-poison .cbg{background:radial-gradient(circle,#1a4a0acc,#000e 70%)}.cin-poison .cparts i{width:18px;height:18px;animation-name:csplash}@keyframes csplash{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.6)}100%{opacity:0;transform:scale(2.6) translateY(40px)}}
.cin-ice{--cc:#9fdcff;--pc:#e6f7ff}.cin-ice .cbg{background:radial-gradient(circle,#0a3a6acc,#000e 70%)}
.cin-fire{--cc:#ff6a1a;--pc:#ffb02a}.cin-fire .cbg{background:radial-gradient(circle,#5a1a04cc,#000e 70%)}
.cin-eternal{--cc:#2aff9a;--pc:#9fffd0}.cin-eternal .cbg{background:radial-gradient(circle,#0a3a1acc,#000 75%)}.cin-eternal .cart{width:86vw;max-width:400px;border-color:#9fffd0;box-shadow:0 0 90px #2aff9a,0 0 30px #fff}
.cin-eternal .cswirl{opacity:.8;background:repeating-conic-gradient(from 0deg,#2aff9a55 0 6deg,transparent 6deg 18deg);animation:swirl 1.7s linear forwards}.cin-eternal .cname{font-size:34px}
.cin.et-frostwarden{--cc:#9fdcff;--pc:#fff}.cin.et-stormcrown{--cc:#4aa8ff;--pc:#d8f0ff}.cin.et-gravemaw{--cc:#a04aff;--pc:#d9a8ff}.cin.et-emberhorn{--cc:#ff4a1a;--pc:#ffb02a}
@media (prefers-reduced-motion:reduce){.cin .cswirl,.cin .cparts{display:none}}
/* deck chooser + builder */
.dchoose,.dbuild{padding:12px;color:#f3ead2;background:#04140b;border-radius:14px}.dchoose h2{margin:6px 0 12px}.dk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;justify-content:space-between;background:#0b2a1a;border:1px solid #2f6b46;border-radius:12px;padding:10px;margin-bottom:8px}.dk.on{border-color:#f6d77a}.dk small{flex:1 1 100%;opacity:.8}.dk span{display:flex;gap:6px}
.dbh{display:flex;gap:8px;align-items:center}.dbh input{flex:1;font:inherit;font-weight:700;padding:8px;border-radius:8px;border:1px solid #2f6b46;background:#06180f;color:#fff}.dbh b.bad{color:#ff8a7a}.dbh b.okc{color:#7dffa8}.dbrule{font-size:12px;opacity:.85}
.dbdeck,.dbpool{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin:6px 0 12px}.dbpool{max-height:52vh;overflow:auto}.dbtabs{display:flex;gap:6px;flex-wrap:wrap}.dbact{display:flex;gap:8px;position:sticky;bottom:0;padding:8px 0;background:#04140b}
.dbc{position:relative;cursor:pointer}.dbc em{position:absolute;top:4px;right:4px;background:#000c;color:#f6d77a;font-style:normal;font-weight:800;border-radius:8px;padding:0 5px}.dbc>i{position:absolute;bottom:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#c23;color:#fff;font-style:normal;text-align:center;line-height:20px;font-weight:800}.dbc.add>i{background:#1a9a4a}
.dbm{height:118px;border-radius:9px;background:#123 center/cover;border:2px solid #4a7a5a;display:flex;flex-direction:column;justify-content:flex-end;padding:4px;box-shadow:inset 0 -46px 30px -10px #000d;overflow:hidden}.dbm b{font-size:11px;line-height:1.1}.dbm small{font-size:9px;color:#f6d77a}
.dbm.t-epic{border-color:#c06aff}.dbm.t-legend{border-color:#f6d77a}.dbm.myth{border-color:#ffd36a;box-shadow:0 0 12px #ffcc4a,inset 0 -46px 30px -10px #000d}.dbm.ab{background:linear-gradient(160deg,#2a1a4a,#0b0b1a)}.dbm.ab.eend,.dbm.ab.aegis{background:linear-gradient(160deg,#4a3a0a,#111)}.dbm[class*=env-]{background:linear-gradient(160deg,#0a4a5a,#0a2a1a)}
/* sacrifice summon */
.dz.sacpick{outline:4px dashed #d070ff;outline-offset:-4px;box-shadow:0 0 18px #c060ff;filter:saturate(.5) brightness(.8)}.dz.sacpick::after{content:'⚱️';position:absolute;top:4px;left:4px;font-size:20px}
.dz.sacrifice{animation:sacr .9s ease-in forwards}@keyframes sacr{0%{filter:none}40%{filter:grayscale(1) brightness(1.6);transform:scale(1.04)}100%{filter:grayscale(1) brightness(.2) blur(3px);transform:translateY(-30px) scale(.7);opacity:0}}
.fx-sac{position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(circle at 50% 70%,#c060ffaa,#5a0a8a55 40%,transparent 70%);animation:sacfx 1s ease-out forwards}@keyframes sacfx{0%{opacity:0;transform:scale(.6)}30%{opacity:1}100%{opacity:0;transform:translateY(-50px) scale(1.4)}}
/* Cyrus, the World Ender (Hero) */
.lfc.hero .in{background:linear-gradient(160deg,#1a0406,#3a0a10 45%,#0a0203)!important}.lfc.hero .ttl h4{color:#f0c060}
.cin.et-malachar{--cc:#ff2a3a;--pc:#ffb02a}.cin.et-malachar .cbg{background:radial-gradient(circle at 50% 35%,#000 0 18%,#5a0010cc 30%,#000 78%)}.cin.et-malachar .cart{border-color:#d4a646;box-shadow:0 0 90px #ff1a2a,0 0 30px #d4a646}
.cin.et-malachar .cswirl{background:repeating-conic-gradient(from 0deg,#ff1a2a55 0 5deg,#0000 5deg 14deg,#d4a64633 14deg 17deg,#0000 17deg 26deg)}.cin.et-malachar .cname{color:#f0c060;text-shadow:0 0 20px #ff1a2a,0 2px 0 #000}
.cin.et-malachar::after{content:"";position:absolute;left:80%;top:9%;width:26vw;max-width:120px;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:#000;box-shadow:0 0 0 4px #ff3a2a,0 0 60px 20px #ff1a2acc;animation:eclipse 1.7s ease-out forwards;z-index:3}
@keyframes eclipse{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}30%{opacity:1}70%{transform:translate(-50%,-50%) scale(1.1)}100%{transform:translate(-50%,-50%) scale(3);opacity:0}}
.dban.et-malachar{background:linear-gradient(90deg,#1a0002,#a01020 50%,#1a0002);color:#f6d77a;box-shadow:0 0 40px #ff1a2a}

.abc.lc{background:linear-gradient(135deg,#2a0010,#ff3a5a 25%,#f6d77a 50%,#2a0010);box-shadow:0 0 18px #ff3a5a88}.abc.lc .eimg{background-size:cover;background-position:center;opacity:1}.abc.lc .in{position:absolute;left:4px;right:4px;bottom:4px;height:auto;background:#000c}
.abc.lc .in p{display:block!important;white-space:normal;font-size:9px;margin:2px 0 0}
