/* REZOLQ — identité commune (mêmes jetons que rezolq.com : Design System REZOLQ v1).
   Polices servies par notre serveur (aucun appel extérieur, marche même si le réseau de la salle bloque Google). */
@font-face{font-family:'Inter Tight';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/inter-tight-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-display:swap;font-weight:600;src:url('/fonts/inter-tight-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:400;src:url('/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:600;src:url('/fonts/inter-latin-600-normal.woff2') format('woff2')}
:root {
  --nuit: #0a0b0f; --surface: #12151c; --ligne: #1c2029; --pixel-eteint: #171a22; --bordure-bouton: #5b6170;
  --blanc: #f4f6fa; --gris-clair: #c9cdd6; --gris: #a3a8b5; --gris-discret: #8b909c;
  --cyan: #22d3ee; --cyan-clair: #a5f3fc; --citron: #c6f135; --erreur: #ff8a80;
  --font-titre: "Inter Tight", Inter, system-ui, -apple-system, sans-serif;
  --font-texte: Inter, system-ui, -apple-system, sans-serif;
  --rayon-pixel: 2px; --rayon-carte: 16px; --rayon-pilule: 999px;
  --accent: var(--cyan);   /* l'organisateur peut le changer depuis la console (couleur d'un partenaire) */
}
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: var(--rayon-pilule);
  font-family: var(--font-texte); font-size: 16px; font-weight: 600; line-height: 1.2; text-decoration: none; border: 0; cursor: pointer;
  transition: background-color .25s, border-color .25s, color .25s, transform .1s; }
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--accent); color: var(--on-accent, var(--nuit)); }   /* --on-accent : clair si l'organisateur choisit une couleur sombre */
.btn-secondary { background: none; border: 1.5px solid var(--blanc); color: var(--blanc); }
.btn[disabled] { opacity: .6; }
.eyebrow { font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--gris); }
.card { background: var(--surface); border: 1px solid var(--ligne); border-radius: var(--rayon-carte); }
.brand-logo { display: block; width: 132px; height: auto; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: var(--rayon-pixel); }

/* Pages documents (aide, confidentialité) : comme les pages légales de rezolq.com */
.doc-page { margin: 0; background: var(--nuit); color: var(--blanc); font-family: var(--font-texte); font-size: 17px; line-height: 1.55; -webkit-text-size-adjust: 100%; }
.doc-nav { position: sticky; top: 0; z-index: 5; height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 clamp(16px, 4vw, 32px); background: var(--nuit); border-bottom: 1px solid var(--ligne); }
.doc-nav .brand-logo { width: 120px; }
.doc-nav .langs { display: flex; gap: 12px; font-size: 14px; }
@media (max-width: 359px) { .doc-nav .brand-logo { width: 96px; } }
.doc-nav .langs a { color: var(--blanc); text-decoration: none; }
.doc { max-width: 824px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(16px, 4vw, 32px) 64px; }
.doc h1 { font-family: var(--font-titre); font-weight: 500; font-size: clamp(34px, 2vw + 26px, 46px); line-height: 1.1; letter-spacing: -0.015em; margin: 0 0 12px; }
.doc h2 { font-family: var(--font-titre); font-weight: 500; font-size: 26px; line-height: 1.2; margin: 48px 0 12px; }
.doc h3 { font-family: var(--font-texte); font-weight: 600; font-size: 18px; margin: 28px 0 8px; color: var(--blanc); }
.doc p, .doc li { color: var(--gris-clair); margin: 0; }
.doc p + p, .doc p + ul, .doc ul + p { margin-top: 14px; }
.doc ul { padding-left: 20px; display: grid; gap: 8px; margin: 10px 0 0; }
.doc a { color: var(--cyan); text-underline-offset: 3px; }
.doc strong, .doc b { color: var(--blanc); }
.doc .meta, .doc .date { font-size: 15px; color: var(--gris-discret); margin: 0 0 28px; }
.doc .note, .doc .contact { background: var(--surface); border: 1px solid var(--ligne); border-radius: var(--rayon-carte); padding: 18px 22px; }
.doc section { border-top: 1px solid var(--ligne); margin-top: 48px; padding-top: 8px; }
.doc table { border-collapse: collapse; width: 100%; font-size: 15px; display: block; overflow-x: auto; margin-top: 12px; }
.doc th, .doc td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--ligne); color: var(--gris-clair); }
.doc th { color: var(--blanc); font-weight: 600; background: var(--surface); }
.doc code { font-size: 14px; background: var(--surface); border: 1px solid var(--ligne); border-radius: 6px; padding: 1px 6px; }
.doc-foot { border-top: 1px solid var(--ligne); padding: 32px clamp(16px, 4vw, 32px) 48px; font-size: 14px; color: var(--gris); text-align: center; }
.doc-foot a { color: var(--gris); }
