:root{--marine:#14264a;--turquoise:#2fbfae;--turquoise-fonce:#0e7c70;--blanc:#fff;--fond:var(--blanc);--texte:var(--marine);--accent:var(--turquoise-fonce);--trait:#e2e6ee}@media (prefers-color-scheme:dark){:root{--fond:var(--marine);--texte:var(--blanc);--accent:var(--turquoise);--trait:#2a3a5e}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--fond);color:var(--texte);font-family:var(--police-texte), system-ui, -apple-system, "Segoe UI", sans-serif;margin:0;font-size:1rem;line-height:1.6}h1{font-family:var(--police-titre), var(--police-texte), system-ui, sans-serif;letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;line-height:1.1}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{max-width:34rem;margin:0 auto;padding:2rem 1rem 4rem}.page h1{font-size:clamp(1.75rem,6vw,2.5rem)}.champ{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}.champ label{font-weight:600}.champ input,.champ select{font:inherit;color:inherit;background:var(--fond);border:1px solid var(--trait);border-radius:6px;width:100%;padding:.7rem .75rem;font-size:1rem}.aide{opacity:.8;margin:0;font-size:.875rem}.bouton{font:inherit;background:var(--accent);color:var(--blanc);cursor:pointer;border:1px solid #0000;border-radius:6px;width:100%;min-height:2.75rem;padding:.75rem 1.25rem;font-weight:600}.bouton--discret{color:var(--texte);border-color:var(--trait);background:0 0}.message{border:1px solid var(--trait);border-left-width:4px;border-radius:4px;margin:0 0 1.5rem;padding:.75rem 1rem}.message--erreur{border-left-color:#b3261e}.message--succes{border-left-color:var(--accent)}.message--attention{border-left-color:#a66300}.liens{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-size:.9375rem;display:flex}.codes{border:1px solid var(--trait);columns:2;border-radius:6px;margin:0 0 1.5rem;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.0625rem;list-style:none}.bouton,.bouton--discret{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.cta-groupe{flex-direction:column;gap:.75rem;margin:1.5rem 0;display:flex}@media (min-width:30rem){.cta-groupe{flex-flow:wrap}.cta-groupe .bouton,.cta-groupe .bouton--discret{width:auto;min-width:12rem}}.etapes{padding-left:1.25rem}.etapes li{margin-bottom:1rem}.etapes li:last-child{margin-bottom:0}
