*{box-sizing:border-box;margin:0;padding:0}body{font-family:Rubik,-apple-system,sans-serif;background:#050208;color:#f2e9ff;min-height:100vh;padding:12px 16px;display:flex;justify-content:center;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(153,69,255,.28),transparent 45%),radial-gradient(circle at 80% 20%,rgba(20,241,149,.16),transparent 40%),radial-gradient(circle at 50% 100%,rgba(216,50,150,.2),transparent 50%),#050208;z-index:-2;animation:bgBreathe 9s ease-in-out infinite alternate}@keyframes bgBreathe{0%{filter:hue-rotate(0deg) brightness(1)}to{filter:hue-rotate(18deg) brightness(1.18)}}.mote{position:fixed;bottom:-20px;width:6px;height:6px;border-radius:50%;z-index:-1;pointer-events:none;animation:floatUp linear infinite;box-shadow:0 0 10px currentColor,0 0 20px currentColor}@keyframes floatUp{0%{transform:translateY(0) translate(0) scale(1);opacity:0}8%{opacity:.9}to{transform:translateY(-110vh) translate(var(--drift, 40px)) scale(.4);opacity:0}}.app{width:100%;max-width:820px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:48px;height:48px;border-radius:50%;object-fit:cover;padding:2px;background:linear-gradient(135deg,#9945ff,#14f195);box-shadow:0 0 20px #9945ff99;animation:logoBob 3s ease-in-out infinite}@keyframes logoBob{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-2px)}}.logo-text{font-family:Bangers,cursive;font-size:32px;letter-spacing:1px;line-height:1;background:linear-gradient(90deg,#14f195,#9945ff 60%,#ff2ea6);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logoShift 4s linear infinite}@keyframes logoShift{to{background-position:200% 0}}.logo-sub{font-size:10px;letter-spacing:3px;color:#b98dff;text-transform:uppercase;margin-top:-2px;font-weight:700}.header-right{display:flex;align-items:center;gap:10px}.sound-btn{background:#9945ff26;border:1px solid rgba(153,69,255,.5);border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.sound-btn:hover{border-color:#14f195;box-shadow:0 0 12px #14f19566}.demo-badge{background:#ffe14d1f;border:1px solid #ffe14d;color:#ffe14d;font-size:10px;padding:6px 12px;border-radius:20px;font-weight:800;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 8px rgba(255,225,77,.6);animation:badgeBlink 2.2s ease-in-out infinite}@keyframes badgeBlink{0%,to{opacity:1}50%{opacity:.55}}.points-pill{background:#9945ff26;border:1px solid #9945FF;color:#d3aeff;font-size:12px;padding:8px 16px;border-radius:20px;font-weight:700;display:flex;align-items:center;gap:8px}.points-pill .pts{font-family:Bangers,cursive;font-size:18px;color:#ffe14d;text-shadow:0 0 10px rgba(255,225,77,.7)}.points-pill.bump{animation:ptsBump .5s ease}@keyframes ptsBump{0%{transform:scale(1)}35%{transform:scale(1.25);box-shadow:0 0 24px #ffe14dcc;border-color:#ffe14d}to{transform:scale(1)}}.points-pill .record{color:#8dffce;font-size:10px;font-weight:800}.points-pill .streak-flame{color:#ff8f6b;font-size:12px;font-weight:900;text-shadow:0 0 8px rgba(255,107,61,.7);animation:flamePulse 1s ease-in-out infinite}@keyframes flamePulse{0%,to{opacity:1}50%{opacity:.7}}.panel{background:linear-gradient(180deg,#140823e6,#0a0412f2);border:1px solid rgba(153,69,255,.35);border-radius:20px;padding:16px;margin-bottom:12px;position:relative;animation:panelDrop .4s ease backwards}@keyframes panelDrop{0%{opacity:0;transform:translateY(-22px) scale(.985)}to{opacity:1;transform:none}}.panel:before{content:"";position:absolute;top:-1px;left:30px;right:30px;height:2px;background:linear-gradient(90deg,transparent,#14F195,#9945FF,transparent)}h2{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:#14f195;margin-bottom:18px;font-weight:800;display:flex;align-items:center;gap:10px;text-shadow:0 0 12px rgba(20,241,149,.5)}h2:before{content:"";width:5px;height:16px;background:linear-gradient(180deg,#ff2ea6,#9945ff);border-radius:2px;display:inline-block}.vs-float{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:4;pointer-events:none}.vs-word{font-family:Bangers,cursive;font-size:46px;background:linear-gradient(180deg,#ffe14d,#ff2ea6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transform:rotate(-4deg);filter:drop-shadow(0 0 10px rgba(255,46,166,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.9));animation:vsSlam .5s cubic-bezier(.2,.9,.3,1.2) .55s backwards,vsThrob 1.4s ease-in-out 1.1s infinite}@keyframes vsSlam{0%{transform:rotate(-20deg) scale(6);opacity:0;filter:brightness(3) drop-shadow(0 0 30px rgba(255,225,77,1))}70%{transform:rotate(-2deg) scale(.9);opacity:1}to{transform:rotate(-4deg) scale(1)}}@keyframes vsThrob{0%,to{filter:drop-shadow(0 0 10px rgba(255,46,166,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.9))}50%{filter:drop-shadow(0 0 24px rgba(255,225,77,.95)) drop-shadow(0 2px 3px rgba(0,0,0,.9))}}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.card{border-radius:18px;padding:3px;background:linear-gradient(145deg,#ffe14d,#14f195 25%,#9945ff,#ff2ea6 75%,#ffe14d);background-size:300% 300%;animation:holoSpin 6s linear infinite;box-shadow:0 0 30px #9945ff59,0 12px 30px #00000080;transition:transform .2s,filter .3s;position:relative}@keyframes holoSpin{to{background-position:300% 300%}}.card:hover{transform:translateY(-4px) scale(1.01)}.card{display:flex}.card.side-you{animation:holoSpin 6s linear infinite,slamInLeft .65s cubic-bezier(.2,.9,.3,1.15) backwards}.card.side-rival{animation:holoSpin 6s linear infinite,slamInRight .65s cubic-bezier(.2,.9,.3,1.15) .18s backwards}@keyframes slamInLeft{0%{transform:translate(-115%) rotate(-8deg);opacity:0}60%{transform:translate(4%) rotate(1.5deg);opacity:1}to{transform:translate(0) rotate(0)}}@keyframes slamInRight{0%{transform:translate(115%) rotate(8deg);opacity:0}60%{transform:translate(-4%) rotate(-1.5deg);opacity:1}to{transform:translate(0) rotate(0)}}.card.on-fire{background:linear-gradient(145deg,#ffe14d,#ff8f3d 25%,#ff2ea6 55%,#ff4d00 80%,#ffe14d);background-size:300% 300%;animation:holoSpin 3s linear infinite,fireFlicker .9s ease-in-out infinite,slamInLeft .65s cubic-bezier(.2,.9,.3,1.15) backwards}@keyframes fireFlicker{0%,to{box-shadow:0 0 26px #ff78148c,0 12px 30px #00000080}50%{box-shadow:0 0 46px #ff5000d9,0 0 70px #ffe14d59,0 12px 30px #00000080}}.card-inner{background:linear-gradient(160deg,#150a24,#0a0512);border-radius:16px;padding:12px;position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column}.card-inner .traits-box{flex:1}.card-inner:after{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.09) 50%,transparent 58%);transform:translate(-70%) rotate(.001deg);animation:shimmer 3.4s ease-in-out infinite;pointer-events:none}@keyframes shimmer{0%,55%{transform:translate(-70%)}90%,to{transform:translate(70%)}}.card.attacking .card-inner{animation:lunge .4s ease}@keyframes lunge{30%{transform:translateY(-8px) scale(1.04)}}.card.side-you.attacking.a2 .card-inner{animation:dashRight .4s ease}.card.side-rival.attacking.a2 .card-inner{animation:dashLeft .4s ease}@keyframes dashRight{35%{transform:translate(28px) rotate(2.5deg) scale(1.03)}}@keyframes dashLeft{35%{transform:translate(-28px) rotate(-2.5deg) scale(1.03)}}.card.attacking.a3 .card-inner{animation:windup .42s ease}@keyframes windup{25%{transform:rotate(-5deg) scale(.96)}65%{transform:rotate(3.5deg) scale(1.06)}}.card.attacking.a4 .card-inner{animation:hopAtk .4s ease}@keyframes hopAtk{30%{transform:translateY(-16px) rotate(-1.5deg) scale(1.04)}65%{transform:translateY(3px)}}.card.hit .card-inner{animation:hitFlash .45s ease}.card.side-you.hit.h2 .card-inner{animation:knockLeft .45s ease}.card.side-rival.hit.h2 .card-inner{animation:knockRight .45s ease}@keyframes knockLeft{20%{transform:translate(-18px) rotate(-3.5deg);filter:brightness(2.1) saturate(2)}55%{transform:translate(6px) rotate(1deg);filter:brightness(1.4)}to{transform:none;filter:brightness(1)}}@keyframes knockRight{20%{transform:translate(18px) rotate(3.5deg);filter:brightness(2.1) saturate(2)}55%{transform:translate(-6px) rotate(-1deg);filter:brightness(1.4)}to{transform:none;filter:brightness(1)}}.card.hit.h3 .card-inner{animation:squash .45s ease}@keyframes squash{25%{transform:scaleY(.9) scaleX(1.06) translateY(6px);filter:brightness(2) saturate(2)}60%{transform:scaleY(1.04) scaleX(.98) translateY(-3px);filter:brightness(1.3)}to{transform:none;filter:brightness(1)}}.card.hit.h4 .card-inner{animation:reel .5s ease}@keyframes reel{15%{transform:rotate(-4deg) translateY(-4px);filter:brightness(2.2)}40%{transform:rotate(3deg)}65%{transform:rotate(-2deg);filter:brightness(1.3)}to{transform:none;filter:brightness(1)}}@keyframes hitFlash{0%{filter:brightness(1);transform:translate(0)}20%{filter:brightness(2.2) saturate(2);transform:translate(-6px) rotate(-1deg)}40%{transform:translate(6px) rotate(1deg)}60%{filter:brightness(1.6);transform:translate(-4px)}to{filter:brightness(1);transform:translate(0)}}.card.winner{animation:winnerGlow 1.2s ease-in-out infinite alternate}@keyframes winnerGlow{0%{box-shadow:0 0 30px #14f19580,0 12px 30px #00000080}to{box-shadow:0 0 60px #14f195f2,0 0 100px #ffe14d66,0 12px 30px #00000080}}.card.ko{filter:grayscale(.85) brightness(.6);transform:rotate(1.5deg) translateY(4px);animation:none}.dmg-pop{position:absolute;top:34%;left:50%;z-index:5;font-family:Bangers,cursive;font-size:42px;color:#ffe14d;text-shadow:0 0 14px rgba(255,225,77,.9),2px 2px 0 #000;pointer-events:none;animation:dmgFloat .9s ease-out forwards}.dmg-pop.crit{font-size:58px;color:#ff2ea6;text-shadow:0 0 20px rgba(255,46,166,1),2px 2px 0 #000}.dmg-pop .crit-tag{display:block;font-size:18px;color:#ffe14d;letter-spacing:2px;text-align:center}@keyframes dmgFloat{0%{transform:translate(-50%,10px) rotate(var(--rot, 0deg)) scale(.4);opacity:0}20%{transform:translate(-50%,-6px) rotate(var(--rot, 0deg)) scale(1.25);opacity:1}to{transform:translate(-50%,-70px) rotate(var(--rot, 0deg)) scale(.9);opacity:0}}.card-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 2px}.card-name{font-family:Bangers,cursive;font-size:17px;letter-spacing:.5px;color:#fff;text-shadow:0 0 8px rgba(153,69,255,.6)}.card-hp{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:#ff8fd0}.card-hp .hp-label{font-size:9px;color:#b98dff;letter-spacing:1px}.card-portrait{position:relative;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.15);margin:0 auto 8px;width:min(100%,26vh,340px);background:#0a0512}.card-portrait img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.rarity-gem{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;font-family:Bangers,cursive;animation:gemPulse 2s ease-in-out infinite}.rarity-gem.tier-c{background:radial-gradient(circle at 30% 30%,#f3f4f6,#9ca3af 60%,#4b5563);color:#1f2937;--gem-glow: 156,163,175}.rarity-gem.tier-r{background:radial-gradient(circle at 30% 30%,#dbf3ff,#38bdf8 60%,#075985);color:#082f49;--gem-glow: 56,189,248}.rarity-gem.tier-e{background:radial-gradient(circle at 30% 30%,#f0e2ff,#a855f7 60%,#581c87);color:#f5e8ff;--gem-glow: 168,85,247}.rarity-gem.tier-l{background:radial-gradient(circle at 30% 30%,#fff6cc,#ffb300 60%,#a35a00);color:#4a2600;--gem-glow: 255,179,0}@keyframes gemPulse{0%,to{box-shadow:0 0 12px rgba(var(--gem-glow, 255,179,0),.8),inset 0 0 4px #ffffff80}50%{box-shadow:0 0 22px rgba(var(--gem-glow, 255,179,0),1),inset 0 0 6px #fffc}}.id-tag{position:absolute;bottom:8px;left:8px;background:#0000008c;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;border:1px solid rgba(255,255,255,.15)}.rank-tag{position:absolute;bottom:8px;right:8px;background:#0009;color:#ffe14d;font-size:10px;font-weight:800;padding:2px 8px;border-radius:20px;border:1px solid rgba(255,225,77,.4);text-shadow:0 0 6px rgba(255,225,77,.5);cursor:help}.moves{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.move-row{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:4px 8px}.move-icon{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px}.move-icon.atk{background:#ff6b3d33;color:#ff8f6b;box-shadow:0 0 8px #ff6b3d4d}.move-icon.def{background:#4ad3ff33;color:#6ee0ff;box-shadow:0 0 8px #4ad3ff4d}.move-icon.spd{background:#14f19533;color:#5cffb8;box-shadow:0 0 8px #14f1954d}.move-name{flex:1;font-size:11px;font-weight:700;color:#f2e9ff}.move-power{font-family:Bangers,cursive;font-size:15px;color:#ffe14d;text-shadow:0 0 6px rgba(255,225,77,.5)}.traits-box{background:#9945ff0f;border:1px solid rgba(153,69,255,.2);border-radius:8px;padding:8px 10px}.traits-title{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#b98dff;font-weight:800;margin-bottom:4px;width:100%}.traits-box{display:flex;flex-wrap:wrap;column-gap:10px;align-content:flex-start}.trait-line{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;padding:1px 0;width:calc(50% - 5px);min-width:0}.trait-line .t-name{color:#d8c9f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trait-line .t-pct{font-weight:800;color:#ffe14d}.trait-line.rare .t-pct{color:#ff2ea6;text-shadow:0 0 6px rgba(255,46,166,.5)}.stage{position:relative;background:radial-gradient(ellipse at 50% 15%,rgba(153,69,255,.12),transparent 60%),#08030f;border-radius:16px;padding:12px 14px;margin-top:12px;overflow:hidden;border:1px solid rgba(153,69,255,.25)}.stage.shake{animation:stageShake .4s ease}@keyframes stageShake{0%,to{transform:translate(0)}20%{transform:translate(-5px,2px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-3px,-2px)}80%{transform:translate(3px,2px)}}.hp-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:20px}.hp-block{flex:1}.hp-block.right{text-align:right}.hp-name-sm{font-size:11px;font-weight:800;margin-bottom:5px}.hp-track{height:12px;background:#ffffff0f;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.hp-fill{height:100%;border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1),background .4s,box-shadow .4s}.hp-fill.you{background:linear-gradient(90deg,#14f195,#7dffce);box-shadow:0 0 10px #14f195b3}.hp-fill.rival{background:linear-gradient(90deg,#ff2ea6,#ff8fd0);box-shadow:0 0 10px #ff2ea6b3}.hp-fill.low{background:linear-gradient(90deg,#ffb300,#ffe14d)!important;box-shadow:0 0 12px #ffb300e6!important}.hp-fill.critical{background:linear-gradient(90deg,#ff3838,#ff8f6b)!important;box-shadow:0 0 14px #ff3838!important;animation:hpPanic .5s linear infinite}@keyframes hpPanic{50%{opacity:.65}}.round-banner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:6}.round-banner span{font-family:Bangers,cursive;font-size:54px;letter-spacing:3px;background:linear-gradient(180deg,#ffe14d,#ff2ea6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(255,46,166,.8));animation:roundPop .8s ease forwards}@keyframes roundPop{0%{transform:scale(.2) rotate(-8deg);opacity:0}30%{transform:scale(1.3) rotate(2deg);opacity:1}55%{transform:scale(1) rotate(0)}80%{opacity:1}to{transform:scale(1.1);opacity:0}}.log{font-size:12px;color:#d3aeff;text-align:center;margin-top:8px;min-height:16px;font-weight:700}.log .log-line{animation:logIn .25s ease}@keyframes logIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.btn-row{display:flex;gap:10px;margin-top:10px;align-items:stretch}.battle-btn{flex:1;padding:12px;border:none;border-radius:14px;background:linear-gradient(90deg,#14f195,#9945ff 55%,#ff2ea6);background-size:200% 100%;color:#050208;font-size:15px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;box-shadow:0 0 24px #9945ff80,0 5px #0006;transition:transform .08s;animation:btnGlow 1.6s ease-in-out infinite,btnShift 3s linear infinite}@keyframes btnGlow{0%,to{box-shadow:0 0 24px #9945ff80,0 5px #0006}50%{box-shadow:0 0 44px #ff2ea6cc,0 0 60px #14f19566,0 5px #0006}}@keyframes btnShift{to{background-position:200% 0}}.battle-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.01)}.battle-btn:active:not(:disabled){transform:translateY(3px)}.battle-btn:disabled{opacity:.6;cursor:not-allowed;animation:none}.result{margin-top:14px;padding:16px 18px;border-radius:14px;display:none;align-items:center;justify-content:space-between;border:1px solid}.result.win{background:#14f19514;border-color:#14f195}.result.lose{background:#ff2ea614;border-color:#ff2ea6}.result.show{display:flex;animation:pop .35s ease}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.result-left{display:flex;align-items:center;gap:12px}.result-icon{font-size:24px}.result-title{font-family:Bangers,cursive;font-size:19px}.win .result-title{color:#14f195}.lose .result-title{color:#ff2ea6}.result-sub{font-size:11px;font-weight:600}.win .result-sub{color:#8dffce}.lose .result-sub{color:#ff9fd4}.result-points{font-family:Bangers,cursive;font-size:22px}.win .result-points{color:#ffe14d;text-shadow:0 0 12px rgba(255,225,77,.8)}.lose .result-points{color:#ff2ea6}.announce{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,2,8,.55),transparent 70%);animation:announceFade 1.5s ease both}.announce span{font-family:Bangers,cursive;font-size:clamp(52px,11vw,110px);letter-spacing:6px;text-align:center;background:linear-gradient(180deg,#ffe14d 20%,#ff8a00 45%,#ff2ea6 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 24px rgba(255,138,0,.9)) drop-shadow(0 4px 0 rgba(0,0,0,.8));animation:announceSlam 1.5s cubic-bezier(.2,.9,.3,1.2) both}@keyframes announceSlam{0%{transform:scale(4) rotate(-6deg);opacity:0}18%{transform:scale(.92) rotate(1deg);opacity:1}28%{transform:scale(1) rotate(-1deg)}75%{transform:scale(1.04) rotate(-1deg);opacity:1}to{transform:scale(1.15) rotate(-1deg);opacity:0}}@keyframes announceFade{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.confetti{position:fixed;top:-12px;z-index:50;pointer-events:none;width:10px;height:14px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(var(--spin, 720deg));opacity:.7}}.search-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;border-radius:18px;background:linear-gradient(160deg,#150a24,#0a0512);border:1px solid rgba(153,69,255,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.search-logo{width:90px;height:90px;border-radius:50%;animation:searchSpin 1s linear infinite;box-shadow:0 0 26px #9945ffb3}@keyframes searchSpin{to{transform:rotate(360deg)}}.search-text{font-family:Bangers,cursive;font-size:19px;letter-spacing:2px;color:#ffe14d;text-shadow:0 0 12px rgba(255,225,77,.7)}.search-text:after{content:"";display:inline-block;width:1.4em;text-align:left;animation:dotCycle 1.2s steps(1) infinite}@keyframes dotCycle{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.chooser-title{font-family:Bangers,cursive;font-size:34px;letter-spacing:2px;text-align:center;background:linear-gradient(90deg,#14f195,#9945ff 60%,#ff2ea6);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logoShift 4s linear infinite;margin-bottom:4px}.chooser-sub{text-align:center;color:#b98dff;font-size:12px;font-weight:600;margin-bottom:18px}.chooser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.sort-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.sort-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#b98dff}.sort-pill{font-family:Rubik,sans-serif;font-size:11px;font-weight:800;letter-spacing:.5px;padding:8px 14px;border-radius:20px;cursor:pointer;color:#cdb6ff;background:#9945ff1a;border:1px solid rgba(153,69,255,.5);transition:all .15s}.sort-pill:hover{filter:brightness(1.25)}.sort-pill.active{color:#050208!important}.sort-pill.power{color:#ffe14d;background:#ffe14d1a;border-color:#ffe14d80}.sort-pill.power.active{background:#ffe14d;border-color:#ffe14d}.sort-pill.rarity{color:#ff8fd0;background:#ff2ea61a;border-color:#ff2ea680}.sort-pill.rarity.active{background:#ff8fd0;border-color:#ff8fd0}.sort-pill.atk{color:#ff8f6b;background:#ff6b3d1f;border-color:#ff6b3d80}.sort-pill.atk.active{background:#ff8f6b;border-color:#ff8f6b}.sort-pill.def{color:#6ee0ff;background:#4ad3ff1f;border-color:#4ad3ff80}.sort-pill.def.active{background:#6ee0ff;border-color:#6ee0ff}.sort-pill.spd{color:#5cffb8;background:#14f1951f;border-color:#14f19580}.sort-pill.spd.active{background:#5cffb8;border-color:#5cffb8}.sort-pill.number.active{background:#cdb6ff;border-color:#cdb6ff}.shop-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.shop-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:1px solid rgba(153,69,255,.55);color:#e9dcff;background:linear-gradient(180deg,#9945ff38,#9945ff14);transition:transform .15s,box-shadow .15s,border-color .15s}.shop-link:hover{transform:translateY(-2px);border-color:#ffe14d;box-shadow:0 0 18px #ffe14d59}.shop-link.traits{border-color:#14f1958c;color:#c8ffe9;background:linear-gradient(180deg,#14f19533,#14f1950f)}.shop-link.traits:hover{border-color:#14f195;box-shadow:0 0 18px #14f19566}.shop-link .shop-ico{font-size:14px}.fighter-card{border:none;cursor:pointer;padding:3px;border-radius:16px;text-align:left;background:linear-gradient(145deg,#ffe14d,#14f195 25%,#9945ff,#ff2ea6 75%,#ffe14d);background-size:300% 300%;animation:holoSpin 6s linear infinite;box-shadow:0 0 18px #9945ff4d;transition:transform .15s,box-shadow .15s}.fighter-card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 0 34px #14f195b3}.fighter-card:active{transform:translateY(-1px) scale(1)}.fighter-inner{background:linear-gradient(160deg,#150a24,#0a0512);border-radius:13px;padding:8px}.fighter-inner img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:9px;display:block;margin-bottom:7px;background:#0a0512}.fighter-name{font-family:Bangers,cursive;font-size:15px;color:#fff;text-shadow:0 0 8px rgba(153,69,255,.6);margin-bottom:5px;text-align:center}.fighter-stats{display:flex;justify-content:space-between;gap:4px}.fs{font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:6px}.fs.atk{color:#ff8f6b;background:#ff6b3d24}.fs.def{color:#6ee0ff;background:#4ad3ff24}.fs.spd{color:#5cffb8;background:#14f19524}.change-sloth{background:#9945ff1f;border:1px solid rgba(153,69,255,.5);color:#d3aeff;font-size:10px;font-weight:800;padding:0 14px;border-radius:14px;cursor:pointer;font-family:Rubik,sans-serif;transition:all .15s;text-transform:uppercase;letter-spacing:.5px;line-height:1.5}.change-sloth:hover:not(:disabled){border-color:#14f195;color:#8dffce;box-shadow:0 0 12px #14f19566;transform:translateY(-1px)}.change-sloth:disabled{opacity:.4;cursor:not-allowed}.gate{text-align:center;padding:40px 20px}.gate-logo{width:110px;height:110px;border-radius:50%;margin-bottom:16px;padding:3px;background:linear-gradient(145deg,#ffe14d,#14f195 25%,#9945ff,#ff2ea6 75%,#ffe14d);background-size:300% 300%;animation:holoSpin 6s linear infinite,logoBob 3s ease-in-out infinite;box-shadow:0 0 34px #9945ffb3}.gate-title{font-family:Bangers,cursive;font-size:40px;letter-spacing:2px;background:linear-gradient(90deg,#14f195,#9945ff 60%,#ff2ea6);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logoShift 4s linear infinite;margin-bottom:10px}.gate-sub{color:#b98dff;font-size:13px;font-weight:600;margin-bottom:24px}.gate-error{color:#ff8fd0;font-size:13px;font-weight:700;margin-top:16px}.gate .spinner{margin:20px auto 0;width:40px;height:40px;border-radius:50%;border:4px solid rgba(153,69,255,.25);border-top-color:#14f195;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.demo-btn{background:linear-gradient(90deg,#14f195,#0ec97d);color:#032015;border:none;padding:14px 28px;border-radius:12px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:0 0 16px #14f19580,0 4px #0a6b45;font-family:Rubik,sans-serif;animation:btnGlow 1.6s ease-in-out infinite}.demo-btn:hover{transform:translateY(-2px)}.wallet-list{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:0 auto}.wallet-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(153,69,255,.4);border-radius:14px;cursor:pointer;color:#f2e9ff;font-family:Rubik,sans-serif;font-size:14px;font-weight:800;transition:all .15s}.wallet-btn:hover{border-color:#14f195;background:#14f19512;box-shadow:0 0 18px #14f19566;transform:translateY(-2px)}.wallet-btn img{width:28px;height:28px;border-radius:8px}.wallet-icon-crop{width:28px;height:28px;border-radius:8px;overflow:hidden;position:relative;flex-shrink:0}.wallet-icon-crop img{position:absolute;width:86.7px;height:48.8px;left:-29.4px;top:-14.9px;border-radius:0}.wallet-name{flex:1;text-align:left}.wallet-tag{font-size:10px;font-weight:800;color:#b98dff;letter-spacing:.5px;text-transform:uppercase}.wallet-tag.detected{color:#14f195;text-shadow:0 0 8px rgba(20,241,149,.6)}.addr-pill{display:flex;align-items:center;gap:8px;background:#14f1951a;border:1px solid rgba(20,241,149,.5);color:#8dffce;font-size:12px;font-weight:800;padding:8px 14px;border-radius:20px;cursor:pointer;font-family:Rubik,sans-serif;transition:all .15s}.addr-pill:hover{border-color:#ff2ea6;color:#ff9fd4;background:#ff2ea614}.addr-dot{width:8px;height:8px;border-radius:50%;background:#14f195;box-shadow:0 0 8px #14f195e6;animation:badgeBlink 2.2s ease-in-out infinite}.note{font-size:11px;color:#6b5a8a;text-align:center;margin-top:8px}@media (max-height: 800px){.note{display:none}}@media (max-width: 560px){.cards{grid-template-columns:1fr;gap:14px}.card-inner{padding:10px}.card-portrait{width:min(100%,24vh,300px)}.moves{gap:3px;margin-bottom:6px}.move-row{padding:3px 8px}.panel.fighting .cards{grid-template-columns:1fr 1fr;gap:10px}.panel.fighting .traits-box,.panel.fighting .moves{display:none}.panel.fighting .card-inner{padding:8px}.panel.fighting .card-portrait{width:100%}.panel.fighting .card-name{font-size:14px}.panel.fighting .dmg-pop{font-size:32px}.panel.fighting .dmg-pop.crit{font-size:42px}}@media (max-width: 560px),(max-height: 500px){body{overflow-anchor:none}.log{height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.card.attacking .card-inner,.card.hit .card-inner{will-change:transform,filter}.card.hit{filter:brightness(1.18) saturate(1.25);box-shadow:0 0 44px #ffe14d6b,0 0 34px #ff2ea661,0 12px 30px #00000080}.card-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;border-radius:16px;opacity:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.55),transparent 35%),linear-gradient(115deg,transparent 20%,rgba(255,225,77,.42) 45%,rgba(255,46,166,.32) 58%,transparent 80%);mix-blend-mode:screen}.card.hit .card-inner:before{animation:impactFlash .45s ease-out}.card.attacking .card-inner:before{animation:attackFlash .28s ease-out}@keyframes impactFlash{0%{opacity:0;transform:scale(.96)}18%{opacity:.95;transform:scale(1.02)}42%{opacity:.45}to{opacity:0;transform:scale(1.05)}}@keyframes attackFlash{0%{opacity:0;transform:translate(-12%) skew(-8deg)}35%{opacity:.55;transform:translate(6%) skew(-8deg)}to{opacity:0;transform:translate(18%) skew(-8deg)}}@media (max-width: 560px){.panel.fighting .card{overflow-anchor:none;transform:translateZ(0)}.panel.fighting .card-inner{transform:translateZ(0)}.panel.fighting,.panel.fighting .cards,.panel.fighting .stage,.panel.fighting .log{overflow-anchor:none}}
