.TypeBadge-module__NQl5Cq__badge{color:#fff;text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:transform .2s;display:inline-block;box-shadow:0 2px 5px #0003}.TypeBadge-module__NQl5Cq__badge:hover{transform:scale(1.05)}
.PokemonCard-module__ssU6hG__card{cursor:pointer;border-radius:20px;flex-direction:column;align-items:center;padding:1.5rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:flex;position:relative;overflow:hidden}.PokemonCard-module__ssU6hG__card:hover{border-color:#ffffff4d;transform:translateY(-10px)scale(1.02);box-shadow:0 15px 35px #ff4b4b33}.PokemonCard-module__ssU6hG__card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff1a 0%,#0000 60%);width:200%;height:200%;transition:opacity .3s;position:absolute;top:-50%;left:-50%}.PokemonCard-module__ssU6hG__card:hover:before{opacity:1}.PokemonCard-module__ssU6hG__imageContainer{justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:1rem;display:flex;position:relative}.PokemonCard-module__ssU6hG__imageContainer img{object-fit:contain;filter:drop-shadow(0 10px 10px #0000004d);width:100%;height:100%;transition:transform .3s}.PokemonCard-module__ssU6hG__card:hover .PokemonCard-module__ssU6hG__imageContainer img{transform:scale(1.1)rotate(5deg)}.PokemonCard-module__ssU6hG__id{color:var(--text-secondary);background:#0000004d;border-radius:12px;padding:4px 8px;font-size:.8rem;font-weight:700;position:absolute;top:10px;left:15px}.PokemonCard-module__ssU6hG__favoriteBtn{z-index:10;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:10px;right:15px}.PokemonCard-module__ssU6hG__favoriteBtn:hover{background:#fff3;transform:scale(1.1)}.PokemonCard-module__ssU6hG__favoriteBtn.PokemonCard-module__ssU6hG__active{color:var(--primary)}.PokemonCard-module__ssU6hG__name{text-transform:capitalize;text-align:center;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.PokemonCard-module__ssU6hG__types{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.PokemonCard-module__ssU6hG__skeletonImage{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 50%,#ffffff0d 75%) 0 0/200% 100%;border-radius:50%;width:120px;height:120px;animation:1.5s infinite PokemonCard-module__ssU6hG__shimmer}@keyframes PokemonCard-module__ssU6hG__shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
.PokemonModal-module__fI7OgW__overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.PokemonModal-module__fI7OgW__modal{width:100%;max-width:600px;max-height:90vh;color:var(--text-primary);border-radius:32px;position:relative;overflow-y:auto}.PokemonModal-module__fI7OgW__closeBtn{color:var(--text-secondary);z-index:10;background:#ffffff1a;border-radius:50%;padding:12px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:20px;right:20px}.PokemonModal-module__fI7OgW__closeBtn:hover{color:#fff;background:#fff3;transform:rotate(90deg)}.PokemonModal-module__fI7OgW__favoriteBtn{color:var(--text-secondary);z-index:10;background:#ffffff1a;border-radius:50%;padding:8px;transition:all .2s;position:absolute;top:20px;left:20px}.PokemonModal-module__fI7OgW__favoriteBtn.PokemonModal-module__fI7OgW__active{color:var(--primary)}.PokemonModal-module__fI7OgW__content{padding:2.5rem}.PokemonModal-module__fI7OgW__header{align-items:center;gap:2rem;margin-bottom:2.5rem;display:flex}.PokemonModal-module__fI7OgW__imageBox{background:#ffffff0d;border-radius:24px;justify-content:center;align-items:center;width:200px;height:200px;display:flex}.PokemonModal-module__fI7OgW__imageBox img{object-fit:contain;filter:drop-shadow(0 15px 15px #0000004d);width:100%;height:100%}.PokemonModal-module__fI7OgW__titleInfo{flex:1}.PokemonModal-module__fI7OgW__id{color:var(--text-secondary);letter-spacing:.1em;font-size:1.1rem;font-weight:800}.PokemonModal-module__fI7OgW__name{text-transform:capitalize;margin:.5rem 0 1rem;font-size:2.5rem}.PokemonModal-module__fI7OgW__types{gap:.75rem;display:flex}.PokemonModal-module__fI7OgW__body h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;font-size:1.25rem}.PokemonModal-module__fI7OgW__physicalInfo{gap:2rem;margin-bottom:2.5rem;display:flex}.PokemonModal-module__fI7OgW__infoItem{flex-direction:column;display:flex}.PokemonModal-module__fI7OgW__label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.PokemonModal-module__fI7OgW__value{font-size:1.25rem;font-weight:700}.PokemonModal-module__fI7OgW__statsGrid{flex-direction:column;gap:1.25rem;margin-bottom:2.5rem;display:flex}.PokemonModal-module__fI7OgW__statRow{flex-direction:column;gap:.5rem;display:flex}.PokemonModal-module__fI7OgW__statLabel{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.PokemonModal-module__fI7OgW__statName{text-transform:capitalize;font-size:.9rem;font-weight:600}.PokemonModal-module__fI7OgW__statBarContainer{align-items:center;gap:1rem;display:flex}.PokemonModal-module__fI7OgW__statBarBg{background:#ffffff0d;border-radius:5px;flex:1;height:10px;overflow:hidden}.PokemonModal-module__fI7OgW__statBarFill{background:linear-gradient(90deg, var(--primary), #ff8e53);border-radius:5px;height:100%}.PokemonModal-module__fI7OgW__statValue{text-align:right;min-width:30px;font-weight:800}.PokemonModal-module__fI7OgW__abilitiesList{flex-wrap:wrap;gap:.75rem;display:flex}.PokemonModal-module__fI7OgW__ability{text-transform:capitalize;background:#ffffff0d;border-radius:12px;align-items:center;gap:.5rem;padding:8px 16px;font-weight:600;display:flex}.PokemonModal-module__fI7OgW__hiddenLabel{opacity:.6;font-size:.75rem;font-style:normal}.PokemonModal-module__fI7OgW__loader{justify-content:center;align-items:center;height:400px;display:flex}.PokemonModal-module__fI7OgW__spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite PokemonModal-module__fI7OgW__spin}@keyframes PokemonModal-module__fI7OgW__spin{to{transform:rotate(360deg)}}@media (max-width:600px){.PokemonModal-module__fI7OgW__header{text-align:center;flex-direction:column}.PokemonModal-module__fI7OgW__imageBox{width:100%}.PokemonModal-module__fI7OgW__types{justify-content:center}}
.Skeleton-module__iLQKgG__skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 50%,#ffffff0d 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite Skeleton-module__iLQKgG__shimmer}@keyframes Skeleton-module__iLQKgG__shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.Skeleton-module__iLQKgG__cardSkeleton{border-radius:20px;flex-direction:column;align-items:center;gap:1rem;width:100%;height:300px;padding:1.5rem;display:flex}.Skeleton-module__iLQKgG__circle{border-radius:50%;width:120px;height:120px}.Skeleton-module__iLQKgG__line{border-radius:10px;width:80%;height:20px}.Skeleton-module__iLQKgG__smallLine{border-radius:12px;width:40%;height:24px}
.PokedexClient-module__J6JrHG__container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.PokedexClient-module__J6JrHG__header{flex-direction:column;gap:2rem;margin-bottom:3rem;display:flex}.PokedexClient-module__J6JrHG__headerTop{justify-content:space-between;align-items:center;gap:2rem;display:flex}.PokedexClient-module__J6JrHG__logoArea h1{margin-bottom:.5rem;font-size:3.5rem}.PokedexClient-module__J6JrHG__titleWrapper{align-items:center;gap:1.5rem;display:flex}.PokedexClient-module__J6JrHG__logoIcon{object-fit:contain;filter:drop-shadow(0 4px 8px #0000004d);width:64px;height:64px;animation:3s ease-in-out infinite PokedexClient-module__J6JrHG__float}@keyframes PokedexClient-module__J6JrHG__float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.PokedexClient-module__J6JrHG__logoArea p{color:var(--text-secondary);font-size:1.1rem}.PokedexClient-module__J6JrHG__controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.PokedexClient-module__J6JrHG__searchWrapper{border-radius:16px;flex:1;align-items:center;min-width:300px;height:56px;padding:0 1.25rem;display:flex}.PokedexClient-module__J6JrHG__searchIcon{color:var(--text-secondary);margin-right:1rem}.PokedexClient-module__J6JrHG__searchInput{color:#fff;background:0 0;border:none;outline:none;width:100%;height:100%;font-size:1.1rem}.PokedexClient-module__J6JrHG__searchInput::placeholder{color:var(--text-secondary)}.PokedexClient-module__J6JrHG__filterGroup{gap:1rem;display:flex}.PokedexClient-module__J6JrHG__selectWrapper{border-radius:16px;align-items:center;min-width:180px;height:56px;padding:0 1.25rem;display:flex}.PokedexClient-module__J6JrHG__filterIcon{color:var(--text-secondary);margin-right:.75rem}.PokedexClient-module__J6JrHG__typeSelect{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;width:100%;height:100%;font-size:1rem;font-weight:600}.PokedexClient-module__J6JrHG__typeSelect option{background:var(--bg-secondary);color:#fff}.PokedexClient-module__J6JrHG__favToggle{height:56px;color:var(--text-secondary);border-radius:16px;align-items:center;gap:.75rem;padding:0 1.5rem;font-weight:600;transition:all .2s;display:flex}.PokedexClient-module__J6JrHG__favToggle.PokedexClient-module__J6JrHG__active{color:var(--primary);border-color:var(--primary);background:#ff4b4b1a}.PokedexClient-module__J6JrHG__loginBtn{color:#fff;border-radius:16px;align-items:center;gap:.75rem;height:56px;padding:0 1.5rem;font-weight:600;transition:all .2s;display:flex}.PokedexClient-module__J6JrHG__loginBtn:hover{background:#ffffff26;transform:translateY(-2px)}.PokedexClient-module__J6JrHG__clearBtn{color:var(--text-secondary);padding:0 .5rem;font-size:.9rem;font-weight:600;text-decoration:underline;transition:color .2s}.PokedexClient-module__J6JrHG__clearBtn:hover{color:var(--primary)}.PokedexClient-module__J6JrHG__resultsCount{color:var(--text-secondary);margin-top:1rem;font-size:.9rem}.PokedexClient-module__J6JrHG__resultsCount strong{color:#fff}.PokedexClient-module__J6JrHG__loadingArea{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:5rem 0;display:flex}.PokedexClient-module__J6JrHG__spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite PokedexClient-module__J6JrHG__spin}@keyframes PokedexClient-module__J6JrHG__spin{to{transform:rotate(360deg)}}.PokedexClient-module__J6JrHG__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.PokedexClient-module__J6JrHG__pagination{z-index:10;justify-content:center;align-items:center;gap:2rem;margin-bottom:4rem;display:flex;position:relative}.PokedexClient-module__J6JrHG__pageBtn{color:#fff;border-radius:12px;align-items:center;gap:.5rem;padding:12px 24px;font-weight:600;transition:all .2s;display:flex}.PokedexClient-module__J6JrHG__pageBtn:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.PokedexClient-module__J6JrHG__pageBtn:disabled{opacity:.3;cursor:not-allowed}.PokedexClient-module__J6JrHG__pageInfo{color:var(--text-secondary);font-size:1.1rem}.PokedexClient-module__J6JrHG__pageInfo strong{color:#fff}.PokedexClient-module__J6JrHG__noResults{text-align:center;padding:4rem 0}.PokedexClient-module__J6JrHG__noResults h3{margin-bottom:1rem;font-size:2rem}.PokedexClient-module__J6JrHG__noResults p{color:var(--text-secondary)}@media (max-width:768px){.PokedexClient-module__J6JrHG__headerTop{text-align:center;flex-direction:column;gap:1.5rem}.PokedexClient-module__J6JrHG__logoArea h1{font-size:2.5rem}.PokedexClient-module__J6JrHG__controls{flex-direction:column;align-items:stretch}.PokedexClient-module__J6JrHG__searchWrapper{min-width:auto}.PokedexClient-module__J6JrHG__filterGroup{justify-content:space-between}.PokedexClient-module__J6JrHG__favToggle{flex:1;justify-content:center}}.PokedexClient-module__J6JrHG__backToTop{color:#fff;z-index:100;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:30px;right:30px}.PokedexClient-module__J6JrHG__backToTop:hover{background:var(--primary);transform:translateY(-5px);box-shadow:0 10px 20px #ff4b4b4d}
