.leaderboard-page{min-height:calc(100vh - 80px);padding:var(--spacing-8) var(--spacing-4);background:var(--color-gray-50)}.leaderboard-container{max-width:900px;margin:0 auto}.leaderboard-header{text-align:center;margin-bottom:var(--spacing-8)}.leaderboard-header h1{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-gray-900);margin:0 0 var(--spacing-2);display:flex;align-items:center;justify-content:center;gap:var(--spacing-3)}.trophy-icon{font-size:var(--text-4xl)}.leaderboard-header p{color:var(--color-gray-500);margin:0;font-size:var(--text-lg)}.test-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-6);padding:var(--spacing-2);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.test-tab{padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-gray-500);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.test-tab:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.test-tab.active{background:var(--gradient-primary);color:var(--color-white);font-weight:var(--font-semibold)}.filters{gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.filter-group,.filters{display:flex;flex-direction:column}.filter-group{gap:var(--spacing-2)}.filter-group label{font-size:var(--text-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold)}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.filter-btn{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--gradient-primary);border-color:transparent;color:var(--color-white);font-weight:var(--font-medium)}.country-filters{align-items:center}.country-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);font-size:var(--text-sm);cursor:pointer}.country-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(6,182,212,.1)}.country-banner{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--gradient-subtle);border:1px solid rgba(6,182,212,.2);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6)}.country-banner-flag{font-size:var(--text-3xl)}.country-banner-name{font-size:var(--text-xl);color:var(--color-primary-dark);font-weight:var(--font-semibold)}.empty-state,.error-state,.loading-state{text-align:center;padding:var(--spacing-16) var(--spacing-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-4);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state p,.error-state p,.loading-state p{color:var(--color-gray-500);margin:0}.empty-icon,.error-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-4)}.error-state button{margin-top:var(--spacing-4);padding:var(--spacing-2) var(--spacing-6);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;color:var(--color-primary);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.error-state button:hover{background:var(--color-primary);color:var(--color-white)}.empty-hint{color:var(--color-gray-400)!important;font-size:var(--text-sm);margin-top:var(--spacing-2)!important}.leaderboard-info{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--color-gray-200);border-bottom:none}.total-count{color:var(--color-gray-500)}.test-info,.total-count{font-size:var(--text-sm)}.test-info{color:var(--color-primary);font-weight:var(--font-semibold)}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200);border-top:none}.leaderboard-table th{padding:var(--spacing-4);text-align:left;color:var(--color-gray-500);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.leaderboard-table td{padding:var(--spacing-3) var(--spacing-4);color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-100)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tbody tr{transition:background var(--transition-fast)}.leaderboard-table tbody tr:hover{background:var(--color-gray-50)}.leaderboard-table tr.top-1{background:linear-gradient(90deg,rgba(255,215,0,.15),rgba(255,215,0,.05))}.leaderboard-table tr.top-1:hover{background:linear-gradient(90deg,rgba(255,215,0,.2),rgba(255,215,0,.1))}.leaderboard-table tr.top-2{background:linear-gradient(90deg,rgba(192,192,192,.15),rgba(192,192,192,.05))}.leaderboard-table tr.top-2:hover{background:linear-gradient(90deg,rgba(192,192,192,.2),rgba(192,192,192,.1))}.leaderboard-table tr.top-3{background:linear-gradient(90deg,rgba(205,127,50,.15),rgba(205,127,50,.05))}.leaderboard-table tr.top-3:hover{background:linear-gradient(90deg,rgba(205,127,50,.2),rgba(205,127,50,.1))}.col-rank{width:60px;font-weight:var(--font-semibold);color:var(--color-gray-900)}.col-flag{width:40px;font-size:var(--text-xl)}.col-player{font-weight:var(--font-semibold);letter-spacing:1px;color:var(--color-gray-900)}.col-score{width:120px}.score-value{font-weight:var(--font-bold);color:var(--color-primary);margin-right:var(--spacing-1)}.col-date,.score-unit{color:var(--color-gray-400);font-size:var(--text-sm)}.col-date{width:100px}.medal{font-size:var(--text-xl)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-6);margin-top:var(--spacing-6);padding:var(--spacing-4)}.page-btn{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--color-gray-500);font-size:var(--text-sm)}@media (max-width:640px){.leaderboard-page{padding:var(--spacing-4) var(--spacing-3)}.leaderboard-header h1{font-size:var(--text-2xl)}.trophy-icon{font-size:var(--text-3xl)}.test-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding:var(--spacing-2)}.test-tab{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs)}.leaderboard-table td,.leaderboard-table th{padding:var(--spacing-3) var(--spacing-2);font-size:var(--text-sm)}.col-date{display:none}.col-rank{width:50px}.filter-buttons{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--spacing-2)}.pagination{gap:var(--spacing-3)}.page-btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs)}}