/* leaderboard-inline.css - Styles critiques et utilitaires */
/* Note: Styles des colonnes/tableaux dans leaderboard.css uniquement */

/* Boutons */
.btn{padding:var(--btn-padding-desktop);border-radius:var(--btn-radius-desktop);font-size:var(--btn-font-desktop);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s cubic-bezier(0.34,1.56,0.64,1),background 0.3s ease,opacity 0.3s ease;border:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:120px;font-family:var(--font-family);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.btn:disabled{opacity:0.6;cursor:not-allowed}
.btn-primary{background:var(--gradient-primary);color:white;box-shadow:var(--shadow-primary)}
.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8 0%,#6b46a3 100%);transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,0.4)}
.btn-secondary{background:var(--gradient-secondary);color:white;box-shadow:0 4px 12px rgba(107,114,128,0.3)}
.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#6b7280);transform:translateY(-2px);box-shadow:0 6px 16px rgba(75,85,99,0.4)}
.btn:active{transform:scale(0.98)}

.nav-btn{background:transparent;border:2px solid #d1d5db;font-size:var(--header-font-desktop);font-weight:var(--font-weight-semibold);color:#374151;cursor:pointer;padding:10px 20px;border-radius:6px;transition:transform 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease,box-shadow 0.2s ease;text-decoration:none;font-family:var(--font-family);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.nav-btn:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#1f2937;transform:translateY(-1px)}
.nav-btn.active{background:var(--gradient-primary);color:white;border-color:transparent}

/* Utilitaires */
.hidden{display:none}
.block{display:block}
.show{display:block}
.disabled{opacity:0.6;pointer-events:none}

/* Focus */
*:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
.btn:focus-visible,.nav-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Skip link */
.skip-link{position:fixed;top:8px;left:8px;background:#000;color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:10000;transform:translateY(-200%);opacity:0;transition:transform 0.2s ease,opacity 0.2s ease;font-family:Inter}
.skip-link:focus{transform:translateY(0);opacity:1}

/* Screen reader */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Table header */
.col-header-text{font-size:32px!important;font-weight:800!important;padding:16px!important;text-align:center!important;color:#363636!important}
.find-rank-btn{font-size:14px!important;padding:12px 20px!important;min-width:140px!important}
.col-header-text,.lb-table{font-family:var(--font-family);font-display:swap}

input,textarea,[contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;caret-color:var(--primary);font-family:Inter}

/* Layout critiques */
#main-content{contain:layout style paint;content-visibility:auto;transform:translateZ(0);will-change:auto}
#lb-body{min-height:500px!important;contain:layout;will-change:contents}
.leaderboard-container{contain:layout;padding-top:20px;transform:translateZ(0)}
.lb-table-wrap{min-height:600px!important;contain:layout;height:auto;transform:translateZ(0)}
.lb-table thead{background:#fff}
.lb-pagination{height:64px!important;min-height:64px!important;max-height:64px!important}

/* Skeleton */
.skeleton-row{animation:pulse-skeleton 1.5s ease-in-out infinite alternate;contain:layout style paint}
body.page-ready #lb-body .skeleton-row{display:none!important}
@keyframes pulse-skeleton{0%{opacity:.6}100%{opacity:1}}

@media (prefers-reduced-motion:reduce){.btn,.nav-btn,.skip-link{transition:none}}

/* RTL Support */
.rtl-language .leaderboard-container,
.rtl-language #main-content,
.rtl-language .lb-header-container,
.rtl-language .lb-table-wrap,
.rtl-language .lb-table,
.rtl-language .lb-pagination{direction:ltr;text-align:left}
.rtl-language .lb-table th,
.rtl-language .lb-table td{text-align:left}
.rtl-language .col-rank{text-align:center}
.rtl-language .country-search-container,
.rtl-language .search-group{direction:ltr}
.rtl-language .search-group input{text-align:left}
