/* Apex Faceoff duel-card frame: original CSS design */
.lfc.duel,.lfc.duelback{--fr1:#7d8a84;--fr2:#3c4642;--edge:linear-gradient(135deg,#f4f6f8,#9aa3ab 30%,#e9edf0 50%,#7c858d 75%,#dfe4e8);width:var(--w);aspect-ratio:59/86;border-radius:calc(var(--w)*.045);padding:calc(var(--w)*.03);background:var(--edge);box-shadow:0 6px 18px #0007,inset 0 1px 1px #fff,inset 0 -1px 2px #0006;position:relative;transform:perspective(700px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .5s cubic-bezier(.2,.8,.2,1);font-family:"Trebuchet MS",system-ui,sans-serif;color:#1d1a14;overflow:hidden;box-sizing:border-box;flex:none}
.lfc.duel.tilt{transition:transform .08s}
.lfc.duel>.in{height:100%;display:flex;flex-direction:column;gap:calc(var(--w)*.022);padding:calc(var(--w)*.035);border-radius:calc(var(--w)*.025);background:radial-gradient(120% 80% at 30% 0%,#ffffff40,transparent 60%),linear-gradient(160deg,var(--fr1),var(--fr2));box-shadow:inset 0 0 0 1px #0005,inset 0 2px 3px #fff6;position:relative;box-sizing:border-box;overflow:hidden;font-size:calc(var(--w)*.052)}
.duel .nb{display:flex;align-items:center;gap:4px;padding:.25em .4em;border-radius:3px;background:linear-gradient(180deg,#fdf8ea,#e7dcc0);box-shadow:inset 0 0 0 1.5px #0006,inset 0 2px 2px #fff,0 1px 0 #fff5}
.duel .nb h4{margin:0;flex:1;font-size:1.25em;font-weight:800;letter-spacing:.02em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#17130b;text-shadow:0 1px 0 #fff8}
.duel .eli{width:1.55em;height:1.55em;border-radius:50%;display:grid;place-items:center;font-size:.95em;background:radial-gradient(circle at 35% 30%,#fff,var(--g) 55%,#0008);box-shadow:0 0 6px var(--g),0 0 0 1.5px #0007;animation:dcglow 2.4s ease-in-out infinite;--g:#9a7b4f}
.duel .el-aq{--g:#2f8fff}.duel .el-ai{--g:#7fd7ff}.duel .el-su{--g:#ffb42a}.duel .el-ic{--g:#bfe9ff}.duel .el-fo{--g:#37c46a}
@keyframes dcglow{50%{box-shadow:0 0 12px var(--g),0 0 0 1.5px #0007}}
.duel .lv{display:flex;justify-content:flex-end;gap:1px;min-height:1em}
.duel .lv i{font-style:normal;font-size:.85em;color:#ffd23f;width:1.1em;height:1.1em;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff7a3a,#b3200f);text-shadow:0 0 2px #000;box-shadow:0 0 0 1px #0006}
.duel .win{padding:calc(var(--w)*.018);background:linear-gradient(135deg,#d9b35a,#7a5a1c 40%,#f3dc92 60%,#8c6a22);border-radius:2px;box-shadow:inset 0 0 0 1px #0007,0 1px 2px #0006}
.duel .win .ph{position:relative;aspect-ratio:1/1;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #000a,inset 0 0 14px #0007;border-radius:1px;margin:0}
.duel .win .rb{position:absolute;left:3px;bottom:3px;font-size:.7em;padding:1px 5px;border-radius:8px;color:#fff;font-weight:700;box-shadow:0 1px 2px #0008}
.duel .win .ser{position:absolute;right:3px;top:3px;font-size:.7em;background:#000a;color:#fff;padding:1px 4px;border-radius:6px}
.duel .win .pcred{position:absolute;right:3px;bottom:3px;font-size:.55em;background:#0009;color:#fff;padding:1px 4px;border-radius:6px;max-width:55%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.duel .tb{flex:1;min-height:0;display:flex;flex-direction:column;padding:.35em .45em;border-radius:2px;background:linear-gradient(180deg,#f7f0dc,#e9dcbc);box-shadow:inset 0 0 0 1.5px #0007,inset 0 1px 3px #fff;font-size:.82em;line-height:1.22;overflow:hidden}
.duel .ty{font-weight:800;font-size:.95em}.duel .sci{font-style:italic;opacity:.65;font-size:.85em;margin-bottom:.15em}
.duel .sk{margin:0 0 .15em}.duel .sk b{font-weight:800}
.duel .fact{opacity:.8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.duel .ad{margin-top:auto;border-top:1px solid #0006;padding-top:.2em;display:flex;justify-content:flex-end;gap:.6em;font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05em}
.duel .ad span:first-child{margin-right:auto;opacity:.55;font-size:.85em}
.duel .own{font-size:.7em;text-align:center;color:#fff;text-shadow:0 1px 2px #000}
.duel .ft{font-size:.5em;letter-spacing:.18em;text-align:right;color:#fffc;text-shadow:0 1px 1px #0009}
.duel .foil{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;mix-blend-mode:color-dodge}
/* rarity frames */
.duel.r-common{--fr1:#a89a82;--fr2:#5f5442}
.duel.r-regular{--fr1:#62b27e;--fr2:#245c37}
.duel.r-regplus{--fr1:#3fc0ba;--fr2:#14615d}
.duel.r-rare{--fr1:#4f95e0;--fr2:#173f75}
.duel.r-super{--fr1:#b773dc;--fr2:#4f1d6b}
.duel.r-ultra,.duel.r-tournament,.duel.r-oneofone,.duel.r-max,.duel.r-myth,.duel.r-mythical{--edge:linear-gradient(135deg,#fff3c4,#b8862b 25%,#ffe9a3 45%,#8a6115 65%,#f7d77a 85%,#a77a22)}
.duel.r-ultra{--fr1:#ff5f95;--fr2:#6e0f33}
.duel.r-tournament{--fr1:#e2b53c;--fr2:#6b4b06}
.duel.r-oneofone{--fr1:#e8475f;--fr2:#5c0a17}
.duel.r-max{--fr1:#9c78ff;--fr2:#22105e}
.duel.r-myth,.duel.r-mythical{--fr1:#28283a;--fr2:#05050c}
/* holo foil on rare+ */
.duel:is(.r-rare,.r-super,.r-ultra,.r-tournament,.r-oneofone,.r-max,.r-myth,.r-mythical) .foil{opacity:.35;background:linear-gradient(115deg,transparent 20%,#ff00c855 30%,#00e5ff66 40%,#fff98066 50%,#00ff9555 60%,transparent 72%);background-size:250% 250%;background-position:var(--mx,0%) 50%;animation:dcfoil 5s linear infinite}
.duel:is(.r-ultra,.r-max,.r-myth,.r-mythical,.r-oneofone) .foil{opacity:.55}
.duel.tilt .foil{animation:none;opacity:.7}
@keyframes dcfoil{0%{background-position:0% 50%}100%{background-position:250% 50%}}
.duel:is(.r-ultra,.r-max,.r-myth,.r-mythical,.r-oneofone)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(45deg,#fff1 0 2px,transparent 2px 6px);mix-blend-mode:overlay}
/* card back */
.lfc.duelback .bk{height:100%;border-radius:calc(var(--w)*.025);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2em;color:#ffe39a;font-size:calc(var(--w)*.07);background:radial-gradient(circle,#1f6b45 0,#0b2a1b 45%,#050f0a 100%),#0b2a1b;box-shadow:inset 0 0 0 2px #c89b3c,inset 0 0 0 5px #0b2a1b,inset 0 0 0 6px #c89b3c88;text-shadow:0 0 8px #ffc94d}
.duelback .bk-r{width:48%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:2.4em;background:conic-gradient(from 0deg,#c89b3c,#fff1b8,#8a6115,#ffe39a,#c89b3c);padding:6%;box-sizing:border-box}
.duelback .bk-r span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#2f9a62,#08321f)}
.duelback b{letter-spacing:.3em;font-size:1.2em}.duelback small{letter-spacing:.35em;font-size:.6em}
@media (prefers-reduced-motion:reduce){.duel .foil,.duel .eli{animation:none}.lfc.duel{transition:none}}
/* neutralise legacy .lfc rules inside the duel frame */
.lfc.duel .in{border:0;color:#1d1a14;background:radial-gradient(120% 80% at 30% 0%,#ffffff40,transparent 60%),linear-gradient(160deg,var(--fr1),var(--fr2))}
.lfc.duel .win .ph{height:auto;margin:0;border:0;border-radius:1px}
.lfc.duel .sk{margin:0 0 .15em;padding:0;border:0;background:none;font-size:1em;color:#1d1a14}
.lfc.duel .sk b{font:800 1em "Trebuchet MS",system-ui,sans-serif!important;color:#1d1a14}
.lfc.duel .fact,.lfc.duel .sci,.lfc.duel .ty{color:#2a2418;margin:0;padding:0;background:none;border:0;font-size:.9em}
.lfc.duel .ty{font-size:.95em}
.lfc.duel h4{font-family:"Trebuchet MS",system-ui,sans-serif!important;color:#17130b;padding:0}
.lfc.duel::after{content:none}
.lfc.duel:is(.r-ultra,.r-max,.r-myth,.r-mythical,.r-oneofone)::after{content:"";background:repeating-linear-gradient(45deg,#fff1 0 2px,transparent 2px 6px);animation:none;opacity:1;mix-blend-mode:overlay}
.lfc.duelback{padding:calc(var(--w)*.03)}
.lfc.duelback .bk{width:100%}
/* richer frames + room for ATK/DEF */
.lfc.duel .in{background:radial-gradient(110% 60% at 25% 0%,#ffffff30,transparent 55%),linear-gradient(160deg,var(--fr1),var(--fr2) 85%)}
.lfc.duel .win .ph{aspect-ratio:1/.86}
.lfc.duel .fact{-webkit-line-clamp:1}
.lfc.duel .sk:nth-of-type(n+2){display:none}
.duel.r-common{--fr1:#8f7a56;--fr2:#3e3020}
.duel.r-regular{--fr1:#2f9a56;--fr2:#0f3a1f}
.duel.r-regplus{--fr1:#1a9f98;--fr2:#063c39}
.duel.r-rare{--fr1:#2a6fc4;--fr2:#0a224a}
.duel.r-super{--fr1:#9a3fd0;--fr2:#2e0b45}
.duel.r-ultra{--fr1:#e6286a;--fr2:#45061e}
.duel.r-max{--fr1:#6b3cf0;--fr2:#12073a}
/* powers + defense on card face */
.lfc.duel .pwr{position:relative;margin:2px 0;padding:2px 4px;border-radius:4px;background:linear-gradient(90deg,#2b1747,#4a2a7a);color:#ffe9a8;font-size:calc(var(--w)*.052);line-height:1.25;cursor:help}
.lfc.duel .pwr b{color:#fff}.lfc.duel .pwt{opacity:.9}.lfc.duel .pwu{display:block;color:#7fe3ff;font-style:normal;font-weight:700}
.lfc.duel .pwtip{display:none;position:absolute;left:0;right:0;bottom:100%;z-index:5;background:#0d0a18f2;color:#fff;border:1px solid #ffe27a;border-radius:6px;padding:5px;font-size:11px}
.lfc.duel .pwr:hover .pwtip,.lfc.duel .pwr.open .pwtip{display:block}
.lfc.duel .dft{font-size:calc(var(--w)*.05);color:#123;background:#d9ecf7;border-radius:4px;padding:1px 4px;margin:1px 0}
.bitefx{position:absolute;width:38px;height:38px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,#ff2d4a 22% 40%,transparent 60%);animation:bite .55s ease-out both;z-index:9}
@keyframes bite{0%{transform:scale(.2) rotate(0);opacity:0}30%{opacity:1}100%{transform:scale(1.6) rotate(40deg);opacity:0}}
.frenzyfx{animation:frz .5s linear 1}@keyframes frz{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px) rotate(-3deg)}40%{transform:translateX(6px) rotate(3deg)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.bu.burning{box-shadow:0 0 12px #ff8a2a}.bu.armored{box-shadow:0 0 0 2px #9fd4ff,0 0 12px #6bb8ff}
.rgb[data-l]::before{content:attr(data-l);position:absolute;left:3px;top:-1px;font-size:8px;font-weight:800;color:#fff;text-shadow:0 1px 1px #000}.rgb{position:relative}
.rgb.full{animation:sup 1s ease-in-out infinite}@keyframes sup{50%{filter:brightness(1.6) drop-shadow(0 0 6px #ffcf3a)}}
.evlab.st-burn{color:#ffa53a}.evlab.st-armor{color:#9fd4ff}.evlab.st-regen{color:#7dff9a}.evlab.st-shred,.evlab.st-stampede{color:#ffd27a}.evlab.st-slow{color:#c9b6ff}
.bban.frenzy{background:linear-gradient(90deg,#00314f,#c4002a);color:#fff}
.lfc .ph.mx.leg,.vs.own{background-blend-mode:normal!important;background-size:cover!important;background-position:center!important}.lfc .ph.mx.leg .mxa,.lfc .ph.mx.leg .mxb{opacity:.45}
