.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1.5rem;gap:1rem;flex-wrap:wrap}.category-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.category-tab{padding:.6rem 1.2rem;background:var(--dark);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:var(--light);cursor:pointer;transition:all .2s;font-size:.9rem}.category-tab:hover{border-color:var(--accent);background:hsla(0,100%,71%,.1)}.category-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.time-filter select{padding:.6rem 1rem;background:var(--dark);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:var(--light);cursor:pointer;font-size:.9rem}.time-filter select:hover{border-color:var(--accent)}.leaderboard-table{display:flex;flex-direction:column;gap:.8rem}.leaderboard-entry{display:flex;align-items:center;gap:1rem;padding:1rem;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;transition:all .2s}.leaderboard-entry:hover{background:hsla(0,0%,100%,.05);border-color:hsla(0,100%,71%,.3);transform:translateX(4px)}.rank-badge{min-width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.05);border-radius:10px;font-weight:700;font-size:1.1rem}.rank-badge.gold{background:linear-gradient(135deg,gold,#ffed4e);color:#000;box-shadow:0 4px 15px rgba(255,215,0,.4)}.rank-badge.silver{background:linear-gradient(135deg,silver,#e8e8e8);color:#000;box-shadow:0 4px 15px hsla(0,0%,75%,.4)}.rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,#d4a574);color:#000;box-shadow:0 4px 15px rgba(205,127,50,.4)}.entry-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;border:2px solid hsla(0,100%,71%,.3);flex-shrink:0}.entry-avatar img{width:100%;height:100%;object-fit:cover}.emoji-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--dark)}.entry-info{flex:1 1;min-width:0}.entry-name{font-size:1.1rem;font-weight:600;color:var(--light);text-decoration:none;display:block;margin-bottom:.2rem}.entry-name:hover{color:var(--accent)}.entry-username{font-size:.85rem;color:#888}.entry-score{text-align:right;min-width:100px}.score-main{font-size:1.5rem;font-weight:700;color:var(--accent)}.score-sub{font-size:.8rem;color:#888;margin-top:.2rem}.meme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem}.meme-card{position:relative;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);border-radius:12px;overflow:hidden;transition:all .3s;text-decoration:none;color:var(--light)}.meme-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 25px hsla(0,100%,71%,.3)}.meme-card .rank-badge{position:absolute;top:10px;left:10px;z-index:10;width:45px;height:45px;min-width:unset}.meme-image{width:100%;height:280px;object-fit:cover;display:block}.meme-info{padding:1rem}.meme-score{font-size:1.2rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}.meme-caption{font-size:.9rem;margin-bottom:.8rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.meme-meta{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:#888}.meme-meta a{color:var(--accent);text-decoration:none}.meme-meta a:hover{text-decoration:underline}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid hsla(0,0%,100%,.05)}.page-info{font-size:.9rem;color:#888;min-width:120px;text-align:center}.pagination .btn:disabled{opacity:.3;cursor:not-allowed}.empty-state,.loading{text-align:center;padding:3rem 1rem;color:#888;font-size:1rem}@media (max-width:768px){.leaderboard-header{flex-direction:column;align-items:stretch}.category-tabs{justify-content:center}.time-filter,.time-filter select{width:100%}.leaderboard-entry{gap:.7rem;padding:.8rem}.rank-badge{min-width:40px;height:40px;font-size:.9rem}.entry-avatar{width:40px;height:40px}.entry-name{font-size:1rem}.score-main{font-size:1.2rem}.entry-score{min-width:80px}.meme-grid{grid-template-columns:1fr}.pagination{flex-direction:column;gap:.8rem}.pagination .btn{width:100%}}