/* RH43 — pages Connexion et Inscription */
.auth{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-block:var(--space-2) var(--space-8)}
.auth-box{width:100%;max-width:26rem;display:flex;flex-direction:column;gap:var(--space-4)}
.auth-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;margin-bottom:var(--space-2)}
.auth-head h1{margin:0;font-family:var(--font-display);font-weight:400;line-height:1;font-size:clamp(2rem,6vw,3rem)}

/* Boutons Discord / Roblox */
.providers{display:flex;flex-direction:column;gap:var(--space-3)}
.provider{justify-content:center;width:100%;padding-inline:1rem;background:rgba(255,255,255,.6)}

.or{display:flex;align-items:center;gap:var(--space-3);color:var(--ink-soft);font-size:.85rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:#c9d2d6}

/* Formulaire */
.form{display:flex;flex-direction:column;gap:var(--space-3)}
.field{display:flex;flex-direction:column;gap:.35rem}
.field label{font-size:.9rem;font-weight:500;padding-left:1.1rem}
.input-wrap{position:relative}
.field input{width:100%;min-height:48px;padding:.6rem 1.2rem;border:1.5px solid #b3c0c6;border-radius:var(--radius-pill);background:rgba(255,255,255,.75);color:var(--ink);font:400 1rem/1.2 var(--font-sans);transition:border-color .2s,box-shadow .2s}
.field input::placeholder{color:#7a868d}
.field input:hover{border-color:var(--ink-soft)}
.field input:focus{outline:none;border-color:var(--rh);box-shadow:0 0 0 3px rgba(49,74,86,.2)}
.field input[aria-invalid="true"]{border-color:#b3261e}
.input-wrap input{padding-right:6.5rem}
.reveal{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);min-height:36px;padding:.3rem .9rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--rh);font:500 .85rem/1 var(--font-sans);cursor:pointer}
.reveal:hover{background:var(--rh-tint)}
.field label .hint{font-weight:400;font-size:.8rem;color:var(--ink-soft);margin-left:.4rem}
.error{margin:0;padding-left:1.1rem;font-size:.85rem;color:#b3261e}
.submit{justify-content:center;width:100%;margin-top:var(--space-2)}
.status{margin:0;padding:.7rem 1.1rem;border-radius:18px;background:var(--rh-tint);color:var(--rh-deep);font-size:.9rem;text-align:center}

.switch{margin:0;text-align:center;font-size:.95rem;color:var(--ink-soft)}
.switch a{color:var(--ink);font-weight:500;text-underline-offset:3px}
.row-link{display:flex;justify-content:flex-end;margin-top:-.25rem}
.row-link a{font-size:.85rem;color:var(--ink-soft);text-underline-offset:3px}

@media (max-width:560px),(max-height:860px){
  .auth-box{gap:var(--space-3)}
  .providers{gap:.6rem}
  .auth-head h1{font-size:clamp(2rem,6vw,2.6rem)}
  .auth-head{margin-bottom:0}
  .field input,.provider,.submit{min-height:44px}
  .form{gap:.6rem}
}
@media (prefers-reduced-motion:reduce){.field input{transition:none}}

/* Titres longs (Nouveau mot de passe, pages de message) : une ligne par <span>,
   taille calée sur la ligne la plus large (≈ 8,2em en Boxing) pour tenir sur téléphone. */
.auth-head h1.is-long{font-size:min(3rem,calc((100vw - 2.5rem) / 8.6));line-height:1.02}
.auth-head h1.is-long span{display:block}
.auth-lede{margin:0;max-width:24rem;color:var(--ink-soft);text-wrap:pretty}
.auth-account{margin:0;font-size:.85rem;color:var(--ink-soft)}
.auth-account strong{color:var(--ink);font-weight:500}
/* Pages de message : bouton masqué pendant l'envoi automatique (Déconnexion) */
.is-auto .submit{visibility:hidden}
@media (max-width:560px),(max-height:860px){.auth-lede{font-size:.95rem;line-height:1.5}}
/* Inscription : mention des conditions sous les boutons (ajout hors maquette) */
.auth-account.legal{text-align:center;text-wrap:pretty}
.auth-account.legal a{color:inherit;text-underline-offset:3px}
/* Dernier moyen de connexion utilisé sur cet appareil (assets/js/compte.js ; ajout RH43, hors
   maquette) : pastille posée sur le bord du bouton, ou à côté de « ou avec un identifiant ». */
.provider{position:relative}
.last-used{padding:.12rem .55rem;border-radius:var(--radius-pill);background:var(--rh);color:var(--on-rh);font:600 .62rem/1.3 var(--font-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.provider .last-used{position:absolute;top:0;right:1.1rem;transform:translateY(-50%);pointer-events:none}
.last-used-hint{text-align:center;color:var(--ink)}
/* Fournisseur en pause (ex. Roblox en cours de validation) : bouton grisé, non cliquable. */
.pill.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.pill.is-disabled:hover{background:transparent;color:var(--ink)}
.provider.is-disabled{position:relative;opacity:.6}
.provider .soon{position:absolute;top:0;right:1.1rem;transform:translateY(-50%);padding:.12rem .55rem;border-radius:var(--radius-pill);background:var(--rh-tint);color:var(--rh-deep);font:600 .62rem/1.3 var(--font-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
