/* T'ES-TU GAME? — V1.13.5.3 — Finition UX/UI finale
   Couche volontairement légère : lisibilité, contraste, zones tactiles et cohérence.
   Aucun changement de logique métier. */

:root{
  --ux-text:#eef5f8;
  --ux-muted:#b2c5cf;
  --ux-muted-soft:#96adba;
  --ux-focus:#24c8f2;
}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--ux-focus);
  outline-offset:3px;
}

/* ACCUEIL */
.preseason-beta-banner p,
.split-match-heading p,
.guest-game-copy>p:not(.guest-game-kicker),
.guest-question-empty,
.ranking-pregame-note span,
.exploit-copy p,
.league-copy p,
.question-context,
.exploit-empty p{
  color:var(--ux-muted);
  font-size:14px;
  line-height:1.65;
}
.match-call-copy span,.my-game-stat small{font-size:12px;line-height:1.5}
.brand-strip .strip-feature span{font-size:13px;line-height:1.55;color:#b7c9d2}
.panel-head-action,.rank-name-link,.rank-row strong{font-size:13px}

/* PROFIL */
.profile-subline,.hero-rank small,.stat-note,.season-note,.empty-copy,
.recent-game span,.recent-metric span,.field small,.avatar-choice-copy small,
.league-chip span,.profile-exploit-copy p,.profile-collection-label,.session-meta span{
  color:var(--ux-muted-soft);
  font-size:11px;
  line-height:1.5;
}
.profile-alert{font-size:12px;line-height:1.55}
.stat-label,.panel-kicker,.field label{font-size:10px}
.level-pill,.role-pill,.level-current span,.next-level-title,.requirement{font-size:11px;line-height:1.4}
.league-chip strong,.recent-game strong,.avatar-choice-copy strong{font-size:12px;line-height:1.35}
.panel-link{font-size:11px}
.profile-button{min-height:44px;font-size:11px}

/* MINI-LIGUES */
.ml-hero p:last-child,.action-card>p:not(.ml-kicker),.management-copy span,
.share-copy,.empty-state p,.detail-empty p,.league-pregame-note span{
  color:var(--ux-muted);
  font-size:14px;
  line-height:1.65;
}
.league-title-row>div>p:last-child,.share-note{font-size:13px;line-height:1.6;color:var(--ux-muted-soft)}
.league-list-item span:not(.list-arrow),.player-copy>span,.metric span{font-size:11px;line-height:1.45}
.ml-form label,.rename-form label,.invite-box>span,.standings-head{font-size:11px}
.player strong,.league-list-item strong{font-size:13px}
.form-row button,.invite-box button,.management-form-row button,.danger-button,.member-action,.share-choice{min-height:42px}

/* BADGES */
.badge-hero-copy p:last-child,.badge-empty p,.badge-footnote{color:var(--ux-muted);font-size:13px;line-height:1.65}
.badge-summary article>small,.badge-card-copy p{font-size:12px;line-height:1.55;color:var(--ux-muted-soft)}
.badge-progress-row>span,.badge-card-status span,.badge-card-status strong,.badge-tier,.badge-major{font-size:10px;line-height:1.4}
.badge-collection-head>span{font-size:12px}
.badge-hero-actions a{min-height:42px;display:inline-grid;place-items:center}

/* EXPLOITS */
.exploit-hero-copy p:not(.exploit-kicker),.exploit-history-empty p,.exploit-footnote{
  color:var(--ux-muted);font-size:13px;line-height:1.65
}
.exploit-summary span,.exploit-summary small,.exploit-history-head>span{font-size:11px;line-height:1.45}
.exploit-history-copy strong{font-size:13px;line-height:1.35}
.exploit-history-copy p{font-size:12px;line-height:1.6;color:var(--ux-muted)}
.exploit-history-copy span,.exploit-history-points span{font-size:10px;line-height:1.45;color:var(--ux-muted-soft)}
.exploit-badges,.exploit-back,.exploit-history-empty a{min-height:42px;display:inline-grid;place-items:center;font-size:11px}

/* CLASSEMENT */
.cl-hero p:last-child,.cl-pregame p,.cl-empty p{font-size:14px;line-height:1.65;color:var(--ux-muted)}
.cl-head{font-size:11px}
.cl-player strong{font-size:14px}
.cl-player small,.cl-metric span{font-size:11px;line-height:1.45;color:var(--ux-muted-soft)}
.cl-level{font-size:12px}
.cl-actions a{min-height:44px;display:inline-grid;place-items:center;font-size:11px}

/* PROFIL PUBLIC */
.jp-username,.jp-member-since,.jp-highlight-row span,.jp-rank-card span,.jp-rank-card small,
.jp-stats span,.jp-stats small,.jp-card-head>span,.jp-badge small,.jp-exploit small,.jp-empty{
  color:var(--ux-muted-soft);
  font-size:12px;
  line-height:1.5;
}
.jp-badge strong,.jp-exploit strong{font-size:13px;line-height:1.4}
.jp-actions a,.jp-not-found a{min-height:44px;display:inline-grid;place-items:center;font-size:11px}

/* AUTHENTIFICATION */
.auth-lead{font-size:14px;line-height:1.65;color:var(--ux-muted)}
.field small,.danger-note,.dev-note,.auth-links,.account-meta{font-size:12px;line-height:1.55}
.notice,.error,.success{font-size:13px;line-height:1.55}
.btn,.btn-link{min-height:50px}

/* ONBOARDING + PWA */
.onboarding-intro,.onboarding-speech p{font-size:14px;line-height:1.65}
.onboarding-step p{font-size:12px;line-height:1.6}
.onboarding-once{font-size:10px}
.pwa-install-eyebrow{font-size:10px}
.pwa-install-copy p,.pwa-install-help{font-size:11px;line-height:1.5}
.pwa-install-primary,.pwa-install-later{min-height:36px;font-size:10px}

@media(max-width:700px){
  .preseason-beta-banner p,.split-match-heading p,.guest-game-copy>p:not(.guest-game-kicker),
  .guest-question-empty,.ranking-pregame-note span,.exploit-copy p,.league-copy p,
  .question-context,.exploit-empty p{font-size:13px;line-height:1.6}

  .profile-subline,.hero-rank small,.stat-note,.season-note,.empty-copy,
  .recent-game span,.recent-metric span,.field small,.avatar-choice-copy small,
  .league-chip span,.profile-exploit-copy p,.profile-collection-label,.session-meta span{font-size:11px}

  .ml-hero p:last-child,.action-card>p:not(.ml-kicker),.management-copy span,
  .share-copy,.empty-state p,.detail-empty p{font-size:13px}
  .league-title-row>div>p:last-child,.share-note{font-size:12px}

  .badge-hero-copy p:last-child,.badge-empty p,.badge-footnote{font-size:12px}
  .badge-card-copy p{font-size:12px}

  .exploit-hero-copy p:not(.exploit-kicker),.exploit-history-empty p,.exploit-footnote{font-size:12px}
  .exploit-history-copy p{font-size:12px}

  .cl-hero p:last-child,.cl-pregame p,.cl-empty p{font-size:13px}
  .cl-player strong{font-size:13px}
  .cl-player small,.cl-metric span{font-size:10px}

  .jp-username,.jp-member-since,.jp-highlight-row span,.jp-rank-card span,.jp-rank-card small,
  .jp-stats span,.jp-stats small,.jp-card-head>span,.jp-badge small,.jp-exploit small,.jp-empty{font-size:11px}

  .onboarding-intro,.onboarding-speech p{font-size:13px}
  .onboarding-step p{font-size:12px}
  .pwa-install-copy p,.pwa-install-help{font-size:11px}

  .profile-button,.form-row button,.management-form-row button,.danger-button,.member-action,
  .share-choice,.cl-actions a,.jp-actions a,.exploit-badges,.exploit-back{min-height:44px}
}

@media(max-width:390px){
  .profile-subline,.stat-note,.season-note,.empty-copy,.field small,.league-chip span{font-size:10.5px}
  .onboarding-intro,.onboarding-speech p,.onboarding-step p{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
}
