.rank-badge-gold{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);box-shadow:0 2px 4px -1px #f59e0b66}.rank-badge-silver{color:#fff;background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);box-shadow:0 2px 4px -1px #64748b66}.rank-badge-bronze{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#b45309 100%);box-shadow:0 2px 4px -1px #b4530966}.toggle-chip{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.toggle-chip:hover{background:#f5f3ff;border-color:#c7d2fe}.toggle-chip[data-active=true]{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#0000;box-shadow:0 2px 6px -1px #6366f166}.exclude-chip{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.exclude-chip:hover{background:#fef2f2;border-color:#fecaca}.exclude-chip[data-active=true]{color:#dc2626;background:#fee2e2;border-color:#fecaca}.type-filter-chip{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:9999px;justify-content:center;align-items:center;min-width:3.5em;padding:.25rem .5rem;font-size:.6875rem;font-weight:700;transition:all .15s;display:inline-flex}.type-filter-chip:hover{background:#f8fafc;border-color:#cbd5e1}.type-filter-chip[data-active=true]{border-color:#0000;box-shadow:0 1px 3px -1px #00000026}.pokemon-stats-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.625rem;transition:all .2s}.pokemon-stats-card:hover{border-color:#6373e4;border-color:lab(51.5899% 19.3345 -60.4128);transform:translateY(-1px);box-shadow:0 4px 12px -2px #00000014,0 2px 4px -1px #00000008}@media (prefers-color-scheme:dark){.pokemon-stats-card{background:#1e293b;border-color:#334155}.pokemon-stats-card:hover{border-color:#6373e4;border-color:lab(51.5899% 19.3345 -60.4128)}.toggle-chip{color:#94a3b8;background:#1e293b;border-color:#334155}.toggle-chip:hover{background:#312e81;border-color:#4f46e5}.exclude-chip{color:#94a3b8;background:#1e293b;border-color:#334155}.exclude-chip:hover{background:#450a0a;border-color:#991b1b}.exclude-chip[data-active=true]{color:#fca5a5;background:#450a0a;border-color:#991b1b}.type-filter-chip{color:#94a3b8;background:#1e293b;border-color:#334155}.type-filter-chip:hover{background:#334155;border-color:#475569}}.filter-panel{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;box-shadow:0 1px 3px #0000000a}.filter-section{padding:1rem}.filter-section+.filter-section{border-top:1px solid #f1f5f9}@media (prefers-color-scheme:dark){.filter-panel{background:#1e293b;border-color:#334155}.filter-section+.filter-section{border-top-color:#334155}}.results-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}@media (min-width:640px){.results-header{flex-direction:row;justify-content:space-between;align-items:center}}@media (prefers-color-scheme:dark){.results-header{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-color:#334155}}.sort-select-wrapper{background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.sort-select-wrapper:focus-within{border-color:#6373e4;border-color:lab(51.5899% 19.3345 -60.4128);box-shadow:0 0 0 3px #6366f11a}@media (prefers-color-scheme:dark){.sort-select-wrapper{background:#1e293b;border-color:#334155}}.total-badge{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-radius:.375rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:800;box-shadow:0 1px 3px -1px #6366f14d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-entry{opacity:0;animation:.5s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}@media (prefers-reduced-motion:reduce){.animate-entry{opacity:1;animation:none}}
