:root{--bg:#f2f2f7;--card:#fff;--label:#000;--sec:rgba(60,60,67,.6);--line:rgba(60,60,67,.18);--field:#fff;--accent:#0a7aff;--danger:#ff3b30;--logo:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--label:#fff;--sec:rgba(235,235,245,.6);--line:rgba(84,84,88,.65);--field:#1c1c1e;--accent:#0a84ff;--logo:invert(1)}}
:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--label:#fff;--sec:rgba(235,235,245,.6);--line:rgba(84,84,88,.65);--field:#1c1c1e;--accent:#0a84ff;--logo:invert(1)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--label);font:17px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}
main{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}
.logo{display:block;width:100%;max-width:340px;height:auto;margin:0 auto 10px;filter:var(--logo)}
h1{font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:6px 0 0}
.sous{color:var(--sec);font-size:15px;margin:-6px 0 6px}
.champs{background:var(--card);border-radius:14px;overflow:hidden;border:.5px solid var(--line)}
.champs input{display:block;width:100%;border:0;border-bottom:.5px solid var(--line);background:var(--field);color:var(--label);font:inherit;padding:15px 16px;outline:0;border-radius:0;-webkit-appearance:none;appearance:none}
.champs input:last-child{border-bottom:0}
.champs input::placeholder{color:var(--sec)}
.champs input:focus{background:color-mix(in srgb,var(--accent) 6%,var(--field))}
button{font:inherit;cursor:pointer}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border:0;border-radius:14px;font-weight:600;font-size:17px}
.btn.principal{background:var(--accent);color:#fff}
.btn.secondaire{background:var(--card);color:var(--label);border:.5px solid var(--line)}
.btn:disabled{opacity:.55}
.btn svg{flex:none}
.ou{display:flex;align-items:center;gap:12px;color:var(--sec);font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:2px 0}
.ou::before,.ou::after{content:"";flex:1;height:.5px;background:var(--line)}
.message{min-height:20px;margin:0;color:var(--danger);font-size:15px;text-align:center}
.message.ok{color:#248a3d}
.liens{display:flex;justify-content:center;margin-top:2px}
.lien{background:none;border:0;color:var(--accent);font-size:15px;padding:8px}
.note{color:var(--sec);font-size:13px;text-align:center;margin:8px 0 0;line-height:1.45}
.carte{background:var(--card);border:.5px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px;color:var(--sec)}
.carte strong{color:var(--label)}
.oeil{position:relative}
[hidden]{display:none!important}
