  /* ---- Porte d'entrée : bouton « Entrer » -> fenêtre de connexion (même principe que sayna) ---- */
  dialog.porte {
    background: #0d1424; color: #e6edf7; border: 1px solid #24324f; border-radius: 16px;
    width: min(92vw, 380px); padding: 28px 26px 22px; margin: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(242, 184, 75, .06), 0 0 80px rgba(77, 163, 255, .10);
    font: 16px/1.45 system-ui, "Segoe UI", Roboto, sans-serif;
  }
  dialog.porte::backdrop { background: rgba(3, 6, 12, .78); backdrop-filter: blur(4px); }
  dialog.porte h2 { margin: 0 0 4px; text-align: center; font-size: 24px; font-weight: 800; letter-spacing: .16em; padding-left: .16em; color: #fff; }
  dialog.porte p.sous { margin: 0 0 18px; text-align: center; color: #8a9bb8; font-size: 14px; }
  dialog.porte label { display: block; font-size: 13px; color: #a9b8d0; margin: 12px 0 5px; letter-spacing: .02em; }
  dialog.porte input {
    width: 100%; box-sizing: border-box; background: #070b14; color: #fff; border: 1px solid #24324f; border-radius: 9px;
    padding: 11px 12px; font: inherit; outline: none;
  }
  dialog.porte input:focus { border-color: #f2b84b; box-shadow: 0 0 0 3px rgba(242, 184, 75, .18); }
  dialog.porte button.valider {
    width: 100%; margin-top: 18px; padding: 12px; border: 0; border-radius: 9px; cursor: pointer; font: inherit; font-weight: 700; letter-spacing: .06em;
    color: #1a1204; background: linear-gradient(#f6c96a, #e0a032); box-shadow: 0 6px 24px rgba(242, 184, 75, .25);
  }
  dialog.porte button.valider:disabled { opacity: .6; cursor: progress; }
  dialog.porte .erreur { color: #ff8a95; font-size: 14px; min-height: 1.3em; margin: 10px 0 0; text-align: center; }
  dialog.porte .liens { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; font-size: 13px; }
  dialog.porte .liens button { background: none; border: 0; padding: 0; color: #8a9bb8; cursor: pointer; font: inherit; font-size: 13px; text-decoration: underline; }
  dialog.porte .liens button:hover { color: #f2b84b; }
  dialog.porte form[hidden] { display: none; }
