/* Pages connexion / inscription / mot de passe : thème clair, violet pour les boutons et accents */
:root{--p1:#a855f7;--p2:#7c3aed;--p3:#5b21b6;--pl:#f3e8ff;--bg:#f6f5fa;--bg2:#ffffff;--card:#ffffff;--line:#e7e2f2;--line2:#d4c9ee;
  --fg:#1b1530;--mut:#6b6385;--err:#e11d48;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg2);color:var(--fg);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
button,input{font-family:inherit}
a{color:var(--p2)}
.solo{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(900px 500px at 50% 0%,#f3e8ff 0,var(--bg) 65%)}
.solo .box{background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:30px 26px;box-shadow:0 20px 60px rgba(30,20,60,.1)}
.solo .brand{padding:0;margin-bottom:22px}
.okmsg{display:none;margin:0 0 16px;padding:11px 14px;border-radius:10px;font-size:.9rem;background:#f0fdf4;border:1px solid #86efac;color:#166534}
.okmsg.show{display:block}
.forgot{display:block;text-align:right;font-size:.82rem;margin:-8px 0 14px;text-decoration:none}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}

/* --- Colonne gauche : vitrine --- */
.show{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 20% 0%,#ede4ff 0,#f8f6fd 65%);border-right:1px solid var(--line);padding:40px 0 48px;display:flex;flex-direction:column}
.show::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(180deg,#000 0,transparent 75%);pointer-events:none}
.brand{display:flex;align-items:center;gap:10px;padding:0 44px;font-weight:800;font-size:1.05rem;letter-spacing:.2px;position:relative;color:var(--fg);text-decoration:none}
.logo{display:grid;grid-template-columns:repeat(3,7px);gap:2px}
.logo i{width:7px;height:7px;border-radius:1.5px;background:var(--p1)}
.logo i:nth-child(2n){background:#d8b4fe}.logo i:nth-child(5){background:var(--p2)}.logo i:nth-child(3n){opacity:.55}

.rail{position:relative;margin:34px 0 36px;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.track{display:flex;gap:16px;width:max-content;padding:8px 0;animation:slide 60s linear infinite}
.rail:hover .track{animation-play-state:paused}
@keyframes slide{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.zc{flex:none;width:168px;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 24px rgba(30,20,60,.1);transition:transform .25s}
.zc:hover{transform:translateY(-6px) rotate(-1deg)}
.zc .art{position:relative;height:118px;background:#f3f1f8;display:grid;place-items:center}
.zc canvas{width:92px;height:92px;image-rendering:pixelated;border-radius:4px;box-shadow:0 6px 20px var(--glow,rgba(124,58,237,.3))}
.rar{position:absolute;top:8px;left:8px;font:800 .66rem var(--font);letter-spacing:.4px;padding:3px 7px;border-radius:6px;background:#fff;color:var(--rc,#7c3aed);border:1px solid var(--rc,#7c3aed)}
.zc .txt{padding:10px 12px 8px}
.zc b{display:block;font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc small{display:block;color:var(--mut);font-size:.72rem;margin-top:2px}
.zc .st{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:0 12px;padding:7px 0 9px;font:700 .74rem var(--font);color:#0c4a6e}
.zc .st span:last-child{color:var(--mut)}

.pitch{position:relative;padding:0 44px;max-width:620px}
.pitch h1{font:800 clamp(2rem,4.4vw,3.3rem)/1.04 var(--font);letter-spacing:-1.5px;margin:0 0 16px}
.pitch h1 em{font-style:normal;background:linear-gradient(90deg,#5b21b6,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}
.pitch p{color:#4a4263;margin:0 0 14px;max-width:470px}
.pitch .fine{color:var(--mut);font-size:.8rem}
.feats{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px}
.feats li{display:flex;gap:11px;align-items:flex-start;color:#4a4263;font-size:.86rem;line-height:1.4;padding:12px;border-radius:14px;background:rgba(255,255,255,.85);border:1px solid var(--line);box-shadow:0 2px 10px rgba(30,20,60,.05)}
.feats li i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:1.05rem;background:var(--pl);border:1px solid #e9d5ff}
.feats li b{display:block;color:var(--fg);font-size:.92rem;margin-bottom:1px}
.feats li i.cy{background:#e0f2fe;border-color:#bae6fd}
.feats li i.au{background:#fef3c7;border-color:#fde68a}

/* --- Colonne droite : formulaire --- */
.form{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.box{width:100%;max-width:400px}
.box h2{font-size:1.45rem;margin:0 0 4px}
.box .alt{color:var(--mut);margin:0 0 26px;font-size:.92rem}
.box .alt a{font-weight:700;text-decoration:none}
label.f{display:block;font-weight:600;font-size:.88rem;margin:0 0 7px}
.in{position:relative;margin-bottom:18px}
.in input{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--line2);background:#fff;color:var(--fg);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.in input::placeholder{color:#a59ebd}
.in input:focus{border-color:var(--p1);box-shadow:0 0 0 3px rgba(168,85,247,.18)}
.in input.bad{border-color:var(--err)}
.eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--mut);cursor:pointer;font:600 .78rem var(--font);padding:6px}
.hint{display:block;color:var(--mut);font-size:.74rem;margin-top:5px}
.chk{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf9fd;margin-bottom:12px;cursor:pointer;font-size:.86rem;color:#4a4263;transition:border-color .15s}
.chk:hover{border-color:var(--line2)}
.chk.bad{border-color:var(--err)}
.chk input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--p2);cursor:pointer}
.chk a{font-weight:600}
.btn{width:100%;margin-top:10px;padding:14px;border:0;border-radius:12px;font:700 1rem var(--font);color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--p1),var(--p2));box-shadow:0 6px 22px rgba(124,58,237,.3);transition:transform .15s,box-shadow .15s,opacity .15s}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 30px rgba(124,58,237,.45)}
.btn:disabled{opacity:.5;cursor:wait}
.msg{display:none;margin:0 0 16px;padding:11px 14px;border-radius:10px;font-size:.88rem;background:#fff1f2;border:1px solid #fda4af;color:#9f1239}
.msg.show{display:block}
.legal{margin-top:22px;text-align:center;font-size:.78rem;color:var(--mut)}
.legal a{color:var(--mut)}

/* Logo */
.brand .mark{width:28px;height:28px;flex:none;filter:drop-shadow(0 3px 8px rgba(124,58,237,.3))}
.mark rect{animation:twinkle 6s ease-in-out infinite;animation-delay:calc(var(--d,0) * .16s);transform-box:fill-box;transform-origin:center}
.mark rect.gold{animation:goldpulse 2.6s ease-in-out infinite}
@keyframes twinkle{0%,82%,100%{opacity:1;transform:scale(1)}88%{opacity:.55;transform:scale(.78)}}
@keyframes goldpulse{50%{filter:brightness(1.3) drop-shadow(0 0 3px #fbbf24)}}

/* Mode sombre */
:root[data-theme="dark"]{--bg:#0e0b18;--bg2:#15111f;--card:#1a1528;--line:#2e2645;--line2:#41365f;--fg:#f1edf9;--mut:#a59cc0;--pl:#2a1d4a;--p3:#c4b5fd;color-scheme:dark}
[data-theme="dark"] a{color:#c4b5fd}
[data-theme="dark"] .solo{background:radial-gradient(900px 500px at 50% 0%,#2a1650 0,var(--bg) 65%)}
[data-theme="dark"] .show{background:radial-gradient(900px 500px at 20% 0%,#2a1650 0,#120e1d 65%)}
[data-theme="dark"] .pitch p,[data-theme="dark"] .feats li,[data-theme="dark"] .chk{color:#d6cfea}
[data-theme="dark"] .feats li{background:rgba(26,21,40,.85)}
[data-theme="dark"] .feats li i{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.35)}
[data-theme="dark"] .feats li i.cy{background:rgba(56,189,248,.15);border-color:rgba(56,189,248,.35)}
[data-theme="dark"] .feats li i.au{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.35)}
[data-theme="dark"] .zc .art{background:#110d1b}
[data-theme="dark"] .zc .st{color:#bae6fd}
[data-theme="dark"] .rar{background:var(--card)}
[data-theme="dark"] .in input{background:#110d1b}
[data-theme="dark"] .chk{background:#18131f}
[data-theme="dark"] .msg{background:rgba(251,113,133,.1);border-color:rgba(251,113,133,.45);color:#fecdd3}
[data-theme="dark"] .okmsg{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.4);color:#bbf7d0}
[data-theme="dark"] .pitch h1 em{background:linear-gradient(90deg,#c4b5fd,#a855f7)}
[data-theme="dark"] .solo .box{box-shadow:0 20px 60px rgba(0,0,0,.4)}

@media (max-width:900px){
  .split{grid-template-columns:1fr}
  .show{border-right:0;border-bottom:1px solid var(--line);padding:24px 0 30px}
  .brand,.pitch{padding:0 20px}
  .rail{margin:22px 0 24px}
  .feats{grid-template-columns:1fr;gap:8px}
  .feats li{padding:10px}
  .pitch h1{font-size:2rem}
  .form{padding:30px 16px 40px}
}
@media (prefers-reduced-motion:reduce){.track{animation:none}.zc,.btn{transition:none}}
