/* styles de la page de connexion (dérivés de landing.css) */
body.auth-body{
  --bg:#07070c;--bg-elevated:#10101a;--bg-soft:#151523;
  --text:#f2f2f6;--text-muted:#9598ad;
  --accent:#8c96ff;--accent-2:#6b74e0;--accent-deep:#4d57b3;--accent-light:#c3c9ff;
  --accent-soft:#8c96ff1f;--accent-glow:#8c96ff47;
  --line:#ffffff14;
  --font-display:"Outfit",system-ui,sans-serif;--font-body:"Outfit",system-ui,sans-serif;
  --radius:12px;--max:1140px;
  color:var(--text);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased
}
:root{--ease:cubic-bezier(.25,.1,.35,1)}
/* langue */
.lang-select{z-index:60;position:relative}
.lang-select select{white-space:nowrap;border-radius:12px;min-height:42px;padding:.5rem .95rem;font-size:.9rem;font-weight:500;color:#fff;background:#0000;border:1px solid #ffffff29;transition:border-color .2s,background .2s;font-family:inherit;width:auto;appearance:auto}
.lang-select select:hover{background:#ffffff0a;border-color:#ffffff47}
.lang-select option{background:#15151d;color:#fff}

/* ===== connexion / inscription (deux volets) ===== */
.auth-page{color:#0a0a0a;background:#f4f5f7;grid-template-columns:1fr 1fr;min-height:100dvh;display:grid;overflow:hidden;font-family:var(--font-body)}
.auth-page__main{z-index:2;background:#f4f5f7;flex-direction:column;order:1;min-height:100dvh;max-height:100dvh;padding:1.5rem 1.75rem 1.25rem;display:flex;position:relative;overflow:auto}
.auth-page__top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}
.auth-page__back{color:#6b7280;font-size:.88rem;font-weight:500}.auth-page__back:hover{color:#0a0a0a}
.auth-page__top .lang-select select{color:#22222c;background:#fff;border:1px solid #d8d8de}
.auth-page__main-logo{text-align:center;letter-spacing:-.05em;color:#000;margin:.75rem 0 1.25rem;font-family:var(--font-display);font-size:1.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.5rem}
.auth-page__main-logo img{width:30px;filter:invert(1) drop-shadow(0 0 0 #000)}
.auth-page__card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-shrink:0;width:min(100%,420px);margin:0 auto;padding:1.85rem 1.75rem 1.6rem;box-shadow:0 8px 32px #0f121c0f;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ready .auth-page__card{opacity:1;transform:none}
.auth-page__card h2{letter-spacing:-.03em;text-align:left;color:#0a0a0a;font-family:var(--font-display);font-size:1.55rem;font-weight:750}
.auth-page__subtitle{text-align:left;color:#6b7280;margin-top:.35rem;font-size:.9rem;line-height:1.45}
.auth-page__form{gap:.95rem;margin-top:1.35rem;display:grid}
.auth-page__form label{text-align:left;gap:.4rem;display:grid;margin:0}
.auth-page__form label>span{color:#111;font-size:.86rem;font-weight:600}
.auth-page__req{color:#ef4444}
.auth-page__form input[type=text],.auth-page__form input[type=email],.auth-page__form input[type=password]{color:#0a0a0a;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:10px;outline:none;padding:.7rem .9rem;transition:border-color .15s,box-shadow .15s}
.auth-page__form input::placeholder{color:#9ca3af}
.auth-page__input-icon{width:100%;display:block;position:relative}
.auth-page__input-icon>svg{color:#9ca3af;pointer-events:none;z-index:1;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}
.auth-page__input-icon input{padding-left:2.75rem!important}
.auth-page__form input:focus{border-color:#111;box-shadow:0 0 0 3px #0000000f}
.auth-page__password{position:relative}.auth-page__password input{padding-right:3rem}
.auth-page__eye{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.auth-page__eye:hover{color:#0a0a0a}
.auth-page__msg{margin:0;font-size:.88rem;line-height:1.4}.auth-page__msg--error{color:#b91c1c}.auth-page__msg--success{color:#047857}
.auth-page__submit{color:#fff;cursor:pointer;background:#0a0a0a;border:0;border-radius:10px;width:100%;min-height:48px;margin-top:.15rem;font-size:.98rem;font-weight:700;transition:background .15s;font-family:inherit}
.auth-page__submit:hover:not(:disabled){background:#000}.auth-page__submit:disabled{opacity:.55;cursor:not-allowed}
.auth-page__discord{color:#fff;background:#5865F2;border:0;border-radius:10px;width:100%;min-height:46px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}
.auth-page__discord:hover{background:#4752c4}
.auth-page__or{display:flex;align-items:center;gap:.8rem;color:#9ca3af;font-size:.8rem;margin:.2rem 0}.auth-page__or:before,.auth-page__or:after{content:"";flex:1;border-top:1px solid #e5e7eb}
.auth-page__switch{text-align:center;color:#6b7280;margin-top:1.1rem;font-size:.9rem}
.auth-page__switch a,.auth-page__switch button{color:var(--accent-deep);font-weight:700;text-decoration:none;font:inherit;font-weight:700;background:0 0;border:0;padding:0;cursor:pointer}
.auth-page__switch a:hover,.auth-page__switch button:hover{text-decoration:underline}
.auth-page__copyrights{text-align:center;color:#9ca3af;margin-top:auto;padding-top:1.25rem;font-size:.78rem}
.auth-page__showcase{z-index:1;color:#fff;background:radial-gradient(80% 50% at 50% 100%,#8c96ff2e,#0000 55%),#050507;flex-direction:column;order:2;justify-content:center;align-items:center;padding:2.5rem 2rem 3rem;display:flex;position:relative;overflow:hidden}
.auth-page__showcase-inner{text-align:center;flex-direction:column;align-items:center;width:min(100%,520px);display:flex;position:relative;z-index:1}
.auth-page__copy h1{letter-spacing:-.035em;color:#fff;font-family:var(--font-display);font-size:clamp(1.85rem,3.2vw,2.55rem);font-weight:800;line-height:1.15}
.auth-page__copy em{color:var(--accent);font-style:italic;font-weight:700}
.auth-page__lead{color:#ffffff94;max-width:34ch;margin:1rem auto 0;font-size:.92rem;line-height:1.55}
.auth-page__logo{width:84px;margin:0 auto 1.4rem;filter:drop-shadow(0 0 36px #8c96ff66)}
.auth-page__ribbons{position:absolute;inset:auto -20% -10% -20%;height:70%;pointer-events:none}
.auth-page__ribbons svg{width:100%;height:100%}
@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-page__showcase{display:none}.auth-page__main-logo{margin-top:.25rem}}
@media (width<=560px){.auth-page__card{padding:1.45rem 1.15rem}.auth-page__top{flex-direction:column;align-items:stretch}}
