:root{
  --bg:#0A0518; --bg-1:#1B1140; --bg-2:#0E0724;
  --card:#15111F; --panel-a:#241a4d; --panel-b:#160d33; --panel-c:#0d0722;
  --tx:#F4EFE6; --tx2:#B9B1CB; --tx3:#8B84A0; --tx4:#8B84A0;
  --gold:#D4C5A9; --gold-ink:#1A1030; --ok:#5BD6A0;
  --line:rgba(255,255,255,.12); --line-soft:rgba(255,255,255,.08);
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--tx);
  background:radial-gradient(120% 120% at 20% 0%,var(--bg-1) 0%,var(--bg-2) 55%,var(--bg) 100%);
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Instrument Serif',Georgia,serif;}
.accent{font-style:italic;color:var(--gold);}
a{color:var(--tx2);text-decoration:underline;text-underline-offset:2px;}

/* layout */
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;}
.pane{position:relative;}

/* form pane */
.pane-form{padding:44px 56px 48px;display:flex;flex-direction:column;}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;margin-bottom:auto;}
.brand-mark{width:34px;height:34px;border-radius:50%;border:1.6px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;font-size:16px;}
.brand-mark.sm{width:30px;height:30px;font-size:14px;border-width:1.4px;}
.brand-name{font-size:26px;color:var(--tx);letter-spacing:.2px;}
.form-wrap{width:100%;max-width:420px;margin:auto 0;}
h1{margin:0;font-size:clamp(38px,4.4vw,52px);line-height:1.05;font-weight:400;}
.sub{margin:20px 0 40px;font-size:17px;line-height:1.5;color:var(--tx2);}
.stack{display:flex;flex-direction:column;gap:12px;}

/* buttons */
.btn{cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:15px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;transition:filter .15s,background .15s,opacity .15s;}
.btn[disabled]{opacity:.6;cursor:default;}
.btn-apple{background:#000;color:#fff;border-color:rgba(255,255,255,.14);}
.btn-apple:hover{opacity:.9;}
.btn-google{background:rgba(255,255,255,.03);color:var(--tx);border-color:rgba(255,255,255,.16);}
.btn-google:hover{background:rgba(255,255,255,.07);}
.btn-gold{background:var(--gold);color:var(--gold-ink);font-weight:700;}
.btn-gold:hover{filter:brightness(1.05);}
.btn:active{transform:translateY(1px);}

.sep{display:flex;align-items:center;gap:14px;margin:8px 0;color:var(--tx4);font-size:13px;font-weight:600;}
.sep i{flex:1;height:1px;background:rgba(255,255,255,.1);}
input[type=email]{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:15px;color:var(--tx);font-size:16px;font-family:inherit;outline:none;transition:border-color .15s;}
input[type=email]::placeholder{color:#7C7590;}
input[type=email]:focus{border-color:var(--gold);}
.err{color:#F19E9E;font-size:13px;margin-top:-4px;}
.msg{color:var(--ok);font-size:13.5px;margin-top:-4px;}
.legal{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--tx3);text-align:center;}

/* brand pane */
.pane-brand{margin:20px 20px 20px 0;border-radius:14px;overflow:hidden;padding:44px;
  background:linear-gradient(155deg,var(--panel-a) 0%,var(--panel-b) 60%,var(--panel-c) 100%);
  display:flex;flex-direction:column;justify-content:space-between;}
.pane-brand::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(60% 40% at 80% 15%,rgba(212,197,169,.16),transparent 70%);}
.brand-top,.app-block{position:relative;}
.brand-top{display:flex;align-items:center;gap:10px;}
.powered{color:rgba(244,239,230,.6);font-size:13px;font-weight:600;}
.tick{color:var(--ok);font-weight:800;flex:none;line-height:1.4;}

/* app download promo */
.app-head{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.app-ico{width:52px;height:52px;border-radius:14px;background:linear-gradient(160deg,var(--panel-a),var(--panel-c));border:1px solid rgba(212,197,169,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.app-ico .r{width:28px;height:28px;border-radius:50%;border:1.8px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;font-size:14px;}
.app-h1{font-size:24px;color:var(--tx);line-height:1.15;}
.app-h2{font-size:13.5px;color:var(--tx2);margin-top:3px;}

.benefits{display:flex;flex-direction:column;gap:14px;margin-bottom:26px;}
.benefit{display:flex;gap:11px;align-items:flex-start;}
.benefit .bt{font-size:14px;color:var(--tx);font-weight:700;}
.benefit .bd{font-size:12.5px;color:var(--tx3);line-height:1.45;margin-top:2px;}

.dl-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.appstore{cursor:pointer;text-decoration:none;background:#000;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:12px;transition:background .15s;}
.appstore:hover{background:#111;}
.as-txt{display:flex;flex-direction:column;line-height:1.15;}
.as-txt .sm{font-size:10px;color:rgba(255,255,255,.7);font-weight:500;}
.as-txt .lg{font-size:17px;color:#fff;font-weight:700;letter-spacing:-.2px;}
.qr-wrap{display:flex;align-items:center;gap:11px;}
.qr{width:60px;height:60px;border-radius:11px;background:#fff;padding:5px;flex-shrink:0;}
.qr-grid{width:100%;height:100%;background-image:repeating-conic-gradient(#0E0724 0% 25%,#fff 0% 50%);background-size:10px 10px;border-radius:4px;}
.qr-txt{font-size:11.5px;line-height:1.4;color:var(--tx3);max-width:110px;}

/* compte connecté */
.account-panel{width:100%;max-width:420px;margin:auto 0;}
.account-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid var(--line-soft);}
.account-row .tick{flex:none;margin-top:2px;}
.account-label{font-size:15px;font-weight:700;color:var(--tx);}
.account-value{font-size:13.5px;color:var(--tx2);margin-top:2px;word-break:break-all;}

/* ===== MOBILE-FIRST (<=900px) ===== */
@media (max-width:900px){
  .auth{grid-template-columns:1fr;}
  .pane-brand{display:none;}
  .pane-form{padding:calc(env(safe-area-inset-top,0px) + 30px) 24px 30px;justify-content:flex-start;min-height:100vh;}
  .brand{margin-bottom:34px;}
  .form-wrap,.account-panel{margin:0;max-width:none;flex:1;display:flex;flex-direction:column;}
  h1{font-size:40px;}
  .sub{font-size:15.5px;margin:16px 0 0;}
  .stack{margin-top:auto;padding-bottom:20px;}
  .btn,input[type=email]{padding:15px;border-radius:14px;}
}
@media (max-width:900px) and (min-height:760px){
  .brand{margin-bottom:24px;}
}
