*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Courier New',monospace;background:#0a0e1a;color:#dcdcdc;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-card{width:100%;max-width:440px;background:#141928;border:1px solid #253050;border-radius:10px;padding:2.5rem 2rem;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.auth-logo{text-align:center;margin-bottom:2rem}
.auth-logo span{font-size:2rem;display:block;margin-bottom:.5rem}
.auth-logo h1{color:#45e51a;font-size:1.05rem;letter-spacing:.1em;font-weight:600}
.auth-logo p{color:#3f95ff;font-size:.88rem;margin-top:.25rem}
.auth-error{background:rgba(255,75,75,.12);border:1px solid #ff4b4b;border-radius:6px;padding:.75rem 1rem;margin-bottom:1.5rem;color:#ff8080;font-size:.85rem}
.auth-info{background:rgba(0,170,255,.08);border:1px solid #253050;border-radius:6px;padding:.75rem 1rem;margin-bottom:1.5rem;color:#708aaa;font-size:.82rem;line-height:1.5}
.auth-field{margin-bottom:1.25rem}
.auth-field label{display:block;color:#ffffff;font-size:.78rem;letter-spacing:.06em;margin-bottom:.4rem}
.auth-field input{width:100%;background:#0a0e1a;border:1px solid #253050;border-radius:6px;padding:.65rem .85rem;color:#dcdcdc;font-family:inherit;font-size:.9rem;transition:border-color .15s}
.auth-field input:focus{outline:none;border-color:#a0d4f0}
.auth-hint{color:#c1defa;font-size:.72rem;margin-top:.35rem;line-height:1.4}
.auth-rgpd{margin-bottom:1.5rem;padding:.75rem 1rem;background:rgba(0,170,255,.06);border:1px solid #253050;border-radius:6px;font-size:.78rem;color:#edf5ff;line-height:1.5}
.auth-rgpd a{color:#00a6ff;text-decoration:none}
.auth-mineurs{margin-bottom:1.5rem;padding:.75rem 1rem;background:rgba(255,165,0,.05);border:1px solid #3a2a10;border-radius:6px;font-size:.75rem;color:#c0a060;line-height:1.5}
.auth-submit{width:100%;background:#173b79;border:1px solid #a0d4f0;border-radius:6px;padding:.75rem;color:#e8e8e8;font-family:inherit;font-size:.9rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:background .15s;margin-top:.5rem}
.auth-submit:hover{background:#2a4a5a}
.auth-links{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #253050;text-align:center}
.auth-links a{color:#e4ebf5;text-decoration:none;font-size:.82rem}
.auth-links a:hover{color:#a0d4f0}
@media(max-width:480px){.auth-card{padding:2rem 1.25rem}}
.auth-label-hint{color:#acd6ff}
/* ── INSCR-SUCCES-01 : page succès inscription ───────────────────────────────*/
/* Card élargie pour afficher la phrase sans overflow horizontal. */
.auth-card--recovery{max-width:540px}
/* Barre supérieure : titre à gauche, bouton langue à droite. */
.recovery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}
.recovery-header h1{color:#45e51a;font-size:1rem;letter-spacing:.08em;font-weight:600;flex:1;min-width:0}
/* Bouton toggle langue — discret, coin supérieur droit. */
.lang-toggle{background:transparent;border:1px solid #253050;border-radius:4px;color:#708aaa;font-family:inherit;font-size:.72rem;padding:.25rem .55rem;cursor:pointer;letter-spacing:.06em;flex-shrink:0;transition:border-color .15s,color .15s}
.lang-toggle:hover{border-color:#a0d4f0;color:#a0d4f0}
/* Bandeau avertissement — amber distinct du rouge d'erreur. */
.recovery-alerte{background:rgba(255,180,0,.08);border:1px solid #c8900a;border-radius:6px;padding:.75rem 1rem;margin-bottom:1.25rem;color:#f0b030;font-size:.83rem;line-height:1.5}
/* Zone phrase de récupération. */
.recovery-phrase-bloc{background:#0a0e1a;border:1px solid #2a4060;border-radius:8px;padding:1.1rem 1rem;margin-bottom:1rem;position:relative}
/* La phrase elle-même — monospace, lisible, sélectionnable. */
#recovery-phrase{display:block;color:#a0ffa0;font-family:'Courier New',monospace;font-size:.88rem;line-height:1.7;word-break:break-word;user-select:all;-webkit-user-select:all}
/* Ligne d'actions sous la phrase. */
.recovery-actions{display:flex;gap:.65rem;margin-top:.9rem;align-items:center;flex-wrap:wrap}
/* Bouton copier. */
.copy-btn{background:#1a2e3a;border:1px solid #3a6080;border-radius:5px;color:#a0d4f0;font-family:inherit;font-size:.8rem;padding:.4rem .9rem;cursor:pointer;transition:background .15s,border-color .15s;letter-spacing:.04em;white-space:nowrap}
.copy-btn:hover{background:#2a4a5a;border-color:#a0d4f0}
.copy-btn--ok{background:rgba(69,229,26,.12);border-color:#45e51a;color:#45e51a}
.copy-btn--err{background:rgba(255,75,75,.1);border-color:#ff4b4b;color:#ff8080}
/* Hint explicatif sous la phrase. */
.recovery-hint{color:#708aaa;font-size:.75rem;line-height:1.5;margin-bottom:1.5rem}
/* Séparateur. */
.recovery-sep{border:none;border-top:1px solid #253050;margin:1.25rem 0}
/* Zone confirmation. */
.recovery-confirm{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;background:rgba(0,170,255,.05);border:1px solid #253050;border-radius:6px;margin-bottom:1.25rem;cursor:pointer}
.recovery-confirm input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:#45e51a;cursor:pointer;flex-shrink:0;margin-top:.1rem}
.recovery-confirm label{color:#c0d4e8;font-size:.82rem;line-height:1.5;cursor:pointer}
/* Bouton connexion — désactivé tant que checkbox non cochée. */
.connect-btn{display:block;width:100%;background:#1a3a4a;border:1px solid #a0d4f0;border-radius:6px;padding:.8rem;color:#e8e8e8;font-family:inherit;font-size:.9rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:background .15s,opacity .15s;text-align:center;text-decoration:none}
.connect-btn:hover:not(:disabled){background:#2a4a5a}
.connect-btn:disabled,.connect-btn--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
@media(max-width:480px){
  .auth-card--recovery{padding:1.75rem 1.1rem}
  .recovery-header{flex-direction:column;align-items:flex-start;gap:.5rem}
  #recovery-phrase{font-size:.8rem}
  .recovery-actions{flex-direction:column;align-items:flex-start}
  .copy-btn{width:100%;text-align:center}
}
/* ─── LANG-PUBLIC-01 : sélecteur FR/EN pages publiques ────────────────────── */
.pub-lang-selector{display:flex;gap:.5rem;align-items:center}
.pub-lang-btn{background:transparent;border:1px solid #1a2f4a;color:#8a9bb0;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;cursor:pointer;font-family:'JetBrains Mono','Courier New',monospace;letter-spacing:.05em;transition:border-color .15s,color .15s}
.pub-lang-btn:hover{border-color:#00d4ff;color:#00d4ff}
.pub-lang-btn--active{border-color:#39ff14;color:#39ff14;font-weight:600;pointer-events:none}
@media(max-width:480px){.pub-lang-selector{gap:.3rem}}
