:root{--space-1: .4rem;--space-2: .8rem;--space-3: 1.2rem;--space-4: 1.6rem;--space-5: 2.4rem;--space-6: 3.2rem;--space-8: 4.8rem;--space-10: 6.4rem;--space-12: 9.6rem;--text-xs: 1.2rem;--text-sm: 1.35rem;--text-base: 1.6rem;--text-lg: clamp(1.8rem, 1.6rem + .5vw, 2rem);--text-xl: clamp(2rem, 1.7rem + .9vw, 2.5rem);--text-2xl: clamp(2.4rem, 2rem + 1.4vw, 3.2rem);--text-3xl: clamp(3rem, 2.4rem + 2vw, 4rem);--shadow-1: 0 1px 3px rgba(0, 0, 0, .12);--shadow-2: 0 4px 14px rgba(0, 0, 0, .16);--shadow-3: 0 12px 34px rgba(0, 0, 0, .22)}:root{--duration-fast: .15s;--duration-base: .3s;--duration-slow: .6s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}.mb-8{margin-bottom:8rem!important}.load-hidden{visibility:hidden}.sr .sr__child{transition-property:opacity,transform,filter,clip-path;transition-timing-function:cubic-bezier(.16,1,.3,1)}.sr--fade-up{opacity:0;transform:translateY(30px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--fade-up.sr-visible{opacity:1;transform:translateY(0)}.sr--fade-up .sr__child{opacity:0;transform:translateY(30px);transition-duration:.5s}.sr--fade-up.sr-visible .sr__child{opacity:1;transform:translateY(0)}.sr--clip{clip-path:inset(100% 0 0 0);transition:clip-path .6s cubic-bezier(.16,1,.3,1)}.sr--clip.sr-visible{clip-path:inset(0 0 0 0)}.sr--clip .sr__child{clip-path:inset(100% 0 0 0);transition-duration:.6s}.sr--clip.sr-visible .sr__child{clip-path:inset(0 0 0 0)}.sr--blur{opacity:0;filter:blur(12px);transition:opacity .5s ease-out,filter .5s ease-out}.sr--blur.sr-visible{opacity:1;filter:blur(0)}.sr--blur .sr__child{opacity:0;filter:blur(12px);transition-duration:.5s}.sr--blur.sr-visible .sr__child{opacity:1;filter:blur(0)}.sr--scale{opacity:0;transform:scale(.92);transition:opacity .45s ease-out,transform .45s cubic-bezier(.34,1.56,.64,1)}.sr--scale.sr-visible{opacity:1;transform:scale(1)}.sr--scale .sr__child{opacity:0;transform:scale(.92);transition-duration:.45s;transition-timing-function:ease-out,cubic-bezier(.34,1.56,.64,1)}.sr--scale.sr-visible .sr__child{opacity:1;transform:scale(1)}.sr--slide-right{opacity:0;transform:translate(-40px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--slide-right.sr-visible{opacity:1;transform:translate(0)}.sr--slide-right .sr__child{opacity:0;transform:translate(-40px);transition-duration:.5s}.sr--slide-right.sr-visible .sr__child{opacity:1;transform:translate(0)}@media(prefers-reduced-motion:reduce){.sr--fade-up,.sr--clip,.sr--blur,.sr--scale,.sr--slide-right,.sr--slide-left,.sr .sr__child{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}.sr--slide-left{opacity:0;transform:translate(40px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--slide-left.sr-visible{opacity:1;transform:translate(0)}.sr--slide-left .sr__child{opacity:0;transform:translate(40px);transition-duration:.5s}.sr--slide-left.sr-visible .sr__child{opacity:1;transform:translate(0)}.card-3d-wrapper{-webkit-perspective:800px;perspective:800px;display:flex;justify-content:center}.card-3d{position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.03,.98,.52,.99),box-shadow .3s ease;will-change:transform,box-shadow;border-radius:16px;box-shadow:0 4px 12px #0000004d}.card-3d:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#3c3c50,#1e1e2d);transform:translateZ(-6px);box-shadow:0 0 0 1px #ffffff0f,0 6px 16px #00000080}.card-3d:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#323241,#191928);transform:translateZ(-3px);box-shadow:0 0 0 1px #ffffff0a}.card-3d--hovering{transition:transform .08s ease-out,box-shadow .15s ease}.card-3d--legendary{box-shadow:0 4px 20px #f59e0b33,0 0 60px #f59e0b14}.card-3d--legendary:before{background:linear-gradient(180deg,#785a14,#3c2d0a);box-shadow:0 0 0 1px #f59e0b33,0 6px 16px #00000080}.card-3d--legendary:after{background:linear-gradient(180deg,#644b0f,#322608);box-shadow:0 0 0 1px #f59e0b26}.card-3d__shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;mix-blend-mode:overlay;transition:opacity .3s ease}.card-3d__specular{mix-blend-mode:screen;z-index:3}.card-3d__holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;mix-blend-mode:color-dodge;transition:opacity .3s ease}.card-3d__edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}.card-3d__flip-hint{position:absolute;bottom:8px;right:12px;z-index:4;pointer-events:none;backface-visibility:hidden}.card-3d__flip-hint span{font-size:.65rem;color:#ffffff4d;letter-spacing:.03em;text-transform:uppercase;transition:color .2s}.card-3d:hover .card-3d__flip-hint span{color:#ffffff80}.konami-card-3d{z-index:10002;position:relative}.konami-overlay{position:fixed;inset:0;background:#000000d9;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:konamiFadeIn .3s ease}.konami-message{text-align:center;color:#fff;z-index:10002;position:relative;background:#141423f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 2.5rem}@media(max-width:37.5em){.konami-message{padding:1.5rem 1.2rem}}.konami-message h2{font-size:3.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#02aab0,#00cdac);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media(max-width:37.5em){.konami-message h2{font-size:2.5rem}}.konami-message p{font-size:1.8rem;color:#fffc}@media(max-width:37.5em){.konami-message p{font-size:1.5rem}}.konami-content{margin-top:2rem;padding:1.5rem 2.5rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.konami-content p{font-size:1.5rem;color:#fff9}@keyframes konamiFadeIn{0%{opacity:0}to{opacity:1}}.pokeball-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px auto 0;padding:10px 24px;background:linear-gradient(135deg,#ee1515,#c41010);color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;min-height:44px}.pokeball-btn:hover{transform:scale(1.05);box-shadow:0 0 20px #ee151566}.pokeball-btn:active{transform:scale(.97)}.pokeball-throw{position:absolute;left:50%;bottom:-40px;transform:translate(-50%);animation:pokeballThrow .6s ease-out forwards,pokeballWobble .5s ease-in-out .6s var(--wobble-count, 2);z-index:10003}@keyframes pokeballThrow{0%{transform:translate(-50%) translateY(200px) scale(.4);opacity:0}60%{opacity:1}to{transform:translate(-50%) translateY(-80px) scale(1);opacity:1}}@keyframes pokeballWobble{0%,to{transform:translate(-50%) translateY(-80px) rotate(0)}25%{transform:translate(-50%) translateY(-80px) rotate(-20deg)}75%{transform:translate(-50%) translateY(-80px) rotate(20deg)}}.catch-result{margin-top:12px;font-size:1rem;font-weight:600;text-align:center;animation:konamiFadeIn .3s ease}.catch-result--success{color:#4ade80}.catch-result--fail{color:#f87171}.konami-sprite--escaped{opacity:0!important;transform:translate(200px) scale(.5)!important}.pokedex-badge{position:fixed;bottom:16px;left:16px;z-index:50;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#000000b3;border:1px solid rgba(255,255,255,.15);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;backdrop-filter:blur(8px)}.pokedex-badge:hover{background:#000000d9;transform:scale(1.05)}.pokedex-container{background:#0f0f14f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;max-width:500px;width:90vw;max-height:95vh;display:flex;flex-direction:column;z-index:10002;animation:konamiFadeIn .3s ease}.pokedex-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.pokedex-content>.card-3d-wrapper{width:100%;flex:1;min-height:0}.pokedex-content>.card-3d-wrapper .card-3d{width:100%}.pokedex-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pokedex-header h2{font-size:1.5rem;color:#fff;margin:0;background:none;-webkit-text-fill-color:#fff}.pokedex-header .pokedex-count{font-size:.85rem;color:#ffffff80}.pokedex-music-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.pokedex-music-btn{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff9;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.pokedex-music-btn:hover{background:#ffffff26;color:#fff}.pokedex-music-btn--active{background:#f59e0b40;border-color:#f59e0b80;color:#f59e0b;animation:musicPulse 1.5s ease-in-out infinite}.pokedex-music-btn--active:hover{background:#f59e0b59;color:#fbbf24}@keyframes musicPulse{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 8px 2px #f59e0b33}}.pokedex-lang-toggle{display:flex;gap:2px;background:#ffffff0f;border-radius:6px;padding:2px}.pokedex-lang-btn{padding:2px 6px;border:none;border-radius:4px;background:transparent;color:#fff6;font-size:.65rem;font-weight:700;cursor:pointer;transition:all .2s}.pokedex-lang-btn:hover{color:#ffffffb3}.pokedex-lang-btn--active{background:#f59e0b4d;color:#f59e0b}.pokedex-volume-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff26;border-radius:2px;outline:none;cursor:pointer}.pokedex-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#f59e0b;border:none;cursor:pointer}.pokedex-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#f59e0b;border:none;cursor:pointer}.pokedex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;overflow-y:auto;flex:1;padding:4px}@media(max-width:400px){.pokedex-grid{grid-template-columns:repeat(3,1fr)}}.pokedex-grid::-webkit-scrollbar{width:6px}.pokedex-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.pokedex-cell{border:2px solid;border-radius:10px;padding:6px;text-align:center;background:#ffffff0a;transition:background .15s,transform .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px}.pokedex-cell:hover{background:#ffffff1a;transform:scale(1.05)}.pokedex-cell img{display:block;margin:0 auto;image-rendering:auto;width:56px;height:56px;max-width:100%;object-fit:contain;background:#ffffff0d;border-radius:8px}.pokedex-cell__name{display:block;font-size:.65rem;color:#fff9;text-transform:capitalize;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pokedex-show-more{width:100%;padding:10px;margin-top:8px;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:10px;color:#fff9;font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.pokedex-show-more:hover{background:#ffffff1f;color:#fff}.pokedex-close{margin-top:16px;padding:8px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;align-self:center;transition:background .15s}.pokedex-close:hover{background:#fff3}.pokedex-detail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;background:#141423f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(1px)}.pokedex-detail img{image-rendering:auto;filter:drop-shadow(0 0 8px rgba(255,255,255,.15))}.pokedex-detail__topbar{display:flex;justify-content:space-between;align-items:center;width:100%}.pokedex-detail__fullscreen-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff6;cursor:pointer;padding:4px 6px;display:flex;align-items:center;transition:color .2s,border-color .2s}.pokedex-detail__fullscreen-btn:hover{color:#fff;border-color:#fff6}.pokedex-detail--fullscreen{position:absolute;inset:0;padding:32px;gap:16px;width:100%;height:100%;justify-content:center;box-sizing:border-box}.pokedex-detail__fullscreen-sprite{width:clamp(140px,35vh,280px);height:clamp(140px,35vh,280px);object-fit:contain}.pokedex-detail__stats--fullscreen{max-width:min(380px,80%);font-size:clamp(.75rem,1.6vh,.95rem)}.pokedex-detail__back{background:none;border:none;color:#fff9;font-size:.85rem;cursor:pointer;padding:2px 0}.pokedex-detail__back:hover{color:#fff}.pokedex-detail__hero{display:flex;align-items:center;gap:16px;width:100%;justify-content:center}.pokedex-detail__info{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pokedex-detail__name{font-size:1.3rem;color:#fff;text-transform:capitalize;margin:0}.pokedex-detail__types{display:flex;gap:6px}.pokedex-detail__stats{width:100%;display:flex;flex-direction:column;gap:4px}.pokedex-detail__stat{display:flex;align-items:center;gap:8px;font-size:.75rem}.pokedex-detail__stat-name{width:50px;text-transform:capitalize;color:#fff9;text-align:right;flex-shrink:0}.pokedex-detail__stat-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.pokedex-detail__stat-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#4ade80,#22d3ee);transition:width .5s ease}.pokedex-detail__stat-value{width:28px;color:#fffc;font-weight:600;flex-shrink:0}.pokedex-detail__caught{font-size:.75rem;color:#fff6;margin:4px 0 0}.pokedex-detail__stat-total{display:flex;justify-content:space-between;width:100%;padding:8px 0;margin-top:4px;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;font-weight:700;color:#4ade80}.pokedex-detail__extra{width:100%;margin-top:8px;display:flex;flex-direction:column;gap:6px}.pokedex-detail__extra-row{display:flex;justify-content:space-between;font-size:.8rem;color:#fff9}.pokedex-detail__extra-row span:last-child{color:#ffffffe6;font-weight:600}.card-fullscreen{position:fixed;inset:0;z-index:10010;background:#000000eb;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;animation:konamiFadeIn .3s ease;cursor:pointer}.card-fullscreen__toolbar{position:absolute;top:20px;right:20px;display:flex;gap:10px;z-index:10011}.card-fullscreen__share,.card-fullscreen__close{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:40px;height:40px;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.card-fullscreen__share:hover,.card-fullscreen__close:hover{background:#ffffff26;color:#fff}.card-fullscreen__share:hover{background:#60a5fa33;border-color:#60a5fa66;color:#60a5fa}.card-fullscreen__card{cursor:default;width:min(500px,90vw);height:min(80vh,700px)}.card-fullscreen__card .card-3d-wrapper,.card-fullscreen__card .card-3d{width:100%;height:100%}.adventurer-bar{padding:8px 14px;margin-bottom:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px}.adventurer-bar__info{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.adventurer-bar__title{font-size:.85rem;font-weight:700}.adventurer-bar__level{font-size:.8rem;color:#ffffffb3;font-weight:600}.adventurer-bar__track{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:4px}.adventurer-bar__fill{height:100%;border-radius:3px;transition:width .5s ease}.adventurer-bar__xp{font-size:.65rem;color:#ffffff59}.starter-screen{z-index:10002;text-align:center;animation:konamiFadeIn .3s ease}.starter-screen__title{font-size:2rem;color:#fff;margin:0 0 4px;background:linear-gradient(135deg,#f08030,#f8d030,#78c850,#6890f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media(max-width:37.5em){.starter-screen__title{font-size:1.5rem}}.starter-screen__gen{font-size:.9rem;color:#ffffff80;margin:0 0 24px}.starter-cards{display:flex;gap:16px;justify-content:center}@media(max-width:37.5em){.starter-cards{gap:10px}}.starter-card{background:#ffffff0d;border:2px solid;border-radius:16px;padding:16px 12px 12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:110px}@media(max-width:37.5em){.starter-card{min-width:90px;padding:12px 8px 10px}}.starter-card:hover{transform:scale(1.08) translateY(-4px);background:#ffffff1a;box-shadow:0 8px 30px #0006}.starter-card:active{transform:scale(.97)}.starter-card img{image-rendering:auto;filter:drop-shadow(0 0 8px rgba(255,255,255,.1))}.starter-card__name{font-size:.95rem;font-weight:700;color:#fff;text-transform:capitalize}.starter-card__types{display:flex;gap:4px}.starter-chosen{animation:konamiFadeIn .3s ease}.starter-chosen h2{font-size:2.5rem;color:#f8d030;margin:0 0 8px;text-transform:capitalize}@media(max-width:37.5em){.starter-chosen h2{font-size:1.8rem}}.starter-chosen p{font-size:1.1rem;color:#fff9;margin:0}.pokedex-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}.pokedex-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;color:#fff6;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s}.pokedex-tab:hover{color:#ffffffb3}.pokedex-tab--active{color:#fff;border-bottom-color:#4ade80}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow-y:auto;flex:1;padding:4px}@media(max-width:37.5em){.achievement-grid{grid-template-columns:1fr}}.achievement-grid::-webkit-scrollbar{width:6px}.achievement-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.achievement-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;opacity:.4;transition:opacity .2s,border-color .2s,box-shadow .2s}.achievement-card--earned{opacity:1;border-color:#4ade804d;box-shadow:0 0 12px #4ade8014}.achievement-card__icon{font-size:1.8rem;flex-shrink:0;line-height:1}.achievement-card__info{display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-card__name{font-size:.8rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-card__desc{font-size:.65rem;color:#ffffff73}.achievement-card__check{margin-left:auto;color:#4ade80;font-size:1rem;font-weight:700;flex-shrink:0}.rarity-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border:1px solid currentColor;border-radius:10px;opacity:.9}.rarity-badge--encounter{font-size:.85rem;padding:3px 14px;margin-bottom:8px}.evo-chain{width:100%;text-align:center}.evo-chain__label{display:block;font-size:.65rem;color:#fff6;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.evo-chain__row{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.evo-chain__item{display:flex;align-items:center;gap:4px}.evo-chain__arrow{color:#ffffff4d;font-size:.9rem}.evo-chain__sprite{width:32px;height:32px;border-radius:50%;background:#ffffff0f;border:2px solid rgba(74,222,128,.5);display:flex;align-items:center;justify-content:center;overflow:hidden}.evo-chain__sprite img{image-rendering:auto}.evo-chain__sprite--unknown{border-color:#ffffff1a;opacity:.4}.evo-chain__question{color:#ffffff4d;font-size:1.2rem;font-weight:700}.evo-chain__complete{display:inline-block;margin-top:8px;font-size:.7rem;font-weight:700;color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:10px;padding:2px 10px}.konami-overlay--legendary{background:#140f00e6;box-shadow:inset 0 0 200px #f59e0b26}.konami-sprite--legendary{filter:drop-shadow(0 0 24px rgba(245,158,11,.5)) drop-shadow(0 0 48px rgba(245,158,11,.2))!important}.pokedex-cell__rarity-star{position:absolute;top:2px;right:4px;font-size:.65rem;color:#f59e0b;line-height:1}.pokedex-cell{position:relative;overflow:hidden}.pokedex-cell--legendary:after,.pokedex-cell--rare:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.08) 55%,transparent 70%);background-size:250% 100%;animation:cellShimmer 3s ease-in-out infinite}.pokedex-cell--legendary:after{background:linear-gradient(105deg,transparent 30%,rgba(245,158,11,.1) 42%,rgba(255,255,255,.25) 50%,rgba(245,158,11,.1) 58%,transparent 70%);background-size:250% 100%;animation:cellShimmer 2.5s ease-in-out infinite}@keyframes cellShimmer{0%{background-position:200% 0}to{background-position:-50% 0}}.pokeball-egg{width:18px;height:18px;padding:0;border:none;background:none;cursor:default;opacity:.5;transition:opacity .3s;z-index:50;animation:pokeballFloat 4s ease-in-out infinite}.pokeball-egg__sparkle{position:absolute;top:-4px;right:-4px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);animation:pokeballSparkle 3s ease-in-out infinite;pointer-events:none}@keyframes pokeballFloat{0%,to{opacity:.12;transform:translateY(0) rotate(0)}25%{opacity:.25}50%{opacity:.18;transform:translateY(-3px) rotate(8deg)}75%{opacity:.3}}@keyframes pokeballSparkle{0%,70%,to{opacity:0;transform:scale(.5)}80%{opacity:1;transform:scale(1.3)}90%{opacity:.6;transform:scale(.8)}}.catch-difficulty{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.catch-difficulty__balls{display:flex;gap:3px;align-items:center}.catch-difficulty__ball{opacity:.2;transition:opacity .2s;filter:grayscale(1)}.catch-difficulty__ball--active{opacity:1;filter:none}.catch-difficulty__label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pokedex-toolbar{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.pokedex-toolbar__search{flex:1;min-width:80px;padding:6px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:.75rem;outline:none;transition:border-color .2s}.pokedex-toolbar__search::placeholder{color:#ffffff4d}.pokedex-toolbar__search:focus{border-color:#4ade8080}.pokedex-toolbar__select{padding:6px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:.7rem;outline:none;cursor:pointer;transition:border-color .2s;text-transform:capitalize}.pokedex-toolbar__select:focus{border-color:#4ade8080}.pokedex-toolbar__select option{background:#1a1a2e;color:#fff}.pokedex-grid__empty{grid-column:1/-1;text-align:center;padding:32px 16px;color:#ffffff59;font-size:.85rem}.achievement-toast{position:fixed;top:24px;right:24px;z-index:10010;display:flex;align-items:center;gap:12px;padding:14px 20px;background:#0f0f19f2;border:1px solid rgba(74,222,128,.4);border-radius:14px;box-shadow:0 8px 32px #00000080,0 0 20px #4ade8026;backdrop-filter:blur(12px);animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1),toastFadeOut .4s ease 3.6s forwards}.achievement-toast__icon{font-size:2rem;line-height:1;flex-shrink:0}.achievement-toast__info{display:flex;flex-direction:column;gap:2px}.achievement-toast__title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4ade80}.achievement-toast__name{font-size:.95rem;font-weight:700;color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.pokedex-sfx-btn{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff9;font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pokedex-sfx-btn:hover{background:#ffffff26;color:#fff}.pokedex-sfx-btn--active{background:#60a5fa33;border-color:#60a5fa66;color:#60a5fa}.throws-remaining{display:flex;gap:4px;justify-content:center;margin-bottom:8px}.throws-remaining__ball{transition:opacity .3s,filter .3s}.throws-remaining__ball--used{opacity:.15;filter:grayscale(1)}.pokeball-btn--retry{background:linear-gradient(135deg,#f59e0b,#d97706)!important;animation:konamiFadeIn .3s}.pokeball-btn--retry:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important}.catch-bonus{display:block;font-size:.75rem;color:#4ade80;font-weight:600;margin:4px 0 8px}.catch-result__bonus{display:block;font-size:.8rem;color:#f59e0b;margin-top:4px}.pokeball-egg--daily:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(245,158,11,.6);animation:dailyPulse 2s ease-in-out infinite}@keyframes dailyPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.5);opacity:0}}.streak-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:.8rem}.streak-bar__fire{font-size:1rem}.streak-bar__count{color:#f59e0b;font-weight:700}.streak-bar__bonus{color:#ffffff80;font-size:.7rem}.streak-bar__check{color:#4ade80;font-size:.7rem;font-weight:600;margin-left:auto}.evolve-btn{margin-top:12px;padding:8px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#7038f8,#f85888);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.evolve-btn:hover{transform:scale(1.05);box-shadow:0 0 16px #7038f866}.evolve-btn--disabled{opacity:.4;cursor:not-allowed;background:#ffffff1a}.evolve-btn--disabled:hover{transform:none;box-shadow:none}.evolve-chooser{margin-top:12px;text-align:center}.evolve-chooser__title{font-size:.85rem;color:#ffffffb3;margin-bottom:8px}.evolve-chooser__grid{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.evolve-chooser__option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#ffffff0d;color:#fff;cursor:pointer;font-size:.75rem;text-transform:capitalize;transition:all .2s}.evolve-chooser__option:hover{background:#7038f833;border-color:#7038f866;transform:scale(1.05)}.evolve-animation{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;margin:16px 0}.evolve-animation__from{animation:evolveShrink 1.5s forwards}.evolve-animation__glow{position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(112,56,248,.6),rgba(248,88,136,.3),transparent);animation:evolveGlow 1.5s forwards}.evolve-animation__to{position:absolute;animation:evolveAppear 1s 1s forwards;opacity:0}.evolve-complete{text-align:center;margin:12px 0;animation:konamiFadeIn .5s}.evolve-complete__text{font-size:.9rem;color:#7038f8;font-weight:700;margin-top:8px}@keyframes evolveShrink{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(3)}to{transform:scale(0);opacity:0;filter:brightness(5)}}@keyframes evolveGlow{0%{transform:scale(0);opacity:0}40%{transform:scale(1.5);opacity:1}to{transform:scale(2);opacity:0}}@keyframes evolveAppear{0%{opacity:0;transform:scale(.5);filter:brightness(3)}to{opacity:1;transform:scale(1);filter:brightness(1)}}
