.pokemon-rankings-container{flex-direction:column;gap:20px;animation:.3s ease-in-out fadeIn;display:flex}.rankings-header-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 4px 16px #00000026}.rankings-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.rankings-title-left{align-items:center;gap:12px;display:flex}.ranking-mode-selector-header{align-items:center;gap:8px;margin-left:auto;display:flex}.rankings-title-row h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.trophy-icon{color:#eab308}.status-inline-icon{vertical-align:middle;filter:drop-shadow(0 0 4px #0006)}.search-bar-wrapper{width:100%;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.ranking-search-input,.ranking-search-bar{background-color:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-sans);box-sizing:border-box;border-radius:12px;padding:12px 14px 12px 42px;font-size:.9rem;transition:all .2s}body.light-mode .ranking-search-input,body.light-mode .ranking-search-bar{color:#0f172a!important;background:#fff!important;border:1px solid #0f172a2e!important}.ranking-search-input:focus,.ranking-search-bar:focus{border-color:#a855f766;outline:none;box-shadow:0 0 10px #a855f726}.ranking-mode-selector{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;display:flex}.mode-toggle-btn{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.mode-toggle-btn:hover{color:var(--text-primary);border-color:#a855f74d}.mode-toggle-btn.active{color:var(--text-primary);background:linear-gradient(135deg,#a855f740,#3b82f640);border-color:#a855f799;box-shadow:0 0 10px #a855f733}.released-filter-btn{border-color:#eab30859}.released-filter-btn.active{color:#facc15;background:linear-gradient(135deg,#eab30833,#a855f733);border-color:#eab308b3;box-shadow:0 0 10px #eab30833}body.light-mode .released-filter-btn.active{color:#b45309!important;background:#eab30826!important;border-color:#d97706!important}.types-filter-container{flex-wrap:wrap;justify-content:center;gap:8px 10px;margin-top:8px;display:flex}.type-filter-btn{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border-radius:24px;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.filter-type-icon{vertical-align:middle;width:16px;height:16px;margin-right:6px;transition:transform .2s}.type-filter-btn:hover{color:var(--text-primary);background-color:#ffffff08}.type-filter-btn:hover .filter-type-icon{transform:scale(1.1)}.type-filter-btn.active{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 0 8px #a855f740}subtle-glow{box-shadow:0 0 15px #a855f71a}.toggle-details-container{align-items:center;margin-top:12px;display:flex}.switch-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);align-items:center;gap:10px;font-size:.85rem;display:flex}.toggle-checkbox{opacity:0;width:0;height:0;position:absolute}.toggle-slider{border:1px solid var(--border-color);background-color:#ffffff1a;border-radius:20px;width:40px;height:20px;transition:all .3s;display:inline-block;position:relative}.toggle-slider:before{content:"";background-color:var(--text-muted);border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:2px;left:2px}.toggle-checkbox:checked+.toggle-slider{background:var(--accent-gradient);border-color:#0000;box-shadow:0 0 8px #a855f740}.toggle-checkbox:checked+.toggle-slider:before{background-color:#fff;transform:translate(20px)}.toggle-label-text{font-weight:600;transition:color .2s}.toggle-checkbox:checked~.toggle-label-text{color:var(--text-primary)}.rankings-list{flex-direction:column;gap:12px;display:flex}.no-rankings-found{text-align:center;background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);border-radius:16px;padding:40px 20px}.ranking-pokemon-row{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:12px;padding:16px;transition:transform .2s,border-color .2s;display:flex;position:relative}.ranking-row-top-main{align-items:center;gap:20px;width:100%;display:flex}.ranking-pokemon-row:hover{border-color:#a855f740;transform:translateY(-1px)}.ranking-rank-col{flex-direction:column;flex-shrink:0;gap:5px;display:flex}.rank-badge{color:#fff;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:54px;padding:4px 4px 3px;line-height:1;display:flex;box-shadow:0 2px 8px #0003}.rank-num-row{justify-content:center;align-items:baseline;gap:1px;display:flex}.rank-badge .rank-hash{opacity:.85;font-size:.78rem;font-weight:800}.rank-badge .rank-num{font-size:1.05rem;font-weight:900;line-height:1}.rank-badge .rank-lbl{letter-spacing:.06em;opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:50px;margin-top:2px;font-size:.44rem;font-weight:700;overflow:hidden}.rank-overall{background:linear-gradient(135deg,#6366f1,#4f46e5)}.rank-type{border:1px solid #ffffff26}.ranking-score-badge{color:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 2px 8px #00000026}.ranking-score-badge .score-val{font-size:1.2rem;font-weight:900;line-height:1.1}.ranking-score-badge .score-lbl{opacity:.85;letter-spacing:.05em;font-size:.55rem;font-weight:700}.ranking-poke-img-wrapper{background-color:#ffffff08;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;position:relative}.ranking-poke-img{object-fit:contain;filter:drop-shadow(0 2px 6px #00000040);width:70px;height:70px}.ranking-poke-main-info{flex-direction:column;flex-grow:1;gap:6px;min-width:150px;display:flex}.poke-title-flex{align-items:baseline;gap:8px;display:flex}.poke-name{color:var(--text-primary);font-size:1.05rem;font-weight:800}.poke-dex-id{color:var(--text-muted);font-size:.75rem;font-weight:600}.poke-badges-flex{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.poke-types-row{gap:4px;display:flex}.status-tag{text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:.62rem;font-weight:850}.status-tag.shadow-tag{color:#c084fc;background-color:#a855f726;border:1px solid #a855f74d}.status-tag.mega-tag{color:#f472b6;background-color:#ec489926;border:1px solid #ec48994d}.status-tag.primal-tag{color:#fb923c;background-color:#f9731626;border:1px solid #f973164d}.status-tag.unreleased-tag{color:#f87171;background-color:#ef444426;border:1px solid #ef444459}.ranking-pokemon-row.unreleased-pokemon{opacity:.88;border-left:3px dashed #ef444499}.poke-sprite-badge-bottom-left{object-fit:contain;filter:drop-shadow(0 2px 6px #000000d9);z-index:4;pointer-events:none;width:28px;height:28px;position:absolute;bottom:-3px;left:-3px}.ranking-stats-col{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-wrap:wrap;flex:auto;align-items:center;gap:14px;padding:0 16px;display:flex}.stat-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.stat-label-icon{opacity:.85;display:flex}.stat-val{color:var(--text-secondary);font-size:.82rem}.stat-val strong{color:var(--text-primary)}.max-cp-item{border-top:none;margin-top:0;padding-top:0}.ranking-moveset-col{flex-direction:column;flex-shrink:0;gap:6px;width:240px;display:flex}.moveset-header-row{justify-content:space-between;align-items:center;display:flex}.moveset-header{color:var(--text-muted);font-size:.72rem;font-weight:700}.moveset-dps{color:var(--text-secondary);background-color:#a855f714;border:1px solid #a855f733;border-radius:6px;gap:3px;padding:1px 6px;font-size:.72rem;display:inline-flex}.moveset-dps strong{color:#c084fc;font-weight:900}.moves-box{background-color:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;font-size:.78rem;font-weight:700;display:flex}.fast-move{color:#22d3ee;align-items:center;gap:2px;display:inline-flex}.move-divider{color:var(--text-muted);align-self:flex-start;margin:-2px 0;font-size:.65rem}.charged-move{color:#c084fc;align-items:center;gap:2px;display:inline-flex}.move-type-icon{vertical-align:-1px;filter:drop-shadow(0 1px 1px #0006);width:12px;height:12px;margin-right:4px}.legacy-asterisk{color:#fbbf24;text-shadow:0 0 6px #fbbf2499;margin-left:2px;font-size:.85rem;font-weight:900}.poke-expanded-details-panel{width:100%;margin-top:4px;animation:.25s ease-out fadeIn}.expanded-divider{background:linear-gradient(90deg, transparent, var(--border-color), transparent);height:1px;margin-bottom:14px}.expanded-sections-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.movesets-top5-card,.counters-section-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.expanded-card-title{color:var(--text-primary);align-items:center;gap:6px;margin:0 0 4px;font-size:.85rem;font-weight:700;display:flex}.movesets-table{flex-direction:column;gap:6px;display:flex}.moveset-row-item{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:.76rem;display:flex}.moveset-row-item.best-moveset{background:#a855f71f;border-color:#a855f74d}.moveset-rank-index{color:var(--text-muted);font-size:.72rem;font-weight:800}.moveset-moves-pair{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.moveset-move{color:var(--text-primary);align-items:center;display:inline-flex}.moveset-plus{color:var(--text-muted);font-size:.65rem}.moveset-stats-badge{flex-direction:column;align-items:flex-end;font-size:.7rem;display:flex}.moveset-dps-val{color:#c084fc;font-weight:800}.moveset-pct{color:var(--text-muted);font-size:.65rem}.legacy-legend-hint{color:var(--text-muted);margin-top:4px;font-size:.68rem}.counter-types-box{flex-direction:column;gap:6px;display:flex}.counter-box-lbl{color:var(--text-muted);font-size:.72rem;font-weight:600}.counter-types-list{flex-wrap:wrap;gap:6px;display:flex}.counter-type-badge{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;display:inline-flex}.counter-type-badge.double-weakness{background:#ef444426;border-color:#ef444466}.weakness-mult{color:#f87171;font-size:.68rem;font-weight:800}.top-counters-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.counter-poke-item{background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.counter-poke-rank{color:var(--text-muted);font-size:.7rem;font-weight:800}.counter-poke-img{object-fit:contain;width:32px;height:32px}.counter-poke-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.counter-poke-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;overflow:hidden}.counter-poke-moves{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:2px;font-size:.66rem;display:flex;overflow:hidden}.counter-score-pill{color:#fbbf24;white-space:nowrap;background:#fbbf241a;border:1px solid #fbbf2440;border-radius:6px;padding:2px 6px;font-size:.7rem;font-weight:800}.poke-expand-hint-badge{color:#c084fc;white-space:nowrap;background:#a855f71f;border:1px solid #a855f74d;border-radius:20px;flex-shrink:0;align-self:flex-end;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.ranking-pokemon-row:hover .poke-expand-hint-badge{background:#a855f740;border-color:#a855f780;box-shadow:0 0 8px #a855f74d}@media (max-width:1400px){.ranking-pokemon-row{flex-wrap:wrap;gap:14px}.ranking-stats-col{border-left:none;border-right:none;flex:260px;width:auto;padding:0}.ranking-moveset-col{flex:240px;width:auto}}@media (max-width:1024px){.ranking-row-top-main{flex-wrap:wrap;gap:12px}.ranking-poke-img-wrapper{width:74px;height:74px}.ranking-poke-img{width:68px;height:68px}.poke-sprite-badge-bottom-left{width:26px;height:26px;bottom:-2px;left:-2px}}@media (max-width:768px){.rankings-header-card{padding:14px}.rankings-title-row{flex-direction:column;align-items:flex-start;gap:10px}.ranking-mode-selector-header{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%;margin-left:0}.mode-toggle-btn{flex:auto;justify-content:center;padding:6px 10px;font-size:.75rem}.types-filter-container{gap:6px 8px}.type-filter-btn{padding:6px 11px;font-size:.76rem}.filter-type-icon{width:14px;height:14px;margin-right:4px}.ranking-pokemon-row{gap:12px;padding:14px 12px}.ranking-row-top-main{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.ranking-rank-col{flex-direction:row;order:1;gap:4px;display:flex}.rank-badge{border-radius:8px;width:48px;padding:4px 3px}.rank-badge .rank-num{font-size:.95rem}.ranking-score-badge{border-radius:10px;order:2;width:48px;height:48px;padding:2px}.score-val{font-size:1.05rem}.ranking-poke-img-wrapper{background-color:#ffffff0a;order:3;width:70px;height:70px}.ranking-poke-img{width:64px;height:64px}.poke-sprite-badge-bottom-left{width:25px;height:25px;bottom:-2px;left:-2px}.ranking-poke-main-info{flex:160px;order:4;min-width:130px}.poke-name{font-size:1.02rem;font-weight:800}.ranking-stats-col{border:1px solid var(--border-color);background:#ffffff05;border-radius:10px;order:5;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;margin-top:2px;padding:8px 12px;display:grid}.ranking-moveset-col{order:6;width:100%}.moves-box{padding:8px 12px}.poke-expand-hint-badge{order:7;align-self:flex-end;margin-top:2px;padding:5px 12px;font-size:.72rem}.expanded-sections-grid{grid-template-columns:1fr;gap:12px}.movesets-top5-card,.counters-section-card,.dialgadex-metrics-card{padding:12px}.moveset-row-item{flex-wrap:wrap;gap:4px}}@media (max-width:480px){.ranking-pokemon-row{gap:10px;padding:12px 10px}.ranking-row-top-main{gap:8px}.rank-badge{width:44px;padding:3px 2px}.rank-badge .rank-num{font-size:.88rem}.rank-badge .rank-lbl{font-size:.4rem}.ranking-score-badge{width:44px;height:44px}.score-val{font-size:.98rem}.ranking-poke-img-wrapper{width:66px;height:66px}.ranking-poke-img{width:60px;height:60px}.poke-sprite-badge-bottom-left{width:23px;height:23px;bottom:-2px;left:-2px}.ranking-poke-main-info{min-width:110px}.poke-name{font-size:.95rem}.ranking-stats-col{grid-template-columns:repeat(2,1fr);gap:6px 10px;padding:6px 10px}.stat-val{font-size:.78rem}}@media (max-width:360px){.ranking-poke-img-wrapper{width:58px;height:58px}.ranking-poke-img{width:52px;height:52px}.poke-sprite-badge-bottom-left{width:20px;height:20px}.rank-badge{width:38px}.rank-badge .rank-num{font-size:.82rem}.ranking-score-badge{width:38px;height:38px}.score-val{font-size:.88rem}}body.light-mode .ranking-pokemon-row{background:#fff;border:1px solid #0f172a1f;box-shadow:0 4px 16px #0f172a0d}body.light-mode .ranking-pokemon-row.unreleased-pokemon{opacity:.92;border-left:3px dashed #ef4444}body.light-mode .status-tag.unreleased-tag{color:#b91c1c;background-color:#fee2e2;border-color:#fca5a5}body.light-mode .ranking-pokemon-row:hover{border-color:#9333ea;box-shadow:0 6px 20px #9333ea26}body.light-mode .rankings-header-card{background:#fff;border:1px solid #0f172a1f;box-shadow:0 4px 16px #0f172a0a}body.light-mode .poke-name{color:#0f172a;font-weight:800}body.light-mode .poke-dex-id{color:#334155;font-weight:700}body.light-mode .stat-val{color:#1e293b}body.light-mode .stat-val strong{color:#0f172a;font-weight:800}body.light-mode .moves-box{background:#fff!important;border:1px solid #0f172a24!important}body.light-mode .type-filter-btn{color:#0f172a!important;background:#fff!important;border:1px solid #0f172a26!important}body.light-mode .type-filter-btn:hover{color:#0f172a!important;background:#f8fafc!important}body.light-mode .moveset-header{font-weight:800;color:#1e293b!important}body.light-mode .moveset-dps{color:#7e22ce!important;background:#9333ea14!important;border:1px solid #9333ea4d!important}body.light-mode .fast-move{font-weight:800;color:#0284c7!important}body.light-mode .move-divider{color:#64748b!important}body.light-mode .charged-move{font-weight:800;color:#7e22ce!important}body.light-mode .moveset-row-item{color:#0f172a!important;background:#fff!important;border:1px solid #0f172a1f!important}body.light-mode .moveset-row-item.best-moveset{background:#faf5ff!important;border:1px solid #c084fc!important}body.light-mode .moveset-move{font-weight:700;color:#0f172a!important}body.light-mode .movesets-top5-card,body.light-mode .counters-section-card,body.light-mode .dialgadex-metrics-card{background:#fff!important;border:1px solid #0f172a1f!important;box-shadow:0 2px 10px #00000008!important}body.light-mode .expanded-card-title{font-weight:800;color:#0f172a!important}body.light-mode .counter-poke-item{background:#fff!important;border:1px solid #0f172a1f!important}body.light-mode .counter-type-badge{color:#0f172a!important;background:#fff!important;border:1px solid #0f172a26!important}body.light-mode .counter-poke-name{color:#0f172a;font-weight:800}body.light-mode .counter-poke-moves{color:#334155;font-weight:600}body.light-mode .dd-stat-box{background:#fff!important;border:1px solid #0f172a24!important}body.light-mode .dd-stat-value{font-weight:800;color:#0f172a!important}body.light-mode .dd-stat-label{font-weight:700;color:#334155!important}body.light-mode .poke-expand-hint-badge{color:#7e22ce;background:#faf5ff;border:1px solid #c084fc;font-weight:800}body.light-mode .mode-toggle-btn{color:#1e293b;background:#fff;border:1px solid #0f172a26}body.light-mode .mode-toggle-btn.active{color:#7e22ce;background:#faf5ff;border-color:#9333ea;box-shadow:0 2px 8px #9333ea26}.admin-login-container{justify-content:center;align-items:center;min-height:70vh;padding:20px;display:flex}
