 :root{color-scheme:dark;--bg:#1b1d20;--panel:#23262b;--line:#505660;--text:#d0d3da;--muted:#b7bdc8;--accent:#b3d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg) url('/assets/motifs.svg') center top/1600px 1100px;color:var(--text);font:16px/1.75 system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration:underline}header,main,footer{max-width:1120px;margin:auto;padding:28px 32px}header{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{color:var(--text);font-weight:700;text-decoration:none;flex-shrink:0}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted)}nav{display:flex;gap:12px 20px;flex-wrap:wrap}nav a{font-size:14px;text-decoration:none}nav [aria-current]{border-bottom:2px solid var(--accent);color:var(--text)}[hidden]{display:none!important}main{padding-top:0}section{margin:48px 0;scroll-margin-top:20px}.hero{padding:40px 0 28px;max-width:880px}.eyebrow{letter-spacing:2px;font-size:12px;font-weight:700;color:var(--accent)}h1{font:400 clamp(36px,6vw,68px)/1.12 Georgia,serif;letter-spacing:-1px;color:#e0e2e7;margin:20px 0 28px}h2{font-size:28px;line-height:1.3}h3{font-size:20px;line-height:1.4}p{margin:0 0 18px}.lead{font-size:20px;color:var(--muted);max-width:730px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.button{display:inline-block;background:#364b46;border:1px solid #809d93;border-radius:8px;padding:12px 20px;color:#e1ebe7;font:600 15px/1.5 system-ui,sans-serif;text-decoration:none;cursor:pointer}.button:hover{background:#435e56}.secondary{background:var(--panel)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px}.card,.callout{background:#23262bf5;border:1px solid var(--line);border-radius:14px;padding:28px}.callout{margin:56px 0 20px}.card h2,.card h3{margin-top:0}.card p:last-child{margin-bottom:0}blockquote{margin:32px 0;padding:22px 28px;border-left:3px solid var(--accent);background:#29332ff0;font:24px/1.5 Georgia,serif}.checklist{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px}.checklist label{display:flex;gap:12px;font-size:15px;font-weight:400;margin:0}.checklist input{width:20px;height:20px;flex-shrink:0;margin:5px 0;accent-color:#84bda8}.diagram{padding:20px;background:#1b1f23;border:1px dashed #73847b;border-radius:8px;line-height:2;text-align:center;overflow-wrap:anywhere}.flow{list-style:none;padding:0;max-width:640px;margin:24px auto}.flow li{padding:16px 22px;background:var(--panel);border:1px solid var(--line);border-radius:8px;position:relative;margin-bottom:25px}.flow li:not(:last-child):after{content:'↓';position:absolute;left:50%;bottom:-28px;color:var(--accent)}.flow span{color:var(--accent);margin-right:18px;font-size:12px}.demo-form{max-width:720px;margin:0 auto 40px}label{display:block;font-weight:600;font-size:14px;margin-bottom:20px}input,textarea,select{font:inherit;width:100%;padding:12px;margin-top:8px;border:1px solid #69717d;border-radius:8px;background:#1c1f23;color:var(--text)}textarea{resize:vertical}.result{margin-top:18px;color:var(--accent)}footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px}footer p{margin-bottom:8px}:focus-visible{outline:3px solid #b3d8cd;outline-offset:4px}.skip{position:absolute;left:16px;top:-80px;padding:12px;background:var(--panel);z-index:2}.skip:focus{top:12px}form p{font-size:14px}a,li,p{overflow-wrap:anywhere}@media(max-width:720px){header,main,footer{padding-left:20px;padding-right:20px}header{flex-direction:column;align-items:flex-start}nav{gap:12px 18px}.hero{padding-top:25px}section{margin:36px 0}.card,.callout{padding:22px}blockquote{font-size:21px;padding:20px}h2{font-size:25px}.lead{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Démonstration d'authentification des demandes. */
.auth-demo .actions{margin-bottom:24px}.auth-demo button:disabled{opacity:.6;cursor:wait}.auth-details{margin:24px 0}.auth-details summary{cursor:pointer;color:var(--accent);font-weight:600}.auth-details label{margin-top:16px}.auth-details textarea{font:14px/1.5 ui-monospace,monospace}.auth-details code{overflow-wrap:anywhere;white-space:normal}.auth-checks{padding-left:24px}.auth-checks li{margin-bottom:10px}.auth-pass{color:var(--accent)}.auth-fail{color:#ffb9b9}.auth-demo .diagram{margin-top:24px}

.smtp-warning{border:2px solid #d3a74f;background:#29241b;color:#eadfc6;margin-bottom:1.5rem}.smtp-warning h2{color:#edc76e}

/* Boutons principaux : contraste renforcé sur le thème sombre. */
.button:not(.secondary){background:#b3d8cd;color:#14251f;border:2px solid #cdece2;font-size:16px;font-weight:700;min-height:48px;padding:12px 24px;box-shadow:0 3px 10px #0004}
.button:not(.secondary):hover{background:#cdece2;color:#14251f;text-decoration:none}
.button:not(.secondary):focus-visible{outline:3px solid #fff;outline-offset:4px}
.button:disabled{cursor:wait;box-shadow:none;opacity:.7}
