:root{
 --bg:#070810;--bg2:#0d101c;--panel:#111522;--panel2:#171c2b;--panel3:#1c2233;
 --line:#272d3e;--text:#f7f8fb;--muted:#8991a8;--yellow:#f6cf35;--gold:#ffad32;
 --red:#ef4159;--blue:#3688ff;--purple:#6d52e7;--green:#43d889;--cyan:#59d9ff;
 --shadow:0 22px 70px rgba(0,0,0,.42);--r:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{display:flex;flex-direction:column;margin:0;min-height:100vh;background:
 radial-gradient(circle at 16% -10%,rgba(77,53,194,.24),transparent 31%),
 radial-gradient(circle at 86% 4%,rgba(236,56,82,.15),transparent 23%),
 linear-gradient(180deg,#080914 0,#0b0d17 36%,#070810 100%);
 color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:
linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
background-size:34px 34px;mask-image:linear-gradient(#000,transparent 80%)}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}.hidden{display:none!important}
.wrap{max-width:1500px;margin:auto;padding:0 20px}
.topbar{height:72px;position:sticky;top:0;z-index:90;background:rgba(8,9,18,.88);backdrop-filter:blur(22px);border-bottom:1px solid #202535}
.topinner{height:100%;display:flex;align-items:center;gap:18px}
.logo{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:1000;white-space:nowrap}
.ball{width:36px;height:36px;border-radius:50%;position:relative;background:linear-gradient(#eb4353 0 44%,#1a2030 44% 56%,#f7f7f7 56%);border:2px solid white;box-shadow:0 0 23px rgba(246,207,53,.13)}
.ball:after{content:"";position:absolute;width:10px;height:10px;border:4px solid #1a2030;background:white;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.logo em{font-style:normal;color:var(--yellow)}
.nav{display:flex;gap:10px;flex:1;justify-content:flex-start}.nav button,.iconbtn{border:0;background:transparent;color:#878fa5;border-radius:10px;padding:9px 11px;font-weight:850}
.nav button:hover,.nav button.active,.iconbtn:hover{background:#151927;color:#fff}
.topright{display:flex;align-items:center;gap:8px}.balance{padding:9px 12px;border:1px solid rgba(246,207,53,.25);border-radius:10px;background:#191919;color:#f7d85b;font-weight:1000}
.avatar{width:37px;height:37px;border-radius:10px;background:linear-gradient(135deg,#425cf4,#9e48e9);display:grid;place-items:center;font-weight:1000}
main{padding:22px 0 70px}main.wrap{flex:1 0 auto;width:100%;margin:0 auto}.page{display:none;animation:fade .22s ease}.page.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.panel{background:linear-gradient(180deg,#121622,#0d111b);border:1px solid #252b3a;border-radius:var(--r);box-shadow:var(--shadow)}
.btn{border:0;border-radius:10px;min-height:43px;padding:10px 15px;color:white;font-weight:950;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:.18s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.btn-yellow{background:linear-gradient(135deg,#f7d749,#e9a92c);color:#171100}
.btn-purple{background:linear-gradient(135deg,#7055e9,#4e34b8)}.btn-blue{background:linear-gradient(135deg,#3688ff,#3457dc)}.btn-red{background:linear-gradient(135deg,#f15165,#b92e48)}
.btn-green{background:linear-gradient(135deg,#47df92,#1ab970);color:#062718}.btn-ghost{background:#171c29;border:1px solid #2c3345}
.input,.select{width:100%;background:#0b0f19;color:#fff;border:1px solid #2a3040;border-radius:9px;padding:11px 12px;outline:0}.input:focus,.select:focus{border-color:#6d52e7;box-shadow:0 0 0 3px rgba(109,82,231,.13)}
.field{display:grid;gap:6px}.field label{font-size:10px;color:#7e879e;text-transform:uppercase;letter-spacing:.08em;font-weight:950}
.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:26px 0 13px}.sectionhead h2{margin:0;font-size:26px}.sectionhead p{margin:5px 0 0;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #30374b;background:#161b29;border-radius:999px;color:#a9b0c3;padding:6px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.hero{min-height:500px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;left:-130px;bottom:-300px;width:700px;height:700px;border-radius:50%;border:90px solid rgba(109,82,231,.08)}
.herocopy{padding:54px 47px;position:relative;z-index:3}.herocopy h1{font-size:clamp(48px,6.5vw,89px);line-height:.88;letter-spacing:-.06em;margin:18px 0}.herocopy h1 span{color:var(--yellow)}
.herocopy p{max-width:690px;color:#aeb7ca;line-height:1.6;font-size:17px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.heroart{position:relative;min-height:500px;perspective:1200px}.arenaorb{position:absolute;width:390px;height:390px;right:9%;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(100,67,219,.35),rgba(22,25,48,.1) 55%,transparent 56%);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 80px rgba(100,67,219,.12)}
.arenaorb:after{content:"";position:absolute;inset:24px;border:1px dashed rgba(246,207,53,.22);border-radius:50%}
.fancard{position:absolute;width:205px;top:50%;left:52%;border-radius:12px;filter:drop-shadow(0 26px 25px rgba(0,0,0,.5));transform-origin:50% 120%}
.f1{transform:translate(-90%,-48%) rotate(-15deg);z-index:1}.f2{transform:translate(-51%,-53%) rotate(3deg);z-index:3}.f3{transform:translate(-10%,-47%) rotate(18deg);z-index:2}
.quickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.quick{padding:20px;cursor:pointer;transition:.2s}.quick:hover{transform:translateY(-3px);border-color:#3b4358}.quick .ico{font-size:29px}.quick h3{margin:11px 0 5px}.quick p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.openlayout{display:grid;grid-template-columns:340px 1fr;gap:13px}.sidebar{padding:17px;align-self:start;position:sticky;top:90px}.step{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #252b39}.step:last-child{border:0;margin:0;padding:0}
.steptitle{font-size:12px;font-weight:1000;margin-bottom:9px}.productgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.prod{border:1px solid #2a3040;border-radius:10px;background:#111622;color:white;padding:9px;text-align:left;min-height:63px}.prod.active{border-color:#6d52e7;background:rgba(109,82,231,.13)}.prod b{display:block;font-size:12px}.prod small{color:#7f889f;font-size:10px}
.cost{margin-top:9px;padding:10px;border:1px solid rgba(246,207,53,.18);background:rgba(246,207,53,.045);border-radius:10px}.cost div{display:flex;justify-content:space-between;font-size:12px;margin:4px 0}.cost span{color:var(--muted)}
.openstage{min-height:670px;padding:18px}.setbar{height:92px;display:flex;align-items:center;gap:16px;padding:13px 17px;border:1px solid #292f40;background:linear-gradient(100deg,#171c2b,#101520);border-radius:12px}
.setbar img{height:62px;max-width:180px;object-fit:contain}.setbar h2{margin:0;font-size:20px}.setbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.packzone{min-height:500px;display:grid;place-items:center;text-align:center;perspective:1200px;padding:22px}.packimg{height:365px;max-width:280px;object-fit:contain;filter:drop-shadow(0 30px 28px rgba(0,0,0,.5));animation:packfloat 3s ease-in-out infinite}@keyframes packfloat{50%{transform:translateY(-8px) rotate(1deg)}}
.packimg.rip{animation:rip .1s linear infinite}@keyframes rip{25%{transform:translateX(-5px) rotate(-2deg)}75%{transform:translateX(5px) rotate(2deg)}}
.fakepack{width:235px;height:360px;border-radius:13px;border:2px solid #6e7290;background:linear-gradient(145deg,#392d9d,#171c2d 50%,#b72f4e);display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:0 30px 35px rgba(0,0,0,.5)}
.fakepack:before{content:"";position:absolute;inset:-40%;background:conic-gradient(transparent,rgba(246,207,53,.18),transparent,rgba(83,217,255,.17),transparent);animation:spin 8s linear infinite}.fakepack img{max-width:78%;z-index:2}.fakepack b{position:absolute;z-index:2;bottom:25px;left:15px;right:15px}.fakepack.rip{animation:rip .1s linear infinite}
.singleReveal{width:min(370px,88vw);text-align:center}.singleCardWrap{height:455px;perspective:1100px;position:relative}.flip{position:absolute;inset:0;transform-style:preserve-3d;transition:.65s cubic-bezier(.2,.75,.2,1)}.flip.closed{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;display:grid;place-items:center}.face img{height:440px;max-width:100%;object-fit:contain;border-radius:15px;filter:drop-shadow(0 23px 24px rgba(0,0,0,.42))}.back{transform:rotateY(180deg);border-radius:18px;background:linear-gradient(#d64253 0 44%,#1e2332 44% 56%,#f0f1f5 56%);border:7px solid #e8c839;box-shadow:inset 0 0 0 5px #1f55a9;position:absolute;left:35px;right:35px;top:8px;bottom:8px}
.back:before{content:"";position:absolute;width:85px;height:85px;border-radius:50%;border:17px solid #1d2332;background:white;left:50%;top:50%;transform:translate(-50%,-50%)}.back:after{content:"POKÉBATTLE";font-weight:1000;color:#15254d;letter-spacing:.1em;position:absolute;left:0;right:0;bottom:24px}
.revealName{font-weight:1000;font-size:17px;margin-top:6px}.revealPrice{font-size:27px;font-weight:1000;color:#f4d958;margin-top:3px}.revealSub{font-size:11px;color:var(--muted);margin-top:3px}
.progressDots{display:flex;gap:5px;justify-content:center;margin:12px 0}.progressDots i{width:7px;height:7px;border-radius:50%;background:#303647}.progressDots i.done{background:#765ee9}.progressDots i.current{background:#f6cf35;box-shadow:0 0 9px #f6cf35}
.battlegrid{display:grid;grid-template-columns:390px 1fr;gap:13px}.battleconfig{padding:17px;align-self:start}.tabs{display:flex;gap:6px;margin-bottom:14px}.tab{border:1px solid #2c3243;background:#121724;color:#8f98ad;border-radius:9px;padding:8px 10px;font-weight:900}.tab.active{background:#5c45c8;border-color:#745ceb;color:white}
.modegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choice{border:1px solid #2b3142;border-radius:9px;background:#111622;color:#dce0ea;padding:9px 7px;font-weight:900;font-size:12px}.choice.active{border-color:#f6cf35;background:rgba(246,207,53,.08)}
.lobby{margin-top:14px;padding-top:13px;border-top:1px solid #252b3a}.code{font-size:32px;letter-spacing:.13em;font-weight:1000;color:#f6d648}.members{display:grid;gap:6px;margin:10px 0}.member{display:flex;align-items:center;gap:9px;background:#121724;border:1px solid #282e3e;border-radius:10px;padding:8px}.mavatar{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#5e45d4,#bd3f78);font-size:11px;font-weight:1000}.mtext{flex:1;min-width:0}.mtext b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.mtext small{color:#7e879c;font-size:9px}.ready{font-size:9px;font-weight:950;color:#61e89f}.botlabel{color:#f2cb48}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0}.summary div{padding:7px;border:1px solid #282f40;background:#0d121e;border-radius:8px;color:#818aa0;font-size:9px}.summary b{display:block;color:#fff;font-size:11px;margin-top:2px}
.matchradar{width:105px;height:105px;border:1px solid #434c68;border-radius:50%;margin:10px auto;position:relative;overflow:hidden;background:radial-gradient(circle,rgba(74,96,255,.12),transparent 65%)}.matchradar:after{content:"";position:absolute;left:50%;top:0;width:50%;height:50%;background:linear-gradient(90deg,transparent,rgba(89,217,255,.25));transform-origin:0 100%;animation:spin 1.5s linear infinite}
.battlearena{min-height:650px;padding:15px;overflow:hidden}.arenahead{display:flex;justify-content:space-between;align-items:center;padding:3px 3px 13px;border-bottom:1px solid #262c3b}.arenahead h2{margin:0;font-size:18px}.arenahead p{margin:3px 0 0;color:#7e879d;font-size:10px}
.playerSlots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}.slot{min-width:0;background:#0e121d;border:1px solid #252c3c;border-radius:12px;overflow:hidden;position:relative}.slot.off{display:none}.slotTop{height:45px;display:flex;align-items:center;gap:7px;padding:7px 8px;background:#151a27;border-bottom:1px solid #262c3b}.slotAva{width:29px;height:29px;border-radius:7px;background:linear-gradient(135deg,#664be0,#d34775);display:grid;place-items:center;font-size:10px;font-weight:1000;flex:0 0 auto}.slotWho{min-width:0;flex:1}.slotWho b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slotWho small{font-size:8px;color:#777f94}.slotTotal{font-size:12px;font-weight:1000;color:#f5d64e}
.packStage{height:355px;display:grid;place-items:center;position:relative;padding:8px}.slotPack{height:250px;max-width:92%;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.45));animation:packfloat 3s ease-in-out infinite}.slotPack.rip{animation:rip .11s linear infinite}.slotFake{width:145px;height:240px;border-radius:10px;background:linear-gradient(145deg,#34269e,#111a2a 50%,#a82747);border:1px solid #6c718b;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:0 20px 20px rgba(0,0,0,.35)}.slotFake img{max-width:75%;z-index:2}.slotFake.rip{animation:rip .11s linear infinite}
.slotCard{height:305px;max-width:96%;object-fit:contain;border-radius:10px;filter:drop-shadow(0 18px 20px rgba(0,0,0,.42));animation:cardIn .42s cubic-bezier(.2,.8,.2,1)}@keyframes cardIn{from{opacity:0;transform:translateY(-18px) scale(.87) rotateY(45deg)}}
.slotBack{width:165px;height:275px;border-radius:10px;background:linear-gradient(#d64253 0 44%,#1d2230 44% 56%,#eceff4 56%);border:5px solid #e6c53a;box-shadow:inset 0 0 0 4px #2452a2,0 18px 20px rgba(0,0,0,.35);position:relative}.slotBack:after{content:"";position:absolute;width:55px;height:55px;border-radius:50%;border:12px solid #1f2431;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.slotMeta{min-height:76px;border-top:1px solid #242a38;padding:8px;text-align:center;background:#101520}.slotMeta b{display:block;font-size:10px;height:26px;overflow:hidden}.slotMeta .price{font-size:18px;color:#f5d64e;font-weight:1000}.slotMeta small{font-size:8px;color:#747d93}
.slotTrail{height:37px;display:flex;align-items:center;gap:3px;padding:5px 6px;background:#0a0e17;border-top:1px solid #232938;overflow:hidden}.slotTrail img{height:27px;border-radius:2px;opacity:.72}
.roundbar{display:flex;align-items:center;gap:10px;margin-top:9px}.bar{height:6px;flex:1;background:#202636;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5b46d1,#a14ee8,#f1cb40);transition:.35s}.roundlabel{font-size:10px;color:#818aa0;white-space:nowrap}
.result{margin-top:10px;padding:16px;border:1px solid rgba(246,207,53,.28);border-radius:12px;background:rgba(246,207,53,.055);text-align:center}.result h2{margin:2px 0 5px}.result p{margin:0;color:#aeb6c8;font-size:12px}
.setsgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.setcard{min-height:180px;padding:11px;border:1px solid #282f40;background:#101520;border-radius:11px;display:flex;flex-direction:column}.setvisual{height:90px;display:grid;place-items:center;overflow:hidden}.setvisual img{max-width:100%;max-height:100%;object-fit:contain}.setvisual img.cover{width:100%;height:100%;object-fit:cover;border-radius:7px}.setcard b{font-size:11px;margin-top:8px}.setcard small{color:#7f879b;font-size:9px}.setcard .btn{margin-top:auto;min-height:34px;padding:6px;font-size:10px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.stat{padding:13px;border:1px solid #282f40;border-radius:11px;background:#101520}.stat small{color:#7f879b;font-size:9px;font-weight:900}.stat strong{display:block;font-size:20px;margin-top:3px}
.inventory{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.inv{border:1px solid #252c3c;border-radius:9px;overflow:hidden;background:#101520}.inv img{width:100%;display:block}.inv div{padding:6px}.inv b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv span{font-size:10px;color:#f3d34f;font-weight:900}
.profilegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profilecard{padding:19px}.bigava{width:78px;height:78px;border-radius:18px;background:linear-gradient(135deg,#5b46d8,#c6417c);display:grid;place-items:center;font-size:28px;font-weight:1000}.label{font-size:9px;color:#7d859a;font-weight:950;letter-spacing:.08em;margin-top:14px}.value{font-size:22px;font-weight:1000;margin-top:3px}.notice{font-size:10px;line-height:1.5;color:#a9b2c7;background:#111724;border:1px solid #2a3143;padding:9px;border-radius:9px;margin-top:10px}
.modal{position:fixed;inset:0;z-index:150;background:rgba(3,4,8,.83);backdrop-filter:blur(18px);display:grid;place-items:center;padding:17px}.modalcard{width:min(510px,100%);background:#111622;border:1px solid #2d3446;border-radius:16px;padding:21px;box-shadow:0 35px 90px rgba(0,0,0,.58)}.modalcard h2{margin:6px 0}.modalcard p{color:#929bb0;line-height:1.5;font-size:12px}
.toast{position:fixed;right:15px;bottom:15px;z-index:190;background:#161b29;border:1px solid #31384b;padding:11px 13px;border-radius:10px;font-size:12px;font-weight:850;transform:translateY(20px);opacity:0;transition:.22s;box-shadow:var(--shadow)}.toast.show{transform:none;opacity:1}
.musicbox{position:fixed;right:15px;top:78px;z-index:110;width:270px;padding:13px;background:#121724;border:1px solid #30374a;border-radius:11px;box-shadow:var(--shadow)}.musicbox p{color:#858da2;font-size:10px;line-height:1.45}.musicbox .btn{width:100%;margin-top:6px}
.loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.confetti{position:fixed;top:-20px;width:7px;height:12px;z-index:200;animation:fall 2.5s ease-in forwards}@keyframes fall{to{transform:translate(var(--x),110vh) rotate(720deg)}}
@media(max-width:1180px){.nav{display:none}.hero,.openlayout,.battlegrid,.profilegrid{grid-template-columns:1fr}.sidebar{position:relative;top:auto}.setsgrid{grid-template-columns:repeat(4,1fr)}.inventory{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.wrap{padding:0 10px}.topbar{height:64px}.logo span{display:none}.topright .iconbtn{display:none}.hero{min-height:auto}.herocopy{padding:28px 21px}.herocopy h1{font-size:53px}.heroart{min-height:380px}.arenaorb{width:310px;height:310px;right:0}.fancard{width:155px}.quickgrid{grid-template-columns:1fr}.modegrid{grid-template-columns:repeat(2,1fr)}.playerSlots{grid-template-columns:repeat(2,1fr)}.slot:nth-child(5){grid-column:span 2}.setsgrid{grid-template-columns:repeat(2,1fr)}.inventory{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.packStage{height:320px}.slotCard{height:270px}.slotPack{height:220px}}

/* ===== V4 POLISH ===== */
.logoBtn{border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.avatarBtn{border:0;color:white;cursor:pointer;overflow:hidden}.avatarBtn img,.bigava img{width:100%;height:100%;object-fit:cover;display:block}
body:after{content:"";position:fixed;inset:72px 0 0;pointer-events:none;z-index:-1;background:
 radial-gradient(circle at 8% 22%,rgba(246,207,53,.045) 0 2px,transparent 3px),
 radial-gradient(circle at 78% 18%,rgba(89,217,255,.04) 0 2px,transparent 3px),
 radial-gradient(circle at 30% 80%,rgba(239,65,89,.035) 0 2px,transparent 3px);
 background-size:130px 130px,170px 170px,190px 190px;animation:ambientDrift 24s linear infinite}
@keyframes ambientDrift{to{background-position:130px 70px,-170px 110px,190px -80px}}
.panel{position:relative}.hero,.openstage,.battlearena{isolation:isolate}.hero:after,.openstage:after,.battlearena:after{content:"";position:absolute;inset:auto -140px -190px auto;width:430px;height:430px;border-radius:50%;border:52px solid rgba(246,207,53,.025);box-shadow:0 0 0 34px rgba(54,136,255,.018);pointer-events:none;z-index:-1}
.priceHint{font-size:9px;color:#7f879b;line-height:1.35;margin-top:6px;padding:7px 8px;border:1px solid #272e3f;border-radius:8px;background:#0d121c}.priceHint.live{color:#76efb1;border-color:rgba(67,216,137,.28);background:rgba(67,216,137,.055)}.priceHint.snapshot{color:#f6d76a;border-color:rgba(246,207,53,.22);background:rgba(246,207,53,.04)}
.arenaTools{display:flex;align-items:center;gap:7px}.speedSelect{width:auto;min-width:125px;padding:7px 9px;font-size:10px}
#battleGrid.session-active{grid-template-columns:1fr}#battleGrid.session-active>.battleconfig{display:none}#battleGrid.session-active .battlearena{min-height:720px}
#lobby.inArena{margin:10px 0 12px;padding:12px;border:1px solid #2a3144;background:linear-gradient(100deg,#101725,#151827);border-radius:12px;display:grid!important;grid-template-columns:auto minmax(260px,1fr) auto;gap:12px;align-items:center}
#lobby.inArena>small{display:none}#lobby.inArena .code{font-size:28px}#lobby.inArena .summary{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0}#lobby.inArena .members{display:none}#lobby.inArena #hostTools,#lobby.inArena #guestTools{display:flex;gap:6px;justify-content:flex-end}#lobby.inArena #leaveRoom{width:auto!important;margin:0!important;min-height:36px;padding:7px 10px;grid-column:3}
.waitingSlots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:11px}.waitingCard{min-height:430px;border:1px solid #272e40;background:linear-gradient(180deg,#111725,#0b0f18);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;position:relative}.waitingCard.host{border-color:#f0ca3d;box-shadow:0 0 0 1px rgba(246,207,53,.08),0 18px 40px rgba(0,0,0,.18)}.waitingCard .slotTop{height:50px}.waitingBody{flex:1;display:grid;place-items:center;text-align:center;padding:18px;color:#7f899f}.waitingPulse{width:92px;height:92px;border-radius:50%;border:1px solid #36405a;position:relative;margin:auto auto 15px;background:radial-gradient(circle,rgba(89,217,255,.1),transparent 64%)}.waitingPulse:after{content:"";position:absolute;inset:10px;border-radius:50%;border:1px dashed #47516d;animation:spin 3s linear infinite}.waitingBody b{display:block;color:#e8ebf5;margin-bottom:5px}.waitingBody small{font-size:9px}.addBotSlot{margin-top:12px;min-height:34px;font-size:10px}
.slot.you,.waitingCard.you{order:99}.slot.you{border-color:#f6cf35!important}.youBadge{font-size:7px;color:#101217;background:#f6cf35;border-radius:999px;padding:2px 5px;font-weight:1000;margin-left:4px}
.inventoryToolbar{display:grid;grid-template-columns:minmax(220px,1fr) 180px 200px;gap:8px;padding:10px;margin-bottom:12px;box-shadow:none}.inv{cursor:zoom-in;transition:.18s transform,.18s border-color,.18s box-shadow;position:relative}.inv:hover{transform:translateY(-4px);border-color:#46516d;box-shadow:0 16px 30px rgba(0,0,0,.25)}.inv img{aspect-ratio:245/337;object-fit:cover;background:#0a0d15}.inv .rarityLine{font-size:8px;color:#7d879c;margin-top:3px}.inv.hit:after{content:"";position:absolute;inset:-30% -60%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-70%) rotate(8deg);animation:holoSweep 4.2s ease-in-out infinite;pointer-events:none}@keyframes holoSweep{50%,100%{transform:translateX(72%) rotate(8deg)}}
.cardZoomModal{width:min(950px,96vw);padding:18px;position:relative}.zoomClose{position:absolute;right:12px;top:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid #394158;background:#151b29;color:white;font-size:24px}.zoomGrid{display:grid;grid-template-columns:minmax(260px,440px) 1fr;gap:26px;align-items:center}.zoomArtWrap{display:grid;place-items:center;min-height:610px;background:radial-gradient(circle,rgba(109,82,231,.15),transparent 62%);border-radius:14px}.zoomArtWrap img{max-width:100%;max-height:610px;filter:drop-shadow(0 25px 28px rgba(0,0,0,.5))}.zoomInfo h2{font-size:34px;margin:13px 0 5px}.zoomInfo p{color:#8d96ab}.zoomPrice{font-size:38px;color:#f5d64e;font-weight:1000;margin:15px 0}.profileIdentity{display:flex;gap:18px;align-items:center}.avatarUploadBtn{border:0;color:white;cursor:pointer;overflow:hidden;flex:0 0 auto}.dangerWide{width:100%;margin-top:18px}.setsToolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px 170px auto;gap:8px;margin-bottom:10px}.setcard.classic{background:linear-gradient(180deg,rgba(246,207,53,.06),#101520);border-color:rgba(246,207,53,.2)}.setcard .eraTag{display:inline-block;margin-top:5px;padding:3px 5px;border-radius:999px;background:#171e2d;color:#8791a8;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.singleCardWrap .face img{background:#0d111c}.back{backface-visibility:hidden;-webkit-backface-visibility:hidden}.face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.loadingCard{width:170px;height:270px;border-radius:12px;border:1px solid #2e3547;background:linear-gradient(110deg,#121723 25%,#1e2535 38%,#121723 50%);background-size:260% 100%;animation:skeleton 1.2s linear infinite}@keyframes skeleton{to{background-position:-260% 0}}
.slotMeta .price.bump{animation:priceBump .45s ease}@keyframes priceBump{40%{transform:scale(1.18);color:white}}
.battleResultActions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:11px}.rematchStatus{font-size:10px;color:#9099ad;margin-top:8px}.roomBanner{display:flex;align-items:center;gap:10px}.roomBanner .ball{width:28px;height:28px}
@media(max-width:900px){#lobby.inArena{grid-template-columns:1fr}#lobby.inArena #leaveRoom{grid-column:auto;width:100%!important}.waitingSlots{grid-template-columns:repeat(2,1fr)}.waitingCard:last-child:nth-child(odd){grid-column:span 2}.inventoryToolbar,.setsToolbar{grid-template-columns:1fr}.zoomGrid{grid-template-columns:1fr}.zoomArtWrap{min-height:460px}.zoomArtWrap img{max-height:450px}}

/* ========================= POKÉBATTLE V5 ========================= */
:root{--poke-yellow:#ffdc3e;--poke-blue:#2f6edb;--poke-red:#ef4358}
body:after{
 content:"";position:fixed;inset:72px 0 0;pointer-events:none;z-index:-1;opacity:.24;
 background:
 radial-gradient(circle at 8% 24%,rgba(255,220,62,.08) 0 3px,transparent 4px),
 radial-gradient(circle at 89% 23%,rgba(239,67,88,.09) 0 3px,transparent 4px),
 radial-gradient(circle at 75% 70%,rgba(47,110,219,.08),transparent 17%);
 background-size:120px 120px,160px 160px,auto;
}
#page-home{position:relative}
#page-home:before,#page-home:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
#page-home:before{width:430px;height:430px;left:-210px;top:250px;border:64px solid rgba(255,220,62,.025);box-shadow:inset 0 0 0 2px rgba(255,255,255,.025)}
#page-home:after{width:290px;height:290px;right:-100px;top:540px;border:42px solid rgba(47,110,219,.035)}
.hero{border-color:#30384c;background:
 linear-gradient(115deg,rgba(18,23,39,.98),rgba(15,19,32,.94)),
 radial-gradient(circle at 80% 30%,rgba(255,220,62,.12),transparent 25%)}
.pokeTypes{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.typeChip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#0e1422;border:1px solid #2c3448;font-size:10px;font-weight:1000;color:#bac3d8}
.typeChip.electric{box-shadow:inset 0 0 20px rgba(255,220,62,.05);color:#ffe568}
.typeChip.fire{color:#ff8997}.typeChip.water{color:#75b6ff}.typeChip.grass{color:#72e0a8}.typeChip.psychic{color:#cf8dff}
.thirtyBanner{margin-top:14px;padding:11px 13px;border:1px solid rgba(255,220,62,.22);border-radius:12px;background:linear-gradient(100deg,rgba(255,220,62,.07),rgba(109,82,231,.07));display:flex;align-items:center;gap:10px;font-size:11px;color:#c8d0e2}
.thirtyBanner b{color:#ffe368}

/* visual set selector */
.legacySetControls{display:none!important}
.visualSetButton{width:100%;min-height:82px;border:1px solid #323a50;border-radius:13px;background:linear-gradient(135deg,#141a2a,#0d121e);color:#fff;display:flex;align-items:center;gap:13px;padding:10px 12px;text-align:left;transition:.2s}
.visualSetButton:hover{border-color:#6d52e7;transform:translateY(-1px)}
.visualSetButton img{width:88px;height:56px;object-fit:contain;border-radius:8px;background:rgba(255,255,255,.025)}
.visualSetButton .setBallMini{width:48px;height:48px;flex:0 0 auto}
.visualSetButton b{display:block;font-size:13px}.visualSetButton small{display:block;color:#8791a9;margin-top:4px;font-size:10px}
.visualSetButton .chev{margin-left:auto;color:#8891a7;font-size:18px}
.setPickerCard{position:relative;border:1px solid #2a3143;border-radius:13px;background:#101622;overflow:hidden;cursor:pointer;transition:.2s;min-height:178px}
.setPickerCard:hover{transform:translateY(-3px);border-color:#7259e4;box-shadow:0 16px 35px rgba(0,0,0,.28)}
.setPickerCard.selected{outline:2px solid var(--poke-yellow);outline-offset:-2px}
.setPickerVisual{height:105px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(91,70,216,.13),transparent 65%);overflow:hidden}
.setPickerVisual img{max-width:90%;max-height:88px;object-fit:contain}
.setPickerVisual img.cover{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.setPickerText{padding:9px 10px}.setPickerText b{display:block;font-size:11px}.setPickerText small{display:block;color:#7e879c;font-size:9px;margin-top:3px}
.previewBadge{position:absolute;top:7px;right:7px;padding:4px 6px;border-radius:999px;background:#f7ce3b;color:#221800;font-size:8px;font-weight:1000}
#setPickerModal .modalcard{width:min(1100px,96vw);max-height:88vh;display:flex;flex-direction:column}
.setPickerToolbar{display:grid;grid-template-columns:1fr 180px;gap:8px;margin:12px 0}
.setPickerGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;overflow:auto;padding:2px 4px 12px}
@media(max-width:1000px){.setPickerGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.setPickerGrid{grid-template-columns:repeat(2,1fr)}.setPickerToolbar{grid-template-columns:1fr}}

/* real sealed product cards */
.productgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.productVisualGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.productVisual{position:relative;min-height:154px;border:1px solid #2b3347;border-radius:13px;background:linear-gradient(160deg,#151b2a,#0e131e);color:white;padding:9px;overflow:hidden;text-align:left;transition:.2s}
.productVisual:hover{transform:translateY(-2px);border-color:#5d6a91}
.productVisual.active{border-color:#f4cf3c;box-shadow:0 0 0 1px rgba(244,207,60,.25),0 14px 30px rgba(0,0,0,.22)}
.productVisual .productPic{height:90px;display:grid;place-items:center;margin-bottom:5px}
.productVisual .productPic img{max-width:100%;max-height:86px;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(0,0,0,.33))}
.productVisual b{display:block;font-size:11px}.productVisual small{display:block;color:#828ba0;font-size:9px;margin-top:2px}
.productVisual .pprice{position:absolute;top:7px;right:7px;font-size:9px;color:#ffe16a;background:rgba(11,15,24,.86);border:1px solid rgba(255,221,62,.16);padding:4px 6px;border-radius:7px;font-weight:1000}
.productVerified{font-size:8px!important;color:#6ee7ab!important;text-transform:uppercase;letter-spacing:.05em}
.productUnavailable{padding:12px;border:1px dashed #333c51;border-radius:11px;color:#7d879d;font-size:10px}
#battleProductGrid{margin-top:7px}
#battleProduct{display:none!important}
.productHero{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}
.productHero img{max-height:330px;max-width:72%;object-fit:contain;filter:drop-shadow(0 30px 28px rgba(0,0,0,.45))}
.productHero b{font-size:17px}.productHero small{color:#8c96ad}
.openlayout{grid-template-columns:390px 1fr;align-items:start}
.openstage{min-height:735px}
.packzone{min-height:555px}

/* direct card reveal */
.singleCardWrap{height:470px}.singleCardDirect{height:455px;max-width:100%;object-fit:contain;border-radius:15px;filter:drop-shadow(0 25px 27px rgba(0,0,0,.45));animation:v5CardPop .3s cubic-bezier(.2,.8,.2,1)}
@keyframes v5CardPop{from{opacity:0;transform:translateY(12px) scale(.965)}to{opacity:1;transform:none}}
#nextPersonalCard{min-width:185px}

/* battles */
.speedSelect{min-width:125px}
.slotTrail{height:72px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding:7px;scrollbar-width:thin}
.slotTrail img{height:54px;min-width:38px;opacity:.92;border:1px solid #343c50;border-radius:4px;cursor:pointer;transition:.15s}
.slotTrail img:hover{transform:translateY(-2px);opacity:1}
.playerSlots{gap:10px}
.slot.localPlayer{border-color:#f4cf3c!important;box-shadow:0 0 0 1px rgba(244,207,60,.19)}
.slot.localPlayer .slotTop{background:linear-gradient(90deg,rgba(244,207,60,.08),#151a27)}
.youBadge{background:#f6d13e!important;color:#201800!important}
.waitingCard.localPlayer{border-color:#f4cf3c!important}
.battleProductMini{display:flex;gap:8px;align-items:center}.battleProductMini img{width:45px;height:45px;object-fit:contain}
.battlegrid.session-active{grid-template-columns:1fr!important}
.battlegrid.session-active>.battleconfig{display:none!important}
.battleResultActions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}

/* sets - never show broken icon */
.setvisual{position:relative;background:radial-gradient(circle at 50% 48%,rgba(84,67,194,.11),transparent 65%)}
.setvisual .setFallbackBall{width:58px;height:58px}
.setcard.featured30{border-color:rgba(247,207,60,.38);background:linear-gradient(145deg,rgba(247,207,60,.07),#101520 42%)}
.setcard.featured30:before{content:"30TH";position:absolute;top:8px;right:8px;background:#f4cf3c;color:#231900;font-weight:1000;font-size:8px;padding:4px 6px;border-radius:999px}
.setcard{position:relative}

/* inventory multi sell + zoom */
.inventoryToolbar{grid-template-columns:minmax(230px,1fr) 175px 180px auto!important;align-items:center}
.sellSelectedBar{display:flex;gap:8px;align-items:center}
#sellSelected{white-space:nowrap}
.inv{position:relative;transition:.18s;cursor:default}.inv:hover{transform:translateY(-2px);border-color:#414b66}
.inv.selected{outline:2px solid #f5d443;outline-offset:-2px}
.invSelect{position:absolute;z-index:3;top:6px;left:6px;width:25px;height:25px;border:1px solid #67708a;background:rgba(8,11,18,.88);border-radius:7px;color:white;display:grid;place-items:center;font-size:12px}
.inv.selected .invSelect{background:#f3ce3c;color:#181100;border-color:#f3ce3c}
.invImageBtn{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}
.invImageBtn img{width:100%;display:block}
.invActions{display:flex;gap:5px;margin-top:6px}
.invActions button{flex:1;min-height:28px;border-radius:6px;border:1px solid #30394e;background:#171d2b;color:#cad1e0;font-size:8px;font-weight:900;cursor:pointer}
.invActions button.sellOne{color:#ff8592}
.cardZoomModal{width:min(1050px,95vw)!important}
.zoomArtWrap{overflow:auto;min-height:630px!important;align-items:flex-start!important;padding:18px}
#zoomCardImage{transform-origin:center top;transition:transform .2s;cursor:zoom-in;max-height:660px!important}
.zoomControls{display:flex;gap:6px;align-items:center;margin-top:12px}.zoomControls button{min-width:42px}
#zoomPct{font-size:11px;color:#98a1b5;min-width:44px;text-align:center}
@media(max-width:900px){.inventoryToolbar{grid-template-columns:1fr!important}.openlayout{grid-template-columns:1fr}.sidebar{position:relative;top:auto}.productVisualGrid{grid-template-columns:repeat(2,1fr)}}

/* avatar presets */
.avatarPresetGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:9px}
.avatarPreset{aspect-ratio:1;border-radius:13px;border:1px solid #30384c;background:#111725;padding:5px;display:grid;place-items:center;cursor:pointer;transition:.18s}
.avatarPreset:hover,.avatarPreset.active{border-color:#f4cf3c;transform:translateY(-2px)}
.avatarPreset img{width:100%;height:100%;object-fit:contain}
@media(max-width:650px){.avatarPresetGrid{grid-template-columns:repeat(3,1fr)}}

/* 30th preview */
.preview30Grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.preview30Product{border:1px solid #2e364a;border-radius:12px;padding:12px;background:#101622;text-align:center}
.preview30Product img{height:180px;max-width:100%;object-fit:contain}
.previewPrices{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.previewPrice{padding:8px;border:1px solid #2d3549;border-radius:9px;background:#0e141f}.previewPrice b{display:block;font-size:10px}.previewPrice span{font-weight:1000;color:#f4d64d}
@media(max-width:700px){.preview30Grid,.previewPrices{grid-template-columns:1fr}}

/* ========================= POKÉBATTLE V6 ========================= */
:root{--v6-yellow:#f7d83c;--v6-blue:#4188ff;--v6-red:#ef4359;--v6-purple:#7558e8}
#preview30Modal{display:none!important}
.thirtyBanner{display:none!important}

/* More Pokémon atmosphere without getting in the way */
main{position:relative}
#page-home:after,#page-battle:after,#page-sets:after,#page-open:after{
 content:"";position:fixed;pointer-events:none;z-index:-1;background-repeat:no-repeat;background-size:contain;opacity:.045;filter:saturate(.9);
}
#page-home:after{width:400px;height:400px;right:-75px;bottom:-85px;background-image:url("https://assets.tcgdex.net/en/base/base1/58/high.webp")}
#page-battle:after{width:420px;height:420px;right:-100px;bottom:-115px;background-image:url("https://assets.tcgdex.net/en/base/base1/4/high.webp")}
#page-sets:after{width:390px;height:390px;right:-80px;bottom:-95px;background-image:url("https://assets.tcgdex.net/en/base/base3/5/high.webp")}
#page-open:after{width:340px;height:340px;right:-75px;bottom:-60px;background-image:url("https://assets.tcgdex.net/en/base/base2/51/high.webp")}
.pokeDecorV6{position:fixed;inset:72px 0 0;pointer-events:none;z-index:-2;overflow:hidden}
.pokeDecorV6 .pb,.pokeDecorV6 .mb{position:absolute;border-radius:50%;opacity:.035}
.pokeDecorV6 .pb{width:220px;height:220px;border:30px solid #fff;background:linear-gradient(#ed4257 0 44%,#151a27 44% 56%,#fff 56%)}
.pokeDecorV6 .pb:after,.pokeDecorV6 .mb:after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;border:15px solid #151a27;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.pokeDecorV6 .mb{width:180px;height:180px;border:24px solid #a464e5;background:linear-gradient(#7441c8 0 44%,#151a27 44% 56%,#f6f7fb 56%)}
.pokeDecorV6 .one{left:-70px;top:9%}.pokeDecorV6 .two{right:-70px;top:38%}.pokeDecorV6 .three{left:12%;bottom:-85px}

/* V6: products go back to compact reliable text cards */
.productVisualGrid{display:none!important}
#battleProductGrid{display:none!important}
#battleProduct{display:block!important}
#openProducts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#openProducts .prod{display:block!important}
.v6Products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.v6Prod{border:1px solid #30384b;border-radius:10px;background:#111724;color:#fff;padding:10px;text-align:left;min-height:65px;transition:.16s}
.v6Prod:hover{border-color:#56647e;transform:translateY(-1px)}
.v6Prod.active{border-color:#f3d13d;background:rgba(243,209,61,.07);box-shadow:inset 0 0 0 1px rgba(243,209,61,.1)}
.v6Prod b{display:block;font-size:11px}.v6Prod small{display:block;color:#838da4;font-size:9px;margin-top:3px}
.v6Prod .v6ProdPrice{color:#f6d64e;font-weight:1000}
#battleProduct{margin-top:0}
.v6ProductNote{font-size:9px;color:#7f899f;margin-top:7px;line-height:1.4}

/* opening re-balanced */
.openlayout{grid-template-columns:355px minmax(0,1fr);gap:16px}
.sidebar{top:92px}
.openstage{min-height:680px;padding:17px}
.packzone{min-height:500px}
.productHero img{max-height:280px}
@media(max-width:1100px){.openlayout{grid-template-columns:1fr}.sidebar{position:relative;top:auto}}

/* Catalog like a collector app: image, set, buttons */
.setsgrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.setcard{min-height:235px;border-radius:15px;padding:10px;background:linear-gradient(180deg,#121827,#0e131e);overflow:hidden}
.setvisual{height:128px;border-radius:10px;background:radial-gradient(circle at 50% 42%,rgba(92,74,210,.16),rgba(15,20,32,.25) 60%);overflow:hidden}
.setvisual img{max-width:95%;max-height:115px;object-fit:contain}
.setvisual img.cover{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.setcard b{font-size:12px;margin-top:9px}.setcard small{font-size:9px}
.setActionsV6{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding-top:9px}
.setActionsV6 .btn{min-height:32px;padding:5px;font-size:9px}
.previewBtnV6{background:#171e2c;border:1px solid #364057;color:#d6dded}
.openBtnV6{background:linear-gradient(135deg,#7459e9,#4934b4)}
.setMissingV6{width:100%;height:100%;display:grid;place-items:center}
.setMissingV6 .ball{width:62px;height:62px}
.setMainBadge{font-size:8px;color:#8190aa;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}
#setsCatalogMode{min-width:170px}
@media(max-width:1200px){.setsgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.setsgrid{grid-template-columns:repeat(2,1fr)}}

/* Picker: fewer nodes at once = much smoother */
#setPickerModal .modalcard{width:min(1080px,96vw);max-height:88vh}
.setPickerGrid{grid-template-columns:repeat(4,1fr);gap:9px;contain:content}
.setPickerCard{min-height:198px}
.setPickerVisual{height:118px}
.setPickerActionsV6{display:grid;grid-template-columns:1fr auto;gap:5px;padding:0 9px 9px}
.setPickerActionsV6 button{border:1px solid #30394d;background:#171d2a;color:#d6ddec;border-radius:7px;padding:6px;font-size:9px;font-weight:900}
.setPickerActionsV6 .choose{background:#634ad5;color:#fff;border-color:#755dea}
#pickerMoreV6{margin:10px auto 0;display:block}
@media(max-width:900px){.setPickerGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.setPickerGrid{grid-template-columns:repeat(2,1fr)}}

/* Full set preview */
#setPreviewV6 .modalcard{width:min(1280px,97vw);max-height:92vh;display:flex;flex-direction:column}
.previewHeadV6{display:flex;align-items:center;gap:14px;padding-right:35px}
.previewHeadV6 img{width:130px;height:72px;object-fit:contain}
.previewHeadV6 h2{margin:0}.previewHeadV6 p{margin:4px 0 0;color:#8893aa;font-size:10px}
.previewCardsV6{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;overflow:auto;padding:10px 3px 5px;min-height:300px}
.previewCardV6{border:1px solid #2b3345;border-radius:9px;background:#101621;padding:5px;cursor:zoom-in;transition:.15s}
.previewCardV6:hover{transform:translateY(-2px);border-color:#596783}
.previewCardV6 img{width:100%;display:block;border-radius:5px}
.previewCardV6 b{display:block;font-size:8px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.previewFooterV6{display:flex;gap:8px;justify-content:center;padding-top:9px}
@media(max-width:1000px){.previewCardsV6{grid-template-columns:repeat(6,1fr)}}
@media(max-width:700px){.previewCardsV6{grid-template-columns:repeat(3,1fr)}}

/* Battle: local is only labelled, ONLY leader gets gold */
.slot.localPlayer{border-color:#2b3448!important;box-shadow:none!important}
.slot.localPlayer .slotTop{background:linear-gradient(90deg,rgba(61,134,255,.06),#151a27)}
.slot.leaderV6{border-color:#f4cf39!important;box-shadow:0 0 0 1px rgba(244,207,57,.18),0 0 34px rgba(244,207,57,.07)!important}
.slot.leaderV6 .slotTop{background:linear-gradient(90deg,rgba(244,207,57,.1),#151a27)}
.waitingCard.localPlayer{border-color:#3b78d8!important}

/* KeyDrop-like pull rail, clearer */
.slotTrail{height:112px!important;display:flex!important;gap:6px!important;align-items:stretch!important;padding:7px!important;overflow-x:auto!important;background:#090d15!important}
.trailItemV6{width:68px;min-width:68px;height:94px;border:1px solid #30384a;border-radius:7px;background:#121824;overflow:hidden;display:flex;flex-direction:column;cursor:zoom-in}
.trailItemV6 img{width:100%!important;height:70px!important;min-width:0!important;object-fit:cover!important;object-position:top!important;border:0!important;border-radius:0!important;opacity:1!important}
.trailItemV6 span{height:24px;display:grid;place-items:center;font-size:8px;color:#f2d34c;font-weight:1000}
.trailMoreV6{min-width:72px;height:94px;border:1px dashed #3a4358;border-radius:7px;display:grid;place-items:center;color:#8f99ae;font-size:9px;text-align:center;padding:5px;cursor:pointer}
.slotMeta{min-height:84px}
.slotCard{height:min(39vh,360px)!important}
.playerSlots{align-items:stretch}
.battlearena{min-height:690px}
.battleLoadingV6{font-size:10px;color:#8290aa}
@media(max-width:760px){.slotTrail{height:98px!important}.trailItemV6{min-width:58px;width:58px;height:82px}.trailItemV6 img{height:60px!important}}

/* history modal */
#battleHistoryV6 .modalcard{width:min(1220px,97vw);max-height:90vh;display:flex;flex-direction:column}
.historyGridV6{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;overflow:auto;padding:8px 2px}
.historyItemV6{border:1px solid #2d3547;border-radius:8px;background:#101621;padding:5px;text-align:center;cursor:zoom-in}
.historyItemV6 img{width:100%;display:block;border-radius:4px}.historyItemV6 b{display:block;font-size:8px;color:#f2d34d;margin-top:4px}
@media(max-width:900px){.historyGridV6{grid-template-columns:repeat(6,1fr)}}
@media(max-width:600px){.historyGridV6{grid-template-columns:repeat(3,1fr)}}

/* Slightly more spacious battle on two players */
.playerSlots.twoV6{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important}

/* ========================= POKÉBATTLE V7 ========================= */

/* Exactly one product selector. */
#battleProductGrid,#battleProductGridV6,#battleProductGridV7,#battleSimpleProductsV7,.productVisualGrid,.v6Products{display:none!important}
#battleProduct{display:none!important}
#openProducts{display:grid!important}
.productSimpleV7{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
.productSimpleV7 button{border:1px solid #30384b;background:#111724;color:#fff;border-radius:10px;padding:10px;text-align:left;min-height:68px;transition:.16s}
.productSimpleV7 button:hover{transform:translateY(-1px);border-color:#55637d}
.productSimpleV7 button.active{border-color:#f5d33e;background:rgba(245,211,62,.08);box-shadow:inset 0 0 0 1px rgba(245,211,62,.1)}
.productSimpleV7 b{display:block;font-size:11px}.productSimpleV7 small{display:block;color:#828da5;font-size:9px;margin-top:3px}.productSimpleV7 strong{display:block;color:#f5d54b;font-size:9px;margin-top:4px}
#battleProductsV7{margin-top:7px}

/* Catalog strictly physical expansions. */
#setsCatalogMode{display:none!important}
.setsToolbar{grid-template-columns:minmax(250px,1fr) 190px 165px auto!important}
@media(max-width:850px){.setsToolbar{grid-template-columns:1fr!important}}

/* Room moderation */
.kickBtnV7{border:1px solid rgba(240,72,91,.35);background:rgba(240,72,91,.08);color:#ff8795;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:1000;cursor:pointer}
.lockBtnV7{background:#171d2a;border:1px solid #343d52;color:#d2d9e8}
.lockBtnV7.locked{border-color:#f5d33e;color:#f5d33e;background:rgba(245,211,62,.07)}
.memberActionsV7{display:flex;gap:5px;align-items:center}
.waitingKickV7{margin-top:9px!important}

/* 3,2,1,OPEN */
.countdownV7{position:fixed;inset:0;z-index:500;background:rgba(4,6,12,.76);backdrop-filter:blur(10px);display:grid;place-items:center;pointer-events:none}
.countdownNumV7{font-size:clamp(110px,19vw,260px);font-weight:1000;line-height:.8;color:#fff;letter-spacing:-.08em;text-shadow:0 0 70px rgba(117,88,232,.6)}
.countdownNumV7.open{font-size:clamp(82px,14vw,190px);color:#f5d43e;text-shadow:0 0 90px rgba(245,212,62,.55)}
.countAnimV7{animation:countPopV7 .72s cubic-bezier(.17,.84,.44,1)}
@keyframes countPopV7{0%{opacity:0;transform:scale(.45)}35%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}

/* Music controller */
.musicPanelV7{position:fixed;right:18px;top:76px;z-index:180;width:315px;padding:15px;border:1px solid #323a4e;background:rgba(15,20,32,.97);backdrop-filter:blur(18px);border-radius:13px;box-shadow:0 28px 75px rgba(0,0,0,.48)}
.musicPanelV7 h3{margin:0 0 4px}.musicPanelV7 p{margin:0 0 10px;color:#8892a8;font-size:10px;line-height:1.45}
.musicControlsV7{display:grid;gap:8px}.musicRowV7{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}
.musicVolumeV7{display:grid;grid-template-columns:auto 1fr 42px;gap:8px;align-items:center}.musicVolumeV7 input{width:100%}.musicVolumeV7 span{font-size:10px;color:#f4d34c;font-weight:900}
.musicSmallV7{font-size:9px;color:#778198;line-height:1.45;margin-top:7px}

/* Roulette */
.rouletteLayoutV7{display:grid;grid-template-columns:330px 1fr;gap:14px}
.rouletteConfigV7{padding:20px;align-self:start}.rouletteConfigV7 h3{margin:8px 0}.rouletteConfigV7 p{color:#8c96ad;font-size:11px;line-height:1.55}
.rouletteMascotV7{height:120px;display:grid;place-items:center;background:radial-gradient(circle,rgba(247,216,60,.11),transparent 67%);border-radius:14px}.rouletteMascotV7 img{height:110px;filter:drop-shadow(0 12px 15px rgba(0,0,0,.35))}
.stakePresetsV7{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stakePresetsV7 button{border:1px solid #30384a;background:#111724;color:#dce2ef;border-radius:8px;padding:8px;font-weight:900}.stakePresetsV7 button:hover{border-color:#f2cf40;color:#f2cf40}
.rouletteArenaV7{padding:22px;min-height:600px;position:relative;overflow:hidden}
.rouletteWindowV7{height:300px;border:1px solid #293247;border-radius:14px;background:linear-gradient(180deg,#0a0e17,#111725);overflow:hidden;position:relative}
.rouletteWindowV7:before,.rouletteWindowV7:after{content:"";position:absolute;top:0;bottom:0;width:140px;z-index:4;pointer-events:none}.rouletteWindowV7:before{left:0;background:linear-gradient(90deg,#0a0e17,transparent)}.rouletteWindowV7:after{right:0;background:linear-gradient(-90deg,#0a0e17,transparent)}
.roulettePointerV7{position:absolute;z-index:9;top:12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:22px solid #f5d23d;filter:drop-shadow(0 0 8px rgba(245,210,61,.45))}
.rouletteTrackV7{display:flex;align-items:center;height:100%;gap:9px;padding:14px;transform:translateX(0);will-change:transform;transition:none}
.rouletteItemV7{min-width:170px;width:170px;height:260px;border:1px solid #30384a;border-radius:11px;background:#101621;padding:7px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.rouletteItemV7 img{height:205px;max-width:100%;object-fit:contain;border-radius:7px}.rouletteItemV7 b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.rouletteItemV7 span{font-size:11px;color:#f5d34d;font-weight:1000}
.rouletteResultV7{text-align:center;padding:24px}.rouletteResultV7 img{height:330px;max-width:80%;object-fit:contain;filter:drop-shadow(0 22px 24px rgba(0,0,0,.4))}
.rouletteResultV7 h3{margin:8px 0 4px}.rouletteResultV7 p{color:#8c96ad;margin:0}
@media(max-width:950px){.rouletteLayoutV7{grid-template-columns:1fr}}

/* Trade */
.tradeLayoutV7{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.tradeTargetV7,.tradeOfferV7{padding:18px;min-height:650px}
.tradeTargetV7 h3,.tradeOfferV7 h3{margin-top:0}.tradeSearchRowV7{display:grid;grid-template-columns:220px 1fr auto;gap:7px}
.tradeTargetSelectedV7{min-height:92px;border:1px solid #2e374a;border-radius:11px;background:#0d131e;margin:10px 0;padding:9px;display:flex;align-items:center;gap:10px;color:#8d97ad}
.tradeTargetSelectedV7 img{height:82px;border-radius:5px}.tradeTargetSelectedV7 b{display:block;color:#fff}.tradeTargetSelectedV7 strong{color:#f4d34c}
.tradeCardsV7{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;max-height:480px;overflow:auto;padding:2px}
.tradeCardV7{border:1px solid #2b3345;border-radius:8px;background:#101621;padding:5px;cursor:pointer;transition:.15s}.tradeCardV7:hover{transform:translateY(-2px);border-color:#596783}.tradeCardV7 img{width:100%;display:block;border-radius:4px}.tradeCardV7 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.tradeMathV7{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.tradeMathV7 div{border:1px solid #2d3547;background:#0e141f;border-radius:9px;padding:9px}.tradeMathV7 small{display:block;color:#7f899f;font-size:8px;font-weight:900}.tradeMathV7 strong{display:block;font-size:16px;margin-top:4px}
.tradeInventoryV7{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:460px;overflow:auto;margin-top:9px}.tradeOwnV7{position:relative;border:1px solid #2c3446;border-radius:8px;background:#101621;padding:5px;cursor:pointer}.tradeOwnV7.selected{border-color:#f4d23f;box-shadow:inset 0 0 0 1px rgba(244,210,63,.15)}.tradeOwnV7 img{width:100%;display:block;border-radius:4px}.tradeOwnV7 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tradeOwnV7 span{display:block;color:#f3d24a;font-size:9px;font-weight:1000}.tradeCheckV7{position:absolute;top:5px;left:5px;width:22px;height:22px;border-radius:6px;background:rgba(8,11,18,.9);border:1px solid #5e6880;display:grid;place-items:center;font-size:11px}.tradeOwnV7.selected .tradeCheckV7{background:#f4d23f;color:#211800;border-color:#f4d23f}
@media(max-width:1000px){.tradeLayoutV7{grid-template-columns:1fr}.tradeSearchRowV7{grid-template-columns:1fr}.tradeCardsV7{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.tradeCardsV7,.tradeInventoryV7{grid-template-columns:repeat(3,1fr)}.tradeMathV7{grid-template-columns:1fr}}

/* ========================= POKÉBATTLE V8 ========================= */

/* Set preview: all cards visible at once, legible name + RAW price */
.previewCardsV6{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:10px!important;
  overflow:auto!important;
  max-height:67vh!important;
  padding:10px 4px 14px!important;
}
.previewCardV6{
  display:flex!important;
  flex-direction:column!important;
  min-height:225px!important;
  padding:7px!important;
  background:linear-gradient(180deg,#141a29,#0d121d)!important;
  color:#fff!important;
  text-align:left!important;
}
.previewCardV6 img{width:100%!important;aspect-ratio:245/337;object-fit:contain;background:#090d15;border-radius:6px}
.previewCardV6 b{
  color:#f7f8fb!important;
  font-size:10px!important;
  line-height:1.2!important;
  margin-top:7px!important;
  white-space:normal!important;
  min-height:24px!important;
}
.previewRawV8{display:block;margin-top:auto;color:#f5d44b;font-weight:1000;font-size:10px}
.previewRawV8.syncing{color:#8b95aa}
.previewPcTagV8{display:inline-flex;margin-top:4px;font-size:7px;color:#80e2ae;text-transform:uppercase;letter-spacing:.06em}
.previewFooterV6{align-items:center;flex-wrap:wrap}
#previewMoreV6{display:none!important}
.pcSyncStatusV8{font-size:10px;color:#929cb2;min-width:150px;text-align:center}
@media(max-width:1100px){.previewCardsV6{grid-template-columns:repeat(5,1fr)!important}}
@media(max-width:760px){.previewCardsV6{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:480px){.previewCardsV6{grid-template-columns:repeat(2,1fr)!important}}

/* PriceCharting card modal */
.pcPanelV8{margin-top:12px;border:1px solid #2e374b;background:#0c121d;border-radius:11px;padding:10px}
.pcPanelHeadV8{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.pcPanelHeadV8 b{font-size:11px}.pcPanelHeadV8 small{font-size:8px;color:#7f8aa2}
.pcGradeGridV8{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}
.pcGradeRowV8{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#121825;border:1px solid #283146;border-radius:7px;padding:6px 8px;font-size:9px}
.pcGradeRowV8 strong{color:#f5d44a;font-size:10px}
.pcRawRowV8{grid-column:1/-1;border-color:rgba(245,212,74,.25);background:rgba(245,212,74,.045)}
.pcNoteV8{margin-top:7px;color:#7f899e;font-size:8px;line-height:1.4}

/* Grading system */
.gradeBadgeV8{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 6px;border-radius:999px;background:rgba(117,88,232,.12);border:1px solid rgba(117,88,232,.35);color:#c9bfff;font-size:8px;font-weight:1000}
#gradeModalV8 .modalcard{width:min(920px,95vw)}
.gradeLayoutV8{display:grid;grid-template-columns:320px 1fr;gap:18px}
.gradeCardV8{text-align:center}.gradeCardV8 img{height:430px;max-width:100%;object-fit:contain;filter:drop-shadow(0 22px 24px rgba(0,0,0,.45))}
.gradeConfigV8 h2{margin:0 0 5px}.gradeConfigV8 p{color:#8d97ad;font-size:10px;line-height:1.45}
.gradeFeePresetsV8{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:9px 0}
.gradeFeePresetsV8 button{border:1px solid #30394d;background:#111724;color:#d8deec;border-radius:7px;padding:7px;font-weight:900;font-size:9px}
.gradeFeePresetsV8 button:hover{border-color:#f4d23e;color:#f4d23e}
.gradeChanceV8{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}
.gradeChanceV8 div{border:1px solid #2e374b;background:#0e141f;border-radius:8px;padding:8px}
.gradeChanceV8 small{display:block;color:#7f899e;font-size:8px}.gradeChanceV8 strong{display:block;font-size:15px;margin-top:3px}
.gradeResultV8{min-height:72px;border:1px solid #30394c;border-radius:10px;background:#101622;padding:10px;margin-top:9px;display:grid;place-items:center;text-align:center}
.gradeResultV8 .bigGradeV8{font-size:48px;font-weight:1000;color:#f5d33e;line-height:1}
@media(max-width:800px){.gradeLayoutV8{grid-template-columns:1fr}.gradeCardV8 img{height:320px}}

/* Inventory graded cards */
.invGradeV8{position:absolute;top:6px;right:6px;z-index:4;padding:4px 6px;border-radius:7px;background:#1a1330;border:1px solid #7658e8;color:#d7ceff;font-size:8px;font-weight:1000}
.invActions{grid-template-columns:repeat(3,1fr)!important}
.invActions button.gradeOneV8{color:#cbbfff}

/* V8 grading animation overlay */
.gradeRevealV8{position:fixed;inset:0;z-index:510;background:rgba(4,6,12,.84);backdrop-filter:blur(12px);display:grid;place-items:center;text-align:center}
.gradeRevealV8 .slabV8{width:min(380px,88vw);padding:25px;border-radius:20px;background:linear-gradient(160deg,#171d2c,#0c111b);border:1px solid #3a455e;box-shadow:0 35px 90px rgba(0,0,0,.55)}
.gradeRevealV8 .numV8{font-size:105px;line-height:.9;font-weight:1000;color:#f5d33e;text-shadow:0 0 45px rgba(245,211,62,.28)}
.gradeRevealV8 h3{margin:8px 0 2px}.gradeRevealV8 p{margin:0;color:#8d97ad}

/* Better contrast throughout set/picker cards */
.setPickerText b,.setcard>b{color:#f7f8fb!important}
.setPickerText small,.setcard>small{color:#98a3b8!important}

/* Progress during PriceCharting set sync */
.pcProgressV8{height:5px;width:100%;border-radius:99px;background:#222a3a;overflow:hidden;margin-top:5px}
.pcProgressV8 i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6f54e8,#f2ce40);transition:.25s}

/* ========================= POKÉBATTLE V9 — PRICE ACCURACY ========================= */
.marketSourcesV9{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.marketSourceV9{border:1px solid #2d3649;background:#101622;border-radius:8px;padding:8px}
.marketSourceV9 small{display:block;color:#7e899f;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.marketSourceV9 strong{display:block;margin-top:3px;font-size:14px;color:#f5d44b}
.marketSourceV9 span{display:block;margin-top:2px;font-size:8px;color:#909ab0}
.priceVerifiedV9{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid rgba(44,205,126,.35);background:rgba(44,205,126,.08);color:#7ee6ad;border-radius:999px;font-size:8px;font-weight:1000}
.priceEstimateV9{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid rgba(245,211,62,.3);background:rgba(245,211,62,.06);color:#f3d459;border-radius:999px;font-size:8px;font-weight:1000}
.pcMatchDebugV9{margin-top:6px;font-size:8px;color:#738098;line-height:1.35}

/* ========================= POKÉBATTLE V10 ========================= */

/* General polish + fixed pricing */
.priceLockedV10{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #323b50;background:#0d131f;border-radius:9px;padding:10px 11px;margin-top:5px}
.priceLockedV10 small{color:#7f8aa0;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.priceLockedV10 strong{color:#f6d34a;font-size:15px}
.priceLockedV10 span{font-size:8px;color:#8e99b0}
#openPrice,#battlePrice{display:none!important}
#syncOpenPrice,#syncBattlePrice{display:none!important}
#openPriceHint,#battlePriceHint{display:none!important}
#openProducts,#battleProductsV7{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1150px){#openProducts,#battleProductsV7{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.productSimpleV7 button[disabled]{opacity:.34;cursor:not-allowed;transform:none!important}
.openlayout{align-items:start!important}.sidebar{align-self:start!important;top:82px!important;margin-top:0!important}

/* Profile avatars: back to character artwork */
.avatarPresetGrid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.avatarPreset{overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),rgba(17,23,37,.95))!important}
.avatarPreset img{object-fit:contain!important;transform:scale(.92)}
@media(max-width:700px){.avatarPresetGrid{grid-template-columns:repeat(3,1fr)!important}}

/* Main set catalog: never use random card art as a fake logo */
.setMissingLogoV10{height:100%;display:grid;place-items:center;padding:10px;text-align:center;background:radial-gradient(circle,rgba(116,88,232,.12),transparent 62%)}
.setMissingLogoV10 b{font-size:18px;line-height:1.05;color:#f5f7fb;letter-spacing:-.03em}
.setMissingLogoV10 small{color:#7f8aa2;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.previewCardV6{cursor:default!important}
.previewCardV6:hover{transform:none!important}

/* In-app modal instead of browser confirm */
#appConfirmV10 .modalcard{width:min(480px,92vw);text-align:center}
.confirmIconV10{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;background:rgba(245,211,62,.1);border:1px solid rgba(245,211,62,.26);font-size:27px}
.confirmActionsV10{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}

/* Battle setup + result */
.battleconfig .productSimpleV7{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.battleconfig{align-self:start}
#battleResult.result{position:sticky!important;bottom:10px!important;z-index:30!important;box-shadow:0 -8px 35px rgba(0,0,0,.32)}
.playerSlots{width:100%;margin:0 auto}
#playerSlots.twoV6{max-width:1120px!important}
@media(min-width:1100px){.battlegrid:not(.session-active){grid-template-columns:390px minmax(0,1fr)!important}}
.roomNetworkV10{font-size:8px;color:#7ee5ae;margin-left:6px}

/* Roulette: 1/2/3 lanes and Cards/Packs/Mixed */
.rouletteModeV10,.rouletteCountV10{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}
.rouletteModeV10 button,.rouletteCountV10 button{border:1px solid #30384a;background:#111724;color:#dce2ef;border-radius:8px;padding:8px;font-weight:900;font-size:9px}
.rouletteModeV10 button.active,.rouletteCountV10 button.active{border-color:#f5d33f;color:#f5d33f;background:rgba(245,211,63,.07)}
.rouletteLanesV10{display:grid;gap:9px}
.rouletteLaneV10{position:relative}
.rouletteLaneV10 .rouletteWindowV7{height:220px}
.rouletteLaneV10 .rouletteItemV7{height:190px;min-width:125px;width:125px}
.rouletteLaneV10 .rouletteItemV7 img{height:145px}
.packPrizeV10{width:92px;height:142px;border-radius:9px;padding:8px;background:linear-gradient(160deg,#29205e,#c22956);border:2px solid #f3d44a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.3)}
.packPrizeV10 img{max-width:72px!important;height:auto!important;max-height:58px!important;object-fit:contain!important}.packPrizeV10 b{font-size:10px!important;color:#fff}.packPrizeV10 small{font-size:7px;color:#ded7f7}
.rouletteResultsV10{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.rouletteResultCardV10{border:1px solid #30394c;background:#0f1521;border-radius:10px;padding:10px;text-align:center}
.rouletteResultCardV10 img{height:180px;max-width:100%;object-fit:contain}
.rouletteResultCardV10 strong{display:block;color:#f4d44b}
@media(max-width:900px){.rouletteResultsV10{grid-template-columns:1fr}.rouletteLaneV10 .rouletteWindowV7{height:200px}}

/* Inventory: cards + sealed packs */
.inventoryToolbar{grid-template-columns:minmax(220px,1fr) 180px 180px 160px!important}
.invPackV10{position:relative;border:1px solid #30394d;background:linear-gradient(180deg,#141a29,#0d121d);border-radius:9px;padding:9px;min-height:280px;display:flex;flex-direction:column;cursor:pointer}
.invPackV10 .packArtV10{height:195px;display:grid;place-items:center}.invPackV10 .packArtV10 img{max-height:85px;max-width:85%;object-fit:contain}.invPackV10 .packArtV10 .packPrizeV10{transform:scale(.92)}
.invPackV10 b{font-size:10px}.invPackV10 span{color:#f4d34c;font-weight:1000;font-size:10px}.invPackV10 small{color:#808aa0;font-size:8px}
.packActionsV10{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:auto;padding-top:7px}.packActionsV10 button{font-size:8px}
.inventoryActionsV10{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.inventoryActionsV10 .btn{min-height:34px}
#invTypeV10{min-width:130px}
.inv{cursor:pointer}
.invActions{grid-template-columns:1fr!important}.invActions .sellOne{width:100%}
.invImageBtn{cursor:zoom-in}
@media(max-width:800px){.inventoryToolbar{grid-template-columns:1fr 1fr!important}.inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.inventoryToolbar{grid-template-columns:1fr!important}}

/* Real pan/zoom */
.zoomArtWrap{overflow:hidden!important;cursor:grab;touch-action:none;position:relative}
.zoomArtWrap.dragging{cursor:grabbing}
#zoomCardImage{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none;max-width:none!important}
.zoomControls{position:sticky;bottom:0;background:#111724;border-radius:8px;padding:6px}

/* Grading page */
.gradePageV10{display:grid;grid-template-columns:minmax(0,1.3fr) 430px;gap:14px}
.gradePickV10,.gradeDeskV10{padding:16px}.gradePickHeadV10{display:flex;gap:10px;align-items:center;justify-content:space-between}.gradePickHeadV10 h3{margin:0}
.gradeInventoryV10{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:690px;overflow:auto;margin-top:10px}
.gradePagerV10{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 0 2px;color:#9cabc3;font-size:11px}.gradePagerV10 label{display:flex;align-items:center;gap:5px}.gradePagerV10 input{width:58px;border:1px solid #31405a;border-radius:7px;background:#0b1321;color:#fff;padding:6px;text-align:center;font:700 12px inherit}.gradePagerV10 button{min-width:34px;padding:6px 10px}
.gradeInvCardV10{border:1px solid #2d3548;background:#101622;border-radius:8px;padding:5px;cursor:pointer;position:relative}.gradeInvCardV10.active{border-color:#f5d33f}.gradeInvCardV10 img{width:100%;display:block;border-radius:4px}.gradeInvCardV10 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gradeInvCardV10 span{font-size:8px;color:#f5d34a;font-weight:1000}
.gradeSelectedV10{text-align:center;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.gradeSelectedV10 img{height:330px;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.35))}
.gradeFeeQuickV10{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:6px}.gradeFeeQuickV10 button{border:1px solid #30384a;background:#111724;color:#dce2ef;border-radius:7px;padding:7px;font-weight:900;font-size:8px}
.gradeOddsV10{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.gradeOddsV10 div{background:#0d131e;border:1px solid #2e374a;border-radius:8px;padding:8px}.gradeOddsV10 small{display:block;color:#7f899e;font-size:8px}.gradeOddsV10 strong{font-size:15px}
.gradePricesV10{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;max-height:210px;overflow:auto;margin-bottom:9px}.gradePriceV10{display:flex;justify-content:space-between;border:1px solid #2b3447;background:#101621;border-radius:7px;padding:6px 8px;font-size:9px}.gradePriceV10 strong{color:#f4d34b}
@media(max-width:1050px){.gradePageV10{grid-template-columns:1fr}.gradeInventoryV10{grid-template-columns:repeat(5,1fr)}}
@media(max-width:650px){.gradeInventoryV10{grid-template-columns:repeat(3,1fr)}}

/* Upgrade page */
.upgradeLayoutV10{display:grid;grid-template-columns:minmax(0,1fr) 340px 360px;gap:13px}
.upgradeOfferV10,.upgradeWheelPanelV10,.upgradeTargetV10{padding:15px}.upgradeOfferHeaderV10{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.upgradeOfferHeaderV10 h3{margin:0}.upgradeOfferValueTopV10{display:flex;align-items:baseline;justify-content:space-between;gap:7px;width:100%;margin:7px 0 9px;padding:8px 10px;border:1px solid rgba(245,211,63,.25);border-radius:10px;background:linear-gradient(100deg,rgba(245,211,63,.09),rgba(17,24,36,.8));white-space:nowrap}.upgradeOfferValueTopV10 span{color:#8995aa;font-size:9px}.upgradeOfferValueTopV10 b{color:#f5d33f;font-size:13px}.upgradeQuickAddV129+.upgradeOfferValueTopV10{margin-top:7px}
.upgradeOfferGridV10{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:550px;overflow:auto}.upgradePagerV10{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 0 2px;color:#9cabc3;font-size:11px}.upgradePagerV10 label{display:flex;align-items:center;gap:5px}.upgradePagerV10 input{width:58px;border:1px solid #31405a;border-radius:7px;background:#0b1321;color:#fff;padding:6px;text-align:center;font:700 12px inherit}.upgradePagerV10 button{min-width:34px;padding:6px 10px}.upgradeOwnV10{position:relative;border:1px solid #2d3548;background:#101622;border-radius:8px;padding:5px;cursor:pointer}.upgradeOwnV10.selected{border-color:#f5d33f}.upgradeOwnV10 img{width:100%;display:block}.upgradeOwnV10 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upgradeOwnV10 span{font-size:8px;color:#f4d34a;font-weight:1000}
.exchangePagerV135{display:flex;align-items:center;justify-content:center;gap:9px;grid-column:1/-1;padding:10px 0 2px;color:#9cabc3;font-size:11px}.exchangePagerV135 label{display:flex;align-items:center;gap:5px}.exchangePagerV135 input{width:58px;border:1px solid #31405a;border-radius:7px;background:#0b1321;color:#fff;padding:6px;text-align:center;font:700 12px inherit}.exchangePagerV135 button{min-width:34px;padding:6px 10px}
.upgradeFilterBarV113{display:grid;grid-template-columns:minmax(180px,1fr) 180px 190px;gap:7px;margin:8px 0 10px}.upgradeFilterBarV113 .input,.upgradeFilterBarV113 .select{min-width:0;width:100%}.upgradeFilterBarV113 .select{font-size:12px}.upgradeFilterBarV113 option{background:#0c111c;color:#fff}
.upgradeWheelV10{width:280px;height:280px;border-radius:50%;margin:15px auto;position:relative;background:conic-gradient(#f5d33f 0deg var(--chanceDeg,0deg),#242c3d var(--chanceDeg,0deg) 360deg);box-shadow:inset 0 0 0 18px #111724,0 0 0 1px #39435a}
.upgradeWheelV10:after{content:"";position:absolute;inset:48px;border-radius:50%;background:#0d131f;border:1px solid #343e53}
.upgradeWheelV10 .needleV10{position:absolute;z-index:3;width:4px;height:122px;background:#fff;left:calc(50% - 2px);top:18px;transform-origin:50% 122px;transform:rotate(var(--needle,0deg));border-radius:9px;box-shadow:0 0 15px rgba(255,255,255,.35)}
.upgradeWheelV10 .needleV10:after{content:"";position:absolute;top:-8px;left:-6px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:14px solid #fff}
.upgradePctV10{position:absolute;inset:0;z-index:4;display:grid;place-items:center;text-align:center;pointer-events:none}.upgradePctV10 strong{font-size:38px}.upgradePctV10 small{display:block;color:#818da5;font-size:9px}
.upgradeTargetCardV10{text-align:center}.upgradeTargetCardV10 img{height:330px;max-width:100%;object-fit:contain}.upgradeTargetCardV10 strong{display:block;color:#f4d34a;font-size:19px}
#upgradeSearchBoxV10{display:flex;flex-direction:column;min-height:0}.upgradeTargetV10{min-width:0}
.upgradeSearchGridV10{display:grid;grid-template-columns:1fr 1fr;gap:6px;height:clamp(420px,58vh,650px);max-height:none;overflow:auto;margin-top:8px;align-content:start}.upgradeCandidateV10{border:1px solid #2c3548;background:#101622;border-radius:8px;padding:5px;cursor:pointer}.upgradeCandidateV10 img{width:100%;display:block}.upgradeCandidateV10 b{font-size:8px}.upgradeCandidateV10 span{color:#f3d34b;font-size:8px;font-weight:1000}
@media(max-width:1150px){.upgradeLayoutV10{grid-template-columns:1fr 1fr}.upgradeTargetV10{grid-column:1/-1}.upgradeTargetCardV10 img{height:280px}}
@media(max-width:760px){.upgradeLayoutV10{grid-template-columns:1fr}.upgradeTargetV10{grid-column:auto}.upgradeOfferGridV10{grid-template-columns:repeat(3,1fr)}.upgradeFilterBarV113{grid-template-columns:1fr 1fr}.upgradeFilterBarV113 #upgradeInvSearchV10{grid-column:1/-1}.upgradeSearchGridV10{height:clamp(430px,60vh,680px)}}
@media(max-width:430px){.upgradeFilterBarV113{grid-template-columns:1fr}.upgradeFilterBarV113 #upgradeInvSearchV10{grid-column:auto}}

/* Fully responsive shell */
@media(max-width:760px){
 body{overflow-x:hidden}.wrap{width:100%!important;padding-left:10px!important;padding-right:10px!important}
 .topinner{min-height:58px!important;gap:6px!important;flex-wrap:wrap!important}.logo{order:1}.topright{order:2;margin-left:auto}.nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start!important;padding:4px 0 7px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap;font-size:10px!important;padding:8px 9px!important}
 .topright .balance{font-size:10px!important;padding:8px!important}.iconbtn{font-size:9px!important}.avatarBtn{width:34px!important;height:34px!important}
 .sectionhead{align-items:flex-start!important;gap:7px}.sectionhead h2{font-size:22px!important}
 .openlayout,.profilegrid,.rouletteLayoutV7,.battlegrid{grid-template-columns:1fr!important}.sidebar{position:relative!important;top:auto!important}.openstage{min-height:560px!important}
 .setsgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.setcard{min-height:205px!important}.setvisual{height:105px!important}
 .playerSlots{grid-template-columns:1fr!important;gap:8px!important}.slot{min-width:0!important}.slotCard{height:310px!important;max-width:88%!important}.slotTrail{height:94px!important}
 .arenahead,.lobbyTop{flex-direction:column!important;align-items:stretch!important}.arenaTools{justify-content:flex-start!important}
 .roomSummary{grid-template-columns:1fr 1fr!important}.hostTools{grid-template-columns:1fr!important}
 .modalcard{width:96vw!important;max-height:92vh!important;padding:12px!important}.zoomGrid{grid-template-columns:1fr!important}.zoomArtWrap{min-height:50vh!important}.zoomInfo{padding-top:8px!important}
 .previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:72vh!important}.previewCardV6{min-height:0!important}
 .setPickerGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .musicPanelV7{left:10px!important;right:10px!important;top:112px!important;width:auto!important}
 .rouletteConfigV7{padding:13px!important}.rouletteArenaV7{padding:10px!important;min-height:430px!important}.rouletteWindowV7:before,.rouletteWindowV7:after{width:45px!important}
 .tradeCardsV7,.tradeInventoryV7{grid-template-columns:repeat(3,1fr)!important}
 .stats{grid-template-columns:repeat(2,1fr)!important}
}

/* Abrir sobres: la columna izquierda comienza exactamente a la misma altura
   que el panel de apertura y deja de quedarse desplazada al hacer scroll. */
#page-open .openlayout{
  align-items:start!important;
}
#page-open .sidebar{
  position:relative!important;
  top:0!important;
  margin-top:0!important;
  align-self:start!important;
}
#page-open .openstage{
  margin-top:0!important;
  align-self:start!important;
}

/* V13.6.4 — mascot state is now CSS-driven, so old JS cannot repaint it incorrectly. */
#page-roulette .rouletteMascotV7{
  position:relative!important;
  min-height:142px!important;
  overflow:visible!important;
  display:block!important;
}
/* Hide every legacy child painted by older roulette layers. */
#page-roulette .rouletteMascotV7 > *{
  display:none!important;
}

/* Base pseudo-elements used as the only visible artwork. */
#page-roulette .rouletteMascotV7::before,
#page-roulette .rouletteMascotV7::after{
  position:absolute!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:30!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
}

/* CARTAS: Pikachu. */
#page-roulette .rouletteMascotV7::before{
  content:""!important;
  left:50%!important;
  width:82px!important;
  height:116px!important;
  background:url('https://assets.tcgdex.net/en/base/base1/58/high.webp') center/contain no-repeat!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))!important;
}
#page-roulette .rouletteMascotV7::after{content:none!important}

/* SOBRES: force a booster visual — never Pikachu. */
#page-roulette:has([data-rmode="packs"].active) .rouletteMascotV7::before{
  content:"BOOSTER\A PACK"!important;
  white-space:pre!important;
  left:50%!important;
  width:82px!important;
  height:120px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  padding-top:8px!important;
  color:#fff!important;
  font-size:8px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  border:2px solid #f6d33d!important;
  border-radius:8px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),transparent 12%,transparent 88%,rgba(255,255,255,.16)),
    radial-gradient(circle at 50% 43%,rgba(255,255,255,.18) 0 18%,transparent 19%),
    linear-gradient(155deg,#351b59 0%,#6c267b 34%,#b12d69 72%,#d94e86 100%)!important;
  box-shadow:inset 0 0 24px rgba(255,255,255,.08),0 12px 16px rgba(0,0,0,.35)!important;
  filter:none!important;
}
#page-roulette:has([data-rmode="packs"].active) .rouletteMascotV7::after{content:none!important}

/* MIXTA: Pikachu + booster. */
#page-roulette:has([data-rmode="mixed"].active) .rouletteMascotV7::before{
  content:""!important;
  left:38%!important;
  width:70px!important;
  height:102px!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:url('https://assets.tcgdex.net/en/base/base1/58/high.webp') center/contain no-repeat!important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.32))!important;
  box-shadow:none!important;
}
#page-roulette:has([data-rmode="mixed"].active) .rouletteMascotV7::after{
  content:"+\A BOOSTER"!important;
  white-space:pre!important;
  left:64%!important;
  width:70px!important;
  height:104px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:1000!important;
  border:2px solid #f6d33d!important;
  border-radius:8px!important;
  background:linear-gradient(155deg,#351b59 0%,#6c267b 34%,#b12d69 72%,#d94e86 100%)!important;
  box-shadow:inset 0 0 20px rgba(255,255,255,.08),0 10px 14px rgba(0,0,0,.32)!important;
}

@media(max-width:650px){
 #page-roulette .rouletteMascotV7::before{width:70px!important;height:100px!important}
 #page-roulette:has([data-rmode="packs"].active) .rouletteMascotV7::before{width:70px!important;height:102px!important}
 #page-roulette:has([data-rmode="mixed"].active) .rouletteMascotV7::before{left:37%!important;width:60px!important;height:88px!important}
 #page-roulette:has([data-rmode="mixed"].active) .rouletteMascotV7::after{left:65%!important;width:60px!important;height:90px!important}
}

#page-roulette .rouletteMascotV7{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

.creatorCreditV1372{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:linear-gradient(135deg,rgba(109,82,231,.08),rgba(245,211,63,.04));border:1px solid #30394d;border-radius:14px}
.creatorCreditV1372 .creatorMarkV1372{display:flex;align-items:center;gap:13px}.creatorCreditV1372 .creatorIconV1372{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#6d52e7,#c6417c);font-size:22px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.creatorCreditV1372 b{display:block;font-size:14px;color:#fff}.creatorCreditV1372 span{display:block;margin-top:3px;color:#909ab0;font-size:10px}.creatorCreditV1372 strong{color:#f5d34d;font-size:12px;white-space:nowrap}
.siteCreatorFooterV1372{text-align:center;color:#737d92;font-size:10px;padding:24px 12px 30px;letter-spacing:.02em}.siteCreatorFooterV1372 b{color:#aeb7c9}.siteCreatorFooterV1372 .dotSepV1372{padding:0 7px;color:#40495c}
.pbSiteFooterV1401{margin:34px auto 0;padding:28px 18px 34px;max-width:1180px;border-top:1px solid rgba(119,137,181,.2);text-align:center;color:#8792aa;background:radial-gradient(circle at 50% 0,rgba(255,213,74,.08),transparent 42%)}.pbFooterPokeballsV1401{display:flex;align-items:center;justify-content:center;gap:12px;color:#ef4f5f;font-size:28px;line-height:1}.pbFooterPokeballsV1401 i{display:block;width:58px;height:3px;background:linear-gradient(90deg,#ef4f5f 0 48%,#f5f7fb 48% 52%,#263247 52%);border-radius:3px}.pbFooterMainV1401{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:12px}.pbFooterMainV1401 strong{color:#f5d55e;font-size:16px}.pbFooterMainV1401 span{font-size:11px}.pbFooterCommunityV1401{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:720px;margin:18px auto 0;padding:14px 16px;text-align:left;border:1px solid rgba(88,101,242,.42);border-radius:14px;background:linear-gradient(135deg,rgba(88,101,242,.18),rgba(35,43,80,.32));box-shadow:0 12px 30px rgba(0,0,0,.18)}.pbFooterCommunityV1401 div{display:grid;gap:4px}.pbFooterCommunityV1401 b{color:#f5f7ff;font-size:13px}.pbFooterCommunityV1401 span{color:#aeb9ce;font-size:11px;line-height:1.45}.pbFooterCommunityV1401 a{flex:none;padding:10px 13px;border-radius:9px;background:#5865f2;color:#fff;text-decoration:none;font-size:11px;font-weight:900;box-shadow:0 5px 14px rgba(88,101,242,.28)}.pbFooterCommunityV1401 a:hover{background:#707bff}.pbFooterLinksV1401{display:flex;justify-content:center;margin-top:14px}.pbFooterLinksV1401 button{border:0;background:none;color:#b9c5df;text-decoration:underline;cursor:pointer;font:inherit;font-size:11px}.pbFooterLinksV1401 button:hover{color:#ffd64a}.pbSiteFooterV1401>small{display:block;max-width:700px;margin:13px auto 0;color:#68758e;font-size:10px;line-height:1.55}.pbPrivacyPageV1401{max-width:1180px;margin-inline:auto}.pbPrivacyHeroV1401{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.pbPrivacyHeroV1401 h2{margin:8px 0 4px}.pbPrivacyHeroV1401 p{margin:0;color:var(--muted)}.pbPrivacyPokeballV1401{color:#ef4f5f;font-size:38px}.pbPrivacyGridV1401{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pbPrivacyCardV1401{padding:18px}.pbPrivacyCardV1401 h3{margin:0 0 8px;color:#f5d55e;font-size:14px}.pbPrivacyCardV1401 p{margin:0;color:#aeb9ce;font-size:12px;line-height:1.65}.pbPrivacyNoteV1401{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 15px;border:1px solid rgba(255,213,74,.2);border-radius:10px;background:rgba(255,213,74,.05);color:#b7c1d3;font-size:11px;line-height:1.5}.pbPrivacyNoteV1401 p{margin:0}
@media(max-width:650px){.creatorCreditV1372{align-items:flex-start;flex-direction:column}.creatorCreditV1372 strong{white-space:normal}.siteCreatorFooterV1372{padding-bottom:86px}}
@media(max-width:700px){.pbPrivacyGridV1401{grid-template-columns:1fr}.pbPrivacyHeroV1401{align-items:flex-start}.pbPrivacyHeroV1401>.pbPrivacyPokeballV1401{font-size:27px}.pbFooterMainV1401{flex-direction:column;gap:4px}}
@media(max-width:700px){.pbFooterCommunityV1401{display:grid;text-align:center}.pbFooterCommunityV1401 a{justify-self:center}}
/* V13.38 — one PokéBattle brand mark everywhere the app brand is shown. */
.logo .ball,.authBrandV11 .ball{background:url('apple-touch-icon.png') center/contain no-repeat!important;border:0!important;box-shadow:none!important}
.logo .ball:after,.authBrandV11 .ball:after{display:none!important}
.creatorCreditV1372 .creatorIconV1372{background:transparent!important;overflow:hidden!important;padding:0!important}
.creatorCreditV1372 .creatorIconV1372 img{width:100%;height:100%;object-fit:contain;display:block}

body.pbAuthBootV1390{overflow:hidden!important}
body.pbAuthBootV1390>*{visibility:hidden!important}
body.pbAuthBootV1390::before{content:"POKÉBATTLE";position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;background:#070b13;color:#fff;font:1000 24px/1.1 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.03em;visibility:visible!important}
body.pbAuthBootV1390::after{content:"";position:fixed;z-index:2147483647;left:50%;top:calc(50% + 42px);width:24px;height:24px;margin:-12px;border:3px solid #343d50;border-top-color:#f5d33f;border-radius:50%;animation:pbBootSpin1390 .7s linear infinite;visibility:visible!important}
@keyframes pbBootSpin1390{to{transform:rotate(360deg)}}

/* V13.10.15 — UI only: remove redundant fixed/product price box from Battle Arena. */
#battleFixedPriceV10{display:none!important}

/* Header siempre visible en desktop y móvil.
   Se usa fixed en lugar de depender del sticky del navegador para evitar
   conflictos con contenedores/overflow del proyecto. */
html body{padding-top:72px!important}
html body .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:999990!important;
}
@media(max-width:760px){
  html body{padding-top:64px!important}
}

.herocopy h1.seoHeroTitleV1353{font-size:clamp(24px,2.2vw,34px)!important;line-height:1!important;letter-spacing:-.035em!important;margin:16px 0 5px!important;color:#fff;max-width:520px}.seoHeroDescriptorV13532{font-size:11px;line-height:1.45;color:#98a3b6;font-weight:800;letter-spacing:.015em;margin:0 0 10px;max-width:560px}
.heroSloganV1353{font-size:clamp(48px,6.5vw,89px);font-weight:1000;line-height:.88;letter-spacing:-.06em;margin:12px 0 18px}
.heroSloganV1353 span{color:var(--yellow)}
.seoSectionV1353{margin-top:20px;padding:24px}
.seoSectionV1353 h2{margin:0 0 8px;font-size:24px}
.seoSectionV1353>p{margin:0;color:#aeb7ca;line-height:1.65;max-width:1050px}
.seoFeatureGridV1353{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.seoFeatureV1353{border:1px solid #293145;border-radius:13px;background:rgba(10,14,24,.72);padding:16px;min-width:0}
.seoFeatureV1353 h3{font-size:15px;margin:0 0 7px}.seoFeatureV1353 p{margin:0;color:#8f99ad;font-size:12px;line-height:1.55}
.seoLinksV1353{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.seoLinksV1353 .btn{min-height:38px;padding:8px 12px;font-size:11px}
.seoFaqV1353{margin-top:18px;display:grid;gap:8px}.seoFaqV1353 details{border:1px solid #293145;border-radius:11px;background:#0c111b;padding:12px 14px}.seoFaqV1353 summary{cursor:pointer;font-weight:900}.seoFaqV1353 p{margin:9px 0 0;color:#929caf;font-size:12px;line-height:1.55}
.seoDisclaimerV1353{margin:16px 0 0;color:#69758d;font-size:9px;line-height:1.5}
.seoSectionCompactV13531{padding:16px 18px!important}.seoCompactLeadV13531{display:flex;align-items:center;justify-content:space-between;gap:18px}.seoCompactLeadV13531 h2{margin:2px 0 4px;font-size:19px}.seoCompactLeadV13531 p{margin:0;color:#929caf;font-size:12px}.seoEyebrowV13531{display:block;color:#f2cf42;font-size:8px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase}.seoLinksCompactV13531{margin:0!important;flex:0 0 auto}.seoMoreV13531{margin-top:12px;border:1px solid #293145;border-radius:11px;background:#0c111b}.seoMoreV13531>summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:1000}.seoMoreV13531>summary::-webkit-details-marker{display:none}.seoMoreV13531>summary:after{content:'＋';font-size:17px;color:#8f99ad}.seoMoreV13531[open]>summary:after{content:'−'}.seoMoreV13531>summary small{margin-left:auto;color:#6f7a91;font-size:9px;font-weight:700}.seoMoreBodyV13531{padding:0 14px 14px;border-top:1px solid #20283a}.seoMoreBodyV13531>p:first-child{margin:13px 0;color:#929caf;font-size:12px;line-height:1.55}
@media(max-width:820px){.seoFeatureGridV1353{grid-template-columns:1fr}.seoSectionV1353{padding:14px!important}.herocopy h1.seoHeroTitleV1353{font-size:26px!important}.seoHeroDescriptorV13532{font-size:10px;margin-bottom:8px}.heroSloganV1353{font-size:clamp(43px,16vw,66px)}.seoCompactLeadV13531{align-items:flex-start;flex-direction:column;gap:11px}.seoLinksCompactV13531{width:100%}.seoLinksCompactV13531 .btn{flex:1}.seoMoreV13531>summary small{display:none}}

/* Final V10 polish */
#openPrice,#battlePrice{pointer-events:none!important}
.inventoryTitleArtV10{font-size:8px;color:#7f8aa0;text-transform:uppercase;letter-spacing:.05em}
.repriceBtnV10{min-height:34px}
.productSimpleV7{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:640px){.productSimpleV7{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V10.1 — avatares de personaje, no cartas */
.avatarPreset{
  aspect-ratio:1/1!important;
  min-height:86px!important;
  padding:8px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(117,88,232,.16),rgba(16,22,34,.96) 68%)!important;
}
.avatarPreset img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  transform:scale(.92)!important;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))!important;
  border-radius:0!important;
}
.avatarPreset.active{
  border-color:#f5d33f!important;
  box-shadow:0 0 0 1px rgba(245,211,63,.25),0 0 24px rgba(245,211,63,.10)!important;
}
#profileAvatar,#topAvatar{
  object-fit:cover;
}
#profileAvatar.characterAvatarV101,
#topAvatar.characterAvatarV101{
  object-fit:contain!important;
  padding:3px!important;
  background:linear-gradient(145deg,#7457df,#d43d79)!important;
}
@media(max-width:700px){
  .avatarPreset{min-height:76px!important}
}

/* =========================================================
   V10.3 — Roulette visibility + card rendering + open pricing
   ========================================================= */

/* ---------- ROULETTE: pointer impossible to miss ---------- */
.rouletteLaneV10{
  position:relative!important;
  padding-top:26px!important;
}
.rouletteLaneV10 .roulettePointerV7{
  display:block!important;
  position:absolute!important;
  z-index:120!important;
  top:0!important;
  left:50%!important;
  width:42px!important;
  height:42px!important;
  transform:translateX(-50%)!important;
  border:0!important;
  filter:drop-shadow(0 0 10px rgba(255,211,55,.65))!important;
  pointer-events:none!important;
}
.rouletteLaneV10 .roulettePointerV7::before{
  content:""!important;
  position:absolute!important;
  left:19px!important;
  top:0!important;
  width:4px!important;
  height:16px!important;
  border-radius:4px!important;
  background:#ffd337!important;
  box-shadow:0 0 10px rgba(255,211,55,.8)!important;
}
.rouletteLaneV10 .roulettePointerV7::after{
  content:""!important;
  position:absolute!important;
  left:7px!important;
  top:12px!important;
  width:0!important;
  height:0!important;
  border-left:14px solid transparent!important;
  border-right:14px solid transparent!important;
  border-top:22px solid #ffd337!important;
}
.rouletteLaneV10 .rouletteWindowV7{
  position:relative!important;
  overflow:hidden!important;
  border-color:#39445b!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
}
.rouletteLaneV10 .rouletteWindowV7::selection{background:transparent}
.rouletteLaneV10 .rouletteWindowV7 .rouletteCenterLineV103{
  position:absolute;
  z-index:100;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,211,55,.92),rgba(255,211,55,.14) 24%,rgba(255,211,55,.14) 76%,rgba(255,211,55,.92));
  box-shadow:0 0 9px rgba(255,211,55,.30);
  pointer-events:none;
}

/* ---------- ROULETTE: real card frame, no crop / stretch ---------- */
.rouletteItemV7{
  overflow:hidden!important;
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  height:198px!important;
  justify-content:flex-start!important;
  gap:4px!important;
  padding:7px!important;
}
.rouletteCardImageV103{
  width:100%!important;
  height:150px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:7px!important;
  background:radial-gradient(circle at 50% 42%,#182033,#080d16 72%)!important;
}
.rouletteCardImageV103 img{
  width:auto!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:5px!important;
  display:block!important;
}
.rouletteItemV7 b{
  margin-top:1px!important;
  font-size:8px!important;
  line-height:1.15!important;
}
.rouletteItemV7 span{
  font-size:10px!important;
  line-height:1!important;
}
.roulettePackImageV103{
  width:100%!important;
  height:150px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.roulettePackImageV103 .packPrizeV10{
  transform:scale(.78)!important;
  transform-origin:center center!important;
}
.rouletteResultCardV10{
  min-height:300px!important;
}
.rouletteResultCardV10 > .rouletteResultImageV103{
  height:225px!important;
  width:100%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:9px!important;
  background:radial-gradient(circle at 50% 42%,#182033,#080d16 72%)!important;
}
.rouletteResultImageV103 img{
  width:auto!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}

/* ---------- OPENING: exactly 5 fixed products, quantity always visible ---------- */
#openProducts.productSimpleV7,
#battleProductsV7.productSimpleV7{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
#openProducts [data-fixed-prod*="custom"],
#battleProductsV7 [data-fixed-prod*="custom"]{
  display:none!important;
}
#openCustomBox{display:none!important}

/* locked price block: clean and aligned */
#page-open .priceLockedV10{
  min-height:68px!important;
  align-items:center!important;
}
#page-open #openFixedValueV10{
  font-size:16px!important;
  white-space:nowrap!important;
}
#page-open #openFixedSourceV10{
  max-width:130px!important;
  line-height:1.3!important;
}
#page-open #openQty{
  font-size:16px!important;
}

/* mobile roulette */
@media(max-width:760px){
  .rouletteLaneV10{padding-top:24px!important}
  .rouletteItemV7{flex-basis:114px!important;width:114px!important;min-width:114px!important;height:180px!important}
  .rouletteCardImageV103,.roulettePackImageV103{height:134px!important}
}

/* =========================================================
   V10.4 — Upgrade: zona dorada libremente desplazable
   ========================================================= */

.upgradeWheelV10{
  --zoneStart:0deg;
  background:
    conic-gradient(
      from var(--zoneStart),
      #f5d33f 0deg var(--chanceDeg,0deg),
      #242c3d var(--chanceDeg,0deg) 360deg
    )!important;
}

.upgradeWheelV10.zoneMoveEnabledV104{
  cursor:grab!important;
  box-shadow:
    inset 0 0 0 18px #111724,
    0 0 0 2px rgba(245,211,63,.48),
    0 0 26px rgba(245,211,63,.12)!important;
  touch-action:none!important;
}
.upgradeWheelV10.zoneMoveEnabledV104:active{
  cursor:grabbing!important;
}

.upgradeMoveControlsV104{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  margin:0 0 9px;
}
.upgradeMoveControlsV104 .btn{
  min-height:38px;
}
.upgradeMoveHelpV104{
  display:none;
  margin:-2px 0 10px;
  padding:8px 10px;
  border:1px solid rgba(245,211,63,.22);
  background:rgba(245,211,63,.055);
  border-radius:8px;
  color:#aeb7ca;
  font-size:10px;
  line-height:1.35;
  text-align:center;
}
.upgradeMoveHelpV104.show{
  display:block;
}
.upgradeZoneDotV104{
  position:absolute;
  z-index:7;
  left:50%;
  top:50%;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#f5d33f;
  border:2px solid #fff4b5;
  box-shadow:0 0 13px rgba(245,211,63,.75);
  transform:
    translate(-50%,-50%)
    rotate(var(--zoneCenter,0deg))
    translateY(-129px);
  pointer-events:none;
  opacity:0;
  transition:opacity .15s ease;
}
.upgradeWheelV10.zoneMoveEnabledV104 .upgradeZoneDotV104{
  opacity:1;
}

@media(max-width:760px){
  .upgradeMoveControlsV104{
    grid-template-columns:1fr;
  }
  .upgradeZoneDotV104{
    transform:
      translate(-50%,-50%)
      rotate(var(--zoneCenter,0deg))
      translateY(-129px);
  }
}

/* =========================================================
   V10.5 — Gradeo con ruleta de notas 1–10
   ========================================================= */
.gradeRouletteOverlayV105{
  position:fixed;
  inset:0;
  z-index:900;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(3,6,12,.90);
  backdrop-filter:blur(12px);
}
.gradeRouletteOverlayV105.hidden{display:none!important}

.gradeRoulettePanelV105{
  width:min(760px,94vw);
  padding:24px;
  border-radius:18px;
  border:1px solid #354057;
  background:
    radial-gradient(circle at 50% 0%,rgba(112,80,230,.14),transparent 42%),
    linear-gradient(160deg,#151b29,#0b1019);
  box-shadow:0 35px 100px rgba(0,0,0,.62);
  text-align:center;
  overflow:hidden;
}
.gradeRoulettePanelV105 h2{
  margin:0 0 5px;
  font-size:24px;
}
.gradeRoulettePanelV105 > p{
  margin:0 0 18px;
  color:#8f9ab0;
  font-size:11px;
}

.gradeRouletteWindowV105{
  position:relative;
  height:146px;
  overflow:hidden;
  border:1px solid #30394d;
  border-radius:13px;
  background:#090e17;
  box-shadow:
    inset 0 0 40px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,255,255,.02);
}
.gradeRouletteWindowV105:before,
.gradeRouletteWindowV105:after{
  content:"";
  position:absolute;
  z-index:8;
  top:0;
  bottom:0;
  width:24%;
  pointer-events:none;
}
.gradeRouletteWindowV105:before{
  left:0;
  background:linear-gradient(90deg,#090e17 12%,rgba(9,14,23,0));
}
.gradeRouletteWindowV105:after{
  right:0;
  background:linear-gradient(270deg,#090e17 12%,rgba(9,14,23,0));
}
.gradeRoulettePointerV105{
  position:absolute;
  z-index:12;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  border-top:19px solid #ffd43f;
  filter:drop-shadow(0 0 8px rgba(255,212,63,.72));
}
.gradeRoulettePointerV105.bottom{
  top:auto;
  bottom:0;
  border-top:0;
  border-bottom:19px solid #ffd43f;
}
.gradeRouletteCenterV105{
  position:absolute;
  z-index:9;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#ffd43f,rgba(255,212,63,.12) 22%,rgba(255,212,63,.12) 78%,#ffd43f);
  box-shadow:0 0 12px rgba(255,212,63,.30);
}
.gradeRouletteTrackV105{
  display:flex;
  align-items:center;
  gap:10px;
  height:100%;
  width:max-content;
  padding:0 8px;
  will-change:transform;
}
.gradeNumTileV105{
  flex:0 0 104px;
  height:108px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid #35405a;
  background:linear-gradient(180deg,#171f30,#0e1522);
  color:#dce4f2;
  font-size:52px;
  line-height:1;
  font-weight:1000;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.gradeNumTileV105.g1,.gradeNumTileV105.g2,.gradeNumTileV105.g3,.gradeNumTileV105.g4{color:#aeb7c8}
.gradeNumTileV105.g5,.gradeNumTileV105.g6,.gradeNumTileV105.g7{color:#9e8cff}
.gradeNumTileV105.g8{color:#4fc3ff;border-color:#356d93}
.gradeNumTileV105.g9{color:#f2b543;border-color:#9a6d1d}
.gradeNumTileV105.g10{
  color:#fff1a0;
  border-color:#ffd43f;
  background:
    radial-gradient(circle at 50% 34%,rgba(255,230,107,.21),transparent 45%),
    linear-gradient(145deg,#2b2230,#171529);
  box-shadow:0 0 25px rgba(255,212,63,.14),inset 0 0 0 1px rgba(255,212,63,.18);
}

.gradeRouletteStatusV105{
  min-height:78px;
  display:grid;
  place-items:center;
  margin-top:14px;
}
.gradeRouletteStatusV105 .rolling{
  color:#96a1b6;
  font-size:12px;
}
.gradeRouletteFinalV105{
  animation:gradePopV105 .38s ease-out both;
}
.gradeRouletteFinalV105 strong{
  display:block;
  font-size:54px;
  line-height:.9;
  color:#ffd43f;
  text-shadow:0 0 24px rgba(255,212,63,.28);
}
.gradeRouletteFinalV105 b{
  display:block;
  margin-top:7px;
  font-size:18px;
}
.gradeRouletteFinalV105 small{
  display:block;
  margin-top:4px;
  color:#8f9ab0;
}
@keyframes gradePopV105{
  from{transform:scale(.74);opacity:.2}
  to{transform:scale(1);opacity:1}
}

@media(max-width:620px){
  .gradeRoulettePanelV105{padding:16px}
  .gradeRouletteWindowV105{height:122px}
  .gradeNumTileV105{
    flex-basis:82px;
    height:90px;
    font-size:42px;
  }
}

/* =========================================================
   POKÉBATTLE V11
   - preview RAW legible
   - producto perfectamente centrado
   - upgrade spinner robusto
   - login / registro
   ========================================================= */

/* ---------- SET PREVIEW: más aire y precio RAW siempre visible ---------- */
#setPreviewV6 .modalcard{
  width:min(1340px,97vw)!important;
}
.previewCardsV6{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:13px!important;
  max-height:68vh!important;
  padding:12px 8px 18px!important;
  align-content:start!important;
}
.previewCardV6{
  min-width:0!important;
  min-height:284px!important;
  padding:8px!important;
  overflow:visible!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#151c2b,#0c121d)!important;
}
.previewCardV6 img{
  width:100%!important;
  aspect-ratio:245/337!important;
  object-fit:contain!important;
  border-radius:7px!important;
  background:#080d15!important;
}
.previewCardV6 b{
  display:block!important;
  min-height:29px!important;
  margin:8px 1px 0!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1.35!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.previewRawV8{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:31px!important;
  margin-top:7px!important;
  padding:6px 8px!important;
  border:1px solid rgba(245,211,63,.20)!important;
  border-radius:8px!important;
  background:rgba(245,211,63,.055)!important;
  color:#f7d84d!important;
  font-size:10px!important;
  font-weight:1000!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.previewRawV8.syncing{
  color:#9ba5b9!important;
  border-color:#30394d!important;
  background:#0f1622!important;
}
.previewPcTagV8{
  margin-top:5px!important;
  font-size:7px!important;
  color:#70e0aa!important;
}
@media(max-width:1160px){.previewCardsV6{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:900px){.previewCardsV6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:680px){.previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.previewCardV6{min-height:255px!important}}
@media(max-width:390px){.previewCardsV6{grid-template-columns:1fr 1fr!important}}

/* ---------- ABRIR SOBRES: producto centrado de verdad ---------- */
#personalZone.packzone,
#personalReveal.packzone{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
#personalPack{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto!important;
}
#personalPack .productHero,
#personalPack > *{
  margin-left:auto!important;
  margin-right:auto!important;
}
#personalPack .productHero{
  width:min(520px,100%)!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
#personalPack .productHero img{
  display:block!important;
  margin:0 auto!important;
}
#ripPersonal{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- UPGRADE: indicador limpio ---------- */
.upgradeWheelV10 .needleV10{
  transform-origin:50% 100%!important;
  will-change:transform!important;
}
.upgradeSpinStateV11{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin:-2px 0 8px;
  color:#8e99af;
  font-size:9px;
  letter-spacing:.03em;
}
.upgradeSpinStateV11.active{
  color:#f5d33f;
}

/* ---------- AUTH ---------- */
.authGateV11{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:18px;
  background:
    radial-gradient(circle at 18% 15%,rgba(104,78,224,.16),transparent 30%),
    radial-gradient(circle at 84% 78%,rgba(211,54,92,.12),transparent 31%),
    rgba(4,7,13,.97);
  backdrop-filter:blur(12px);
}
.authGateV11.hidden{display:none!important}
.authCardV11{
  width:min(470px,96vw);
  border:1px solid #31394c;
  border-radius:18px;
  padding:22px;
  background:linear-gradient(155deg,#151b29,#0b1019);
  box-shadow:0 35px 100px rgba(0,0,0,.62);
}
.authBrandV11{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  font-size:21px;
  font-weight:1000;
}
.authBrandV11 .ball{width:38px;height:38px}
.authBrandV11 em{font-style:normal;color:#f5d33f}
.authTabsV11{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-bottom:14px;
  padding:4px;
  border:1px solid #2b3346;
  border-radius:11px;
  background:#0b111c;
}
.authTabsV11 button{
  min-height:38px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#8994aa;
  font-weight:1000;
  cursor:pointer;
}
.authTabsV11 button.active{
  background:#6d50df;
  color:#fff;
}
.authPasswordWrapV11{position:relative;display:block}
.authPasswordWrapV11 .input{padding-right:52px!important}
.authPasswordWrapV11 input[type=password]::-ms-reveal,.authPasswordWrapV11 input[type=password]::-ms-clear{display:none!important}
.authEyeV11{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:1px solid transparent!important;border-radius:9px!important;background:#121a2a!important;color:#aeb8cc!important;display:grid!important;place-items:center!important;cursor:pointer;font-size:0!important;line-height:1!important;box-sizing:border-box!important;z-index:4!important;overflow:hidden!important}
.authEyeV11 svg{width:18px;height:18px;display:block;pointer-events:none}
.authEyeV11[data-visible="1"]::after{content:"";position:absolute;width:21px;height:2px;border-radius:2px;background:currentColor;transform:rotate(-42deg);pointer-events:none}
.authEyeV11:hover{background:#20293a!important;color:#fff!important}.authEyeV11:active{transform:translateY(-50%)!important}
.authEyeV11:focus,.authEyeV11:focus-visible{outline:none!important;box-shadow:0 0 0 2px rgba(245,211,63,.85)!important}
#authConfirmFieldV11.hidden{display:none!important}
.authRememberV11{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0;
  color:#a0aabd;
  font-size:11px;
}
.authRememberV11 input{
  width:16px;
  height:16px;
  accent-color:#f5d33f;
}
.authInfoV11{
  margin-top:10px;
  padding:9px 10px;
  border:1px solid #2d3548;
  border-radius:9px;
  background:#101724;
  color:#8490a7;
  font-size:9px;
  line-height:1.45;
}
.authStatusV11{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  color:#7f899f;
  font-size:9px;
}
.authStatusV11 i{
  width:7px;height:7px;border-radius:50%;background:#f0b73a;box-shadow:0 0 10px currentColor;
}
.authStatusV11.remote i{background:#35d992}
.authErrorV11{
  display:none;
  margin-top:9px;
  padding:8px 10px;
  border:1px solid rgba(239,74,99,.35);
  border-radius:8px;
  background:rgba(239,74,99,.08);
  color:#ff9aac;
  font-size:10px;
}
.authErrorV11.show{display:block}
.profileAccountV11{
  margin-top:12px;
  padding:10px;
  border:1px solid #2d3548;
  border-radius:10px;
  background:#0e1520;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.profileAccountV11 small{
  display:block;color:#7f899f;font-size:8px;font-weight:900;text-transform:uppercase
}
.profileAccountV11 b{display:block;margin-top:2px;font-size:12px}
.profileAccountV11 .btn{min-height:34px;padding:6px 10px}
@media(max-width:520px){
  .authCardV11{padding:16px}
  .profileAccountV11{align-items:flex-start;flex-direction:column}
  .profileAccountV11 .btn{width:100%}
}

/* =========================================================
   V11.1 — FINAL FIXES
   - productos sellados: sin Personalizado, cantidad + total correctos
   - ruleta: flecha siempre visible
   - imágenes completas y centradas
   ========================================================= */

/* --- producto: SOLO 5 opciones, cuadrícula limpia --- */
#openProducts.productSimpleV7,
#battleProductsV7.productSimpleV7{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#openProducts button,
#battleProductsV7 button{
  min-height:84px!important;
}
#openProducts [data-fixed-prod*="custom"],
#battleProductsV7 [data-fixed-prod*="custom"],
#openCustomBox{
  display:none!important;
}
#openQty,#battleQty{
  display:block!important;
  width:100%!important;
}
#openPrice,#battlePrice{
  pointer-events:none!important;
  user-select:none!important;
}

/* fijo: total muy claro */
.priceLockedV111{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:58px;
  padding:10px 11px;
  border:1px solid rgba(246,211,62,.21);
  border-radius:9px;
  background:rgba(246,211,62,.045);
  margin-top:7px;
}
.priceLockedV111 small{
  display:block;
  color:#8f99ac;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.priceLockedV111 strong{
  color:#f6d33e;
  font-size:16px;
  white-space:nowrap;
}
.priceLockedV111 span{
  display:block;
  margin-top:3px;
  color:#6f7b91;
  font-size:7px;
  line-height:1.35;
}

/* --- ROULETTE V11.1 --- */
.rouletteLaneV111{
  position:relative!important;
  padding:10px 0 0!important;
}
.rouletteWindowV111{
  height:232px!important;
  border:1px solid #33405a!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#090e17,#101725)!important;
  position:relative!important;
  overflow:hidden!important;
  box-shadow:inset 0 0 35px rgba(0,0,0,.36)!important;
}
.roulettePointerV111{
  position:absolute!important;
  z-index:999!important;
  left:50%!important;
  top:-1px!important;
  transform:translateX(-50%)!important;
  width:0!important;
  height:0!important;
  border-left:16px solid transparent!important;
  border-right:16px solid transparent!important;
  border-top:28px solid #ffd43f!important;
  filter:drop-shadow(0 0 10px rgba(255,212,63,.9))!important;
  pointer-events:none!important;
}
.roulettePointerV111:before{
  content:"";
  position:absolute;
  left:-2px;
  top:-34px;
  width:4px;
  height:12px;
  border-radius:3px;
  background:#ffd43f;
  box-shadow:0 0 9px rgba(255,212,63,.9);
}
.rouletteCenterV111{
  position:absolute!important;
  z-index:250!important;
  left:50%!important;
  top:0!important;
  bottom:0!important;
  width:2px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,#ffd43f,rgba(255,212,63,.08) 22%,rgba(255,212,63,.08) 78%,#ffd43f)!important;
  box-shadow:0 0 9px rgba(255,212,63,.34)!important;
  pointer-events:none!important;
}
.rouletteTrackV111{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:16px 10px!important;
  width:max-content!important;
  will-change:transform!important;
}
.rouletteItemV111{
  flex:0 0 138px!important;
  width:138px!important;
  height:198px!important;
  border:1px solid #313b50!important;
  border-radius:11px!important;
  padding:7px!important;
  background:#0f1622!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  overflow:hidden!important;
}
.rouletteImageV111{
  width:100%!important;
  height:151px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:7px!important;
  background:radial-gradient(circle at 50% 45%,#1b2437,#080d16 72%)!important;
}
.rouletteImageV111 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  aspect-ratio:auto!important;
}
.rouletteItemV111 b{
  width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:8px;
  text-align:center;
}
.rouletteItemV111 strong{
  color:#f6d33e;
  font-size:10px;
}
.rouletteResultsV111{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}
.rouletteResultV111{
  min-height:320px!important;
  border:1px solid #30394d!important;
  border-radius:12px!important;
  padding:12px!important;
  background:#0e1521!important;
  text-align:center!important;
}
.rouletteResultImageV111{
  height:238px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.rouletteResultImageV111 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.rouletteResultV111 b{
  display:block;
  margin-top:6px;
}
.rouletteResultV111 strong{
  display:block;
  color:#f6d33e;
  font-size:17px;
  margin-top:3px;
}
.rouletteResultV111 small{
  display:block;
  color:#8994aa;
  margin-top:3px;
}

@media(max-width:850px){
  .rouletteResultsV111{grid-template-columns:1fr!important}
  .rouletteWindowV111{height:214px!important}
}
@media(max-width:560px){
  #openProducts.productSimpleV7,#battleProductsV7.productSimpleV7{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .rouletteItemV111{flex-basis:122px!important;width:122px!important;height:184px!important}
  .rouletteImageV111{height:138px!important}
}

/* =========================================================
   POKÉBATTLE V11.2
   ========================================================= */

/* 1) PREVIEW DE SET: nombre + RAW SIEMPRE dentro de la tarjeta */
#setPreviewV6 .modalcard{
  width:min(1380px,98vw)!important;
}
.previewCardsV6{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
.previewCardV6{
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-content:start!important;
  gap:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  padding:7px!important;
}
.previewCardV6 img{
  width:100%!important;
  height:auto!important;
  max-height:235px!important;
  aspect-ratio:245/337!important;
  object-fit:contain!important;
}
.previewCardV6 b{
  min-height:30px!important;
  margin:7px 2px 0!important;
  display:flex!important;
  align-items:flex-start!important;
}
.previewCardV6 .previewRawV8{
  position:relative!important;
  inset:auto!important;
  margin:6px 0 0!important;
  min-height:31px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:6px 8px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  color:#f6d642!important;
  background:rgba(246,214,66,.07)!important;
  border:1px solid rgba(246,214,66,.24)!important;
  border-radius:7px!important;
  z-index:4!important;
}
.previewCardV6 .previewRawV8.syncing{
  color:#aab3c4!important;
  background:#0d1420!important;
  border-color:#30394b!important;
}
@media(max-width:1180px){.previewCardsV6{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:900px){.previewCardsV6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:680px){.previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important}.previewCardV6 img{max-height:none!important}}

/* 2) PRODUCTOS: cinco opciones, 3 + 2 centradas */
#openProducts.productSimpleV7,
#battleProductsV7.productSimpleV7{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  margin:0 auto!important;
}
#openProducts.productSimpleV7 > button,
#battleProductsV7.productSimpleV7 > button{
  flex:0 1 calc(33.333% - 6px)!important;
  width:calc(33.333% - 6px)!important;
  min-width:0!important;
  min-height:84px!important;
}
#openProducts button[data-fixed-prod*="custom"],
#battleProductsV7 button[data-fixed-prod*="custom"],
#openProducts button[data-product-v7*="custom"],
#battleProductsV7 button[data-product-v7*="custom"],
#openCustomBox{
  display:none!important;
}

/* BATALLAS: selector de producto ocupa todo el ancho y está centrado */
#battleProductSectionV112{
  margin-top:9px;
}
#battleProductSectionV112 > label{
  display:block;
  color:#8893a9;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.battleQtyRowV112{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin-top:9px!important;
}
.battleQtyRowV112 > .field:first-child{
  display:none!important;
}
#battleProductMathV112,
#openProductMathV112{
  margin-top:7px;
  border:1px solid rgba(246,211,62,.22);
  background:rgba(246,211,62,.05);
  border-radius:9px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
#battleProductMathV112 small,
#openProductMathV112 small{
  display:block;
  color:#8c97ab;
  font-size:8px;
  margin-top:2px;
}
#battleProductMathV112 strong,
#openProductMathV112 strong{
  color:#f6d53f;
  font-size:15px;
  white-space:nowrap;
}

/* 3) ABRIR SOBRE: la carta sustituye visualmente al producto */
#personalZone.hidden,
#personalReveal.hidden{
  display:none!important;
}
#personalZone.packzone,
#personalReveal.packzone{
  min-height:555px!important;
  width:100%!important;
  align-items:center!important;
  justify-content:center!important;
}
#personalReveal .singleReveal{
  width:min(460px,100%)!important;
  margin:0 auto!important;
}
#personalCardWrap{
  min-height:410px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#personalCardWrap img{
  max-height:410px!important;
  width:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
}

/* 4) UPGRADE: controles para colocar la franja amarilla */
#upgradeZoneToolsV112{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  margin:-2px 0 9px;
}
#upgradeZoneToolsV112 .btn{
  min-height:38px;
}
#upgradeWheelV10.zoneMoveV112{
  cursor:crosshair!important;
  touch-action:none!important;
  box-shadow:
    inset 0 0 0 18px #111724,
    0 0 0 2px rgba(246,211,62,.55),
    0 0 30px rgba(246,211,62,.12)!important;
}

/* 5) GRADEO: filtros */
.gradeFiltersV112{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px;
}
.gradeFiltersV112 .select{
  min-width:0;
}

/* 6) RULETA: puntero inequívoco y carriles consistentes */
.rouletteLaneV112{
  position:relative!important;
  padding-top:27px!important;
  margin-bottom:10px!important;
}
.roulettePointerV112{
  position:absolute!important;
  z-index:1000!important;
  left:50%!important;
  top:0!important;
  width:31px!important;
  height:26px!important;
  transform:translateX(-50%)!important;
  background:#ffd53d!important;
  clip-path:polygon(0 0,100% 0,50% 100%)!important;
  filter:drop-shadow(0 0 10px rgba(255,213,61,.95))!important;
  pointer-events:none!important;
}
.rouletteWindowV112{
  height:230px!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #33405a!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#090e17,#101725)!important;
}
.rouletteWindowV112:after{
  content:""!important;
  position:absolute!important;
  z-index:900!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  width:2px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,#ffd53d,rgba(255,213,61,.08) 22%,rgba(255,213,61,.08) 78%,#ffd53d)!important;
  box-shadow:0 0 8px rgba(255,213,61,.4)!important;
  pointer-events:none!important;
}
.rouletteTrackV112{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:15px 10px!important;
  width:max-content!important;
  will-change:transform!important;
}
.rouletteItemV112{
  flex:0 0 138px!important;
  width:138px!important;
  height:198px!important;
  border:1px solid #303a4f!important;
  background:#0f1622!important;
  border-radius:10px!important;
  padding:7px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:center!important;
  overflow:hidden!important;
}
.rouletteItemV112 .rouletteImageV112{
  width:100%!important;
  height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.rouletteItemV112 .rouletteImageV112 img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.rouletteItemV112 b{
  width:100%;
  font-size:8px;
  margin-top:3px;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rouletteItemV112 strong{
  color:#f6d53f;
  font-size:10px;
}
.rouletteResultsV112{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}
.rouletteResultV112{
  min-height:315px;
  border:1px solid #30394d;
  border-radius:11px;
  padding:11px;
  background:#0e1521;
  text-align:center;
}
.rouletteResultImageV112{
  height:235px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.rouletteResultImageV112 img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.rouletteResultV112 b{display:block;margin-top:5px}
.rouletteResultV112 strong{display:block;color:#f6d53f;font-size:17px;margin-top:3px}
.rouletteResultV112 small{display:block;color:#8c96aa;margin-top:3px}

/* mascota según modo */
#rouletteMascotDynamicV112{
  height:122px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-bottom:4px;
}
#rouletteMascotDynamicV112 img{
  max-height:112px;
  max-width:115px;
  object-fit:contain;
}
.roulettePackMascotV112{
  width:82px;
  height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:2px solid #f2cf39;
  border-radius:9px;
  background:linear-gradient(160deg,#26225b,#9d214d);
  box-shadow:0 10px 20px rgba(0,0,0,.25);
  padding:7px;
  text-align:center;
}
.roulettePackMascotV112 b{font-size:9px}
.roulettePackMascotV112 small{font-size:6px;color:#fff;opacity:.8;margin-top:3px}

@media(max-width:780px){
  #openProducts.productSimpleV7 > button,
  #battleProductsV7.productSimpleV7 > button{
    flex:0 1 calc(50% - 5px)!important;
    width:calc(50% - 5px)!important;
  }
  .gradeFiltersV112{grid-template-columns:1fr}
  .rouletteResultsV112{grid-template-columns:1fr!important}
  .rouletteWindowV112{height:214px!important}
}

/* =========================================================
   POKÉBATTLE V11.4 — PRODUCTOS / PREVIEW / RULETA / GRADEO
   ========================================================= */

/* Nunca mostrar Booster Box ni Personalizado: ETB es el producto máximo. */
#openProducts button[data-v112-open="box"],
#battleProductsV7 button[data-v112-battle="box"],
#openProducts button[data-v112-open="custom"],
#battleProductsV7 button[data-v112-battle="custom"],
#battleProduct option[value="box"],
#battleProduct option[value="custom"]{display:none!important}

/* Abrir sobres: ambos paneles empiezan arriba y mantienen el mismo bloque visual. */
@media(min-width:901px){
  #page-open .openlayout{align-items:stretch!important;grid-template-columns:370px minmax(0,1fr)!important;gap:14px!important}
  #page-open .sidebar,#page-open .openstage{height:690px!important;min-height:690px!important;max-height:690px!important}
  #page-open .sidebar{position:relative!important;top:auto!important;overflow:auto!important;padding:16px!important}
  #page-open .openstage{overflow:hidden!important}
}
#page-open .step{margin-bottom:12px!important;padding-bottom:12px!important}
#page-open .productSimpleV7,#page-battle .productSimpleV7{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;width:100%!important;justify-content:center!important;margin:0!important
}
#page-open .productSimpleV7 button,#page-battle .productSimpleV7 button{width:100%!important;min-height:72px!important;margin:0!important}
#battleProductSectionV112{width:100%!important;margin:0!important;padding:0!important}
#battleProductSectionV112>label{display:block!important;margin:0 0 7px!important}
.battleconfig #battleProductsV7{margin-left:0!important;margin-right:0!important;transform:none!important}

/* El producto / carta del opening siempre ocupa el centro del escenario. */
#personalZone.packzone,#personalReveal.revealzone{height:100%!important;min-height:0!important;align-items:center!important;justify-content:center!important;padding:14px!important}
#personalPack{margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:0!important}
#personalCard{margin:0 auto!important;max-height:500px!important;object-fit:contain!important}

/* Preview: una carta completa + nombre + una fila exclusiva para RAW. */
#setPreviewV6 .modalcard{width:min(1420px,98vw)!important}
.previewCardsV6{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;align-items:start!important;align-content:start!important;
  max-height:68vh!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:12px 10px 24px!important
}
.previewCardV6{
  position:relative!important;display:flex!important;flex-direction:column!important;
  min-height:0!important;height:auto!important;overflow:visible!important;padding:7px!important;
  border-radius:10px!important
}
.previewCardV6 img{
  display:block!important;width:100%!important;height:auto!important;max-height:none!important;
  aspect-ratio:245/337!important;object-fit:contain!important;background:#080d15!important;
  border-radius:7px!important
}
.previewCardV6 b{display:block!important;min-height:30px!important;margin:7px 2px 0!important;font-size:9px!important;line-height:1.25!important;color:#fff!important;white-space:normal!important;overflow:visible!important}
.previewCardV6 .previewRawV8{position:static!important;display:flex!important;align-items:center!important;min-height:34px!important;margin:7px 0 0!important;padding:7px 8px!important;color:#f6d642!important;background:rgba(246,214,66,.07)!important;border:1px solid rgba(246,214,66,.25)!important;border-radius:8px!important;font-size:10px!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:1180px){.previewCardsV6{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:900px){.previewCardsV6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:650px){.previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}}

/* Inventory: valor RAW / grado claramente separado. */
.invPriceV114{display:flex!important;flex-direction:column!important;gap:2px!important;margin-top:4px!important}
.invPriceV114 strong{color:#f5d34a!important;font-size:11px!important}
.invPriceV114 small{display:block!important;color:#9ca6ba!important;font-size:8px!important;line-height:1.25!important}

/* Ruleta KeyDrop: marcador grande, dentro del carril y siempre visible. */
.rouletteLaneV112{padding-top:0!important;overflow:visible!important}
.rouletteWindowV112{overflow:hidden!important;position:relative!important;padding-top:18px!important}
.roulettePointerV112{
  position:absolute!important;display:block!important;z-index:2147480000!important;
  left:50%!important;top:0!important;transform:translateX(-50%)!important;
  width:0!important;height:0!important;background:transparent!important;
  border-left:20px solid transparent!important;border-right:20px solid transparent!important;
  border-top:31px solid #ffd12d!important;clip-path:none!important;
  filter:drop-shadow(0 0 11px rgba(255,209,45,.88))!important;pointer-events:none!important
}
.rouletteCenterMarkerV114{position:absolute!important;z-index:999999!important;left:50%!important;top:29px!important;bottom:0!important;width:2px!important;transform:translateX(-50%)!important;background:linear-gradient(#ffd12d,rgba(255,209,45,.05) 22%,rgba(255,209,45,.05) 82%,#ffd12d)!important;box-shadow:0 0 7px rgba(255,209,45,.35)!important;pointer-events:none!important}
.rouletteWindowV112:after{display:none!important}

/* Gradeo fluido. */
.gradeRouletteTrackV105{will-change:transform!important;transform:translate3d(0,0,0)}
.gradeNumTileV105{contain:layout paint!important}

/* Selectores: "Precio" + flechas, no textos largos. */
#gradeSortV112,#upgradeSortV113{min-width:150px!important}

@media(max-width:900px){
  #page-open .sidebar,#page-open .openstage{height:auto!important;min-height:0!important;max-height:none!important}
  #page-open .productSimpleV7,#page-battle .productSimpleV7{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   POKÉBATTLE V11.5 — responsive nav, preview, prices, grade,
   roulette pointer, inventory + upgrade grade filters
   ========================================================= */

/* ---------- Mobile / tablet navigation ---------- */
#mobileMenuBtnV115{display:none;border:1px solid #313a50;background:#111725;color:#fff;border-radius:11px;width:42px;height:42px;font-size:21px;align-items:center;justify-content:center;cursor:pointer}
#mobileNavV115{display:none;position:fixed;inset:0;z-index:999999;background:rgba(3,6,13,.76);backdrop-filter:blur(10px)}
#mobileNavV115.open{display:block}
#mobileNavV115 .mobileSheetV115{position:absolute;top:0;right:0;width:min(360px,88vw);height:100%;background:#0b101b;border-left:1px solid #2d3549;padding:18px;box-shadow:-30px 0 70px rgba(0,0,0,.45);overflow:auto}
#mobileNavV115 .mobileHeadV115{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
#mobileNavV115 .mobileHeadV115 b{font-size:19px}
#mobileNavV115 .mobileCloseV115{width:40px;height:40px;border-radius:50%;border:1px solid #364057;background:#131a28;color:#fff;font-size:22px}
#mobileNavV115 .mobileLinksV115{display:grid;gap:8px}
#mobileNavV115 .mobileLinksV115 button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 15px;border:1px solid #2c3548;background:#111724;color:#f5f7fb;border-radius:12px;font-weight:900;text-align:left}
#mobileNavV115 .mobileLinksV115 button.active{border-color:#7658e8;background:linear-gradient(135deg,rgba(117,88,232,.28),rgba(117,88,232,.09));color:#fff}
#mobileNavV115 .mobileLinksV115 span{width:28px;text-align:center;font-size:18px}

@media(max-width:1100px){
  .topinner .nav{display:none!important}
  #mobileMenuBtnV115{display:flex!important}
  .topinner{gap:10px!important}
  .topright{margin-left:auto!important;gap:7px!important}
  #musicBtn{display:none!important}
  .balance{padding:9px 10px!important;font-size:12px!important}
  .logo span{display:none!important}
  .topbar .wrap{padding-left:12px!important;padding-right:12px!important}
}
@media(max-width:600px){
  .wrap{width:100%!important;max-width:none!important;padding-left:12px!important;padding-right:12px!important}
  main.wrap{padding-top:12px!important}
  .topright .balance{font-size:11px!important}
  .hero{grid-template-columns:1fr!important;padding:22px!important;min-height:0!important}
  .heroart{min-height:250px!important}
  .herocopy h1{font-size:48px!important;line-height:.92!important}
  .modegrid{grid-template-columns:1fr!important}
  .sectionhead{align-items:flex-start!important;gap:8px!important}
}

/* ---------- Home: más vida, sin sacrificar rendimiento ---------- */
#page-home .hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 16% 18%,rgba(118,88,232,.25),transparent 25%),
  radial-gradient(circle at 86% 20%,rgba(255,73,101,.17),transparent 26%),
  linear-gradient(135deg,#101629,#0a0f1b 55%,#16101d)!important}
#page-home .hero:before,#page-home .hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
#page-home .hero:before{width:420px;height:420px;left:-150px;bottom:-230px;border:64px solid rgba(86,66,174,.13);box-shadow:0 0 0 2px rgba(255,255,255,.02)}
#page-home .hero:after{width:260px;height:260px;right:-70px;top:-110px;border:42px solid rgba(238,65,90,.08)}
.homeDecorV115{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.homeDecorV115 i{position:absolute;width:34px;height:34px;border-radius:50%;background:linear-gradient(#ef4b5e 0 47%,#111 47% 53%,#f5f5f2 53%);border:2px solid rgba(255,255,255,.75);box-shadow:0 7px 24px rgba(0,0,0,.35);opacity:.32;animation:floatBallV115 8s ease-in-out infinite}
.homeDecorV115 i:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #111;transform:translate(-50%,-50%)}
.homeDecorV115 i:nth-child(1){left:5%;top:15%;animation-delay:-2s}.homeDecorV115 i:nth-child(2){right:4%;bottom:16%;width:48px;height:48px;animation-delay:-5s}.homeDecorV115 i:nth-child(3){right:31%;top:8%;width:25px;height:25px;animation-delay:-1s}
@keyframes floatBallV115{50%{transform:translateY(-14px) rotate(8deg)}}

/* ---------- Abrir sobres: columna sin scroll interno ---------- */
@media(min-width:901px){
  #page-open .openlayout{grid-template-columns:350px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
  #page-open .sidebar{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:14px!important;position:relative!important;top:0!important}
  #page-open .openstage{height:650px!important;min-height:650px!important;max-height:650px!important;overflow:hidden!important;margin-top:0!important}
  #page-open .step{margin-bottom:9px!important;padding-bottom:9px!important}
  #page-open .step h3{margin:0 0 8px!important;font-size:13px!important}
  #page-open .productSimpleV7 button{min-height:62px!important;padding:9px!important}
  #page-open .field{gap:5px!important}
}
#page-open .productSimpleV7,#page-battle .productSimpleV7{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important;width:100%!important;justify-content:center!important}
#page-open .productSimpleV7 button,#page-battle .productSimpleV7 button{width:100%!important;margin:0!important}
#page-open .sidebar::-webkit-scrollbar{display:none!important}
#openProductMathV112{margin-top:8px!important}
#openPriceBoxV111,#openFixedPriceV10{display:none!important}
#openPrice{pointer-events:none!important}
#battlePrice{pointer-events:none!important}

/* ---------- Set preview: carta completa y precio DEBAJO ---------- */
#setPreviewV6 .modalcard{width:min(1320px,96vw)!important;max-height:94vh!important}
.previewCardsV6{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;align-items:start!important;align-content:start!important;max-height:69vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:14px 12px 24px!important}
.previewCardV6{display:grid!important;grid-template-rows:auto auto auto!important;gap:7px!important;height:auto!important;min-height:0!important;padding:8px!important;background:#101621!important;border:1px solid #2d364a!important;border-radius:11px!important;overflow:hidden!important;align-self:start!important}
.previewCardV6 img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:245/337!important;object-fit:contain!important;border-radius:7px!important;background:#080d15!important}
.previewCardV6 b{display:block!important;margin:0!important;min-height:28px!important;color:#f7f9ff!important;font-size:10px!important;line-height:1.3!important;white-space:normal!important;overflow:hidden!important}
.previewCardV6 .previewRawV8{position:static!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:34px!important;margin:0!important;padding:7px 8px!important;border-radius:8px!important;border:1px solid rgba(247,210,54,.24)!important;background:rgba(247,210,54,.07)!important;color:#f7d236!important;font-size:10px!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:1100px){.previewCardsV6{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){.previewCardsV6{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){.previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.previewCardV6{padding:6px!important}.previewCardV6 b{font-size:9px!important}.previewHeadV6 img{width:86px!important}}

/* ---------- Ruleta: flecha siempre visible y centrada ---------- */
.rouletteLaneV10,.rouletteLaneV112{position:relative!important;overflow:visible!important;padding-top:34px!important}
.rouletteWindowV7,.rouletteWindowV112{position:relative!important;overflow:hidden!important}
.roulettePointerV7,.roulettePointerV112,.roulettePointerV115{display:block!important;position:absolute!important;z-index:99999!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;width:0!important;height:0!important;border-left:18px solid transparent!important;border-right:18px solid transparent!important;border-top:28px solid #ffd12f!important;filter:drop-shadow(0 0 10px rgba(255,209,47,.8))!important;pointer-events:none!important;background:transparent!important}
.roulettePointerV7:after,.roulettePointerV112:after,.roulettePointerV115:after{content:"";position:absolute;left:-1px;top:-1px;width:2px;height:300px;background:linear-gradient(#ffd12f,rgba(255,209,47,.15),transparent);pointer-events:none}

/* ---------- Gradeo: inversión sólo mediante presets ---------- */
#gradeFeePageV10{pointer-events:none!important;user-select:none!important;background:#0d1320!important;color:#ffd33f!important;font-weight:1000!important;text-align:center!important}
.gradeFeeQuickV10 button.activeV115{border-color:#ffd233!important;background:rgba(255,210,51,.12)!important;color:#ffd233!important;box-shadow:0 0 0 1px rgba(255,210,51,.15) inset!important}
#gradeRouletteV115{position:fixed;inset:0;z-index:1000000;background:rgba(3,6,12,.84);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}
#gradeRouletteV115.hidden{display:none!important}
.gradeRouletteCardV115{width:min(820px,94vw);background:#111724;border:1px solid #34405a;border-radius:18px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.gradeRouletteTitleV115{display:flex;align-items:center;gap:10px;margin-bottom:16px}.gradeRouletteTitleV115 h3{margin:0;font-size:22px}.gradeRouletteTitleV115 p{margin:3px 0 0;color:#929cb0;font-size:11px}
.gradeRouletteWindowV115{position:relative;overflow:hidden;border:1px solid #33405a;border-radius:14px;background:#0a101b;height:132px}
.gradeRouletteWindowV115:before,.gradeRouletteWindowV115:after{content:"";position:absolute;z-index:4;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent}.gradeRouletteWindowV115:before{top:0;border-top:18px solid #ffd12f}.gradeRouletteWindowV115:after{bottom:0;border-bottom:18px solid #ffd12f}
.gradeRouletteTrackV115{display:flex;gap:10px;align-items:center;height:100%;padding:10px;will-change:transform;transform:translate3d(0,0,0)}
.gradeTileV115{flex:0 0 112px;height:106px;display:grid;place-items:center;border-radius:12px;border:1px solid #2d3750;background:#141c2b;color:#8f9bb2;font-size:44px;font-weight:1000;box-shadow:inset 0 0 25px rgba(0,0,0,.22)}
.gradeTileV115.g9{color:#ffc04d;border-color:#8e6d24}.gradeTileV115.g10{color:#fff3a9;border-color:#ffd22f;box-shadow:0 0 20px rgba(255,210,47,.18),inset 0 0 25px rgba(255,210,47,.08)}
.gradeRouletteStatusV115{text-align:center;color:#a4aec0;font-size:12px;margin-top:18px;min-height:22px}
.gradeRouletteFinalV115{text-align:center}.gradeRouletteFinalV115 strong{display:block;font-size:54px;color:#ffd12f}.gradeRouletteFinalV115 b{font-size:18px}

/* ---------- inventario / upgrade: badge de grado siempre ---------- */
.invGradeV115,.upgradeGradeV115{position:absolute;right:6px;top:6px;z-index:5;border-radius:999px;padding:4px 7px;background:#7658e8;color:#fff;font-size:8px;font-weight:1000;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.inv{position:relative!important}.upgradeOwnV10{position:relative!important}
#invGradeFilterV115,#upgradeGradeFilterV115{min-width:135px}

/* ---------- Tablet/mobile page layouts ---------- */
@media(max-width:900px){
  #page-open .openlayout{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  #page-open .sidebar,#page-open .openstage{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  #page-open .openstage{min-height:560px!important}
  .upgradeLayoutV10,.gradePageV10{grid-template-columns:1fr!important}
  .upgradeWheelPanelV10,.upgradeTargetV10,.gradeDeskV10{min-width:0!important}
  .inventoryToolbar{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  #page-open .productSimpleV7,#page-battle .productSimpleV7{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .inventoryToolbar{grid-template-columns:1fr!important}
  .stats{grid-template-columns:repeat(2,1fr)!important}
  .gradeFiltersV112,.upgradeFilterBarV113{grid-template-columns:1fr!important;display:grid!important}
}

/* =========================================================
   POKÉBATTLE V11.6 — TRES CORRECCIONES
   1) Preview de sets: cartas completas + RAW debajo
   2) Ruleta: flecha fija, premio exactamente bajo la flecha,
      y entrada obligatoria tras cambiar de modo
   3) Abrir sobres: carta y botón Siguiente siempre visibles
   ========================================================= */

/* ---------- 1) PREVIEW DE SETS ---------- */
#setPreviewV6 .modalcard{
  width:min(1400px,97vw)!important;
  max-height:94vh!important;
}
.previewCardsV6{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  align-content:start!important;
  max-height:70vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:14px 12px 26px!important;
}
.previewCardV6{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  height:365px!important;
  min-height:365px!important;
  max-height:365px!important;
  padding:8px!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid #2d364a!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#141b29,#0d131f)!important;
  color:#fff!important;
  text-align:left!important;
  font:inherit!important;
  box-sizing:border-box!important;
}
.previewCardV6 img{
  display:block!important;
  flex:0 0 278px!important;
  width:100%!important;
  height:278px!important;
  min-height:278px!important;
  max-height:278px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:7px!important;
  background:#080d15!important;
}
.previewCardV6 b{
  display:block!important;
  flex:0 0 28px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin:0!important;
  padding:0 2px!important;
  color:#f7f9ff!important;
  font-size:10px!important;
  line-height:14px!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.previewCardV6 .previewRawV8{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  flex:0 0 34px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:7px 8px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(247,210,54,.26)!important;
  border-radius:8px!important;
  background:rgba(247,210,54,.07)!important;
  color:#f7d236!important;
  font-size:10px!important;
  font-weight:1000!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}
.previewCardV6 .previewRawV8.syncing{color:#9ca7ba!important;background:#0e1521!important;border-color:#30394c!important}
@media(max-width:1180px){.previewCardsV6{grid-template-columns:repeat(5,minmax(0,1fr))!important}.previewCardV6{height:350px!important;min-height:350px!important;max-height:350px!important}.previewCardV6 img{height:263px!important;min-height:263px!important;max-height:263px!important;flex-basis:263px!important}}
@media(max-width:900px){.previewCardsV6{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:580px){.previewCardsV6{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.previewCardV6{height:320px!important;min-height:320px!important;max-height:320px!important;padding:6px!important}.previewCardV6 img{height:235px!important;min-height:235px!important;max-height:235px!important;flex-basis:235px!important}.previewCardV6 b{font-size:9px!important}}

/* ---------- 2) RULETA: PUNTERO FIJO REAL ---------- */
.rouletteLaneV10,.rouletteLaneV112,.rouletteLaneV116{
  position:relative!important;
  overflow:visible!important;
  padding-top:0!important;
}
.rouletteWindowV7,.rouletteWindowV112,.rouletteWindowV116{
  position:relative!important;
  overflow:hidden!important;
}
.rouletteTrackV112{
  padding-left:0!important;
  padding-right:0!important;
}
.rouletteFixedPointerV116{
  position:absolute!important;
  z-index:2147483000!important;
  left:50%!important;
  top:0!important;
  transform:translateX(-50%)!important;
  width:0!important;
  height:0!important;
  border-left:20px solid transparent!important;
  border-right:20px solid transparent!important;
  border-top:32px solid #ffd12f!important;
  filter:drop-shadow(0 0 11px rgba(255,209,47,.9))!important;
  pointer-events:none!important;
}
.rouletteFixedPointerV116:after{
  content:""!important;
  position:absolute!important;
  left:-1px!important;
  top:-2px!important;
  width:2px!important;
  height:260px!important;
  background:linear-gradient(#ffd12f,rgba(255,209,47,.24) 35%,rgba(255,209,47,.04) 82%,transparent)!important;
  box-shadow:0 0 8px rgba(255,209,47,.35)!important;
}
/* Ocultamos punteros antiguos para que solo exista uno limpio por carril. */
.roulettePointerV7,.roulettePointerV112,.roulettePointerV115,.rouletteCenterMarkerV114{display:none!important}
.stakePresetsV7 [data-stake].stakeSelectedV116{
  border-color:#ffd12f!important;
  color:#ffd12f!important;
  background:rgba(255,209,47,.09)!important;
  box-shadow:inset 0 0 0 1px rgba(255,209,47,.12)!important;
}
#rouletteStake.rouletteNeedsStakeV116{
  border-color:#6d5974!important;
  color:#9da6b8!important;
}
#spinRoulette:disabled{opacity:.5!important;cursor:not-allowed!important;filter:saturate(.45)!important}

/* ---------- 3) ABRIR SOBRES: TODO EN EL MISMO ESCENARIO ---------- */
#page-open .openstage{
  display:flex!important;
  flex-direction:column!important;
}
#page-open .setbar{
  flex:0 0 92px!important;
  min-height:92px!important;
}
#personalZone.packzone,
#personalReveal.packzone{
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:10px 14px 12px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
#personalReveal .singleReveal{
  width:min(430px,100%)!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
#personalCardWrap{
  flex:0 0 350px!important;
  width:100%!important;
  height:350px!important;
  min-height:350px!important;
  max-height:350px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  margin:0 auto!important;
}
#personalCardWrap .singleCardDirect,
#personalCardWrap img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:350px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
#personalName{flex:0 0 auto!important;margin-top:6px!important;line-height:1.15!important}
#personalValue{flex:0 0 auto!important;margin-top:2px!important;line-height:1.1!important}
#personalRarity{flex:0 0 auto!important;margin-top:2px!important;line-height:1.15!important}
#personalDots{flex:0 0 auto!important;margin:7px 0!important}
#nextPersonalCard{
  position:relative!important;
  z-index:50!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  min-height:42px!important;
  margin:4px auto 0!important;
  pointer-events:auto!important;
}
@media(min-width:901px){
  #page-open .openstage{height:650px!important;min-height:650px!important;max-height:650px!important}
}
@media(max-width:900px){
  #page-open .openstage{height:auto!important;min-height:600px!important;max-height:none!important}
  #personalCardWrap{flex-basis:330px!important;height:330px!important;min-height:330px!important;max-height:330px!important}
  #personalCardWrap .singleCardDirect,#personalCardWrap img{max-height:330px!important}
}
@media(max-width:520px){
  #page-open .openstage{min-height:560px!important}
  #personalCardWrap{flex-basis:300px!important;height:300px!important;min-height:300px!important;max-height:300px!important}
  #personalCardWrap .singleCardDirect,#personalCardWrap img{max-height:300px!important}
  #nextPersonalCard{width:100%!important;min-width:0!important}
}

/* =========================================================
   POKÉBATTLE V11.8 — ruleta exacta, preview no clicable,
   selector fiable y apertura por slots/era
   ========================================================= */

/* Preview: visual pura. No abre modal de carta. */
#setPreviewV6 .previewCardV6{
  cursor:default!important;
  pointer-events:none!important;
  user-select:none!important;
}
#setPreviewV6 .previewCardV6:hover{transform:none!important;box-shadow:none!important}

/* Ruleta: flecha SIEMPRE visible y exactamente en el centro del carril. */
.rouletteLaneV117{position:relative!important;margin:0 0 10px!important}
.rouletteWindowV117{
  position:relative!important;
  height:222px!important;
  overflow:hidden!important;
  border:1px solid #2d374c!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#0a0f19,#111827)!important;
}
.rouletteWindowV117:before,
.rouletteWindowV117:after{
  content:"";position:absolute;top:0;bottom:0;width:90px;z-index:8;pointer-events:none
}
.rouletteWindowV117:before{left:0;background:linear-gradient(90deg,#0a0f19 5%,transparent)}
.rouletteWindowV117:after{right:0;background:linear-gradient(-90deg,#0a0f19 5%,transparent)}
.roulettePointerV117{
  position:absolute!important;z-index:9999!important;left:50%!important;top:0!important;
  transform:translateX(-50%)!important;width:0!important;height:0!important;
  border-left:19px solid transparent!important;border-right:19px solid transparent!important;
  border-top:31px solid #ffd12f!important;
  filter:drop-shadow(0 0 10px rgba(255,209,47,.85))!important;pointer-events:none!important
}
.roulettePointerV117:after{
  content:"";position:absolute;left:-1px;top:-2px;width:2px;height:218px;
  background:linear-gradient(#ffd12f,rgba(255,209,47,.25) 32%,rgba(255,209,47,.03) 82%,transparent);
  box-shadow:0 0 8px rgba(255,209,47,.32)
}
.rouletteTrackV117{
  height:100%!important;display:flex!important;align-items:center!important;gap:10px!important;
  padding:14px 0!important;will-change:transform!important;transform:translate3d(0,0,0)
}
.rouletteItemV117{
  flex:0 0 126px!important;width:126px!important;height:190px!important;
  border:1px solid #30394d!important;border-radius:11px!important;background:#101621!important;
  padding:7px!important;text-align:center!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:space-between!important;overflow:hidden!important
}
.rouletteItemV117 .rouletteImageV112,.rouletteItemV117 .rouletteImageV111{height:145px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.rouletteItemV117 img{display:block!important;max-width:100%!important;max-height:145px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}
.rouletteItemV117 b{width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rouletteItemV117 strong{font-size:11px;color:#f5d34d}
.rouletteWinnerV117{border-color:#ffd12f!important;box-shadow:0 0 0 1px rgba(255,209,47,.25),0 0 22px rgba(255,209,47,.12)!important}
@media(max-width:700px){
  .rouletteWindowV117{height:202px!important}
  .rouletteItemV117{flex-basis:112px!important;width:112px!important;height:172px!important}
  .rouletteItemV117 .rouletteImageV112,.rouletteItemV117 .rouletteImageV111{height:126px!important}
  .rouletteItemV117 img{max-height:126px!important}
  .roulettePointerV117:after{height:198px}
}

/* En la selección de set, el botón Elegir tiene prioridad visual. */
#setPickerModal .setPickerActionsV6 .choose{box-shadow:0 0 0 1px rgba(255,255,255,.12)}

/* =========================================================
   POKÉBATTLE V11.8 — roulette / opening / upgrade / battle UX
   ========================================================= */

/* --- Roulette: KeyDrop-like fixed arrow + visible cards --- */
.rouletteLanesV10{display:grid!important;gap:12px!important}
.rouletteLaneV118{position:relative!important;padding-top:30px!important;overflow:visible!important}
.rouletteWindowV118{
  position:relative!important;height:250px!important;overflow:hidden!important;
  border:1px solid #34415a!important;border-radius:14px!important;
  background:linear-gradient(180deg,#0a101b,#101725)!important;
  box-shadow:inset 0 0 32px rgba(0,0,0,.28)!important;
}
.rouletteWindowV118:before,.rouletteWindowV118:after{
  content:"";position:absolute;top:0;bottom:0;width:72px;z-index:7;pointer-events:none
}
.rouletteWindowV118:before{left:0;background:linear-gradient(90deg,#0a101b,transparent)}
.rouletteWindowV118:after{right:0;background:linear-gradient(-90deg,#0a101b,transparent)}
.roulettePointerV118{
  position:absolute!important;z-index:999999!important;left:50%!important;top:0!important;
  transform:translateX(-50%)!important;width:0!important;height:0!important;
  border-left:17px solid transparent!important;border-right:17px solid transparent!important;
  border-top:28px solid #ffd129!important;filter:drop-shadow(0 0 9px rgba(255,209,41,.85))!important;
  pointer-events:none!important
}
.roulettePointerV118:after{
  content:"";position:absolute;left:-1px;top:-1px;width:2px;height:248px;
  background:linear-gradient(#ffd129,rgba(255,209,41,.35) 25%,rgba(255,209,41,.05) 75%,transparent);
  box-shadow:0 0 8px rgba(255,209,41,.35);pointer-events:none
}
.rouletteTrackV118{
  height:100%!important;width:max-content!important;display:flex!important;align-items:center!important;
  gap:10px!important;padding:13px 0!important;transform:translate3d(0,0,0);will-change:transform
}
.rouletteItemV118{
  flex:0 0 154px!important;width:154px!important;height:220px!important;padding:8px!important;
  border:1px solid #303b50!important;border-radius:11px!important;background:#101724!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  overflow:hidden!important;text-align:center!important
}
.rouletteItemV118.winVisual{border-color:#ffd129!important;box-shadow:0 0 0 1px rgba(255,209,41,.25),0 0 22px rgba(255,209,41,.15)!important}
.rouletteMediaV118{height:168px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.rouletteMediaV118 img{display:block!important;max-width:100%!important;max-height:168px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}
.rouletteItemV118 b{display:block!important;width:100%!important;margin-top:4px!important;color:#fff!important;font-size:9px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rouletteItemV118 strong{display:block!important;color:#f7d33d!important;font-size:11px!important;margin-top:3px!important}
.rouletteResultsV118{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
.rouletteResultV118{border:1px solid #303b50;background:#0f1622;border-radius:12px;min-height:340px;padding:12px;text-align:center}
.rouletteResultV118 .rouletteResultMediaV118{height:258px;display:grid;place-items:center;overflow:hidden}
.rouletteResultV118 .rouletteResultMediaV118 img{max-width:100%;max-height:258px;width:auto;height:auto;object-fit:contain}
.rouletteResultV118 b{display:block;margin-top:6px;font-size:14px}.rouletteResultV118 strong{display:block;color:#f7d33d;font-size:18px;margin-top:3px}.rouletteResultV118 small{display:block;color:#929caf;margin-top:4px}
@media(max-width:760px){
  .rouletteWindowV118{height:215px!important}.rouletteItemV118{flex-basis:125px!important;width:125px!important;height:188px!important}.rouletteMediaV118{height:140px!important}.rouletteMediaV118 img{max-height:140px!important}.roulettePointerV118:after{height:213px}.rouletteResultsV118{grid-template-columns:1fr!important}
}

/* --- Opening: compact + batch quick buttons + hard lock while session is active --- */
#openQuickQtyV118{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:7px 0 10px}
#openQuickQtyV118 button{border:1px solid #30394c;background:#111724;color:#dce2ef;border-radius:8px;padding:8px 6px;font-size:9px;font-weight:1000}
#openQuickQtyV118 button.active{border-color:#f5d23d;color:#f5d23d;background:rgba(245,210,61,.08)}
#page-open.openLockedV118 #openProducts button,#page-open.openLockedV118 #openQty,#page-open.openLockedV118 #openSetBtnV6,#page-open.openLockedV118 #prepareOpening{opacity:.55!important;pointer-events:none!important}
#openLockNoteV118{display:none;margin:7px 0 0;padding:7px 9px;border-radius:8px;border:1px solid #3a4254;background:#0c121d;color:#98a2b6;font-size:9px}
#page-open.openLockedV118 #openLockNoteV118{display:block}
#prepareOpening[disabled]{cursor:not-allowed!important}

/* --- Battle speed: compact segmented control inside arena head --- */
#battleSpeed{display:none!important}
#battleSpeedButtonsV118{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #30394c;background:#0d131f;border-radius:10px}
#battleSpeedButtonsV118 button{min-width:42px;border:0;background:transparent;color:#96a0b4;border-radius:7px;padding:7px 8px;font-size:9px;font-weight:1000;cursor:pointer}
#battleSpeedButtonsV118 button.active{background:#6849e8;color:#fff;box-shadow:0 4px 14px rgba(104,73,232,.28)}

/* --- Upgrade candidate: name + RAW directly, no 'consultar precio' --- */
.upgradeCandidateV10 .upgradePriceV118{display:block!important;color:#f6d53d!important;font-size:9px!important;font-weight:1000!important;margin-top:3px!important}

/* --- Hide all manual PriceCharting sync controls / old sealed refresh controls --- */
#pcSyncSetV8,#pcSyncCardV8,#syncOpenPrice,#syncBattlePrice,.pcSyncStatusV8{display:none!important}

/* Profile: token/source/manual FX are server concerns now. */
#serverPriceNoticeV118{margin-top:10px!important}

@media(max-width:900px){
  #battleSpeedButtonsV118{width:max-content;max-width:100%}
}

/* =========================================================
   POKÉBATTLE V11.9 — ROULETTE REWORK
   Visual result is authoritative: the item physically under
   the fixed yellow pointer is the item that is awarded.
   ========================================================= */
#page-roulette .rouletteArenaV7{overflow:visible!important}
#rouletteLanesV10{display:grid!important;gap:14px!important}
.rouletteLaneV119{position:relative!important;width:100%!important}
.rouletteWindowV119{
  position:relative!important;
  height:268px!important;
  width:100%!important;
  overflow:hidden!important;
  border:1px solid #36445f!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#0a101a 0%,#111827 100%)!important;
  box-shadow:inset 0 0 38px rgba(0,0,0,.34),0 12px 28px rgba(0,0,0,.14)!important;
}
.rouletteWindowV119:before,.rouletteWindowV119:after{
  content:"";position:absolute;top:0;bottom:0;width:90px;z-index:60;pointer-events:none
}
.rouletteWindowV119:before{left:0;background:linear-gradient(90deg,#0a101a 15%,rgba(10,16,26,.82) 35%,transparent)}
.rouletteWindowV119:after{right:0;background:linear-gradient(-90deg,#0a101a 15%,rgba(10,16,26,.82) 35%,transparent)}
.rouletteTrackV119{
  display:flex!important;align-items:center!important;height:100%!important;width:max-content!important;
  gap:12px!important;padding:15px 0!important;margin:0!important;
  transform:translate3d(0,0,0);will-change:transform
}
.rouletteWrapV119{flex:0 0 auto;width:158px!important}
.rouletteItemV119{
  width:158px!important;height:230px!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  padding:8px!important;border:1px solid #303c51!important;border-radius:12px!important;
  background:linear-gradient(180deg,#121a28,#0c121d)!important;text-align:center!important;overflow:hidden!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important
}
.rouletteItemV119.landedV119{
  border-color:#ffd22f!important;box-shadow:0 0 0 2px rgba(255,210,47,.18),0 0 28px rgba(255,210,47,.25)!important;
  transform:translateY(-2px)!important
}
.rouletteMediaV119{height:177px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.rouletteMediaV119 img{display:block!important;max-width:100%!important;max-height:177px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}
.rouletteItemV119 b{width:100%!important;margin-top:5px!important;color:#f7f9ff!important;font-size:9px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rouletteItemV119 strong{display:block!important;color:#f7d33d!important;font-size:11px!important;margin-top:4px!important}

/* The pointer lives INSIDE the roulette window, so no parent can clip it away. */
.rouletteAimV119{
  position:absolute!important;z-index:2147483600!important;left:50%!important;top:0!important;bottom:0!important;
  width:4px!important;transform:translateX(-50%)!important;pointer-events:none!important
}
.rouletteAimV119:before{
  content:""!important;position:absolute!important;left:50%!important;top:0!important;transform:translateX(-50%)!important;
  width:0!important;height:0!important;border-left:22px solid transparent!important;border-right:22px solid transparent!important;
  border-top:36px solid #ffd12f!important;filter:drop-shadow(0 2px 10px rgba(255,209,47,.95))!important
}
.rouletteAimV119:after{
  content:""!important;position:absolute!important;left:1px!important;top:31px!important;bottom:0!important;width:2px!important;
  background:linear-gradient(180deg,#ffd12f 0%,rgba(255,209,47,.62) 18%,rgba(255,209,47,.13) 62%,transparent 100%)!important;
  box-shadow:0 0 8px rgba(255,209,47,.36)!important
}
.rouletteAimDotV119{
  position:absolute!important;z-index:2147483601!important;left:50%!important;top:45%!important;transform:translate(-50%,-50%)!important;
  width:11px!important;height:11px!important;border-radius:50%!important;background:#ffd12f!important;border:2px solid #0a101a!important;
  box-shadow:0 0 0 2px rgba(255,209,47,.35),0 0 14px rgba(255,209,47,.45)!important;pointer-events:none!important
}
.rouletteResultsV119{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
.rouletteResultV119{border:1px solid #303b50;background:#0f1622;border-radius:12px;min-height:330px;padding:12px;text-align:center}
.rouletteResultV119 .media{height:250px;display:grid;place-items:center;overflow:hidden}.rouletteResultV119 .media img{max-width:100%;max-height:250px;width:auto;height:auto;object-fit:contain}
.rouletteResultV119 b{display:block;margin-top:7px;font-size:14px}.rouletteResultV119 strong{display:block;color:#f7d33d;font-size:18px;margin-top:3px}.rouletteResultV119 small{display:block;color:#929caf;margin-top:4px}
.rouletteStatusV119{margin-top:8px;padding:8px 10px;border:1px solid #2d374b;border-radius:9px;background:#0c121d;color:#9ca7ba;font-size:10px;text-align:center}
@media(max-width:760px){
  .rouletteWindowV119{height:222px!important}.rouletteWrapV119{width:126px!important}.rouletteItemV119{width:126px!important;height:192px!important;padding:6px!important}.rouletteMediaV119{height:143px!important}.rouletteMediaV119 img{max-height:143px!important}.rouletteResultsV119{grid-template-columns:1fr!important}.rouletteAimV119:before{border-left-width:18px!important;border-right-width:18px!important;border-top-width:30px!important}.rouletteAimV119:after{top:27px!important}
}

/* =========================================================
   POKÉBATTLE V12.0 — RULETA FINAL
   - Flecha real en SVG, no pseudo-elementos.
   - El premio se calcula por geometría DOM: lo que queda
     bajo la flecha ES lo que se entrega.
   - Pool de cartas rápido: evita PriceCharting en la ruleta,
     reutiliza caché y sólo hidrata una muestra pequeña.
   ========================================================= */
#page-roulette .rouletteArenaV7{overflow:visible!important}
#rouletteLanesV10{display:grid!important;gap:14px!important}
.rouletteLaneV120{position:relative!important;width:100%!important;overflow:visible!important}
.rouletteWindowV120{
  position:relative!important;width:100%!important;height:252px!important;overflow:hidden!important;
  border:1px solid #394761!important;border-radius:14px!important;
  background:linear-gradient(180deg,#090f19,#111827)!important;
  box-shadow:inset 0 0 38px rgba(0,0,0,.36),0 12px 30px rgba(0,0,0,.12)!important;
}
.rouletteWindowV120:before,.rouletteWindowV120:after{
  content:"";position:absolute;top:0;bottom:0;width:78px;z-index:30;pointer-events:none
}
.rouletteWindowV120:before{left:0;background:linear-gradient(90deg,#090f19 18%,rgba(9,15,25,.78) 42%,transparent)}
.rouletteWindowV120:after{right:0;background:linear-gradient(-90deg,#090f19 18%,rgba(9,15,25,.78) 42%,transparent)}
.rouletteTrackV120{
  position:relative;z-index:10;display:flex!important;align-items:center!important;height:100%!important;width:max-content!important;
  gap:10px!important;padding:13px 0!important;margin:0!important;transform:translate3d(0,0,0);will-change:transform;
  backface-visibility:hidden;perspective:1000px
}
.rouletteWrapV120{flex:0 0 148px!important;width:148px!important}
.rouletteItemV120{
  width:148px!important;height:218px!important;box-sizing:border-box!important;padding:7px!important;
  border:1px solid #303b50!important;border-radius:11px!important;background:linear-gradient(180deg,#121a27,#0c121d)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  overflow:hidden!important;text-align:center!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important
}
.rouletteItemV120.landedV120{border-color:#ffd22f!important;box-shadow:0 0 0 2px rgba(255,210,47,.20),0 0 26px rgba(255,210,47,.28)!important;transform:translateY(-2px)!important}
.rouletteMediaV120{height:166px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:radial-gradient(circle at 50% 44%,rgba(33,44,66,.45),transparent 72%)}
.rouletteMediaV120 img{display:block!important;max-width:100%!important;max-height:166px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}
.rouletteItemV120 b{display:block!important;width:100%!important;margin-top:5px!important;color:#f7f9ff!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rouletteItemV120 strong{display:block!important;color:#f7d33d!important;font-size:11px!important;margin-top:3px!important}

/* Flecha como elemento SVG REAL. Nada puede ocultarla con reglas antiguas de pseudo-elementos. */
.roulettePointerV120{
  position:absolute!important;z-index:2147483640!important;left:50%!important;top:0!important;bottom:0!important;
  width:74px!important;transform:translateX(-50%)!important;pointer-events:none!important;overflow:visible!important
}
.roulettePointerV120 svg{position:absolute!important;left:50%!important;top:-3px!important;transform:translateX(-50%)!important;width:66px!important;height:78px!important;display:block!important;overflow:visible!important;filter:drop-shadow(0 3px 10px rgba(255,209,41,.9))}
.roulettePointerV120 .pointerLineV120{position:absolute!important;left:50%!important;top:57px!important;bottom:0!important;width:3px!important;transform:translateX(-50%)!important;background:linear-gradient(180deg,#ffd129 0%,rgba(255,209,41,.58) 22%,rgba(255,209,41,.12) 70%,transparent 100%)!important;box-shadow:0 0 8px rgba(255,209,41,.35)!important}
.roulettePointerV120 .pointerDotV120{position:absolute!important;left:50%!important;top:53%!important;transform:translate(-50%,-50%)!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#ffd129!important;border:2px solid #0b111c!important;box-shadow:0 0 0 2px rgba(255,209,41,.35),0 0 16px rgba(255,209,41,.48)!important}

.rouletteStatusV120{margin-top:8px;padding:8px 10px;border:1px solid #2d374b;border-radius:9px;background:#0c121d;color:#9ca7ba;font-size:10px;text-align:center}
.rouletteResultsV120{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
.rouletteResultV120{border:1px solid #303b50;background:#0f1622;border-radius:12px;min-height:320px;padding:12px;text-align:center}
.rouletteResultV120 .media{height:240px;display:grid;place-items:center;overflow:hidden}.rouletteResultV120 .media img{max-width:100%;max-height:240px;width:auto;height:auto;object-fit:contain}
.rouletteResultV120 b{display:block;margin-top:7px;font-size:14px}.rouletteResultV120 strong{display:block;color:#f7d33d;font-size:18px;margin-top:3px}.rouletteResultV120 small{display:block;color:#929caf;margin-top:4px}
.rouletteSkeletonV120{height:164px;width:100%;border-radius:8px;background:linear-gradient(90deg,#182132 20%,#222d42 40%,#182132 60%);background-size:240% 100%;animation:rouletteSkel120 1s linear infinite}
@keyframes rouletteSkel120{to{background-position:-240% 0}}
@media(max-width:760px){
  .rouletteWindowV120{height:218px!important}.rouletteWrapV120{width:122px!important;flex-basis:122px!important}.rouletteItemV120{width:122px!important;height:188px!important;padding:6px!important}.rouletteMediaV120{height:140px!important}.rouletteMediaV120 img{max-height:140px!important}.rouletteResultsV120{grid-template-columns:1fr!important}.roulettePointerV120 svg{width:58px!important;height:68px!important}.roulettePointerV120 .pointerLineV120{top:50px!important}
}

/* =========================================================
   V12.1 — RULETA HARD FIX
   Flecha como texto HTML real (▼), fuera de la ventana que recorta.
   Mucho más recorrido visual: ~55-64 premios por tirada.
   ========================================================= */
#page-roulette .rouletteArenaV7{overflow:visible!important}
#rouletteLanesV10{display:grid!important;gap:18px!important;overflow:visible!important}
.rouletteLaneV121{
  position:relative!important;
  width:100%!important;
  overflow:visible!important;
  padding-top:30px!important;
}
.rouletteWindowV121{
  position:relative!important;
  width:100%!important;
  height:252px!important;
  overflow:hidden!important;
  border:1px solid #394761!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#090f19,#111827)!important;
  box-shadow:inset 0 0 38px rgba(0,0,0,.36),0 12px 30px rgba(0,0,0,.12)!important;
}
.rouletteWindowV121:before,.rouletteWindowV121:after{
  content:""!important;position:absolute!important;top:0!important;bottom:0!important;width:72px!important;z-index:40!important;pointer-events:none!important
}
.rouletteWindowV121:before{left:0!important;background:linear-gradient(90deg,#090f19 15%,rgba(9,15,25,.78) 45%,transparent)!important}
.rouletteWindowV121:after{right:0!important;background:linear-gradient(-90deg,#090f19 15%,rgba(9,15,25,.78) 45%,transparent)!important}
.rouletteTrackV121{
  position:relative!important;z-index:10!important;display:flex!important;align-items:center!important;
  height:100%!important;width:max-content!important;gap:10px!important;padding:13px 0!important;margin:0!important;
  transform:translate3d(0,0,0);will-change:transform!important;backface-visibility:hidden!important
}
.rouletteWrapV121{flex:0 0 148px!important;width:148px!important}
.rouletteItemV121{
  width:148px!important;height:218px!important;box-sizing:border-box!important;padding:7px!important;
  border:1px solid #303b50!important;border-radius:11px!important;background:linear-gradient(180deg,#121a27,#0c121d)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  overflow:hidden!important;text-align:center!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important
}
.rouletteItemV121.landedV121{border-color:#ffd22f!important;box-shadow:0 0 0 2px rgba(255,210,47,.28),0 0 32px rgba(255,210,47,.38)!important;transform:translateY(-3px)!important}
.rouletteMediaV121{height:166px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:radial-gradient(circle at 50% 44%,rgba(33,44,66,.45),transparent 72%)!important}
.rouletteMediaV121 img{display:block!important;max-width:100%!important;max-height:166px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:auto!important}
.rouletteItemV121 b{display:block!important;width:100%!important;margin-top:5px!important;color:#f7f9ff!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rouletteItemV121 strong{display:block!important;color:#f7d33d!important;font-size:11px!important;margin-top:3px!important}

/* FLECHA GARANTIZADA: elemento de texto real, no SVG ni pseudo-elemento. */
.roulettePointerV121{
  position:absolute!important;
  z-index:2147483647!important;
  left:50%!important;
  top:-8px!important;
  transform:translateX(-50%)!important;
  width:90px!important;
  height:84px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:visible!important;
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.roulettePointerV121 .arrowGlyphV121{
  display:block!important;
  color:#ffd129!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:64px!important;
  font-weight:900!important;
  line-height:.78!important;
  text-shadow:0 2px 0 #5b4300,0 0 8px #ffd129,0 0 18px rgba(255,209,41,.88)!important;
  filter:none!important;
}
.rouletteCenterLineV121{
  position:absolute!important;z-index:2147483646!important;left:50%!important;top:47px!important;bottom:0!important;
  width:3px!important;transform:translateX(-50%)!important;pointer-events:none!important;
  background:linear-gradient(180deg,#ffd129 0%,rgba(255,209,41,.72) 18%,rgba(255,209,41,.20) 72%,transparent 100%)!important;
  box-shadow:0 0 9px rgba(255,209,41,.38)!important
}
.rouletteStatusV121{margin-top:8px;padding:8px 10px;border:1px solid #2d374b;border-radius:9px;background:#0c121d;color:#9ca7ba;font-size:10px;text-align:center}
.rouletteResultsV121{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
.rouletteResultV121{border:1px solid #303b50;background:#0f1622;border-radius:12px;min-height:320px;padding:12px;text-align:center}
.rouletteResultV121 .media{height:240px;display:grid;place-items:center;overflow:hidden}.rouletteResultV121 .media img{max-width:100%;max-height:240px;width:auto;height:auto;object-fit:contain}
.rouletteResultV121 b{display:block;margin-top:7px;font-size:14px}.rouletteResultV121 strong{display:block;color:#f7d33d;font-size:18px;margin-top:3px}.rouletteResultV121 small{display:block;color:#929caf;margin-top:4px}
.rouletteSkeletonV121{height:164px;width:100%;border-radius:8px;background:linear-gradient(90deg,#182132 20%,#222d42 40%,#182132 60%);background-size:240% 100%;animation:rouletteSkel121 1s linear infinite}
@keyframes rouletteSkel121{to{background-position:-240% 0}}
@media(max-width:760px){
  .rouletteLaneV121{padding-top:25px!important}
  .rouletteWindowV121{height:218px!important}
  .rouletteWrapV121{width:122px!important;flex-basis:122px!important}
  .rouletteItemV121{width:122px!important;height:188px!important;padding:6px!important}
  .rouletteMediaV121{height:140px!important}.rouletteMediaV121 img{max-height:140px!important}
  .roulettePointerV121{top:-7px!important}.roulettePointerV121 .arrowGlyphV121{font-size:54px!important}
  .rouletteCenterLineV121{top:41px!important}.rouletteResultsV121{grid-template-columns:1fr!important}
}

/* El texto VELOCIDAD funciona como etiqueta visual de los controles 1x–3x. */
#arenaRule{letter-spacing:.08em!important}

/* ---------- ROULETTE: one fixed physical pointer, always visible ---------- */
#page-roulette .rouletteArenaV7,
#rouletteLanesV10{overflow:visible!important}
.rouletteLaneV123{position:relative!important;width:100%!important;padding-top:16px!important;overflow:visible!important}
.rouletteViewportV123{
  position:relative!important;width:100%!important;height:252px!important;overflow:hidden!important;
  border:1px solid #334057!important;border-radius:14px!important;
  background:linear-gradient(180deg,#0a101a,#101725)!important;
  box-shadow:inset 0 0 38px rgba(0,0,0,.38)!important
}
.rouletteTrackV123{
  height:100%!important;width:max-content!important;display:flex!important;align-items:center!important;
  gap:12px!important;padding:18px 0!important;transform:translate3d(0,0,0);will-change:transform!important
}
.rouletteWrapV123{flex:0 0 150px!important;width:150px!important}
.rouletteCardV123{
  width:150px!important;height:214px!important;padding:7px!important;box-sizing:border-box!important;
  border:1px solid #303a4f!important;border-radius:12px!important;background:linear-gradient(180deg,#121a27,#0d131e)!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;overflow:hidden!important
}
.rouletteCardV123.winV123{border-color:#ffd12f!important;box-shadow:0 0 0 2px rgba(255,209,47,.24),0 0 28px rgba(255,209,47,.28)!important}
.rouletteMediaV123{height:164px!important;width:100%!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.rouletteMediaV123 img{max-width:100%!important;max-height:164px!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important;margin:auto!important}
.rouletteCardV123 b{width:100%!important;margin-top:5px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.rouletteCardV123 strong{color:#ffd12f!important;font-size:11px!important;margin-top:3px!important}

/* This is intentionally OUTSIDE the moving track. It never moves. */
.rouletteFixedPointerV123{
  position:absolute!important;z-index:2147483647!important;left:50%!important;top:0!important;
  transform:translate(-50%,-1px)!important;width:0!important;height:0!important;
  border-left:18px solid transparent!important;border-right:18px solid transparent!important;
  border-top:30px solid #ffd12f!important;filter:drop-shadow(0 0 10px rgba(255,209,47,.95))!important;
  pointer-events:none!important;opacity:1!important;visibility:visible!important
}
.rouletteFixedPointerV123:after{
  content:""!important;position:absolute!important;left:-1px!important;top:-2px!important;width:2px!important;height:232px!important;
  background:linear-gradient(180deg,#ffd12f 0%,rgba(255,209,47,.52) 20%,rgba(255,209,47,.10) 72%,transparent)!important;
  box-shadow:0 0 8px rgba(255,209,47,.35)!important
}
.rouletteStatusV123{margin-top:8px!important;padding:8px 10px!important;border:1px solid #2b3549!important;border-radius:9px!important;background:#0c121d!important;color:#9da8bb!important;font-size:10px!important;text-align:center!important}
.rouletteResultGridV123{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
.rouletteResultV123{min-height:310px;border:1px solid #303b50;background:#0f1622;border-radius:12px;padding:12px;text-align:center}
.rouletteResultV123 .media{height:225px;display:grid;place-items:center;overflow:hidden}.rouletteResultV123 .media img{max-width:100%;max-height:225px;width:auto;height:auto;object-fit:contain}
.rouletteResultV123 b{display:block;margin-top:7px}.rouletteResultV123 strong{display:block;color:#ffd12f;font-size:18px;margin-top:3px}.rouletteResultV123 small{display:block;color:#929caf;margin-top:4px}
.rouletteIdleV123{height:100%;display:grid;place-items:center;color:#8590a5;text-align:center;padding:30px}.rouletteIdleV123 .ball{margin:0 auto 10px}

/* ---------- OPENING: never show “fecha no disponible” as an error ---------- */
#page-open .visualSetButton small{color:#94a0b5!important}
#page-open.fastSetV123 #openSetInfo{color:#aeb8ca!important}
#prepareOpening.loadingV123,#ripPersonal.loadingV123{opacity:.72!important;pointer-events:none!important}

@media(max-width:760px){
  .rouletteViewportV123{height:214px!important}.rouletteWrapV123{width:118px!important;flex-basis:118px!important}.rouletteCardV123{width:118px!important;height:178px!important;padding:5px!important}.rouletteMediaV123{height:132px!important}.rouletteMediaV123 img{max-height:132px!important}.rouletteFixedPointerV123{border-left-width:15px!important;border-right-width:15px!important;border-top-width:25px!important}.rouletteFixedPointerV123:after{height:194px!important}.rouletteResultGridV123{grid-template-columns:1fr!important}
}

/* ---------- V8 roulette look, isolated from later roulette experiments ---------- */
#page-roulette .rouletteArenaV7{overflow:visible!important;min-height:610px!important;padding:20px!important}
.rouletteV8LanesV127{display:grid;gap:12px}
.rouletteV8LaneV127{position:relative;padding-top:8px}
.rouletteV8WindowV127{height:286px;border:1px solid #293247;border-radius:14px;background:linear-gradient(180deg,#0a0e17,#111725);overflow:hidden;position:relative;isolation:isolate}
.rouletteV8WindowV127:before,.rouletteV8WindowV127:after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:8;pointer-events:none}
.rouletteV8WindowV127:before{left:0;background:linear-gradient(90deg,#0a0e17 0,rgba(10,14,23,.94) 22%,transparent 100%)}
.rouletteV8WindowV127:after{right:0;background:linear-gradient(-90deg,#0a0e17 0,rgba(10,14,23,.94) 22%,transparent 100%)}
.rouletteV8PointerV127{position:absolute;z-index:50;top:-1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:28px solid #ffd12f;filter:drop-shadow(0 0 9px rgba(255,209,47,.62));pointer-events:none}
.rouletteV8PointerV127:after{content:"";position:absolute;left:-1px;top:-28px;width:2px;height:278px;background:linear-gradient(#ffd12f,rgba(255,209,47,.18) 34%,transparent 85%);opacity:.48}
.rouletteV8TrackV127{display:flex;align-items:center;height:100%;gap:9px;padding:14px;transform:translate3d(0,0,0);will-change:transform;transition:none}
.rouletteV8WrapV127{flex:0 0 170px;width:170px}
.rouletteV8ItemV127{width:170px;height:250px;border:1px solid #30384a;border-radius:11px;background:#101621;padding:7px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:.18s}
.rouletteV8ItemV127.win{border-color:#ffd12f;box-shadow:0 0 0 2px rgba(255,209,47,.20),0 0 26px rgba(255,209,47,.22)}
.rouletteV8MediaV127{height:190px;width:100%;display:grid;place-items:center;overflow:hidden}
.rouletteV8MediaV127 img{max-height:190px;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:6px}
.rouletteV8ItemV127 b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.rouletteV8ItemV127 strong{font-size:11px;color:#f5d34d}
.rouletteV8StatusV127{text-align:center;margin-top:8px;color:#909bb0;font-size:10px;min-height:18px}
.rouletteV8ResultsV127{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.rouletteV8ResultV127{border:1px solid #30394c;background:#0f1521;border-radius:11px;padding:12px;text-align:center;min-height:300px}
.rouletteV8ResultV127 .media{height:220px;display:grid;place-items:center;overflow:hidden}.rouletteV8ResultV127 .media img{max-height:220px;max-width:100%;object-fit:contain}
.rouletteV8ResultV127 b{display:block;margin-top:7px}.rouletteV8ResultV127 strong{display:block;color:#ffd12f;font-size:18px;margin-top:3px}.rouletteV8ResultV127 small{display:block;color:#8f99ae;margin-top:4px}
.rouletteV8IdleV127{height:100%;display:grid;place-items:center;text-align:center;color:#8e98ac}.rouletteV8IdleV127 .ball{margin:0 auto 10px}
@media(max-width:760px){.rouletteV8WindowV127{height:214px}.rouletteV8WrapV127{flex-basis:118px;width:118px}.rouletteV8ItemV127{width:118px;height:182px;padding:5px}.rouletteV8MediaV127{height:136px}.rouletteV8MediaV127 img{max-height:136px}.rouletteV8PointerV127{border-left-width:14px;border-right-width:14px;border-top-width:24px}.rouletteV8PointerV127:after{top:-24px;height:205px}.rouletteV8ResultsV127{grid-template-columns:1fr}.rouletteV8WindowV127:before,.rouletteV8WindowV127:after{width:42px}}

/* ---------- battle: all pulls ---------- */
#battleAllPullsV127{white-space:nowrap}
#battleAllModalV127 .modalcard{width:min(1380px,97vw);max-height:92vh;display:flex;flex-direction:column;padding:18px}
.battleAllGroupsV127{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto;padding:4px}
.battleAllGroupV127{border:1px solid #2d3548;border-radius:12px;background:#0d131e;padding:11px;min-width:0}
.battleAllHeadV127{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.battleAllHeadV127 b{font-size:15px}.battleAllHeadV127 strong{color:#f5d34a}
.battleAllCardsV127{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.battleAllCardV127{border:1px solid #2b3346;border-radius:8px;background:#111724;padding:5px;text-align:center;cursor:pointer;min-width:0}.battleAllCardV127:hover{border-color:#596783;transform:translateY(-1px)}
.battleAllCardV127 img{width:100%;aspect-ratio:245/337;object-fit:cover;object-position:top;border-radius:5px}.battleAllCardV127 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.battleAllCardV127 strong{font-size:9px;color:#f5d34a}
@media(max-width:900px){.battleAllGroupsV127{grid-template-columns:1fr}.battleAllCardsV127{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.battleAllCardsV127{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- upgrade target sort ---------- */
.upgradeTargetControlsV127{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:6px;margin-bottom:6px}.upgradeTargetControlsV127 .select{min-width:0}
@media(max-width:480px){.upgradeTargetControlsV127{grid-template-columns:1fr}}

/* ---------- local-safe music ---------- */
#musicPanelV7 .localMusicNoticeV127{margin-top:8px;padding:8px 10px;border:1px solid #30384b;border-radius:9px;background:#0c111b;color:#9ba6ba;font-size:10px;line-height:1.45}
#musicPanelV7 .ytMusicPlayerWrapV127{margin-top:8px;border:1px solid #30384b;border-radius:10px;overflow:hidden;background:#090d16}.ytMusicPlayerV127{width:100%;aspect-ratio:16/9;min-height:145px;background:#090d16}

/* =========================================================
   V12.8 — EXACT V8 roulette rail + embedded local music
   ========================================================= */

/* The roulette right side goes back to the V8 geometry. */
#page-roulette .rouletteArenaV7{
  padding:22px!important;
  min-height:600px!important;
  position:relative!important;
  overflow:visible!important;
}
#rouletteV8Exact{display:grid;gap:13px;width:100%}
.v8ExactLane{position:relative;padding-top:0;overflow:visible}
.v8ExactLane .rouletteWindowV7{
  height:300px!important;
  border:1px solid #293247!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#0a0e17,#111725)!important;
  overflow:hidden!important;
  position:relative!important;
  box-shadow:none!important;
}
.v8ExactLane .rouletteWindowV7:before,
.v8ExactLane .rouletteWindowV7:after{
  content:""!important;position:absolute!important;top:0!important;bottom:0!important;width:140px!important;
  z-index:4!important;pointer-events:none!important;display:block!important
}
.v8ExactLane .rouletteWindowV7:before{left:0!important;background:linear-gradient(90deg,#0a0e17,transparent)!important}
.v8ExactLane .rouletteWindowV7:after{right:0!important;background:linear-gradient(-90deg,#0a0e17,transparent)!important}
/* Literally the V8 arrow geometry; higher z-index only so later layers cannot hide it. */
.v8ExactLane .roulettePointerV7{
  display:block!important;position:absolute!important;z-index:9999!important;top:12px!important;left:50%!important;
  transform:translateX(-50%)!important;width:0!important;height:0!important;
  border-left:13px solid transparent!important;border-right:13px solid transparent!important;
  border-top:22px solid #f5d23d!important;border-bottom:0!important;
  filter:drop-shadow(0 0 8px rgba(245,210,61,.45))!important;pointer-events:none!important;
  background:transparent!important
}
.v8ExactLane .roulettePointerV7:before,.v8ExactLane .roulettePointerV7:after{content:none!important;display:none!important}
.v8ExactLane .rouletteTrackV7{
  display:flex!important;align-items:center!important;height:100%!important;gap:9px!important;padding:14px!important;
  transform:translateX(0);will-change:transform;transition:none
}
.v8ExactLane .rouletteItemV7{
  flex:0 0 170px!important;min-width:170px!important;width:170px!important;height:260px!important;
  border:1px solid #30384a!important;border-radius:11px!important;background:#101621!important;padding:7px!important;
  text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:space-between!important;overflow:hidden!important;gap:0!important
}
.v8ExactLane .rouletteItemV7 img{
  height:205px!important;width:auto!important;max-width:100%!important;object-fit:contain!important;border-radius:7px!important;
  display:block!important;aspect-ratio:auto!important
}
.v8ExactLane .rouletteItemV7 b{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important;margin:0!important;line-height:1.2!important}
.v8ExactLane .rouletteItemV7 span{font-size:11px!important;color:#f5d34d!important;font-weight:1000!important;line-height:1.2!important}
.v8ExactLane .v8PackPrize{height:205px;width:100%;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#4c246f,#b72d61);border:2px solid #f5d23d;overflow:hidden;padding:10px}
.v8ExactLane .v8PackPrize img{height:auto!important;max-height:110px!important;max-width:95%!important;object-fit:contain!important;border-radius:0!important}
.v8ExactLane .v8PackPrize small{font-size:8px;color:#fff;text-transform:uppercase;font-weight:900;opacity:.8;margin-top:5px}
#rouletteV8Results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#rouletteV8Results:empty{display:none}
.v8ExactResult{border:1px solid #30394c;background:#0f1521;border-radius:11px;padding:14px;text-align:center;min-height:330px}
.v8ExactResult img{height:245px;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.36))}
.v8ExactResult .v8ResultPack{height:245px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#4c246f,#b72d61);border:2px solid #f5d23d}
.v8ExactResult .v8ResultPack img{max-height:135px;height:auto;max-width:80%}
.v8ExactResult b{display:block;margin-top:7px}.v8ExactResult strong{display:block;color:#f5d34d;font-size:20px;margin-top:4px}.v8ExactResult small{color:#8c96ad}
.v8ExactSpinStatus{text-align:center;color:#8d97ab;font-size:11px;padding:8px}
.v8WinnerFlash{animation:v8winnerflash .7s ease}
@keyframes v8winnerflash{0%{box-shadow:inset 0 0 0 0 rgba(245,210,61,0)}45%{box-shadow:inset 0 0 0 3px rgba(245,210,61,.85),0 0 30px rgba(245,210,61,.25)}100%{box-shadow:none}}

/* Keep multiple simultaneous V8 lanes usable without altering the x1 V8 look. */
#rouletteV8Exact.multi .v8ExactLane .rouletteWindowV7{height:244px!important}
#rouletteV8Exact.multi .v8ExactLane .rouletteItemV7{height:214px!important;flex-basis:145px!important;min-width:145px!important;width:145px!important}
#rouletteV8Exact.multi .v8ExactLane .rouletteItemV7 img{height:163px!important}
#rouletteV8Exact.multi .v8ExactLane .v8PackPrize{height:163px!important}

/* Make the selected stake obvious. */
#page-roulette .stakePresetsV7 button.active{border-color:#f5d23d!important;color:#f5d23d!important;background:rgba(245,210,61,.08)!important}

/* Music is now 100% local inside this HTML. */
#musicPanelV7 .localEmbeddedMusicV128{margin:8px 0;padding:8px 10px;border:1px solid rgba(67,216,137,.25);border-radius:9px;background:rgba(67,216,137,.055);color:#8de9ba;font-size:10px;line-height:1.4}
#musicPanelV7 .ytMusicPlayerWrapV127,#musicPanelV7 .localMusicNoticeV127{display:none!important}

@media(max-width:950px){
 #rouletteV8Results{grid-template-columns:1fr}
 .v8ExactLane .rouletteWindowV7:before,.v8ExactLane .rouletteWindowV7:after{width:55px!important}
}
@media(max-width:650px){
 #page-roulette .rouletteArenaV7{padding:10px!important}
 .v8ExactLane .rouletteWindowV7{height:236px!important}
 .v8ExactLane .rouletteItemV7{height:206px!important;flex-basis:138px!important;min-width:138px!important;width:138px!important}
 .v8ExactLane .rouletteItemV7 img{height:155px!important}
 .v8ExactLane .v8PackPrize{height:155px!important}
}

/* =========================================================
   V12.9 — QoL upgrade + roulette pointer + inventory opening
   ========================================================= */

/* UPGRADE: the small reset-arrow button is intentionally removed. */
#resetUpgradeZoneV112,#resetUpgradeZoneV104{display:none!important}
#upgradeZoneToolsV112{grid-template-columns:1fr!important}

/* Quick-add rarity controls. */
.upgradeQuickAddV129{
  display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px;padding:8px;
  border:1px solid #283146;border-radius:10px;background:#0c111c
}
.upgradeQuickAddV129 .qolLabelV129{width:100%;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7f8aa0;font-weight:900}
.upgradeQuickAddV129 button{
  border:1px solid #303a50;background:#111827;color:#dce2ef;border-radius:8px;
  padding:7px 9px;font-size:9px;font-weight:900;cursor:pointer;transition:.16s
}
.upgradeQuickAddV129 button:hover{border-color:#f5d33f;color:#f5d33f;transform:translateY(-1px)}
.upgradeQuickAddV129 button.dangerV129{border-color:#5c2a35;color:#ff8799}

/* ROULETTE: force one permanent, unmistakable pointer at the exact center.
   Winner logic in V12.8 already reads the center of the viewport, so this
   triangle and the prize calculation now use exactly the same X coordinate. */
#rouletteV8Exact .v8ExactLane{position:relative!important;overflow:visible!important}
#rouletteV8Exact .v8ExactLane>.roulettePointerV7{display:none!important}
#rouletteV8Exact .v8ExactLane::before{
  content:"";display:block!important;position:absolute!important;z-index:2147483000!important;
  top:2px!important;left:50%!important;transform:translateX(-50%)!important;
  width:0!important;height:0!important;border-left:17px solid transparent!important;
  border-right:17px solid transparent!important;border-top:29px solid #ffd12f!important;
  filter:drop-shadow(0 0 9px rgba(255,209,47,.72))!important;pointer-events:none!important
}
#rouletteV8Exact .v8ExactLane::after{
  content:"";position:absolute;z-index:2147482999;top:29px;left:50%;transform:translateX(-50%);
  width:2px;height:24px;background:linear-gradient(#ffd12f,transparent);opacity:.8;pointer-events:none
}
/* One prize must never stretch across the whole arena. */
#rouletteV8Results{
  grid-template-columns:repeat(auto-fit,minmax(240px,340px))!important;
  justify-content:center!important;align-items:start!important
}
.v8ExactResult{width:100%;max-width:340px;margin:0 auto}

/* Open packs from inventory INSIDE inventory, centred, without navigating away. */
.invPackOverlayV129{
  position:fixed;inset:0;z-index:2147482500;background:rgba(3,6,12,.78);backdrop-filter:blur(8px);
  display:grid;place-items:center;padding:18px
}
.invPackOverlayV129.hidden{display:none!important}
.invPackModalV129{
  width:min(760px,96vw);height:min(760px,92vh);border:1px solid #344058;border-radius:18px;
  background:linear-gradient(180deg,#111827,#0b101a);box-shadow:0 28px 80px rgba(0,0,0,.58);
  display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;position:relative
}
.invPackHeadV129{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #293247}
.invPackHeadV129 h3{margin:0}.invPackHeadV129 small{color:#8d97ab}
.invPackCloseV129{width:38px;height:38px;border:1px solid #354057;background:#151c2a;color:#fff;border-radius:50%;font-size:22px;cursor:pointer}
.invPackStageV129{display:grid;place-items:center;min-height:0;padding:18px;overflow:auto;text-align:center}
.invPackLoadingV129{display:grid;gap:12px;place-items:center;color:#9aa4b9}
.invPackCardV129{display:grid;place-items:center;animation:invPackReveal129 .34s cubic-bezier(.2,.8,.2,1)}
.invPackCardV129 img{height:min(510px,58vh);max-width:min(360px,78vw);object-fit:contain;filter:drop-shadow(0 24px 28px rgba(0,0,0,.42))}
.invPackCardV129 h2{margin:8px 0 2px}.invPackCardV129 strong{font-size:24px;color:#f5d33f}.invPackCardV129 p{margin:4px 0;color:#8e99ad}
.invPackDotsV129{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin-top:9px}.invPackDotsV129 i{width:7px;height:7px;border-radius:50%;background:#333d53}.invPackDotsV129 i.done{background:#7050df}.invPackDotsV129 i.current{background:#f5d33f;box-shadow:0 0 9px rgba(245,211,63,.5)}
.invPackFootV129{padding:13px 16px;border-top:1px solid #293247;display:flex;justify-content:center;gap:8px;background:#0d131f}
.invPackFootV129 .btn{min-width:180px}
@keyframes invPackReveal129{from{opacity:0;transform:translateY(18px) scale(.95) rotateY(-8deg)}to{opacity:1;transform:none}}
@media(max-width:650px){
 .upgradeQuickAddV129 button{flex:1 1 calc(50% - 6px)}
 .invPackOverlayV129{padding:8px}.invPackModalV129{width:100%;height:94vh;border-radius:14px}
 .invPackCardV129 img{height:min(440px,54vh);max-width:88vw}.invPackFootV129 .btn{width:100%;min-width:0}
}

#welcome{display:none!important}
.authGateV11{z-index:99999!important}

/* =========================================================
   POKÉBATTLE V13.1 — battle products, roulette, QoL & bonuses
   ========================================================= */

/* Battle: always show the product choices under the selected set. */
#battleProductSectionV112{display:block!important;margin-top:10px!important}
#battleProductSectionV112>label{display:block!important;margin-bottom:7px!important;color:#8791a7!important;font-size:9px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.08em!important}
#battleProductsV7.productSimpleV7,#battleProductsV131{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0!important}
#battleProductsV7.productSimpleV7 button,#battleProductsV131 button{display:block!important;min-height:72px!important;width:100%!important;border:1px solid #30384b!important;background:#111724!important;color:#fff!important;border-radius:10px!important;padding:10px!important;text-align:left!important;cursor:pointer!important}
#battleProductsV7.productSimpleV7 button.active,#battleProductsV131 button.active{border-color:#f5d33e!important;background:rgba(245,211,62,.08)!important;box-shadow:inset 0 0 0 1px rgba(245,211,62,.1)!important}
#battleProductsV7 b,#battleProductsV131 b{display:block!important;font-size:11px!important}
#battleProductsV7 small,#battleProductsV131 small{display:block!important;color:#828da5!important;font-size:9px!important;margin-top:3px!important}
#battleProductsV7 strong,#battleProductsV131 strong{display:block!important;color:#f5d54b!important;font-size:10px!important;margin-top:4px!important}

/* Roulette: one real fixed pointer inside every viewport. It uses the exact
   same 50% X coordinate as the winner calculation. */
#rouletteV8Exact{display:grid!important;gap:14px!important;width:100%!important}
#rouletteV8Exact .v8ExactLane{position:relative!important;overflow:visible!important}
#rouletteV8Exact .rouletteWindowV7{position:relative!important;overflow:hidden!important}
#rouletteV8Exact .rouletteArrowV131{
  display:block!important;position:absolute!important;z-index:2147483000!important;
  top:0!important;left:50%!important;transform:translateX(-50%)!important;
  width:0!important;height:0!important;border-left:17px solid transparent!important;
  border-right:17px solid transparent!important;border-top:30px solid #ffd12f!important;
  filter:drop-shadow(0 0 9px rgba(255,209,47,.78))!important;pointer-events:none!important
}
#rouletteV8Exact .rouletteArrowV131:after{
  content:"";position:absolute;left:-1px;top:-30px;width:2px;height:47px;
  background:linear-gradient(#ffd12f 15%,rgba(255,209,47,0));opacity:.85
}
/* Disable older competing arrows: only V13.1 pointer remains. */
#rouletteV8Exact .v8ExactLane>.roulettePointerV7{display:none!important}
#rouletteV8Exact .v8ExactLane::before,#rouletteV8Exact .v8ExactLane::after{content:none!important;display:none!important}
#rouletteV8Exact .rouletteItemV7.winnerV131{border-color:#ffd12f!important;box-shadow:0 0 0 2px rgba(255,209,47,.45),0 0 26px rgba(255,209,47,.22)!important}
#rouletteV8Results{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,330px))!important;justify-content:center!important;gap:10px!important;margin-top:12px!important}
#rouletteV8Results:empty{display:none!important}
.rouletteResultV131{width:100%;max-width:330px;margin:0 auto;border:1px solid #30394c;background:#0f1521;border-radius:12px;padding:14px;text-align:center}
.rouletteResultV131 img{height:245px;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.36))}
.rouletteResultV131 strong{display:block;color:#f5d34d;font-size:20px;margin-top:5px}.rouletteResultV131 small{color:#8c96ad}.rouletteResultV131 b{display:block;margin-top:6px}
.rouletteResultV131 .packV131{height:245px;border:2px solid #f5d23d;border-radius:11px;background:linear-gradient(145deg,#4c246f,#b72d61);display:grid;place-items:center;padding:14px}
.rouletteResultV131 .packV131 img{height:auto;max-height:135px;max-width:85%}
.rouletteSpinTextV131{text-align:center;color:#99a3b8;font-size:11px;padding:8px;grid-column:1/-1}

/* Left roulette illustration changes with Cards / Packs / Mixed. */
.rouletteMascotV7.modePackV131,.rouletteMascotV7.modeMixedV131{min-height:142px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.rouletteMascotV7 .packMascotV131{width:88px;height:130px;border:2px solid #f5d23d;border-radius:10px;background:linear-gradient(150deg,#4d246e,#bd2d64);display:grid;place-items:center;padding:9px;color:#fff;text-align:center;font-size:8px;font-weight:1000}
.rouletteMascotV7 .packMascotV131 img{max-width:95%!important;max-height:72px!important;object-fit:contain!important}
.rouletteMascotV7.modeMixedV131>img{width:78px!important;height:112px!important;object-fit:contain!important}

/* Daily reward message. */
.authBonusV131{margin-top:9px;padding:10px 11px;border:1px solid rgba(245,211,62,.23);border-radius:10px;background:rgba(245,211,62,.055);font-size:10px;line-height:1.45;color:#dce3ef}
.authBonusV131 b{color:#f5d33f}

@media(max-width:650px){
 #battleProductsV7.productSimpleV7,#battleProductsV131{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #rouletteV8Exact .rouletteArrowV131{border-left-width:14px!important;border-right-width:14px!important;border-top-width:25px!important}
}

/* =========================================================
   POKÉBATTLE V13.2 — card locks, fixed grade fee, V8 roulette,
   10-card packs and upgrade-spin safety
   ========================================================= */

/* ---------- Inventory card locks ---------- */
.inv.lockedV132{border-color:#f5d33f!important;box-shadow:inset 0 0 0 1px rgba(245,211,63,.18)!important}
.cardLockV132{
  position:absolute;right:6px;top:6px;z-index:12;width:28px;height:28px;border-radius:8px;
  border:1px solid #3a4358;background:rgba(9,13,22,.92);color:#d7deec;display:grid;place-items:center;
  padding:0;cursor:pointer;font-size:14px;line-height:1;box-shadow:0 5px 14px rgba(0,0,0,.28)
}
.cardLockV132.on{border-color:#f5d33f;background:#2c2711;color:#ffd83c}
.invLockMassV132{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-left:8px}
.invLockMassV132 .btn{padding:8px 10px;font-size:10px}
.upgradeOwnV10.lockedV132{border-color:rgba(245,211,63,.62)!important;box-shadow:inset 0 0 0 1px rgba(245,211,63,.15)!important}
.upgradeLockV132{
 position:absolute;right:5px;bottom:5px;z-index:8;width:25px;height:25px;border-radius:7px;border:1px solid #39435a;
 background:rgba(8,12,20,.92);color:#d8dfed;display:grid;place-items:center;cursor:pointer;padding:0;font-size:12px
}
.upgradeLockV132.on{border-color:#ffd33f;color:#ffd33f;background:#2b2611}
#upgradeQuickAddV129 .lockActionV132{border-color:#6f5d1e!important;color:#ffd33f!important;background:rgba(245,211,63,.07)!important}
#upgradeQuickAddV129 .unlockActionV132{border-color:#37516b!important;color:#9dd7ff!important}

/* ---------- Gradeo: ONLY 10 $ ---------- */
#gradeFeePageV10{min-width:0!important;pointer-events:none!important;user-select:none!important;background:#0d1320!important;color:#ffd33f!important;font-weight:1000!important;text-align:center!important}
.gradeFeeQuickV10{grid-template-columns:1fr!important}
.gradeFeeQuickV10 [data-gfee]:not([data-gfee="10"]){display:none!important}
.gradeFeeQuickV10 [data-gfee="10"]{display:block!important;border-color:#ffd233!important;background:rgba(255,210,51,.12)!important;color:#ffd233!important;cursor:default!important}

/* ---------- V8-style roulette, isolated and authoritative ---------- */
#page-roulette .rouletteArenaV7{min-height:610px!important;padding:20px!important;overflow:visible!important}
.rouletteV132Lanes{display:grid;gap:14px;width:100%}
.rouletteV132Lane{position:relative;overflow:visible;padding-top:9px}
.rouletteV132Window{
  position:relative;height:286px;border:1px solid #293247;border-radius:14px;background:linear-gradient(180deg,#0a0e17,#111725);
  overflow:hidden;isolation:isolate
}
.rouletteV132Window:before,.rouletteV132Window:after{content:"";position:absolute;top:0;bottom:0;width:115px;z-index:14;pointer-events:none}
.rouletteV132Window:before{left:0;background:linear-gradient(90deg,#0a0e17 0,rgba(10,14,23,.94) 22%,transparent 100%)}
.rouletteV132Window:after{right:0;background:linear-gradient(-90deg,#0a0e17 0,rgba(10,14,23,.94) 22%,transparent 100%)}
.rouletteV132Pointer{
  position:absolute;z-index:2147483000;top:0;left:50%;transform:translateX(-50%);width:0;height:0;
  border-left:17px solid transparent;border-right:17px solid transparent;border-top:29px solid #ffd12f;
  filter:drop-shadow(0 0 10px rgba(255,209,47,.82));pointer-events:none
}
.rouletteV132Pointer:after{content:"";position:absolute;left:-1px;top:-29px;width:2px;height:280px;background:linear-gradient(#ffd12f,rgba(255,209,47,.23) 30%,transparent 88%);opacity:.66}
.rouletteV132Track{display:flex;align-items:center;height:100%;gap:9px;padding:14px;transform:translate3d(0,0,0);will-change:transform;transition:none}
.rouletteV132Wrap{flex:0 0 170px;width:170px}
.rouletteV132Item{
 width:170px;height:250px;border:1px solid #30384a;border-radius:11px;background:#101621;padding:7px;text-align:center;
 display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:.18s;overflow:hidden
}
.rouletteV132Item.winner{border-color:#ffd12f!important;box-shadow:0 0 0 2px rgba(255,209,47,.24),0 0 28px rgba(255,209,47,.23)!important}
.rouletteV132Media{height:190px;width:100%;display:grid;place-items:center;overflow:hidden}
.rouletteV132Media img{max-height:190px;max-width:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:6px}
.rouletteV132Pack{width:112px;height:172px;border-radius:10px;border:2px solid #f5d33f;background:linear-gradient(150deg,#4b246d,#b92d63);display:grid;place-items:center;padding:9px;overflow:hidden}
.rouletteV132Pack img{max-height:88px;max-width:95%;object-fit:contain}.rouletteV132Pack small{font-size:7px;font-weight:1000;color:#fff}
.rouletteV132Item b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.rouletteV132Item strong{font-size:11px;color:#f5d34d}
.rouletteV132Status{text-align:center;margin-top:8px;color:#929caf;font-size:10px;min-height:18px}
.rouletteV132Results{display:grid;grid-template-columns:repeat(3,minmax(0,330px));justify-content:center;gap:10px;margin-top:14px}
.rouletteV132Result{border:1px solid #30394c;background:#0f1521;border-radius:12px;padding:13px;text-align:center;min-height:300px}
.rouletteV132Result .media{height:220px;display:grid;place-items:center;overflow:hidden}.rouletteV132Result .media img{max-height:220px;max-width:100%;object-fit:contain}
.rouletteV132Result b{display:block;margin-top:7px}.rouletteV132Result strong{display:block;color:#ffd12f;font-size:19px;margin-top:3px}.rouletteV132Result small{display:block;color:#8f99ae;margin-top:4px}
.rouletteV132Idle{height:100%;display:grid;place-items:center;text-align:center;color:#8e98ac}.rouletteV132Idle .ball{margin:0 auto 10px}
.rouletteV132Hint{text-align:center;color:#8f99ae;font-size:10px;padding-top:7px}

/* Stop older experimental roulette arrows/lanes from leaking through once V13.2 owns the arena. */
#page-roulette .rouletteArenaV7>.roulettePointerV7,#page-roulette #rouletteV8Exact,#page-roulette #rouletteV8Results,#page-roulette #rouletteV8LanesV127{display:none!important}

/* ---------- Upgrade wheel is not draggable while it spins ---------- */
#upgradeWheelV10.spinLockedV132{cursor:not-allowed!important;filter:saturate(.85)}
#upgradeWheelV10.spinLockedV132 *{pointer-events:none!important}
.upgradeSpinLockNoteV132{font-size:9px;color:#9ba5b8;text-align:center;margin-top:5px;min-height:13px}

@media(max-width:760px){
 .rouletteV132Window{height:214px}.rouletteV132Wrap{flex-basis:118px;width:118px}.rouletteV132Item{width:118px;height:182px;padding:5px}
 .rouletteV132Media{height:136px}.rouletteV132Media img{max-height:136px}.rouletteV132Pack{width:80px;height:124px}.rouletteV132Pack img{max-height:61px}
 .rouletteV132Pointer{border-left-width:14px;border-right-width:14px;border-top-width:24px}.rouletteV132Pointer:after{top:-24px;height:205px}
 .rouletteV132Results{grid-template-columns:1fr}.rouletteV132Window:before,.rouletteV132Window:after{width:42px}
 .invLockMassV132{margin:7px 0 0;width:100%}.invLockMassV132 .btn{flex:1}
}

/* PokéBattle V13.3 — end-of-opening total + battle pot/tie breaker */
.pb133Overlay{position:fixed;inset:0;z-index:10050;background:rgba(4,7,14,.86);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}
.pb133Overlay.hidden{display:none!important}.pb133Modal{width:min(520px,94vw);background:#111725;border:1px solid #34405a;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.6);padding:28px;text-align:center;animation:pb133Pop .28s ease-out}
@keyframes pb133Pop{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
.pb133Modal .icon{width:66px;height:66px;border-radius:18px;margin:0 auto 12px;display:grid;place-items:center;font-size:34px;background:linear-gradient(145deg,#3b2b12,#785d11);border:1px solid #8c7528}
.pb133Modal h2{font-size:25px;margin:4px 0 8px}.pb133Modal p{color:#9ba6ba;margin:0 0 20px}.pb133Total{font-size:42px;font-weight:1000;color:#ffd12f;line-height:1;margin:10px 0 6px}.pb133Meta{font-size:12px;color:#8590a7;margin-bottom:18px}.pb133Actions{display:flex;gap:10px;justify-content:center}.pb133Actions .btn{min-width:145px}
#battleResult .pb133Pot{margin:14px 0 4px;padding:17px 18px;border:1px solid rgba(255,209,47,.35);background:linear-gradient(135deg,rgba(255,209,47,.09),rgba(111,72,222,.09));border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:18px}
#battleResult .pb133Pot span{color:#9ba6ba;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}#battleResult .pb133Pot strong{font-size:27px;color:#ffd12f;white-space:nowrap}
.pb133Tie{padding:18px 0 8px}.pb133Tie h2{margin:0 0 5px}.pb133Tie p{color:#9ba6ba;margin:0 0 15px}.pb133TieWindow{position:relative;height:126px;overflow:hidden;border:1px solid #34405a;border-radius:14px;background:#0b101c}.pb133TiePointer{position:absolute;z-index:10;top:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:24px solid #ffd12f;filter:drop-shadow(0 0 8px rgba(255,209,47,.65))}.pb133TieTrack{height:100%;display:flex;align-items:center;gap:10px;padding:16px;will-change:transform;transform:translate3d(0,0,0)}.pb133TieItem{width:150px;flex:0 0 150px;height:84px;border:1px solid #34405a;border-radius:12px;background:#121a29;display:grid;place-items:center;text-align:center;font-weight:900;padding:10px}.pb133TieItem.a{box-shadow:inset 0 0 0 1px rgba(109,79,255,.25)}.pb133TieItem.b{box-shadow:inset 0 0 0 1px rgba(255,209,47,.18)}.pb133TieItem.win{border-color:#ffd12f;box-shadow:0 0 0 2px rgba(255,209,47,.28),0 0 28px rgba(255,209,47,.16)}.pb133TieStatus{text-align:center;margin-top:10px;color:#9ba6ba;font-size:12px}
@media(max-width:640px){.pb133Modal{padding:22px 16px}.pb133Total{font-size:34px}.pb133Actions{flex-direction:column}.pb133Actions .btn{width:100%}#battleResult .pb133Pot{align-items:flex-start;flex-direction:column;gap:4px}}

/* =========================================================
   V13.4 — locked cards + centered daily/welcome bonus
   ========================================================= */
/* Never show an OPEN padlock. Only protected cards display a CLOSED padlock. */
#inventory .cardLockV132:not(.on),
#upgradeOfferGridV10 .upgradeLockV132:not(.on){display:none!important}
#inventory .cardLockV132.on,
#upgradeOfferGridV10 .upgradeLockV132.on{display:grid!important}

/* Upgrade must not contain lock/unlock actions. Lock management belongs to Inventory. */
#upgradeLockSelectionV132,#upgradeUnlockSelectionV132{display:none!important}

/* Inventory lock/unlock mode */
#invLockMassV132{position:relative}
#invLockMassV132 .lockModeActiveV134{
  border-color:#ffd33f!important;color:#ffd33f!important;background:rgba(255,211,63,.12)!important;
  box-shadow:0 0 0 1px rgba(255,211,63,.18),0 0 18px rgba(255,211,63,.10)!important
}
#inventory.lockModeV134 .inv[data-inv-index]{cursor:pointer!important}
#inventory.lockModeV134 .inv[data-inv-index]:hover{border-color:#ffd33f!important;box-shadow:0 0 0 1px rgba(255,211,63,.12)!important}
#inventory.unlockModeV134 .inv[data-inv-index]{cursor:pointer!important}
#inventory.unlockModeV134 .inv[data-inv-index]:hover{border-color:#8bd4ff!important;box-shadow:0 0 0 1px rgba(139,212,255,.12)!important}
.lockModeHintV134{width:100%;font-size:9px;color:#9ba5b8;padding:5px 2px 0}
.lockModeHintV134 b{color:#ffd33f}

/* Locked cards remain visible in Upgrade, but can never be selected. */
#upgradeOfferGridV10 .upgradeOwnV10.lockedV132{opacity:.72;cursor:not-allowed!important}
#upgradeOfferGridV10 .upgradeOwnV10.lockedV132:after{
  content:"PROTEGIDA";position:absolute;left:5px;top:5px;z-index:7;padding:3px 5px;border-radius:6px;
  background:rgba(8,12,20,.88);border:1px solid rgba(255,211,63,.62);color:#ffd33f;font-size:7px;font-weight:1000;letter-spacing:.05em
}

/* Centered animated reward overlay */
.bonusCenterV134{
  position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:20px;
  background:radial-gradient(circle at center,rgba(89,62,167,.23),rgba(3,5,10,.86) 48%,rgba(3,5,10,.94));
  backdrop-filter:blur(13px);opacity:0;pointer-events:none;transition:opacity .2s ease
}
.bonusCenterV134.show{opacity:1;pointer-events:auto}
.bonusCardV134{
  width:min(520px,94vw);position:relative;overflow:hidden;text-align:center;padding:34px 28px 26px;border-radius:22px;
  background:linear-gradient(160deg,#151b2a 0%,#111622 52%,#181224 100%);border:1px solid #3a435b;
  box-shadow:0 32px 100px rgba(0,0,0,.65),0 0 50px rgba(245,211,63,.08);transform:translateY(18px) scale(.93);opacity:0
}
.bonusCenterV134.show .bonusCardV134{animation:bonusPopV134 .58s cubic-bezier(.18,.86,.26,1.25) forwards}
@keyframes bonusPopV134{0%{transform:translateY(24px) scale(.88);opacity:0}65%{transform:translateY(-4px) scale(1.025);opacity:1}100%{transform:none;opacity:1}}
.bonusGlowV134{position:absolute;width:230px;height:230px;border-radius:50%;left:50%;top:-125px;transform:translateX(-50%);background:rgba(255,211,63,.15);filter:blur(25px);pointer-events:none}
.bonusIconV134{width:74px;height:74px;margin:0 auto 12px;border-radius:20px;display:grid;place-items:center;font-size:35px;background:linear-gradient(145deg,#6d52e7,#c84583);border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 35px rgba(0,0,0,.3)}
.bonusCardV134 h2{font-size:26px;margin:6px 0 7px}.bonusAmountV134{font-size:48px;line-height:1;color:#ffd63d;font-weight:1000;margin:12px 0;text-shadow:0 0 24px rgba(255,214,61,.16)}
.bonusLinesV134{display:grid;gap:7px;margin:17px 0}.bonusLineV134{padding:9px 11px;border-radius:10px;border:1px solid #30384b;background:#0d1320;color:#dfe4ef;font-size:12px;font-weight:850}.bonusCardV134 p{color:#929cb1;font-size:11px;line-height:1.5;margin:0 auto 16px;max-width:390px}
.bonusSparkV134{position:absolute;width:7px;height:7px;border-radius:2px;background:#ffd33f;opacity:0;animation:sparkV134 1.4s ease-out infinite}.bonusSparkV134:nth-child(2){left:14%;top:20%;animation-delay:.12s}.bonusSparkV134:nth-child(3){right:16%;top:24%;animation-delay:.42s;background:#7457e7}.bonusSparkV134:nth-child(4){left:22%;top:62%;animation-delay:.72s;background:#5de3a4}.bonusSparkV134:nth-child(5){right:21%;top:65%;animation-delay:.95s;background:#ff668b}
@keyframes sparkV134{0%{transform:translateY(12px) rotate(0);opacity:0}20%{opacity:1}100%{transform:translateY(-36px) rotate(220deg);opacity:0}}

/* =========================================================
   V13.5 — requested-only patch
   1) Roulette fixed visible pointer
   2) Fixed grading price: 80 $
   3) Friend-to-friend P2P card exchange
   ========================================================= */

/* ROULETTE: one real, always-visible triangle centered over the exact winning point. */
#page-roulette .rouletteV132Window{position:relative!important}
#page-roulette .rouletteV132Window>.rouletteV132Pointer{
  display:block!important;position:absolute!important;left:50%!important;top:0!important;z-index:80!important;
  width:34px!important;height:27px!important;transform:translateX(-50%)!important;
  border:0!important;background:#ffd12f!important;
  clip-path:polygon(0 0,100% 0,50% 100%)!important;
  filter:drop-shadow(0 0 9px rgba(255,209,47,.82))!important;
  pointer-events:none!important
}
#page-roulette .rouletteV132Pointer:after{content:none!important;display:none!important}

/* GRADEO: fixed 80 $ presentation. */
#gradeFeePageV10{color:#ffd33f!important;font-weight:1000!important;text-align:center!important}
.gradeFeeQuickV10{grid-template-columns:1fr!important}
.gradeFeeQuickV10 [data-gfee="80"]{display:block!important;border-color:#ffd233!important;background:rgba(255,210,51,.12)!important;color:#ffd233!important;cursor:default!important}

/* FRIEND EXCHANGE */
.exchangeConnectV135{padding:15px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;gap:8px;align-items:end;margin-bottom:12px}
.exchangeConnectV135 .field{min-width:0}.exchangeCodeV135{font-size:24px;letter-spacing:.13em;font-weight:1000;color:#f6d648;white-space:nowrap;padding:7px 10px;border:1px solid #31394d;border-radius:10px;background:#0d1320;min-height:43px;display:flex;align-items:center;justify-content:center}
.exchangeStatusV135{padding:8px 11px;border-radius:999px;border:1px solid #334057;background:#101725;color:#8f9bb1;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.exchangeStatusV135.online{color:#6fe7aa;border-color:rgba(67,216,137,.35);background:rgba(67,216,137,.06)}
.exchangeBoardV135{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.exchangeOfferV135{padding:16px;min-height:320px}.exchangeOfferHeadV135{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.exchangeOfferHeadV135 h3{margin:0}.exchangeReadyTagV135{font-size:9px;font-weight:1000;border-radius:999px;padding:5px 8px;border:1px solid #364057;color:#8e99af;background:#0d131e}.exchangeReadyTagV135.ready{color:#67e8a5;border-color:rgba(67,216,137,.35);background:rgba(67,216,137,.07)}
.exchangeOfferGridV135{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-height:220px;align-content:start}.exchangeOfferCardV135{border:1px solid #2d3548;border-radius:9px;background:#0d131e;padding:5px;min-width:0}.exchangeOfferCardV135 img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:5px;display:block}.exchangeOfferCardV135 b{display:block;font-size:8px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exchangeOfferCardV135 span{display:block;color:#f4d34c;font-size:9px;font-weight:1000;margin-top:2px}.exchangeEmptyV135{grid-column:1/-1;min-height:190px;display:grid;place-items:center;text-align:center;color:#7f899f;border:1px dashed #30394c;border-radius:10px;padding:20px}
.exchangeTotalsV135{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #272e3e;color:#8e98ad;font-size:10px}.exchangeTotalsV135 strong{color:#ffd54a;font-size:14px}
.exchangeFairV1333{grid-column:1/-1;padding:13px 15px;border:1px solid #30384b;border-radius:12px;background:#0d131e;transition:.2s}.exchangeFairV1333.ok{border-color:rgba(71,222,139,.55);background:linear-gradient(100deg,rgba(41,177,105,.10),rgba(13,19,30,.96))}.exchangeFairTopV1333{display:flex;justify-content:space-between;gap:12px;align-items:center}.exchangeFairTopV1333 b{display:block;font-size:11px;color:#fff}.exchangeFairTopV1333 small{display:block;color:#8792a8;font-size:9px;margin-top:3px}.exchangeFairTopV1333>strong{font-size:18px;color:#ffbf45}.exchangeFairV1333.ok .exchangeFairTopV1333>strong{color:#66e7a4}.exchangeFairTrackV1333{position:relative;height:12px;border-radius:999px;background:#171e2c;border:1px solid #30394d;overflow:hidden;margin:10px 0 5px}.exchangeFairTrackV1333>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ee8d42,#f3cd42);transition:width .22s ease}.exchangeFairV1333.ok .exchangeFairTrackV1333>i{background:linear-gradient(90deg,#35bd79,#72efa8)}.exchangeFairMarkV1333{position:absolute;top:-3px;bottom:-3px;left:70%;width:2px;background:#fff;box-shadow:0 0 7px rgba(255,255,255,.75);opacity:.85}.exchangeFairFootV1333{display:flex;justify-content:space-between;color:#69758c;font-size:8px}.exchangeFairFootV1333 b{color:#aeb7c7;font-size:8px}.exchangeFairV1333.ok .exchangeFairFootV1333 b{color:#67e8a5}
.exchangeCountdownV135{grid-column:1/-1;padding:13px 16px;border:1px solid rgba(255,211,63,.34);border-radius:12px;background:linear-gradient(100deg,rgba(255,211,63,.08),rgba(109,82,231,.08));display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-weight:900}.exchangeCountdownV135 strong{font-size:28px;color:#ffd33f;min-width:36px}.exchangeCountdownV135.hidden{display:none!important}
.exchangeInventoryPanelV135{padding:16px;margin-top:12px}.exchangeInventoryHeadV135{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:10px}.exchangeInventoryHeadV135 h3{margin:0}.exchangeInventoryV135{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;max-height:465px;overflow:auto;padding:2px}.exchangeInvCardV135{position:relative;border:1px solid #2b3345;border-radius:9px;background:#101621;padding:0;overflow:hidden;color:white;text-align:left;cursor:pointer;transition:.16s}.exchangeInvCardV135:hover{transform:translateY(-2px);border-color:#52617d}.exchangeInvCardV135.selected{border-color:#ffd33f;box-shadow:inset 0 0 0 1px rgba(255,211,63,.22)}.exchangeInvCardV135.disabled{opacity:.48;cursor:not-allowed}.exchangeInvCardV135 img{width:100%;aspect-ratio:245/337;object-fit:cover;display:block}.exchangeInvCardV135 div{padding:5px}.exchangeInvCardV135 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exchangeInvCardV135 span{font-size:9px;color:#f3d34f;font-weight:900}.exchangeSelectMarkV135{position:absolute;left:5px;top:5px;z-index:2;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(7,10,17,.88);border:1px solid #59647c;font-size:12px;font-weight:1000}.exchangeInvCardV135.selected .exchangeSelectMarkV135{background:#ffd33f;color:#1d1700;border-color:#ffd33f}
.exchangeActionsV135{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:12px}.exchangeHelpV135{font-size:10px;line-height:1.5;color:#8f99ae;margin-top:10px;padding:10px;border:1px solid #293247;border-radius:9px;background:#0d131e}
.exchangeLockedV135 .exchangeInvCardV135{pointer-events:none}.exchangeLockedV135 .exchangeInvCardV135:not(.selected){opacity:.4}
@media(max-width:1050px){.exchangeOfferGridV135{grid-template-columns:repeat(4,1fr)}.exchangeInventoryV135{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.exchangeConnectV135{grid-template-columns:1fr}.exchangeBoardV135{grid-template-columns:1fr}.exchangeOfferGridV135{grid-template-columns:repeat(4,1fr)}.exchangeInventoryV135{grid-template-columns:repeat(3,1fr)}.exchangeInventoryHeadV135{grid-template-columns:1fr}.exchangeActionsV135{grid-template-columns:1fr}.exchangeCodeV135{font-size:20px}}

/* =========================================================
   V13.5.3 FAST — no continuous MutationObservers
   ========================================================= */

/* ROULETTE: authoritative yellow pointer, CSS-only, no repaint loop. */
#page-roulette .rouletteV132Lane{
  position:relative!important;
  overflow:visible!important;
  padding-top:18px!important;
}
#page-roulette .rouletteV132Lane::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2147483000!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:0!important;
  height:0!important;
  border-left:17px solid transparent!important;
  border-right:17px solid transparent!important;
  border-top:29px solid #ffd12f!important;
  filter:drop-shadow(0 0 10px rgba(255,209,47,.82))!important;
  pointer-events:none!important;
}
#page-roulette .rouletteV132Lane::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2147482999!important;
  top:27px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:2px!important;
  height:20px!important;
  background:linear-gradient(#ffd12f,transparent)!important;
  opacity:.82!important;
  pointer-events:none!important;
}
/* Hide old duplicate pointer. The winner calculation still uses exact viewport center. */
#page-roulette .rouletteV132Pointer{display:none!important}

/* EXCHANGE: quick actions visible above offers. */
.exchangeQuickTopV138{
  display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;
  padding:12px 14px;margin:0 0 12px;border:1px solid #313a4e;border-radius:13px;
  background:linear-gradient(180deg,#101622,#0d131e)
}
.exchangeQuickTopV138 .meta b{display:block;font-size:12px}.exchangeQuickTopV138 .meta small{display:block;color:#8f99ae;font-size:9px;margin-top:2px}
.exchangeQuickTopV138 .btn{white-space:nowrap}

/* Clicking the whole offered card removes it. */
#exchangeMyOfferV135 .exchangeOfferCardV135{position:relative;cursor:pointer!important;transition:.15s}
#exchangeMyOfferV135 .exchangeOfferCardV135:hover{transform:translateY(-2px);border-color:#ffd33f!important;box-shadow:0 0 0 1px rgba(255,211,63,.14)}
#exchangeMyOfferV135 .exchangeOfferCardV135::after{
  content:"Quitar";position:absolute;right:5px;top:5px;z-index:3;padding:4px 6px;border-radius:7px;
  background:rgba(7,10,16,.92);border:1px solid rgba(255,211,63,.55);color:#ffd33f;font-size:8px;font-weight:1000;pointer-events:none
}

/* Inventory lock badge: visual hardening only, no observer. */
#inventory .inv[data-inv-index]{position:relative!important}
#inventory .cardLockV132.on{display:grid!important;z-index:20!important;opacity:1!important;visibility:visible!important}
#inventory .inv.lockedV132::after{
  content:"PROTEGIDA";position:absolute;left:7px;top:7px;z-index:14;padding:4px 6px;border-radius:7px;
  background:rgba(8,12,20,.88);border:1px solid rgba(255,211,63,.5);color:#ffd33f;font-size:7px;font-weight:1000;letter-spacing:.05em
}

@media(max-width:820px){.exchangeQuickTopV138{grid-template-columns:1fr 1fr}.exchangeQuickTopV138 .meta{grid-column:1/-1}.exchangeQuickTopV138 .btn{width:100%}}
@media(max-width:560px){.exchangeQuickTopV138{grid-template-columns:1fr}}

/* =========================================================
   V13.5.5 — SINGLE roulette pointer + compact reel
   CSS only: survives every spin rerender with no observers.
   ========================================================= */

/* Make the reel compact, closer to the reference screenshot. */
html body #page-roulette .rouletteV132Lanes{
  width:min(100%,1000px)!important;
  max-width:1000px!important;
  margin:0 auto!important;
}
html body #page-roulette .rouletteV132Lane{
  position:relative!important;
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  padding-top:20px!important;
  overflow:visible!important;
}
html body #page-roulette .rouletteV132Window{
  width:100%!important;
  max-width:1000px!important;
  margin:0 auto!important;
  position:relative!important;
  overflow:hidden!important;
}
html body #page-roulette .rouletteV132Results{
  width:min(100%,1000px)!important;
  max-width:1000px!important;
  margin:14px auto 0!important;
}
html body #page-roulette .rouletteV132Hint{
  width:min(100%,1000px)!important;
  margin:8px auto 0!important;
}

/* Kill EVERY old physical pointer so there can only be one. */
html body #page-roulette .rouletteV132Lane > .rouletteV132Pointer,
html body #page-roulette .rouletteV132Window > .rouletteV132Pointer,
html body #page-roulette .roulettePointerV7,
html body #page-roulette .roulettePointerV112,
html body #page-roulette .roulettePointerV115,
html body #page-roulette .roulettePointerV120,
html body #page-roulette .roulettePointerV121,
html body #page-roulette .rouletteV8PointerV127,
html body #page-roulette .rouletteArrowV131,
html body #page-roulette .pbRoulettePointerV136,
html body #page-roulette .pbFinalPointerV154,
html body #page-roulette .pbCenterDotV154{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* THE ONLY POINTER. It belongs to the lane itself, so it exists before,
   during and after the spin even when the inner track is rebuilt. */
html body #page-roulette .rouletteV132Lane::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2147483640!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:0!important;
  height:0!important;
  border-left:19px solid transparent!important;
  border-right:19px solid transparent!important;
  border-top:31px solid #ffd12f!important;
  filter:drop-shadow(0 0 10px rgba(255,209,47,.92))!important;
  pointer-events:none!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Vertical guide: makes it obvious which exact card is under the pointer. */
html body #page-roulette .rouletteV132Lane::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2147483639!important;
  top:29px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:2px!important;
  height:268px!important;
  background:linear-gradient(180deg,#ffd12f 0%,rgba(255,209,47,.50) 30%,rgba(255,209,47,.12) 72%,transparent 100%)!important;
  box-shadow:0 0 8px rgba(255,209,47,.35)!important;
  pointer-events:none!important;
  visibility:visible!important;
  opacity:.9!important;
}

/* Slightly reduce the empty arena feeling now that the reel is narrower. */
html body #page-roulette .rouletteArenaV7{
  min-height:520px!important;
}

@media(max-width:1100px){
  html body #page-roulette .rouletteV132Lanes,
  html body #page-roulette .rouletteV132Lane,
  html body #page-roulette .rouletteV132Window,
  html body #page-roulette .rouletteV132Results,
  html body #page-roulette .rouletteV132Hint{max-width:100%!important;width:100%!important}
}
@media(max-width:760px){
  html body #page-roulette .rouletteV132Lane::before{
    border-left-width:15px!important;border-right-width:15px!important;border-top-width:25px!important;
  }
  html body #page-roulette .rouletteV132Lane::after{top:24px!important;height:196px!important}
}

/* V13.5.6 — keep every roulette arrow inside its own lane and below the sticky header. */
html body #page-roulette .rouletteV132Lanes{position:relative!important;z-index:1!important}
html body #page-roulette .rouletteV132Lane{position:relative!important;z-index:1!important;isolation:isolate!important}
html body #page-roulette .rouletteV132Lane::before{z-index:35!important}
html body #page-roulette .rouletteV132Lane::after{z-index:34!important}
/* Header remains above any lane that scrolls underneath it. */
html body .topbar{z-index:90!important}
/* The rail itself masks cards, but the marker stays attached to this lane rather than the viewport/header. */
html body #page-roulette .rouletteV132Window{position:relative!important;z-index:1!important}
/* A little more separation between simultaneous spins so each marker clearly belongs to its own reel. */
html body #page-roulette .rouletteV132Lane + .rouletteV132Lane{margin-top:18px!important}
html body #page-roulette .rouletteV132Status{position:relative!important;z-index:2!important}

/* Inventory packs now use the exact normal opening screen. */
#invPackOverlayV129{display:none!important}
#page-open.invOpeningV157 #prepareOpening,
#page-open.invOpeningV157 #openProducts button,
#page-open.invOpeningV157 #openQty,
#page-open.invOpeningV157 #openSetPickerBtn,
#page-open.invOpeningV157 #openQuickQtyV118 button{
  pointer-events:none!important;opacity:.52!important
}
#page-open .invOpenBadgeV157{
  display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:5px 8px;border-radius:999px;
  border:1px solid rgba(255,211,63,.28);background:rgba(255,211,63,.07);color:#ffd33f;
  font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em
}

/* V13.50 — roulette lock + rebuilt social UI. */
#page-roulette .rouletteV132Hint{display:none!important}
#page-roulette .rouletteV132Status:empty{display:none!important;min-height:0!important;margin:0!important}
#page-exchange .exchangeHelpV135:empty{display:none!important}
#page-roulette.rouletteSpinLockedV136 [data-rmode],#page-roulette.rouletteSpinLockedV136 [data-rcount],#page-roulette.rouletteSpinLockedV136 [data-stake],#page-roulette.rouletteSpinLockedV136 #rouletteStake{opacity:.48!important;cursor:not-allowed!important}
#page-roulette.rouletteSpinLockedV136 .rouletteConfigV7{position:relative!important}
#page-roulette.rouletteSpinLockedV136 .rouletteConfigV7::after{content:"Tirada en curso";position:absolute;inset:0;z-index:40;border-radius:14px;background:rgba(7,10,17,.34);backdrop-filter:blur(1px);display:grid;place-items:end center;padding:18px;color:#ffd33f;font-size:10px;font-weight:1000;letter-spacing:.07em;text-transform:uppercase;pointer-events:auto}
.pbSocialFloatV136{position:fixed;right:20px;bottom:20px;z-index:8500;border:1px solid #3d4963;background:linear-gradient(135deg,#1a2232,#111722);color:#fff;border-radius:999px;padding:11px 16px;font-weight:1000;box-shadow:0 16px 42px rgba(0,0,0,.42);cursor:pointer}
.pbSocialFloatV136:hover{border-color:#7259e8;transform:translateY(-1px)}.pbSocialFloatV136.hasUnread::after{content:"";position:absolute;right:3px;top:2px;width:10px;height:10px;border-radius:50%;background:#ff5469;border:2px solid #151c2a}
.pbSocialDrawerV136{position:fixed;z-index:8400;right:18px;top:88px;bottom:18px;width:min(540px,calc(100vw - 28px));background:radial-gradient(circle at 85% -10%,rgba(112,77,232,.18),transparent 28%),linear-gradient(180deg,#111827,#090e17);border:1px solid #35415a;border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.66);display:grid;grid-template-rows:auto 1fr;overflow:hidden}
.pbSocialDrawerV136.hidden{display:none!important}.pbSocialHeadV136{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #293247;background:rgba(15,21,33,.94);backdrop-filter:blur(16px)}
.pbSocialHeadV136 h3{margin:0;font-size:22px}.pbSocialHeadV136 small{display:block;color:#8e9ab0;margin-top:3px}.pbSocialCloseV136{width:40px;height:40px;border-radius:12px;border:1px solid #364057;background:#151c2a;color:#fff;font-size:19px;cursor:pointer}.pbSocialCloseV136:hover{border-color:#7561e7}
.pbSocialBodyV136{overflow:auto;padding:14px;display:grid;gap:13px;align-content:start}.pbSocialCardV136{border:1px solid #2b364b;background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(11,17,27,.96));border-radius:16px;padding:13px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.pbSocialIdentityV1350{position:relative;overflow:hidden;border-color:rgba(111,85,231,.42);background:radial-gradient(circle at 95% 0,rgba(117,86,232,.24),transparent 36%),linear-gradient(145deg,#141b2b,#0b111c)}.pbSocialIdentityV1350:before{content:"";position:absolute;right:-45px;top:-55px;width:150px;height:150px;border-radius:50%;border:22px solid rgba(255,255,255,.025);pointer-events:none}
.pbSocialIdentityTopV1350{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.pbSocialIdentityTopV1350 small{display:block;color:#8d99ae;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}#pbSocialCodeV136{display:block;margin-top:4px;font-size:21px;letter-spacing:.035em;color:#ffd64a;overflow-wrap:anywhere}.pbSocialIdActionsV131034{display:flex;gap:7px;align-items:center}.pbSocialIdActionsV131034 .btn{padding:8px 10px!important}
.pbSocialAddWrapV1350{margin-top:14px;padding-top:13px;border-top:1px solid #2a354a}.pbSocialAddTitleV1350{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.pbSocialAddTitleV1350 b{font-size:12px}.pbSocialAddTitleV1350 small{color:#7f8ca3;font-size:9px}.pbSocialAddV136{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pbSocialAddV136 .input{height:44px}.pbSocialAddV136 .btn{min-width:94px}.pbSocialAddHelpV1350{display:block;color:#728097;font-size:9px;margin-top:7px;line-height:1.4}.pbSocialAddHelpV1350 strong{color:#c6d0e2}
.pbSocialActivityGridV1350{display:grid;grid-template-columns:1fr 1fr;gap:11px}.pbSocialActivityGridV1350 .pbSocialCardV136:last-child{grid-column:1/-1}.pbSocialSectionHeadV1350{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.pbSocialSectionV136 h4,.pbSocialSectionHeadV1350 h4{margin:0;font-size:10px;color:#b9c4d6;text-transform:uppercase;letter-spacing:.075em}.pbSocialCountV1350{min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#202b3f;color:#aeb9cc;display:grid;place-items:center;font-size:8px;font-weight:1000}
.pbSocialEmptyV136{color:#718097;font-size:10px;padding:9px 2px;line-height:1.45}.pbInviteV136,.pbFriendRowV136{border:1px solid #283449;background:#0b121e;border-radius:12px;padding:10px;margin-top:7px}.pbInviteV136{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.pbFriendRowV136{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.pbSocialPersonV1350{display:flex;align-items:center;gap:10px;min-width:0}.pbSocialAvatarV1350{width:42px;height:42px;flex:0 0 42px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#654ae1,#c44080);font-size:15px;font-weight:1000;color:#fff;border:1px solid rgba(255,255,255,.08)}.pbSocialAvatarV1350 img{width:100%;height:100%;object-fit:cover}.pbFriendWhoV136{min-width:0}.pbFriendWhoV136 b{display:block;color:#f3f6fb;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbFriendWhoV136 small{display:block;color:#7f8ca3;font-size:9px;margin-top:3px;white-space:normal;line-height:1.4}
.pbFriendActionsV136{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.pbFriendActionsV136 button{padding:7px 9px!important;font-size:8px!important;min-height:31px}.pbFriendActionsV136 .btn-red{min-width:31px}.pbFriendPresenceV137{display:inline-flex;align-items:center;gap:5px;font-weight:900}.pbFriendPresenceV137 i{width:7px;height:7px;border-radius:50%;display:inline-block}.pbFriendPresenceV137.online{color:#66dfa2}.pbFriendPresenceV137.online i{background:#43d889;box-shadow:0 0 9px rgba(67,216,137,.55)}.pbFriendPresenceV137.away{color:#ffb35a}.pbFriendPresenceV137.away i{background:#ff9f32}.pbFriendPresenceV137.offline{color:#768197}.pbFriendPresenceV137.offline i{background:#647086}
.pbFriendsHeadV137{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.pbFriendsHeadV137 h4{margin:0!important}.pbFriendGroupsV138{display:grid;gap:8px}.pbFriendGroupV138{border:1px solid #29364b;background:#09101a;border-radius:13px;overflow:hidden}.pbFriendGroupV138 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:9px 11px;color:#dce4f2;font-size:10px;font-weight:1000;cursor:pointer;user-select:none}.pbFriendGroupV138 summary::-webkit-details-marker{display:none}.pbFriendGroupV138 summary::after{content:'▾';color:#7f8aa0;font-size:11px;transition:transform .16s ease}.pbFriendGroupV138:not([open]) summary::after{transform:rotate(-90deg)}.pbFriendGroupTitleV138{display:flex;align-items:center;gap:7px}.pbFriendGroupCountV138{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#202a3c;color:#aeb8ca;font-size:8px}.pbFriendGroupV138[open] summary{border-bottom:1px solid #252f43}.pbFriendGroupListV138{padding:5px 8px 9px}.pbFriendGroupDotV138{width:7px;height:7px;border-radius:50%;display:inline-block}.pbFriendGroupDotV138.online{background:#43d889;box-shadow:0 0 9px rgba(67,216,137,.45)}.pbFriendGroupDotV138.offline{background:#647086}
.pbFriendPokedexV185{margin-top:8px!important}.pbFriendPokedexTopV185{font-size:8px!important}.pbChatV136{border:1px solid #33405a;border-radius:15px;overflow:hidden;background:#09101a;box-shadow:0 12px 34px rgba(0,0,0,.25)}.pbChatHeadV136{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid #293247}.pbChatMessagesV136{height:260px;overflow:auto;padding:11px;display:flex;flex-direction:column;gap:8px}.pbMsgV136{max-width:82%;padding:9px 11px;border-radius:12px;background:#182132;font-size:11px;line-height:1.35;align-self:flex-start;overflow-wrap:anywhere}.pbMsgV136.me{align-self:flex-end;background:linear-gradient(135deg,#674bd7,#4c36aa)}.pbMsgV136 small{display:block;opacity:.6;margin-top:3px;font-size:8px}.pbChatInputV136{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid #293247}.pbSocialBadgeV136{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff5268;color:#fff;font-size:8px;font-weight:1000;margin-left:4px}
@media(max-width:700px){.pbSocialDrawerV136{right:6px;left:6px;top:74px;bottom:6px;width:auto;border-radius:18px}.pbSocialFloatV136{right:10px;bottom:10px}.pbSocialBodyV136{padding:10px;gap:10px}.pbSocialActivityGridV1350{grid-template-columns:1fr}.pbSocialActivityGridV1350 .pbSocialCardV136:last-child{grid-column:auto}.pbSocialIdentityTopV1350{grid-template-columns:1fr}.pbSocialIdActionsV131034{justify-content:flex-start}.pbSocialAddV136{grid-template-columns:1fr}.pbSocialAddV136 .btn{width:100%}.pbFriendRowV136,.pbInviteV136{grid-template-columns:1fr;gap:9px}.pbFriendActionsV136{justify-content:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.pbFriendActionsV136 button{width:100%}.pbFriendActionsV136 .btn-red{width:100%}}

/* Roulette is immutable while a result is being resolved. */
#page-roulette.rouletteHardLockV1361 [data-rmode],
#page-roulette.rouletteHardLockV1361 [data-rcount],
#page-roulette.rouletteHardLockV1361 [data-stake],
#page-roulette.rouletteHardLockV1361 #rouletteStake,
#page-roulette.rouletteHardLockV1361 #spinRoulette{
  pointer-events:none!important;
  cursor:not-allowed!important;
}
#page-roulette.rouletteHardLockV1361 [data-rmode],
#page-roulette.rouletteHardLockV1361 [data-rcount],
#page-roulette.rouletteHardLockV1361 [data-stake],
#page-roulette.rouletteHardLockV1361 #rouletteStake{opacity:.38!important;filter:saturate(.45)!important}
#page-roulette.rouletteHardLockV1361 #spinRoulette{opacity:.62!important;filter:saturate(.65)!important}
#rouletteBusyV1361{
  display:none;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:8px 10px;
  border:1px solid rgba(255,211,63,.28);border-radius:9px;background:rgba(255,211,63,.055);
  color:#ffd33f;font-size:9px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase
}
#page-roulette.rouletteHardLockV1361 #rouletteBusyV1361{display:flex}
#rouletteBusyV1361 i{width:8px;height:8px;border-radius:50%;background:#ffd33f;box-shadow:0 0 12px rgba(255,211,63,.7);animation:pbBusy1361 .8s ease-in-out infinite alternate}
@keyframes pbBusy1361{to{opacity:.35;transform:scale(.7)}}

/* V13.6.2 — authoritative roulette lock + mode artwork */
#page-roulette.pbRouletteBusyV1362 .rouletteConfigV7{
  position:relative!important;
}
#page-roulette.pbRouletteBusyV1362 .rouletteConfigV7::after{
  content:"Tirada en curso";
  position:absolute!important;inset:0!important;z-index:9999!important;
  border-radius:14px!important;background:rgba(7,10,17,.42)!important;
  backdrop-filter:blur(1.2px)!important;pointer-events:auto!important;
  display:grid!important;place-items:end center!important;padding:18px!important;
  color:#ffd33f!important;font-size:10px!important;font-weight:1000!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;
}
#page-roulette.pbRouletteBusyV1362 [data-rmode],
#page-roulette.pbRouletteBusyV1362 [data-rcount],
#page-roulette.pbRouletteBusyV1362 [data-stake],
#page-roulette.pbRouletteBusyV1362 #rouletteStake,
#page-roulette.pbRouletteBusyV1362 #spinRoulette{
  pointer-events:none!important;cursor:not-allowed!important;
}
#page-roulette.pbRouletteBusyV1362 [data-rmode],
#page-roulette.pbRouletteBusyV1362 [data-rcount],
#page-roulette.pbRouletteBusyV1362 [data-stake],
#page-roulette.pbRouletteBusyV1362 #rouletteStake{opacity:.42!important;filter:saturate(.45)!important}
#page-roulette.pbRouletteBusyV1362 #spinRoulette{opacity:.58!important;filter:saturate(.55)!important}

/* Left visual changes with roulette type. */
#page-roulette .rouletteMascotV7.pbMascot1362{
  min-height:142px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:13px!important;overflow:visible!important
}
#page-roulette .rouletteMascotV7.pbMascot1362>img.pbCardMascot1362{
  width:82px!important;height:116px!important;object-fit:contain!important;display:block!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))
}
.pbPackMascot1362{
  width:82px;height:122px;border-radius:9px;display:grid;place-items:center;position:relative;overflow:hidden;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35));flex:0 0 auto
}
.pbPackMascot1362 img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important}
.pbPackFallback1362{
  width:76px;height:116px;border-radius:9px;border:2px solid #f5d33f;
  background:linear-gradient(155deg,#40205e 0%,#a52b69 52%,#d34a85 100%);
  display:grid;place-items:center;text-align:center;padding:10px;color:white;font-size:8px;font-weight:1000;
  box-shadow:inset 0 0 18px rgba(255,255,255,.08)
}
.pbPackFallback1362::before{content:"POKÉMON";display:block;font-size:10px;color:#ffd33f;text-shadow:0 1px 0 #20429a}
.pbPackFallback1362::after{content:"BOOSTER PACK";display:block;font-size:7px;opacity:.9}
.pbMixedPlus1362{font-size:23px;font-weight:1000;color:#ffd33f;text-shadow:0 0 10px rgba(255,211,63,.35)}
@media(max-width:650px){
  #page-roulette .rouletteMascotV7.pbMascot1362>img.pbCardMascot1362{width:68px!important;height:98px!important}
  .pbPackMascot1362{width:68px;height:102px}.pbPackFallback1362{width:64px;height:98px}.pbMixedPlus1362{font-size:19px}
}

/* V13.6.3 — reliable roulette mode artwork */
#page-roulette .rouletteMascotV7.pbMascot1363{
  min-height:142px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:14px!important;overflow:visible!important
}
#page-roulette .rouletteMascotV7.pbMascot1363 .pbCardArt1363{
  width:82px!important;height:116px!important;object-fit:contain!important;display:block!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))
}
.pbBoosterVisual1363{
  position:relative;width:82px;height:120px;flex:0 0 82px;border-radius:8px;
  background:linear-gradient(155deg,#351b59 0%,#6c267b 34%,#b12d69 72%,#d94e86 100%);
  border:2px solid #f6d33d;box-shadow:inset 0 0 24px rgba(255,255,255,.08),0 12px 16px rgba(0,0,0,.35);
  display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center
}
.pbBoosterVisual1363:before,.pbBoosterVisual1363:after{
  content:"";position:absolute;left:0;right:0;height:9px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 4px,rgba(255,255,255,.05) 4px 8px)
}
.pbBoosterVisual1363:before{top:0}.pbBoosterVisual1363:after{bottom:0}
.pbBoosterVisual1363 .pbPackBall1363{width:38px;height:38px;border:4px solid #fff;border-radius:50%;position:relative;opacity:.96}
.pbBoosterVisual1363 .pbPackBall1363:before{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:4px;background:#fff;transform:translateY(-50%)}
.pbBoosterVisual1363 .pbPackBall1363:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;border:3px solid #fff;background:#7c2d78;transform:translate(-50%,-50%)}
.pbBoosterVisual1363 b{position:absolute;bottom:18px;left:4px;right:4px;font-size:7px;letter-spacing:.06em;text-transform:uppercase}
.pbMixedPlus1363{font-size:24px;font-weight:1000;color:#ffd33f;text-shadow:0 0 10px rgba(255,211,63,.35)}
@media(max-width:650px){
 #page-roulette .rouletteMascotV7.pbMascot1363 .pbCardArt1363{width:68px!important;height:98px!important}
 .pbBoosterVisual1363{width:68px;height:100px;flex-basis:68px}.pbMixedPlus1363{font-size:20px}
}

/* V13.6.6 — final roulette mode artwork + clean stake state */
#page-roulette .rouletteMascotV7.pbMascot1366{
  position:relative!important;min-height:142px!important;height:142px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:14px!important;overflow:visible!important;background:radial-gradient(circle,rgba(247,216,60,.10),transparent 67%)!important
}
/* Kill all legacy pseudo artwork so only this final state is visible. */
#page-roulette .rouletteMascotV7.pbMascot1366::before,
#page-roulette .rouletteMascotV7.pbMascot1366::after{content:none!important;display:none!important}
/* Older rules hide every child; explicitly re-enable only ours. */
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbCard1366{
  display:block!important;width:82px!important;height:116px!important;object-fit:contain!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))!important;flex:0 0 auto!important
}
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366{
  display:grid!important;position:relative!important;width:82px!important;height:120px!important;flex:0 0 82px!important;
  place-items:center!important;border:2px solid #f5d33f!important;border-radius:9px!important;overflow:hidden!important;
  background:linear-gradient(155deg,#351b59 0%,#6b267b 34%,#a92b70 67%,#d24786 100%)!important;
  box-shadow:inset 0 0 22px rgba(255,255,255,.08),0 12px 16px rgba(0,0,0,.34)!important;
  color:#fff!important
}
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366::before,
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366::after{
  content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;height:8px!important;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.24) 0 4px,rgba(255,255,255,.04) 4px 8px)!important
}
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366::before{top:0!important}
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366::after{bottom:0!important}
.pbPack1366 .pbPackBall1366{display:block!important;width:38px!important;height:38px!important;border:4px solid #fff!important;border-radius:50%!important;position:relative!important;opacity:.96!important}
.pbPack1366 .pbPackBall1366::before{content:""!important;display:block!important;position:absolute!important;left:-4px!important;right:-4px!important;top:50%!important;height:4px!important;background:#fff!important;transform:translateY(-50%)!important}
.pbPack1366 .pbPackBall1366::after{content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;width:10px!important;height:10px!important;border-radius:50%!important;border:3px solid #fff!important;background:#7c2d78!important;transform:translate(-50%,-50%)!important}
.pbPack1366 b{display:block!important;position:absolute!important;left:4px!important;right:4px!important;bottom:18px!important;text-align:center!important;font-size:7px!important;letter-spacing:.06em!important;color:#fff!important;text-transform:uppercase!important}
#page-roulette .rouletteMascotV7.pbMascot1366 > .pbPlus1366{display:block!important;font-size:24px!important;font-weight:1000!important;color:#ffd33f!important;text-shadow:0 0 10px rgba(255,211,63,.38)!important}

/* Ensure NO stake appears selected after changing roulette type. */
#page-roulette .stakePresetsV7 [data-stake]:not(.active):not(.stakeSelectedV116){
  box-shadow:none!important
}
@media(max-width:650px){
 #page-roulette .rouletteMascotV7.pbMascot1366 > .pbCard1366{width:68px!important;height:98px!important}
 #page-roulette .rouletteMascotV7.pbMascot1366 > .pbPack1366{width:68px!important;height:100px!important;flex-basis:68px!important}
 #page-roulette .rouletteMascotV7.pbMascot1366 > .pbPlus1366{font-size:20px!important}
}

/* V13.6.7 — exact left mascot visuals for Cartas / Sobres / Mixta */
#page-roulette .rouletteMascotV7{
  position:relative!important;
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
#page-roulette .rouletteMascotV7 > *{display:none!important}
#page-roulette .rbMascotStageV167{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:132px}
#page-roulette .rbMascotCardV167{
  width:84px;height:118px;flex:0 0 84px;border-radius:8px;
  background:url('https://assets.tcgdex.net/en/base/base1/58/high.webp') center/contain no-repeat;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35));
}
#page-roulette .rbMascotPackV167{
  width:84px;height:122px;flex:0 0 84px;border:2px solid #f6d33d;border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 12%,transparent 88%,rgba(255,255,255,.14)),
    linear-gradient(155deg,#351b59 0%,#6c267b 34%,#b12d69 72%,#d94e86 100%);
  box-shadow:inset 0 0 22px rgba(255,255,255,.08),0 12px 16px rgba(0,0,0,.35);
  position:relative;
}
#page-roulette .rbMascotPackV167::before{
  content:"BOOSTER PACK";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  color:#fff;font-size:8px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
#page-roulette .rbMascotStageV167[data-mode="cards"] .rbMascotPackV167{display:none!important}
#page-roulette .rbMascotStageV167[data-mode="packs"] .rbMascotCardV167{display:none!important}
#page-roulette .rbMascotStageV167[data-mode="mixed"]{gap:8px}
#page-roulette .rbMascotStageV167[data-mode="mixed"] .rbMascotCardV167,
#page-roulette .rbMascotStageV167[data-mode="mixed"] .rbMascotPackV167{
  width:72px;flex-basis:72px;height:104px;
}
#page-roulette .rbMascotStageV167[data-mode="mixed"] .rbMascotPackV167::after{
  content:"+";position:absolute;left:-14px;top:50%;transform:translateY(-50%);
  color:#f6d33d;font-size:18px;font-weight:1000;text-shadow:0 0 8px rgba(246,211,61,.28)
}
@media(max-width:650px){
  #page-roulette .rbMascotCardV167{width:76px;height:108px;flex-basis:76px}
  #page-roulette .rbMascotPackV167{width:76px;height:112px;flex-basis:76px}
  #page-roulette .rbMascotStageV167[data-mode="mixed"] .rbMascotCardV167,
  #page-roulette .rbMascotStageV167[data-mode="mixed"] .rbMascotPackV167{width:64px;height:94px;flex-basis:64px}
}

/* V13.6.8 — independent roulette mode preview. Legacy mascot is fully hidden. */
#page-roulette .rouletteMascotV7{display:none!important}
#rouletteModePreviewV168{
  min-height:145px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin:0 0 4px!important;
  border-radius:14px!important;
  background:radial-gradient(circle,rgba(247,216,60,.10),transparent 67%)!important;
  overflow:visible!important;
}
#rouletteModePreviewV168 .pbPreviewCardV168{
  width:84px!important;height:118px!important;flex:0 0 84px!important;
  background:url('https://assets.tcgdex.net/en/base/base1/58/high.webp') center/contain no-repeat!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))!important;
}
#rouletteModePreviewV168 .pbPreviewPackV168{
  width:84px!important;height:122px!important;flex:0 0 84px!important;
  border:2px solid #f5d33f!important;border-radius:9px!important;position:relative!important;overflow:hidden!important;
  background:linear-gradient(155deg,#351b59 0%,#6b267b 34%,#a92b70 67%,#d24786 100%)!important;
  box-shadow:inset 0 0 22px rgba(255,255,255,.08),0 12px 16px rgba(0,0,0,.34)!important;
}
#rouletteModePreviewV168 .pbPreviewPackV168::before,
#rouletteModePreviewV168 .pbPreviewPackV168::after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;height:8px!important;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.24) 0 4px,rgba(255,255,255,.04) 4px 8px)!important
}
#rouletteModePreviewV168 .pbPreviewPackV168::before{top:0!important}
#rouletteModePreviewV168 .pbPreviewPackV168::after{bottom:0!important}
#rouletteModePreviewV168 .pbPreviewPackInnerV168{
  position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;
  color:#fff!important;font-size:8px!important;font-weight:1000!important;letter-spacing:.06em!important;text-transform:uppercase!important
}
#rouletteModePreviewV168 .pbPreviewPlusV168{
  font-size:25px!important;font-weight:1000!important;color:#ffd33f!important;text-shadow:0 0 10px rgba(255,211,63,.38)!important
}
#rouletteModePreviewV168[data-mode="cards"] .pbPreviewPackV168,
#rouletteModePreviewV168[data-mode="cards"] .pbPreviewPlusV168{display:none!important}
#rouletteModePreviewV168[data-mode="packs"] .pbPreviewCardV168,
#rouletteModePreviewV168[data-mode="packs"] .pbPreviewPlusV168{display:none!important}
#rouletteModePreviewV168[data-mode="mixed"] .pbPreviewCardV168,
#rouletteModePreviewV168[data-mode="mixed"] .pbPreviewPackV168{width:72px!important;height:104px!important;flex-basis:72px!important}
@media(max-width:650px){
 #rouletteModePreviewV168{min-height:126px!important}
 #rouletteModePreviewV168 .pbPreviewCardV168{width:70px!important;height:100px!important;flex-basis:70px!important}
 #rouletteModePreviewV168 .pbPreviewPackV168{width:70px!important;height:102px!important;flex-basis:70px!important}
 #rouletteModePreviewV168[data-mode="mixed"] .pbPreviewCardV168,
 #rouletteModePreviewV168[data-mode="mixed"] .pbPreviewPackV168{width:62px!important;height:92px!important;flex-basis:62px!important}
}

/* No manual roulette stake. Only preset amounts are allowed. */
#page-roulette #rouletteStake{display:none!important}
#page-roulette .field:has(#rouletteStake){display:none!important}

/* V13.7 — PriceCharting removed from the user-facing app. */
#pcToken,#priceSource,#fx,#pcSyncCardV8,#pcSyncSetV8,#syncOpenPrice,#syncBattlePrice{display:none!important}
.pcPanelV8,.pcPanelHeadV8,.pcNoteV8,.previewPcTagV8{display:none!important}

/* PokéBattle V13.8 — Pokédex de colecciones */
.pokedexHeadV138 h2{display:flex;align-items:center;gap:9px}.pokedexHeadV138 h2:before{content:"◉";color:#ffd43b;font-size:21px}
.pokedexStatsV138{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.pokedexToolbarV138{display:grid;grid-template-columns:minmax(220px,1fr) 190px 190px;gap:8px;padding:10px;margin-bottom:12px}
.pokedexSetsV138{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.pokedexSetV138{border:1px solid #2c3549;border-radius:14px;background:linear-gradient(180deg,#111827,#0d131f);padding:12px;min-width:0;position:relative;overflow:hidden;transition:.18s}
.pokedexSetV138:hover{transform:translateY(-3px);border-color:#4a5775;box-shadow:0 16px 26px rgba(0,0,0,.18)}
.pokedexSetV138.complete{border-color:rgba(91,224,150,.46);background:linear-gradient(180deg,rgba(64,190,122,.075),#0d131f)}
.pokedexSetVisualV138{height:104px;display:grid;place-items:center;margin-bottom:8px;border-radius:10px;background:radial-gradient(circle,rgba(116,83,226,.12),transparent 66%);overflow:hidden}
.pokedexSetVisualV138 img{max-width:88%;max-height:84px;object-fit:contain}.pokedexSetVisualV138 img.cover{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:saturate(.75) brightness(.72)}
.pokedexSetV138 h3{font-size:12px;margin:2px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pokedexSetMetaV138{display:flex;justify-content:space-between;gap:6px;color:#8e99ae;font-size:9px}
.pokedexProgressV138{height:7px;border-radius:999px;background:#20293a;overflow:hidden;margin:9px 0 7px}.pokedexProgressV138 i{display:block;height:100%;background:linear-gradient(90deg,#6549da,#ffd43b);border-radius:999px;min-width:0}
.pokedexSetFooterV138{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.pokedexRewardV138{font-size:9px;color:#ffd54a;font-weight:1000}.pokedexStatusV138{font-size:8px;font-weight:1000;padding:4px 6px;border-radius:999px;border:1px solid #344057;color:#929db2;background:#0d131e;white-space:nowrap}.pokedexStatusV138.done{color:#70e3a6;border-color:rgba(80,218,140,.35);background:rgba(80,218,140,.06)}
.pokedexSetV138 button{width:100%;margin-top:9px}
.pokedexDetailTopV138{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;margin-bottom:12px}.pokedexDetailLogoV138{width:112px;height:86px;display:grid;place-items:center;border-radius:11px;background:#0d131f;border:1px solid #2c3548;overflow:hidden}.pokedexDetailLogoV138 img{max-width:90%;max-height:72px;object-fit:contain}.pokedexDetailTopV138 h2{margin:0 0 4px;font-size:24px}.pokedexDetailTopV138 p{margin:0;color:#8e99ae;font-size:11px}.pokedexDetailRewardV138{text-align:right}.pokedexDetailRewardV138 small{display:block;color:#8e99ae;font-size:9px}.pokedexDetailRewardV138 strong{display:block;color:#ffd43b;font-size:25px;margin:2px 0 7px}.pokedexClaimedV138{color:#71e5a8;font-size:10px;font-weight:1000}
.pokedexDetailProgressV138{padding:12px 15px;margin-bottom:12px}.pokedexDetailNumbersV138{display:flex;justify-content:space-between;gap:10px;font-size:11px}.pokedexDetailNumbersV138 strong{color:#ffd43b}.pokedexCardsV138{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.pokedexCardV138{border:1px solid #2d3548;border-radius:9px;background:#101622;padding:5px;min-width:0;position:relative;overflow:hidden}.pokedexCardV138.owned{border-color:rgba(101,78,223,.55)}.pokedexCardV138 img{width:100%;aspect-ratio:245/337;object-fit:cover;border-radius:5px;display:block}.pokedexCardV138 b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.pokedexCardV138 small{display:block;color:#8792a8;font-size:7px;margin-top:2px}.pokedexUnknownV138{width:100%;aspect-ratio:245/337;border-radius:5px;background:linear-gradient(145deg,#111827,#090d15);border:1px dashed #334057;display:grid;place-items:center;color:#3d485e;font-size:30px;font-weight:1000}.pokedexOwnedTagV138{position:absolute;right:7px;top:7px;z-index:3;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#51d68c;color:#082214;font-size:11px;font-weight:1000;border:2px solid #0d131e;box-shadow:0 0 12px rgba(81,214,140,.24)}
.pokedexEmptyV138{grid-column:1/-1;padding:36px;text-align:center;color:#8994aa;border:1px dashed #30394d;border-radius:12px}
@media(max-width:1100px){.pokedexSetsV138{grid-template-columns:repeat(3,1fr)}.pokedexCardsV138{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.pokedexStatsV138{grid-template-columns:1fr}.pokedexToolbarV138{grid-template-columns:1fr}.pokedexSetsV138{grid-template-columns:repeat(2,1fr)}.pokedexCardsV138{grid-template-columns:repeat(3,1fr)}.pokedexDetailTopV138{grid-template-columns:1fr;text-align:center}.pokedexDetailLogoV138{margin:auto}.pokedexDetailRewardV138{text-align:center}}

/* V13.8.2 — Pokédex compacta, mismos sets del catálogo y cartas faltantes oscurecidas */
#pbFriendsNavV136{display:none!important}
#pbPokedexFloatV182{
 position:fixed;right:24px;bottom:92px;z-index:1200;width:58px;height:82px;
 border-radius:17px 17px 19px 19px;border:3px solid #363b44;
 background:linear-gradient(180deg,#eef0f2,#cad7de);box-shadow:0 14px 28px rgba(0,0,0,.34);
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:8px;cursor:pointer;color:#18202d;
 transition:transform .16s,box-shadow .16s
}
#pbPokedexFloatV182:hover{transform:translateY(-2px);box-shadow:0 18px 30px rgba(0,0,0,.4)}
#pbPokedexFloatV182:before{content:"";position:absolute;right:-10px;top:11px;width:14px;height:31px;background:linear-gradient(180deg,#eef0f2,#cad7de);border:3px solid #363b44;border-left:0;border-radius:0 12px 12px 0}
#pbPokedexFloatV182 .pdxBall{width:34px;height:34px;border:3px solid #363b44;border-radius:50%;position:relative;background:linear-gradient(180deg,#e33f47 0 50%,#f4f6f7 50%)}
#pbPokedexFloatV182 .pdxBall:before{content:"";position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:3px;height:38px;background:#363b44}
#pbPokedexFloatV182 .pdxBall:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid #363b44;box-shadow:0 0 0 2px #ef3e45 inset}
#pbPokedexFloatV182 .pdxLines{margin-top:10px;display:grid;gap:5px;width:100%;place-items:start;padding-left:14px}
#pbPokedexFloatV182 .pdxLines i{display:block;background:#363b44;border-radius:999px}.pdxLines i:nth-child(1){width:8px;height:8px;border-radius:50%}.pdxLines i:nth-child(2),.pdxLines i:nth-child(3){width:12px;height:3px}
#pbPokedexFloatV182 .pdxLabel{position:absolute;left:50%;bottom:-23px;transform:translateX(-50%);background:#0f1420;border:1px solid #2f394b;color:#e6ebf3;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
#page-pokedex .sectionhead{display:none!important}
#page-pokedex .pokedexStatsV138{display:none!important}
.pokedexShellV182{padding-top:5px}
.pokedexHeroV182{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;margin-bottom:11px;border:1px solid #2f394b;border-radius:16px;background:linear-gradient(135deg,rgba(218,73,73,.09),rgba(78,47,145,.07),rgba(9,13,21,.94))}
.pokedexTitleBlockV182{display:flex;align-items:center;gap:12px;min-width:0}.pokedexTitleBlockV182 h2{margin:0 0 3px;font-size:25px}.pokedexTitleBlockV182 p{margin:0;color:#95a0b5;font-size:11px}
.pokedexDeviceMiniV182{width:48px;height:67px;border-radius:14px 14px 15px 15px;border:2px solid #363b44;background:linear-gradient(180deg,#eef0f2,#cad7de);position:relative;flex:0 0 auto}
.pokedexDeviceMiniV182:before{content:"";position:absolute;right:-8px;top:9px;width:11px;height:24px;background:linear-gradient(180deg,#eef0f2,#cad7de);border:2px solid #363b44;border-left:none;border-radius:0 10px 10px 0}
.pokedexDeviceMiniV182 .ball{position:absolute;left:7px;top:7px;width:23px;height:23px;border-radius:50%;border:2px solid #363b44;background:linear-gradient(180deg,#e33f47 0 50%,#f4f6f7 50%)}
.pokedexDeviceMiniV182 .ball:before{content:"";position:absolute;left:50%;top:-2px;transform:translateX(-50%);width:2px;height:27px;background:#363b44}.pokedexDeviceMiniV182 .ball:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #363b44;box-shadow:0 0 0 2px #ef3e45 inset}
.pokedexDeviceMiniV182 .dots{position:absolute;left:10px;bottom:10px;display:grid;gap:4px}.pokedexDeviceMiniV182 .dots i{display:block;background:#363b44;border-radius:999px}.pokedexDeviceMiniV182 .dots i:first-child{width:7px;height:7px;border-radius:50%}.pokedexDeviceMiniV182 .dots i:nth-child(2),.pokedexDeviceMiniV182 .dots i:nth-child(3){width:10px;height:3px}
.pokedexHeroStatsV182{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pokedexHeroStatsV182 .stat{min-width:128px;padding:11px 13px}.pokedexHeroStatsV182 small{font-size:8px}.pokedexHeroStatsV182 strong{font-size:17px}
.pokedexToolbarV138{border-radius:15px;background:linear-gradient(180deg,#121827,#0d131f);border:1px solid #2f394b}
.pokedexSetV138{border-radius:17px}.pokedexSetVisualV138{height:112px}.pokedexSetV138 button{border-radius:11px}
.pokedexCardV138{border-radius:11px;background:#0f1521}.pokedexCardV138 img{border-radius:7px;transition:.16s filter,.16s opacity}.pokedexCardV138.unknown img{filter:grayscale(1) brightness(.22) contrast(.96);opacity:.88}.pokedexCardV138.unknown b,.pokedexCardV138.unknown small{color:#657187}.pokedexDarkMaskV182{position:absolute;left:5px;right:5px;top:5px;aspect-ratio:245/337;border-radius:7px;background:linear-gradient(180deg,rgba(5,8,14,.04),rgba(5,8,14,.40));pointer-events:none}.pokedexLockedTagV182{position:absolute;right:7px;top:7px;z-index:3;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:rgba(13,19,30,.9);border:1px solid #354159;color:#78859b;font-size:10px;font-weight:1000}
@media(max-width:760px){#pbPokedexFloatV182{right:14px;bottom:88px}.pokedexHeroV182{flex-direction:column;align-items:flex-start}.pokedexHeroStatsV182{justify-content:flex-start}.pokedexHeroStatsV182 .stat{min-width:105px}}

/* V13.8.3 — loading fix: Pokédex uses exactly main Sets catalogue */
#page-pokedex .pokedexSetVisualV138{height:112px}
#page-pokedex .pokedexSetV138{min-height:0}
#page-pokedex .pokedexCardsV138 .pokedexCardV138.unknown img{filter:grayscale(1) brightness(.20) contrast(.9)!important;opacity:.86}
#page-pokedex .pokedexCardsV138 .pokedexCardV138.owned img{filter:none!important;opacity:1!important}

/* V13.8.4 — mobile nav + roulette responsive + working Pokédex catalogue */
@media (max-width:1100px){
  #mobileNavV115 .mobileSheetV115{width:min(420px,calc(100vw - 26px))!important;max-width:calc(100vw - 26px)!important;padding:18px 16px 24px!important}
  #mobileNavV115 .mobileLinksV115 button{padding:15px 16px!important;font-size:15px!important;border-radius:14px!important}
}
body.pbMobileMenuOpenV184{overflow:hidden!important;touch-action:none!important}

@media (max-width:760px){
  #page-roulette .sectionhead{padding:0 0 4px!important}
  #page-roulette .sectionhead h2{font-size:20px!important;line-height:1.1!important;margin-bottom:6px!important}
  #page-roulette .sectionhead p{font-size:12px!important;line-height:1.35!important;margin:0!important}
  #page-roulette .pill{align-self:flex-start!important;font-size:11px!important;padding:8px 11px!important}
  #page-roulette .rouletteLayoutV7{grid-template-columns:1fr!important;gap:12px!important}
  #page-roulette .rouletteConfigV7,#page-roulette .rouletteArenaV7{padding:14px!important;overflow:hidden!important}
  #page-roulette .rouletteArenaV7{min-height:auto!important}
  #rouletteModePreviewV168{min-height:112px!important;margin:0 0 12px!important}
  #page-roulette .rouletteModeV10,#page-roulette .rouletteCountV10,#page-roulette .stakePresetsV7{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  #page-roulette .rouletteModeV10 button,#page-roulette .rouletteCountV10 button,#page-roulette .stakePresetsV7 button{width:100%!important;min-width:0!important;padding:10px 6px!important;font-size:11px!important;line-height:1.15!important;border-radius:10px!important;white-space:normal!important}
  #page-roulette .rouletteConfigV7 h3{font-size:18px!important;margin:2px 0 10px!important}
  #page-roulette .rouletteConfigV7 p{font-size:11px!important;line-height:1.45!important;margin:0 0 10px!important}
  #page-roulette #spinRoulette{margin-top:12px!important;min-height:50px!important;font-size:16px!important}
  #page-roulette .notice{font-size:10px!important;line-height:1.4!important;padding:11px!important;margin-top:10px!important}
  #page-roulette .rouletteWindowV7{height:190px!important}
  #page-roulette .rouletteWindowV7:before,#page-roulette .rouletteWindowV7:after{width:34px!important}
  #page-roulette .rouletteLaneV10{padding-top:22px!important}
  #page-roulette .rouletteItemV7{min-width:102px!important;width:102px!important;height:166px!important;padding:6px!important}
  #page-roulette .rouletteItemV7 img{height:118px!important}
  #page-roulette .rouletteCardImageV103,#page-roulette .roulettePackImageV103{height:116px!important}
  #page-roulette .rouletteResultV7{padding:18px 10px!important}
  #page-roulette .rouletteResultV7 img{height:240px!important;max-width:92%!important}
  #page-roulette .rouletteResultsV10{grid-template-columns:1fr!important;gap:8px!important}
  #page-roulette .rouletteResultCardV10{padding:10px!important}
  #page-roulette .rouletteResultCardV10 img{height:152px!important}
}
@media (max-width:430px){
  #page-roulette .rouletteConfigV7,#page-roulette .rouletteArenaV7{padding:12px!important}
  #page-roulette .rouletteModeV10 button,#page-roulette .rouletteCountV10 button,#page-roulette .stakePresetsV7 button{font-size:10px!important;padding:9px 4px!important}
  #page-roulette .rouletteWindowV7{height:176px!important}
  #page-roulette .rouletteItemV7{min-width:96px!important;width:96px!important;height:156px!important}
  #page-roulette .rouletteItemV7 img{height:108px!important}
  #page-roulette .rouletteCardImageV103,#page-roulette .roulettePackImageV103{height:106px!important}
}

/* V13.8.5 — Pokédex order/rewards, live friend progress and exchange filters */
#page-pokedex .pokedexSetV138{min-height:0}
#page-pokedex .pokedexSetMetaV138 b{color:#ffd54a}
#page-pokedex .pokedexRewardV138{font-size:10px}

.pbFriendPokedexV185{margin-top:7px;display:grid;gap:5px}
.pbFriendPokedexTopV185{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#8f9aae}
.pbFriendPokedexTopV185 strong{color:#f5d34a;font-size:10px}
.pbFriendPokedexBarV185{height:6px;background:#20293a;border-radius:999px;overflow:hidden}
.pbFriendPokedexBarV185 i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7658e8,#f5d34a);width:0}
.pbFriendOnlineV185{color:#66dfa2!important}.pbFriendOfflineV185{color:#768197!important}

#exchangeReadyV135,#exchangeCancelV135{display:none!important}
#page-exchange .exchangeActionsV135{grid-template-columns:1fr!important}
#page-exchange #exchangeClearV135{justify-self:end;min-width:150px}
.exchangeFiltersV185{display:grid;grid-template-columns:minmax(170px,1.25fr) repeat(4,minmax(120px,.8fr));gap:8px;margin:0 0 11px}
.exchangeFiltersV185 .select,.exchangeFiltersV185 .input{width:100%;min-width:0}
@media(max-width:1050px){.exchangeFiltersV185{grid-template-columns:repeat(2,minmax(0,1fr))}.exchangeFiltersV185 .exchangeFilterSearchV185{grid-column:1/-1}}
@media(max-width:620px){.exchangeFiltersV185{grid-template-columns:1fr}.exchangeFiltersV185 .exchangeFilterSearchV185{grid-column:auto}#page-exchange #exchangeClearV135{width:100%;justify-self:stretch}}

/* =========================================================
   V13.8.6 — mobile hardening + 3-card roulette viewport
   ========================================================= */
@media(max-width:760px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body>*{max-width:100vw}

  /* The menu must use the visual viewport, not a page widened by a child. */
  #mobileNavV115{
    position:fixed!important;inset:0!important;left:0!important;right:auto!important;
    width:100vw!important;max-width:100vw!important;height:100dvh!important;
    overflow:hidden!important
  }
  #mobileNavV115 .mobileSheetV115{
    position:absolute!important;top:0!important;right:0!important;left:auto!important;
    width:80vw!important;max-width:420px!important;min-width:0!important;height:100dvh!important;
    padding:18px 16px 26px!important;overflow-y:auto!important;overflow-x:hidden!important
  }
  #mobileNavV115 .mobileHeadV115{
    position:sticky!important;top:-18px!important;z-index:5!important;
    min-height:54px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    background:#0b101b!important;padding:8px 0 10px!important;margin-bottom:12px!important
  }
  #mobileNavV115 .mobileCloseV115{
    display:grid!important;visibility:visible!important;opacity:1!important;place-items:center!important;
    flex:0 0 40px!important;width:40px!important;height:40px!important;margin-left:12px!important
  }
  #mobileNavV115 .mobileLinksV115{width:100%!important;max-width:100%!important}
  #mobileNavV115 .mobileLinksV115 button{width:100%!important;max-width:100%!important;min-width:0!important}

  /* Opening page may never widen the layout viewport. */
  #page-open,#page-open .openlayout,#page-open .sidebar,#page-open .openstage,
  #page-open .step,#page-open .productSimpleV7,#page-open .field,#page-open .cost{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  #page-open .openlayout{overflow-x:hidden!important}
  #page-open .sidebar,#page-open .openstage{overflow-x:hidden!important}
  #page-open input,#page-open select,#page-open button{max-width:100%!important;min-width:0!important}

  /* Roulette: exactly THREE visible prize cards on phone. */
  #page-roulette,#page-roulette .rouletteLayoutV7,#page-roulette .rouletteConfigV7,
  #page-roulette .rouletteArenaV7,#page-roulette .rouletteV132Lanes,#page-roulette .rouletteV132Lane,
  #page-roulette .rouletteV132Window,#page-roulette .rouletteV132Results{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  #page-roulette .rouletteArenaV7{overflow:hidden!important}
  #page-roulette .rouletteV132Lane{overflow:hidden!important;padding-left:0!important;padding-right:0!important}
  #page-roulette .rouletteV132Window{overflow:hidden!important;height:208px!important}
  #page-roulette .rouletteV132Track{
    width:100%!important;max-width:none!important;gap:6px!important;padding:8px 0!important;
  }
  #page-roulette .rouletteV132Wrap{
    flex:0 0 calc((100% - 12px)/3)!important;
    width:calc((100% - 12px)/3)!important;
    min-width:0!important;max-width:none!important
  }
  #page-roulette .rouletteV132Item{
    width:100%!important;max-width:100%!important;height:188px!important;padding:5px!important
  }
  #page-roulette .rouletteV132Media{height:139px!important;max-width:100%!important}
  #page-roulette .rouletteV132Media img{max-height:139px!important;max-width:100%!important}
  #page-roulette .rouletteV132Pack{width:74px!important;max-width:92%!important;height:126px!important}
  #page-roulette .rouletteV132Item b{font-size:8px!important}
  #page-roulette .rouletteV132Item strong{font-size:10px!important}
  #page-roulette .rouletteV132Window:before,#page-roulette .rouletteV132Window:after{width:24px!important}
}
@media(max-width:430px){
  #mobileNavV115 .mobileSheetV115{width:82vw!important}
  #page-roulette .rouletteV132Window{height:196px!important}
  #page-roulette .rouletteV132Item{height:176px!important}
  #page-roulette .rouletteV132Media{height:128px!important}
  #page-roulette .rouletteV132Media img{max-height:128px!important}
  #page-roulette .rouletteV132Pack{height:116px!important;width:68px!important}
}

/* Small explanation in Pokédex detail for economic difficulty. */
.pokedexEconomyV186{margin-top:5px;color:#9ba6b9;font-size:9px;line-height:1.45}
.pokedexEconomyV186 b{color:#f5d34d}

/* V13.8.7 — searchable 125-set exchange filter + preview image recovery */
#exchangeFiltersV185 #exchangeSetV185{display:none!important}
.exchangeSetSearchV187{position:relative;min-width:0;width:100%}
.exchangeSetSearchV187 .input{width:100%!important;min-width:0!important;padding-right:34px!important}
.exchangeSetSearchV187:after{content:"⌄";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#909bb0;font-size:14px;pointer-events:none}
.exchangeSetSuggestionsV187{
 display:none;position:absolute;z-index:10050;left:0;right:0;top:calc(100% + 5px);
 max-height:280px;overflow:auto;padding:6px;background:#0c121e;border:1px solid #3a455d;
 border-radius:11px;box-shadow:0 18px 40px rgba(0,0,0,.48)
}
.exchangeSetSearchV187.open .exchangeSetSuggestionsV187{display:block}
.exchangeSetSuggestionsV187 button{display:block;width:100%;border:0;background:transparent;color:#e8edf7;text-align:left;padding:9px 10px;border-radius:8px;font-size:11px;cursor:pointer}
.exchangeSetSuggestionsV187 button:hover,.exchangeSetSuggestionsV187 button.active{background:#1a2334;color:#ffd43b}
.exchangeSetSuggestionsV187 .exchangeSetEmptyV187{padding:12px;color:#7f899e;font-size:10px;text-align:center}
.exchangeSetCountV187{position:absolute;right:30px;top:50%;transform:translateY(-50%);font-size:8px;color:#69758c;pointer-events:none}
#setPreviewV6 .previewCardV6 img.pbImageBrokenV187{opacity:.22!important;filter:grayscale(1)!important}
#setPreviewV6 .previewCardV6 .pbImageRepairV187{position:absolute;inset:8px 8px 64px;display:grid;place-items:center;color:#647087;font-size:9px;text-align:center;pointer-events:none}
#setPreviewV6 .previewCardV6{position:relative!important}
@media(max-width:760px){
 .exchangeSetSuggestionsV187{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:48vh;border-radius:14px}
}

/* V13.8.8 — filtros Pokédex definitivos + recompensas por coste real aproximado del set */
#page-pokedex .pokedexEmptyV138{min-height:120px;display:grid;place-items:center}
#page-pokedex .pokedexMarketV188{margin-top:5px;color:#99a5ba;font-size:9px;line-height:1.45}
#page-pokedex .pokedexMarketV188 b{color:#f5d34a}
#page-pokedex .pokedexRewardV138{font-size:10px!important}

#deleteAccount{background:#b92d45!important;border-color:#d4415c!important;color:#fff!important}
#deleteAccount:hover{background:#cf3550!important;border-color:#e74e68!important}

/* Final modal cleanup + GPU-friendly zoom */
#cardModal .zoomInfo>.notice{display:none!important}
#cardModal .zoomArtWrap{overflow:hidden!important;touch-action:none!important;cursor:grab!important;contain:layout paint;overscroll-behavior:contain}
#cardModal .zoomArtWrap.pbZoomDragging1391{cursor:grabbing!important}
#cardModal #zoomCardImage{transition:none!important;will-change:transform;transform-origin:center center!important;user-select:none!important;-webkit-user-drag:none!important;backface-visibility:hidden!important}
#cardModal .zoomControls{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important}
#cardModal .zoomControls button{min-width:42px!important}
/* Old PriceCharting preview progress rows were being re-created after every preview. Keep one invisible sentinel only. */
#setPreviewV6 #pcSyncSetV8,#setPreviewV6 #pcSyncStatusV8,#setPreviewV6 .pcProgressV8{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}

/* V13.9.2 — compact card viewer, full-card fit at 100%, lightweight zoom */
#cardModal{backdrop-filter:none!important;background:rgba(3,5,10,.90)!important;padding:14px!important}
#cardModal .cardZoomModal{
  width:min(790px,94vw)!important;
  max-width:790px!important;
  max-height:min(760px,94vh)!important;
  padding:16px!important;
  overflow:hidden!important;
  border-radius:16px!important;
}
#cardModal .zoomGrid{
  display:grid!important;
  grid-template-columns:minmax(285px,390px) minmax(220px,1fr)!important;
  gap:20px!important;
  align-items:center!important;
}
#cardModal .zoomArtWrap{
  width:100%!important;
  height:min(68vh,610px)!important;
  min-height:0!important;
  max-height:610px!important;
  padding:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:radial-gradient(circle,rgba(109,82,231,.11),transparent 68%)!important;
  border-radius:12px!important;
  touch-action:none!important;
  cursor:default!important;
  contain:paint!important;
}
#cardModal .zoomArtWrap.pbZoomActive1392{cursor:grab!important}
#cardModal .zoomArtWrap.pbZoomDragging1392{cursor:grabbing!important}
#cardModal #zoomCardImage{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform-origin:center center!important;
  transform:translate3d(0,0,0) scale(1);
  transition:none!important;
  filter:none!important;
  box-shadow:0 12px 26px rgba(0,0,0,.28)!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
#cardModal .zoomInfo{min-width:0!important;padding:4px 2px!important}
#cardModal .zoomInfo h2{font-size:30px!important;line-height:1.05!important;margin:12px 0 6px!important}
#cardModal .zoomPrice{font-size:34px!important;margin:14px 0!important}
#cardModal .zoomControls{position:static!important;margin-top:10px!important;padding:0!important;background:transparent!important;gap:7px!important}
#cardModal .zoomControls .btn{min-height:38px!important;padding:7px 12px!important}
#cardModal .pcPanelV8{max-height:270px!important;overflow:auto!important}
#cardModal .zoomClose{right:10px!important;top:10px!important}
@media(max-width:720px){
  #cardModal{padding:8px!important}
  #cardModal .cardZoomModal{width:min(470px,97vw)!important;max-height:96vh!important;padding:12px!important;overflow:auto!important}
  #cardModal .zoomGrid{grid-template-columns:1fr!important;gap:12px!important}
  #cardModal .zoomArtWrap{height:min(58vh,520px)!important;max-height:520px!important;padding:10px!important}
  #cardModal .zoomInfo h2{font-size:25px!important}
  #cardModal .zoomPrice{font-size:29px!important;margin:10px 0!important}
  #cardModal .pcPanelV8{max-height:210px!important}
}
@media(max-width:430px){
  #cardModal .cardZoomModal{width:96vw!important}
  #cardModal .zoomArtWrap{height:min(54vh,460px)!important}
}

/* V13.9.3 — narrower card viewer */
#cardModal .cardZoomModal{
  width:min(660px,94vw)!important;
  max-width:660px!important;
  max-height:min(740px,94vh)!important;
  padding:14px!important;
}
#cardModal .zoomGrid{
  grid-template-columns:minmax(275px,355px) minmax(185px,230px)!important;
  gap:14px!important;
}
#cardModal .zoomArtWrap{
  height:min(69vh,590px)!important;
  max-height:590px!important;
  padding:9px!important;
}
#cardModal .zoomInfo{padding:2px 0!important}
#cardModal .zoomInfo h2{font-size:27px!important;margin:10px 0 5px!important}
#cardModal .zoomInfo p{margin:3px 0!important}
#cardModal .zoomPrice{font-size:31px!important;margin:11px 0!important}
#cardModal .zoomControls{gap:5px!important;margin-top:8px!important}
#cardModal .zoomControls .btn{min-width:38px!important;min-height:36px!important;padding:6px 9px!important}
#cardModal .pcPanelV8{max-height:235px!important}
@media(max-width:720px){
  #cardModal .cardZoomModal{width:min(445px,96vw)!important;max-width:445px!important;padding:11px!important}
  #cardModal .zoomGrid{grid-template-columns:1fr!important;gap:10px!important}
  #cardModal .zoomArtWrap{height:min(57vh,500px)!important;max-height:500px!important;padding:8px!important}
}

#gradePricesV10 .pbRawGrade1393{border-color:rgba(91,224,150,.48)!important;background:rgba(91,224,150,.07)!important}
#gradePricesV10 .pbRawGrade1393 strong{color:#76e5aa!important}

/* Energías fuera del gradeo. */
#gradeInventoryV10 .pbEnergyBlocked1394{display:none!important}

/* V13.9.6 — inventory sell mode + explicit pack opening only */
#inventorySellModeV1396{
  background:linear-gradient(135deg,#7b1822,#d63a46)!important;
  border:1px solid #f15b66!important;color:#fff!important;
  box-shadow:0 8px 22px rgba(214,58,70,.18)!important
}
#inventorySellModeV1396.active{
  background:linear-gradient(135deg,#a41422,#f04c59)!important;
  box-shadow:0 0 0 2px rgba(240,76,89,.16) inset,0 10px 28px rgba(240,76,89,.25)!important
}
#inventorySellBarV1396{
  display:none;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin:0 0 12px;padding:12px 14px;border:1px solid rgba(240,76,89,.42);border-radius:13px;
  background:linear-gradient(180deg,rgba(177,29,43,.14),rgba(95,16,28,.10));
}
#page-inventory.pbSellModeV1396 #inventorySellBarV1396{display:flex}
#inventorySellBarV1396 .sellSummaryV1396{display:flex;align-items:center;gap:9px;color:#ffb8be;font-size:11px;font-weight:800}
#inventorySellBarV1396 .sellDotV1396{width:9px;height:9px;border-radius:50%;background:#ef4855;box-shadow:0 0 12px rgba(239,72,85,.75)}
#inventorySellBarV1396 .sellBtnsV1396{display:flex;gap:8px;flex-wrap:wrap}
#inventorySellConfirmV1396{background:#cf2e3d!important;border-color:#f25b67!important;color:#fff!important}
#inventorySellCancelV1396{border-color:#66303a!important;color:#f1aeb5!important}
#page-inventory.pbSellModeV1396 #inventory .inv,
#page-inventory.pbSellModeV1396 #inventory .invPackV10{
  cursor:pointer!important;transition:border-color .12s,box-shadow .12s,background .12s,transform .12s!important
}
#page-inventory.pbSellModeV1396 #inventory .inv:hover,
#page-inventory.pbSellModeV1396 #inventory .invPackV10:hover{
  border-color:rgba(240,76,89,.52)!important;transform:translateY(-1px)
}
#page-inventory.pbSellModeV1396 #inventory .pbSellSelectedV1396{
  border-color:#ef4855!important;background:linear-gradient(180deg,rgba(239,72,85,.12),rgba(20,18,26,.96))!important;
  box-shadow:0 0 0 2px rgba(239,72,85,.16) inset,0 10px 26px rgba(239,72,85,.14)!important
}
#page-inventory.pbSellModeV1396 #inventory .pbSellSelectedV1396::after{
  content:"✓ VENDER";position:absolute;left:7px;bottom:7px;z-index:20;padding:4px 7px;border-radius:999px;
  background:#d73644;color:white;font-size:8px;font-weight:1000;letter-spacing:.04em;box-shadow:0 4px 12px rgba(0,0,0,.3)
}
#page-inventory.pbSellModeV1396 #inventory .inv,
#page-inventory.pbSellModeV1396 #inventory .invPackV10{position:relative!important}
#page-inventory.pbSellModeV1396 #inventory .invSelect,
#page-inventory.pbSellModeV1396 #inventory .sellOne,
#page-inventory.pbSellModeV1396 #inventory .packActionsV10,
#page-inventory.pbSellModeV1396 #inventory .cardLockV132{pointer-events:none!important;opacity:.25!important}
#page-inventory.pbSellModeV1396 #openSelectedPacksV10,
#page-inventory.pbSellModeV1396 #openAllPacksV10{pointer-events:none!important;opacity:.35!important}
@media(max-width:650px){
  #inventorySellBarV1396{align-items:stretch}
  #inventorySellBarV1396 .sellBtnsV1396{width:100%;display:grid;grid-template-columns:1fr 1fr}
  #inventorySellBarV1396 .sellBtnsV1396 .btn{width:100%}
}

/* V13.9.8 — fixed grading odds at the 80 $ grading fee. */
#page-grade .gradeOddsV10 div{min-width:0}

/* TCGCSV pricing runs silently through the local/server cache. */
.tcgcsvPriceSourceV1310{display:none!important}

#invLockMassV132 #inventorySellModeV1396{margin:0!important;min-height:34px;padding:8px 10px;font-size:10px}

#rouletteExpensiveRuleV131011{margin-top:9px;padding:9px 10px;border:1px solid rgba(246,207,53,.2);border-radius:9px;background:rgba(246,207,53,.045);color:#aeb6c8;font-size:9px;line-height:1.45}
#rouletteExpensiveRuleV131011 b{color:#f5d34d}

/* V13.10.12 — compact inventory actions: lock, unlock and sell on one row. */
#invLockMassV132{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;
  width:auto!important;max-width:100%!important;margin-left:8px!important;overflow-x:auto!important;
  scrollbar-width:thin;padding-bottom:1px;
}
#invLockMassV132 .btn,#invLockMassV132 #inventorySellModeV1396{
  flex:0 0 auto!important;width:auto!important;min-width:0!important;margin:0!important;
  min-height:34px!important;padding:8px 10px!important;font-size:10px!important;white-space:nowrap!important;
}
@media(max-width:650px){
  #invLockMassV132{margin:7px 0 0!important;width:100%!important}
  #invLockMassV132 .btn,#invLockMassV132 #inventorySellModeV1396{padding:7px 8px!important;font-size:9px!important}
}

/* V13.10.13 — faster inventory pack reveal without changing pull logic. */
#page-open.invOpeningV157 .singleCardDirect{animation-duration:.16s!important}
#page-open.invOpeningV157 .packimg.rip,#page-open.invOpeningV157 .slotPack.rip{animation-duration:.055s!important}

/* V13.10.14 — product-price sanity: multi-pack products can never undercut their own booster economics. */

/* V13.10.17 — inventory packs are committed server-side before the reveal begins. */
#page-open.atomicInvOpeningV131017 #prepareOpening,
#page-open.atomicInvOpeningV131017 #openProducts button,
#page-open.atomicInvOpeningV131017 #openQty,
#page-open.atomicInvOpeningV131017 #openSetPickerBtn,
#page-open.atomicInvOpeningV131017 #openQuickQtyV118 button{pointer-events:none!important;opacity:.48!important}
#atomicOpenStatusV131017{display:inline-flex;align-items:center;gap:7px;margin-left:8px;padding:5px 9px;border-radius:999px;border:1px solid rgba(93,232,163,.28);background:rgba(93,232,163,.08);color:#7df0b2;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}

#battleHistoryV131025{margin:14px 2px 10px;padding:14px;border:1px solid #2a3142;border-radius:14px;background:linear-gradient(180deg,#0e1420,#0a0f18)}
#battleHistoryV131025 .bhHead{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:10px}
#battleHistoryV131025 .bhHead h3{margin:0;color:#fff;font-size:15px}.bhHead p{margin:3px 0 0;color:#808ba1;font-size:10px}
#battleHistoryV131025 .bhList{display:grid;gap:7px}.bhRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #252c3a;border-radius:11px;background:#101621}
#battleHistoryV131025 .bhState{min-width:66px;text-align:center;font-size:10px;font-weight:1000;border-radius:999px;padding:6px 8px}.bhState.win{background:#153826;color:#74efaa;border:1px solid #256d49}.bhState.loss{background:#3a1820;color:#ff8f9f;border:1px solid #6b2937}
#battleHistoryV131025 .bhMain{min-width:0}.bhMain b{display:block;color:#fff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bhMain small{display:block;color:#7f899e;font-size:9px;margin-top:2px}.bhMoney{text-align:right}.bhMoney b{display:block;color:#f6cf35;font-size:13px}.bhMoney small{display:block;color:#758097;font-size:9px;margin-top:2px}
#battleHistoryV131025 .bhEmpty{padding:26px 12px;text-align:center;color:#727c91;font-size:11px;border:1px dashed #2a3142;border-radius:11px}
#battleGrid.session-active #battleHistoryV131025{display:none!important}
@media(max-width:700px){#battleHistoryV131025 .bhRow{grid-template-columns:auto 1fr}.bhMoney{grid-column:2;text-align:left;display:flex;gap:8px;align-items:center}.bhMoney small{margin:0}}

#prepareOpening.pbInsufficientV131027{animation:pbShake131027 .28s linear 2;background:#6f2430!important;color:#fff!important;border-color:#a43a4b!important}
@keyframes pbShake131027{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* V13.10.34 — public trainer ID */
.pbSocialIdActionsV131034{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pbSocialCodeV136 strong{font-size:16px!important;letter-spacing:.01em!important;overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important;color:#ffd33f;cursor:pointer}
.pbSocialAddV136 input{text-transform:none!important;letter-spacing:0!important}

/* When a chat is opened, give it the whole social drawer instead of leaving it below long friend lists. */
.pbSocialBodyV136:has(#pbChatV136:not(.hidden)){overflow:hidden!important;display:block!important;padding:10px!important}
.pbSocialBodyV136:has(#pbChatV136:not(.hidden))>.pbSocialCardV136{display:none!important}
.pbSocialBodyV136:has(#pbChatV136:not(.hidden))>#pbChatV136{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;height:100%!important;min-height:0!important;border-color:#3d4963;box-shadow:0 16px 50px rgba(0,0,0,.34)}
.pbSocialBodyV136:has(#pbChatV136:not(.hidden)) .pbChatMessagesV136{height:auto!important;min-height:0!important;overflow-y:auto!important;padding:14px!important}
.pbSocialBodyV136:has(#pbChatV136:not(.hidden)) .pbChatInputV136{background:#0d1420;position:relative;z-index:2}
.pbMsgV136{font-size:12px!important;line-height:1.45!important;max-width:86%!important}

/* Mobile battle layout: 2 + 2 + 1 for 5 FFA, 2 + 1 for 3 FFA. */
@media(max-width:760px){
  #page-battle #playerSlots.playerSlots,
  #page-battle #playerSlots.waitingSlots{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    margin:8px 0 0!important;
    align-items:stretch!important;
  }
  #page-battle #playerSlots.playerSlots>.slot,
  #page-battle #playerSlots.waitingSlots>.waitingCard{min-width:0!important;width:100%!important;grid-column:auto!important}
  #page-battle #playerSlots.playerSlots>.slot:last-child:nth-child(odd):not(.off),
  #page-battle #playerSlots.playerSlots:has(>.slot:nth-child(4).off)>.slot:nth-child(3):not(.off),
  #page-battle #playerSlots.waitingSlots>.waitingCard:last-child:nth-child(odd){grid-column:1/-1!important;width:calc(50% - 4px)!important;justify-self:center!important}
  #page-battle #playerSlots .slotCard{height:235px!important;max-width:100%!important;width:100%!important}
  #page-battle #playerSlots .packStage{height:260px!important;min-width:0!important}
  #page-battle #playerSlots .slotTrail{height:78px!important;overflow-x:auto!important}
  #page-battle #playerSlots .slotTop{padding:6px!important;gap:5px!important}
  #page-battle #playerSlots .slotTotal{font-size:10px!important}
  #page-battle #playerSlots .slotWho b{font-size:9px!important}
}
@media(max-width:390px){
  #page-battle #playerSlots .slotCard{height:215px!important}
  #page-battle #playerSlots .packStage{height:238px!important}
}

#page-open:not(.atomicInvOpeningV131017):not(.invOpeningV157):not(.openLockedV118) #prepareOpening{pointer-events:auto}

.leaderboardTopBtnV131029{font-size:19px!important;min-width:39px;padding:8px 10px!important;border:1px solid rgba(246,207,53,.18)!important;background:rgba(246,207,53,.045)!important;color:#f7d85b!important}
.leaderboardTopBtnV131029:hover{border-color:rgba(246,207,53,.42)!important;background:rgba(246,207,53,.1)!important}
.leaderboardShellV131029{padding:16px;overflow:hidden}
.leaderboardToolbarV131029{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.leaderboardTabsV131029{display:flex;gap:6px;padding:4px;border:1px solid #293145;background:#0b101a;border-radius:12px}
.leaderboardTabsV131029 button{border:0;border-radius:8px;background:transparent;color:#8f99ae;padding:10px 14px;font-weight:1000;cursor:pointer}
.leaderboardTabsV131029 button.active{background:linear-gradient(135deg,#6d52e7,#4c35b3);color:#fff;box-shadow:0 8px 18px rgba(69,46,174,.24)}
.leaderboardExplainV131029{font-size:11px;color:#929caf;padding:10px 12px;border:1px solid #262e40;background:#0c111c;border-radius:10px;margin-bottom:14px}
.leaderboardPodiumV131029{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin:7px 0 16px}
.lbPodiumCardV131029{position:relative;min-height:154px;border:1px solid #2c3447;border-radius:15px;background:linear-gradient(180deg,#151a28,#0c111b);padding:17px 13px 13px;text-align:center;overflow:hidden}
.lbPodiumCardV131029.first{min-height:178px;border-color:rgba(246,207,53,.45);background:linear-gradient(180deg,rgba(246,207,53,.09),#0c111b)}
.lbPodiumCardV131029.second{border-color:rgba(195,205,224,.3)}
.lbPodiumCardV131029.third{border-color:rgba(206,137,73,.32)}
.lbPodiumRankV131029{font-size:24px;line-height:1;margin-bottom:7px}
.lbPodiumAvatarV131029{width:45px;height:45px;margin:0 auto 8px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#425cf4,#9e48e9);font-size:19px;font-weight:1000;overflow:hidden}
.lbPodiumAvatarV131029 img{width:100%;height:100%;object-fit:cover}
.lbPodiumCardV131029 b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbPodiumCardV131029 small{display:block;color:#7f899f;font-size:9px;margin-top:2px}
.lbPodiumValueV131029{font-size:18px;font-weight:1000;color:#f7d94f;margin-top:8px}
.lbMeV131029:after{content:'TÚ';position:absolute;right:8px;top:8px;font-size:7px;font-weight:1000;color:#171100;background:#f7d94f;border-radius:999px;padding:4px 6px}
.leaderboardTableWrapV131029{overflow:auto;border:1px solid #283044;border-radius:12px}
.leaderboardTableV131029{width:100%;border-collapse:collapse;min-width:680px}
.leaderboardTableV131029 th{position:sticky;top:0;background:#111725;color:#7f8aa0;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:10px 12px;border-bottom:1px solid #2a3245}
.leaderboardTableV131029 td{padding:11px 12px;border-bottom:1px solid #222a3a;font-size:11px}
.leaderboardTableV131029 tr:last-child td{border-bottom:0}
.leaderboardTableV131029 tbody tr:hover{background:rgba(109,82,231,.045)}
.leaderboardTableV131029 tbody tr.me{background:rgba(246,207,53,.055)}
.lbRankV131029{font-size:14px;font-weight:1000;color:#aeb7ca;width:55px}
.lbTrainerV131029{display:flex;align-items:center;gap:9px;min-width:200px}.lbTrainerAvatarV131029{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#425cf4,#9e48e9);font-weight:1000;overflow:hidden;flex:0 0 auto}.lbTrainerAvatarV131029 img{width:100%;height:100%;object-fit:cover}.lbTrainerV131029 b{display:block;font-size:11px}.lbTrainerV131029 small{display:block;color:#747f96;font-size:8px;margin-top:2px}
.lbMetricV131029{font-size:14px!important;font-weight:1000;color:#f7d94f;white-space:nowrap}
.lbDetailV131029{color:#8e98ad}.lbPdxBarV131029{height:6px;width:130px;background:#20293a;border-radius:999px;overflow:hidden;margin-top:4px}.lbPdxBarV131029 i{display:block;height:100%;background:linear-gradient(90deg,#6549da,#ffd43b);border-radius:999px}
.leaderboardLoadingV131029,.leaderboardEmptyV131029{text-align:center;padding:32px;color:#8993a9}
.leaderboardFootV131029{margin-top:10px;color:#6f7a91;font-size:9px;text-align:right}
@media(max-width:760px){.leaderboardTopBtnV131029{display:grid!important}.leaderboardToolbarV131029{align-items:stretch;flex-direction:column}.leaderboardTabsV131029{width:100%}.leaderboardTabsV131029 button{flex:1;padding:9px 7px;font-size:9px}.leaderboardPodiumV131029{grid-template-columns:1fr}.lbPodiumCardV131029,.lbPodiumCardV131029.first{min-height:0}.leaderboardShellV131029{padding:10px}}

/* Battle room state safety */
#lockRoomV7:disabled{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(.35)}
/* Battle history filters */
#battleHistoryV131025 .bhHead{align-items:center;flex-wrap:wrap}
.bhFiltersV131035{display:flex;gap:7px;align-items:center;margin-left:auto}
.bhFiltersV131035 input,.bhFiltersV131035 select{height:34px;border:1px solid #30394d;border-radius:8px;background:#0b111c;color:#e9edf7;padding:0 9px;font:inherit;font-size:10px}
.bhFiltersV131035 .btn{min-height:34px;padding:7px 10px;font-size:9px}
@media(max-width:760px){.bhFiltersV131035{width:100%;display:grid;grid-template-columns:1fr 1fr}.bhFiltersV131035 .btn{grid-column:1/-1;width:100%}}
/* Set picker: whole tile is the choose action */
#setPickerGrid .setPickerCard{cursor:pointer!important}
#setPickerGrid .setPickerCard:hover{border-color:#7359eb!important;transform:translateY(-2px)}
#setPickerGrid .setPickerActionsV6{grid-template-columns:1fr!important}
#setPickerGrid .setPickerActionsV6 .previewBtnV131035{width:100%}
#setPickerGrid .setPickerActionsV6 .choose{display:none!important}
/* Inventory bulk sale */
#inventorySellSelectAllV131035{white-space:nowrap}
@media(max-width:650px){#inventorySellBarV1396 .sellBtnsV1396{grid-template-columns:1fr 1fr 1fr!important}#inventorySellSelectAllV131035{grid-column:1/-1}}
/* Exchange: offered cards are also controls */
#exchangeMyOfferV135 .exchangeOfferCardV135{cursor:pointer!important;transition:.16s}
#exchangeMyOfferV135 .exchangeOfferCardV135:hover{border-color:#f4d23f!important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}
#exchangeMyOfferV135 .exchangeOfferCardV135:after{content:none!important;display:none!important}
/* Grade / Upgrade readability */
#gradeSelectedV10 b,.gradeSelectedV10 b,.gradeInvCardV10 b{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.75)}
#gradeSelectedV10 b{font-size:15px!important;line-height:1.25!important;margin:7px 0 1px!important;max-width:95%;text-align:center!important}
#upgradeTargetCardV10,.upgradeTargetCardV10{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;text-align:center!important}
#upgradeTargetCardV10 img,.upgradeTargetCardV10 img{display:block!important;margin:0 auto 4px!important}
#upgradeTargetCardV10 b,.upgradeTargetCardV10 b{display:block!important;position:static!important;color:#fff!important;font-size:16px!important;line-height:1.2!important;margin:4px auto 0!important;text-align:center!important;width:100%!important;max-width:280px!important;text-shadow:0 1px 2px #000}
#upgradeTargetCardV10 strong,.upgradeTargetCardV10 strong{display:block!important;position:static!important;margin:1px 0!important}
#upgradeTargetCardV10 small,.upgradeTargetCardV10 small{display:block!important;position:static!important;color:#98a3b8!important;margin:0!important}
.upgradeCandidateV10 b,.upgradeOwnV10 b,.upgradeOfferCardV10 b{color:#fff!important}

html{scroll-behavior:smooth}
/* Set chooser: keep rendering/scrolling on the compositor and avoid layout thrashing. */
#setPickerModal .modalcard{transform:translateZ(0);backface-visibility:hidden}
#setPickerGrid{scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-gutter:stable;contain:layout paint style;transform:translateZ(0)}
#setPickerGrid .setPickerCard{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:210px 220px;will-change:transform,opacity;border-color;transform:translateZ(0);transition:transform .14s cubic-bezier(.2,.7,.2,1),border-color .14s ease,box-shadow .14s ease,opacity .14s ease}
#setPickerGrid .setPickerCard:hover{transform:translate3d(0,-2px,0)!important}
#setPickerGrid .setPickerVisual img{transform:translateZ(0);backface-visibility:hidden;transition:opacity .16s ease}
/* Roulette: fixed geometry prevents the page from jumping when a stake is picked or the reel starts. */
#page-roulette .rouletteLayoutV7{align-items:start}
#page-roulette .rouletteConfigV7{contain:layout paint style;transform:translateZ(0)}
#page-roulette .rouletteArenaV7{min-height:610px!important;contain:layout paint style;transform:translateZ(0);backface-visibility:hidden;overflow:hidden!important}
#page-roulette .rouletteV132Lanes,#page-roulette .rouletteV132Lane,#page-roulette .rouletteV132Window{contain:layout paint;transform:translateZ(0)}
#page-roulette .rouletteV132Track{will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
#page-roulette .rouletteV132Item,#page-roulette .rouletteV132Wrap{contain:layout paint;transform:translateZ(0);backface-visibility:hidden}
#page-roulette .rouletteV132Media img{backface-visibility:hidden;transform:translateZ(0)}
#page-roulette [data-stake]{transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease!important;transform:none!important}
#page-roulette [data-stake]:active{transform:none!important}
/* Reward promo copy belongs only inside the Pokédex, never in the normal Sets catalogue. */
#page-sets [class*="pokedexReward"],#page-sets [class*="PokedexReward"],#page-sets [class*="setReward"],#page-sets [class*="SetReward"]{display:none!important}

/* Performance pass: keep off-screen catalogue/inventory cards out of layout+paint until needed. */
#setsGrid .setcard,
#inventory .inv,
#inventory .invPackV10,
#pokedexSetsV138 .pokedexSetV138,
#pokedexDetailV138 .pokedexCardV138,
#exchangeInventoryV135 > *,
#setPickerGrid .setPickerCard{
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:220px 300px;
}
#inventory,#setsGrid,#pokedexSetsV138,#pokedexDetailV138 .pokedexCardsV138,#exchangeInventoryV135{
  contain:layout style;
}
#inventory img,#setsGrid img,#pokedexSetsV138 img,#pokedexDetailV138 img,#setPickerGrid img{
  backface-visibility:hidden;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Native date control on dark UI: make both text and calendar glyph visible. */
#battleHistoryDateV131035{
  color:#fff!important;
  color-scheme:dark!important;
  background-color:#111827!important;
  border-color:#596579!important;
}
#battleHistoryDateV131035::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(2)!important;
  opacity:1!important;
  cursor:pointer!important;
}
#battleHistoryDateV131035::-webkit-datetime-edit,
#battleHistoryDateV131035::-webkit-datetime-edit-fields-wrapper,
#battleHistoryDateV131035::-webkit-datetime-edit-text,
#battleHistoryDateV131035::-webkit-datetime-edit-month-field,
#battleHistoryDateV131035::-webkit-datetime-edit-day-field,
#battleHistoryDateV131035::-webkit-datetime-edit-year-field{color:#fff!important}

/* V13.10.38 — only the requested reliability/UX fixes. */
#battleBriefV131038{display:grid;grid-template-columns:minmax(90px,130px) 1fr;gap:14px;align-items:center;margin:10px 0 14px;padding:12px 14px;border:1px solid #2d3850;border-radius:14px;background:linear-gradient(135deg,#111827,#0b1019)}
#battleBriefV131038 .pbBattleSetArtV131038{height:86px;display:grid;place-items:center;border-radius:11px;background:#0b0f18;overflow:hidden}
#battleBriefV131038 .pbBattleSetArtV131038 img{max-width:92%;max-height:74px;object-fit:contain}
#battleBriefV131038 .pbBattleSetArtV131038 b{font-size:11px;text-align:center;padding:8px}
#battleBriefV131038 .pbBattleFactsV131038{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#battleBriefV131038 .pbBattleFactV131038{min-width:0;padding:9px 10px;border-radius:10px;background:#151c2a;border:1px solid #263249}
#battleBriefV131038 .pbBattleFactV131038 small{display:block;color:#7f8ca5;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
#battleBriefV131038 .pbBattleFactV131038 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
#pbRematchPanelV131038{margin-top:14px;padding:14px;border:1px solid #35425c;border-radius:14px;background:#0d1420;text-align:left}
#pbRematchPanelV131038 .pbRematchGridV131038{display:grid;grid-template-columns:2fr 1.25fr .7fr;gap:8px;margin:10px 0}
#pbRematchPanelV131038 label{display:block;color:#8995aa;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
#pbRematchPanelV131038 select,#pbRematchPanelV131038 input{width:100%;min-height:40px;border-radius:9px;border:1px solid #34415a;background:#0a101a;color:#fff;padding:8px}
#pbRematchPreviewV131038{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;background:#141d2c;border:1px solid #293650;margin-bottom:10px}
#pbRematchPreviewV131038 img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#090d14}
#pbRematchPreviewV131038 b{display:block}.pbRematchPriceV131038{color:#ffd12f;font-weight:1000}
#pbRematchStatusV131038{margin-top:10px;color:#aeb8ca;font-size:11px;font-weight:800}
#inviteFriendBattleV131038{white-space:nowrap}
#page-inventory.pbSellModeV1396 #inventory{user-select:none;-webkit-user-select:none}
#page-inventory.pbSellModeV1396 #inventory img{-webkit-user-drag:none;user-drag:none}
#inventory .inv,#inventory .invPackV10{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#inventory .inv img,#inventory .invPackV10 img{max-width:100%!important}
@media(max-width:760px){#battleBriefV131038{grid-template-columns:1fr}#battleBriefV131038 .pbBattleSetArtV131038{height:68px}#battleBriefV131038 .pbBattleFactsV131038{grid-template-columns:repeat(2,minmax(0,1fr))}#pbRematchPanelV131038 .pbRematchGridV131038{grid-template-columns:1fr}}

/* V13.10.20 — sealed shop prices are catalogue constants, never editable/recalculated per purchase. */
#openPrice,#battlePrice{pointer-events:none!important;opacity:.88!important;background:#0b1019!important}
#page-open .priceHint:after{content:' · precio bloqueado por catálogo';color:#71e6a8}

/* V13.57: large offers stay readable and do not compress card artwork. */
#page-exchange .exchangeOfferGridV135{grid-auto-rows:max-content!important;align-items:start!important;align-content:start!important;contain:layout paint style!important}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135{position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;contain:layout paint style!important;content-visibility:auto;contain-intrinsic-size:150px 235px}
#page-exchange .exchangeOfferGridV135 .exchangeOfferCardV135 img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:245/337!important;object-fit:contain!important;object-position:center!important;background:#080d16!important}
#page-exchange .exchangeRemoveV135{position:absolute;right:7px;top:7px;z-index:5;width:26px;height:26px;border-radius:999px;border:1px solid rgba(255,93,110,.7);background:rgba(12,16,25,.92);color:#ff7d8e;font-size:17px;font-weight:1000;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}
#page-exchange .exchangeRemoveV135:hover{background:#c73249;color:#fff;border-color:#ef5269}
#page-exchange #exchangeInventoryV135 .exchangeInvCardV135{contain:layout paint style;content-visibility:auto;contain-intrinsic-size:135px 205px}
#page-exchange #exchangeInventoryV135 .exchangeInvCardV135 img{transform:translateZ(0)}
@media(max-width:820px){#page-exchange .exchangeOfferGridV135{grid-template-columns:repeat(2,minmax(0,1fr))!important}.exchangeRemoveV135{display:none!important}}

/* More finger room on mobile inventory: three cards, with a small side gutter for vertical scrolling. */
@media(max-width:760px){
  #page-inventory #inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding-inline:6px!important;box-sizing:border-box!important}
}
@media(max-width:370px){#page-inventory #inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}}
/* LOW card art appears instantly; HIGH swaps in progressively with no layout jump. */
#page-open .singleCardDirect{background:#0a0f18;object-fit:contain;transform:translateZ(0)}

/* Paginators stay above each card grid; each page is sized to complete rows. */
.gradePagerV10,.exchangePagerV135,.upgradePagerV10{padding:12px 8px 10px;margin:0 0 8px;border:1px solid rgba(245,211,63,.3);border-radius:10px;background:linear-gradient(90deg,rgba(245,211,63,.08),rgba(16,24,38,.92));box-shadow:0 5px 18px rgba(0,0,0,.2);font-size:12px}.gradePagerV10 button,.exchangePagerV135 button,.upgradePagerV10 button{min-width:118px;min-height:40px;font-size:12px;font-weight:900}.gradePagerV10 span,.exchangePagerV135 span,.upgradePagerV10 span{color:#e1e7f2;font-size:12px}.gradeInventoryV10,.exchangeInventoryV135{max-height:none;overflow:visible}