*{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:2px solid #FFD600;outline-offset:2px;border-radius:4px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}html{background:#000;background-attachment:fixed;overscroll-behavior:none;-webkit-text-size-adjust:100%}html:before{content:"";position:fixed;inset:0;background:linear-gradient(to bottom,#0a0a15,#000);z-index:-10;pointer-events:none}body{margin:0;min-width:320px;min-height:100vh;background:transparent;isolation:isolate;color:#fff;font-family:"Press Start 2P",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;overscroll-behavior:none}body:before{content:"";position:fixed;top:-20%;left:-20%;width:140%;height:140%;pointer-events:none;background-image:radial-gradient(2.5px 2.5px at 13% 27%,rgba(255,255,255,.9) 40%,transparent 100%),radial-gradient(2px 2px at 71% 8%,rgba(255,255,255,.75) 40%,transparent 100%),radial-gradient(2px 2px at 92% 71%,rgba(255,255,255,.7) 40%,transparent 100%),radial-gradient(2.5px 2.5px at 34% 83%,rgba(255,255,255,.85) 40%,transparent 100%),radial-gradient(2px 2px at 58% 46%,rgba(255,255,255,.72) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 38% 61%,rgba(255,255,255,.55) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 9% 79%,rgba(255,255,255,.5) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 64% 34%,rgba(255,255,255,.5) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 82% 52%,rgba(255,255,255,.45) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 21% 14%,rgba(255,255,255,.52) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 77% 91%,rgba(255,255,255,.48) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 48% 3%,rgba(255,255,255,.46) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 6% 42%,rgba(255,255,255,.44) 40%,transparent 100%),radial-gradient(1px 1px at 84% 43%,rgba(255,255,255,.35) 40%,transparent 100%),radial-gradient(1px 1px at 56% 18%,rgba(255,255,255,.3) 40%,transparent 100%),radial-gradient(1px 1px at 27% 76%,rgba(255,255,255,.28) 40%,transparent 100%),radial-gradient(1px 1px at 41% 7%,rgba(255,255,255,.25) 40%,transparent 100%),radial-gradient(1px 1px at 73% 89%,rgba(255,255,255,.22) 40%,transparent 100%),radial-gradient(1px 1px at 15% 58%,rgba(255,255,255,.2) 40%,transparent 100%),radial-gradient(1px 1px at 3% 31%,rgba(255,255,255,.24) 40%,transparent 100%),radial-gradient(1px 1px at 67% 52%,rgba(255,255,255,.2) 40%,transparent 100%),radial-gradient(1px 1px at 91% 16%,rgba(255,255,255,.26) 40%,transparent 100%),radial-gradient(1px 1px at 47% 69%,rgba(255,255,255,.22) 40%,transparent 100%),radial-gradient(1px 1px at 18% 93%,rgba(255,255,255,.2) 40%,transparent 100%),radial-gradient(1px 1px at 79% 28%,rgba(255,255,255,.24) 40%,transparent 100%),radial-gradient(1px 1px at 35% 47%,rgba(255,255,255,.18) 40%,transparent 100%),radial-gradient(1px 1px at 62% 74%,rgba(255,255,255,.21) 40%,transparent 100%),radial-gradient(1px 1px at 8% 11%,rgba(255,255,255,.19) 40%,transparent 100%),radial-gradient(1px 1px at 53% 36%,rgba(255,255,255,.23) 40%,transparent 100%),radial-gradient(1px 1px at 96% 58%,rgba(255,255,255,.17) 40%,transparent 100%),radial-gradient(8px 8px at 13% 27%,rgba(255,255,255,.1) 0%,transparent 100%),radial-gradient(7px 7px at 92% 71%,rgba(255,255,255,.08) 0%,transparent 100%),radial-gradient(7px 7px at 34% 83%,rgba(255,255,255,.09) 0%,transparent 100%);background-size:673px 941px,809px 587px,521px 763px,743px 617px,599px 839px,447px 593px,601px 437px,511px 689px,467px 571px,541px 419px,491px 637px,569px 403px,427px 557px,409px 547px,523px 389px,367px 503px,479px 421px,443px 491px,397px 463px,541px 379px,461px 527px,383px 509px,517px 397px,449px 473px,401px 541px,487px 413px,433px 499px,389px 457px,521px 383px,467px 519px,673px 941px,521px 763px,743px 617px;animation:driftA 50s linear infinite;z-index:-3}html:after{content:"";position:fixed;top:-20%;left:-20%;width:140%;height:140%;pointer-events:none;background-image:radial-gradient(3px 3px at 47% 33%,rgba(255,255,255,.85) 40%,transparent 100%),radial-gradient(2px 2px at 76% 52%,rgba(255,255,255,.65) 40%,transparent 100%),radial-gradient(2px 2px at 5% 47%,rgba(255,255,255,.6) 40%,transparent 100%),radial-gradient(2.5px 2.5px at 83% 14%,rgba(255,255,255,.8) 40%,transparent 100%),radial-gradient(2px 2px at 27% 89%,rgba(255,255,255,.68) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 19% 68%,rgba(255,255,255,.5) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 88% 22%,rgba(255,255,255,.48) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 53% 77%,rgba(255,255,255,.45) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 31% 12%,rgba(255,255,255,.42) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 69% 63%,rgba(255,255,255,.5) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 14% 37%,rgba(255,255,255,.46) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 91% 81%,rgba(255,255,255,.44) 40%,transparent 100%),radial-gradient(1.5px 1.5px at 42% 5%,rgba(255,255,255,.43) 40%,transparent 100%),radial-gradient(1px 1px at 33% 11%,rgba(255,255,255,.32) 40%,transparent 100%),radial-gradient(1px 1px at 61% 86%,rgba(255,255,255,.28) 40%,transparent 100%),radial-gradient(1px 1px at 42% 39%,rgba(255,255,255,.24) 40%,transparent 100%),radial-gradient(1px 1px at 8% 63%,rgba(255,255,255,.22) 40%,transparent 100%),radial-gradient(1px 1px at 79% 17%,rgba(255,255,255,.2) 40%,transparent 100%),radial-gradient(1px 1px at 95% 81%,rgba(255,255,255,.18) 40%,transparent 100%),radial-gradient(1px 1px at 22% 44%,rgba(255,255,255,.22) 40%,transparent 100%),radial-gradient(1px 1px at 58% 3%,rgba(255,255,255,.19) 40%,transparent 100%),radial-gradient(1px 1px at 74% 41%,rgba(255,255,255,.25) 40%,transparent 100%),radial-gradient(1px 1px at 16% 82%,rgba(255,255,255,.21) 40%,transparent 100%),radial-gradient(1px 1px at 87% 56%,rgba(255,255,255,.19) 40%,transparent 100%),radial-gradient(1px 1px at 39% 23%,rgba(255,255,255,.23) 40%,transparent 100%),radial-gradient(1px 1px at 51% 67%,rgba(255,255,255,.17) 40%,transparent 100%),radial-gradient(1px 1px at 4% 9%,rgba(255,255,255,.2) 40%,transparent 100%),radial-gradient(1px 1px at 68% 94%,rgba(255,255,255,.22) 40%,transparent 100%),radial-gradient(1px 1px at 29% 53%,rgba(255,255,255,.18) 40%,transparent 100%),radial-gradient(1px 1px at 82% 72%,rgba(255,255,255,.16) 40%,transparent 100%),radial-gradient(9px 9px at 47% 33%,rgba(255,255,255,.1) 0%,transparent 100%),radial-gradient(6px 6px at 5% 47%,rgba(255,255,255,.07) 0%,transparent 100%),radial-gradient(7px 7px at 83% 14%,rgba(255,255,255,.08) 0%,transparent 100%);background-size:797px 1031px,917px 603px,619px 887px,701px 563px,839px 677px,559px 407px,483px 563px,431px 497px,577px 353px,503px 439px,547px 421px,461px 523px,529px 391px,487px 389px,439px 521px,353px 467px,509px 401px,421px 547px,373px 479px,463px 383px,397px 509px,443px 491px,517px 373px,401px 457px,479px 409px,437px 523px,389px 467px,461px 397px,503px 431px,419px 487px,797px 1031px,619px 887px,701px 563px;animation:driftB 35s linear infinite;z-index:-4}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 80%,rgba(233,69,96,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(22,33,62,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(255,214,0,.03) 0%,transparent 60%);animation:auroraShift 20s ease-in-out infinite alternate;z-index:-1}#root{min-height:100vh;max-width:900px;margin:0 auto}button{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0f0f23}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:#e94560;color:#fff}.shiny-star{position:absolute;color:gold;font-size:16px;animation:shinyStarAnim 1.5s ease-in-out infinite;text-shadow:0 0 8px rgba(255,215,0,.8);opacity:0}@keyframes shinyStarAnim{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.volume-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(to right,#e94560 0%,#e94560 var(--volume-percent, 50%),rgba(233,69,96,.15) var(--volume-percent, 50%),rgba(233,69,96,.15) 100%);border-radius:4px;outline:none;cursor:pointer;margin:12px 0;border:1px solid rgba(233,69,96,.2)}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#e94560;border:2px solid #fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0006;transition:transform .15s cubic-bezier(.175,.885,.32,1.275)}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:#e94560;border:2px solid #fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0006}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2);filter:brightness(1.1)}.volume-slider::-moz-range-progress{background-color:#e94560;height:8px;border-radius:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes hitShake{0%{transform:translate(0)}15%{transform:translate(-6px) rotate(-1deg)}30%{transform:translate(5px) rotate(1deg)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes flashFade{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes hpDrain{0%{filter:brightness(1.5)}to{filter:brightness(1)}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pokeballShake{0%{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-15deg)}60%{transform:rotate(10deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes glow{0%,to{box-shadow:0 0 5px #e945604d}50%{box-shadow:0 0 15px #e9456099}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.95)}button:disabled{cursor:not-allowed!important}img{transition:opacity .3s ease}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}@keyframes flash{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes attack-player{0%{transform:translate(0)}50%{transform:translate(20px,-20px)}to{transform:translate(0)}}@keyframes attack-enemy{0%{transform:translate(0)}50%{transform:translate(-20px,20px)}to{transform:translate(0)}}@keyframes driftA{0%{transform:translate(0)}50%{transform:translate(-12%,-8%)}to{transform:translate(0)}}@keyframes driftB{0%{transform:translate(0)}50%{transform:translate(10%,6%)}to{transform:translate(0)}}@keyframes auroraShift{0%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(1)}}@keyframes statusFlash{0%{filter:brightness(1)}50%{filter:brightness(1.6)}to{filter:brightness(1)}}@keyframes switchOut{0%{transform:translate(0);opacity:1}to{transform:translate(-60px);opacity:0}}@keyframes switchIn{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:600px){.pokemon-sprite-box{width:64px!important;height:64px!important}}.anim-shake{animation:shake .4s ease-in-out}.anim-flash{animation:flash .2s steps(2,start) infinite}.anim-attack-player{animation:attack-player .3s ease-out}.anim-attack-enemy{animation:attack-enemy .3s ease-out}.view-enter{animation:fadeIn .15s ease-out}@media(max-width:420px){#root{overflow-x:hidden}.pokemon-sprite-box{width:64px!important;height:64px!important}.nav-label{font-size:7px}}@media(max-width:768px){body.map-interacting{overflow:hidden;touch-action:none}}.map-zoom-btn:active{transform:scale(.92)!important;filter:brightness(.85)!important}@media(max-width:480px){.battle-container{padding:4px!important}.battle-frame{padding:12px 10px!important;border-radius:12px!important}.pokemon-sprite-box{width:60px!important;height:60px!important}}@media(max-width:380px){.pokemon-sprite-box{width:52px!important;height:52px!important}}
