
html,body{margin:0;background:#111110}
a{color:#5A7A00}a:hover{color:#3E5500}
.fl *{box-sizing:border-box}
.fl h1,.fl h2,.fl h3,.fl p,.fl ul,.fl ol{margin:0}
.fl-hl{display:inline-block;background:#C6F135;color:#141413;padding:.02em .14em 0 .11em;margin-left:.05em;border-radius:.09em;transform:rotate(-6deg)}
.fl-dark .fl-hl{background:transparent;color:#C6F135;padding:0;margin:0;transform:none}
.fl-nav{color:#D6D6CF;text-decoration:none}.fl-nav:hover{color:#FFFFFF}
.fl-foot a{color:#B4B4AC;text-decoration:none}.fl-foot a:hover{color:#FFFFFF}
.fl-doc p,.fl-doc li{font-size:16px;line-height:1.7;color:#2A2A27}
.fl-doc p+p{margin-top:12px}
.fl-doc ul,.fl-doc ol{padding-left:22px;display:flex;flex-direction:column;gap:6px;margin-top:10px}
.fl-doc h2{font-size:24px;line-height:1.25;letter-spacing:-0.01em;font-weight:700;color:#141413;scroll-margin-top:90px}
.fl-doc h3{font-size:18px;font-weight:700;color:#141413;margin-top:22px}
.fl-doc section{display:flex;flex-direction:column;gap:12px;padding-top:36px;border-top:1px solid #ECECE8}
.fl-doc section:first-of-type{border-top:0;padding-top:0}
.fl-doc table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;margin-top:6px}
.fl-doc th{text-align:left;background:#F6F6F2;color:#141413;font-weight:700;padding:10px 12px;border:1px solid #E6E6E3;vertical-align:top}
.fl-doc td{padding:10px 12px;border:1px solid #E6E6E3;vertical-align:top;color:#2A2A27}
.fl-todo{background:#FFF1CC;color:#6B4300;border:1px dashed #D9A400;border-radius:6px;padding:1px 6px;font-weight:600}
.fl-toc a{display:block;padding:6px 10px;border-radius:8px;color:#45453F;text-decoration:none;font-size:14px;line-height:1.4}
.fl-toc a:hover{background:#F2F2EE;color:#141413}
.fl-tr summary{cursor:pointer;list-style:none}.fl-tr summary::-webkit-details-marker{display:none}
.fl-tr a{display:block;padding:7px 12px;color:#141413;text-decoration:none;font-size:14px}.fl-tr a:hover{background:#F2F2EE}
@media (max-width:900px){.fl-navlinks{display:none !important}.fl-cols{flex-direction:column !important}.fl-aside{position:static !important;width:100% !important}}

/* respect du réglage « réduire les animations » du système */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* téléphone : la colonne du texte prend toute la largeur, les mots très longs (adresses) passent à la ligne */
.fl-doc{overflow-wrap:anywhere}
@media (max-width:900px){.fl-cols{align-items:stretch !important}.fl-doc{max-width:100% !important}}

/* ---------- bouton flottant « Revenir en haut » (anneau = avancée dans la page) ---------- */
.fl-top{position:fixed;right:24px;bottom:24px;z-index:20;width:56px;height:56px;padding:3px;border:0;border-radius:50%;cursor:pointer;
  background:conic-gradient(#C6F135 calc(var(--p,0) * 1turn),#3C3C37 0);box-shadow:0 12px 30px rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.fl-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s}
.fl-top span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#1A1A18;color:#C6F135;transition:background-color .15s ease,color .15s ease}
.fl-top:hover span{background:#C6F135;color:#141413}
.fl-top:hover{transform:translateY(-2px)}
.fl-top:focus-visible{outline:3px solid #C6F135;outline-offset:3px}
@media (max-width:600px){.fl-top{right:16px;bottom:16px;width:52px;height:52px}}
@media (prefers-reduced-motion: reduce){.fl-top,.fl-top.is-on,.fl-top:hover{transform:none}}
html{scroll-behavior:smooth}

/* « hidden » l’emporte toujours sur les styles écrits dans la page */
[hidden]{display:none !important}
