* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #130d0b; }
::-webkit-scrollbar-thumb { background: #322a25; border-radius: 6px; border: 2px solid #130d0b; }
::-webkit-scrollbar-thumb:hover { background: #3f3530; }

:root { --acc: #4be28e; --acc-rgb: 75,226,142; }

body {
  background-color: #141009;
  background-image:
    radial-gradient(rgba(250, 242, 232, 0.05) 1.2px, transparent 1.8px),
    radial-gradient(130% 70% at 50% -16%, rgba(160, 122, 86, 0.18), transparent 58%);
  background-size: 13px 13px, 100% 100%;
  color: #ece7e2;
  font-family: Geist, system-ui, sans-serif;
  min-height: 100vh;
}
.fq-page { padding: 30px 26px 70px; }
.fq-module { width: 100%; max-width: 840px; margin: 0 auto; }

.fq-btn { cursor: pointer; }
.fq-btn:hover { filter: brightness(1.08); }
.fq-search { transition: border-color .12s; }
.fq-search:focus-within { border-color: rgba(var(--acc-rgb), 0.5); }
.fq-clear:hover { color: #cdbfb4 !important; border-color: #463b34 !important; }
.fq-q:hover { background: rgba(250, 242, 232, 0.02); }
.fq-link:hover { border-color: rgba(var(--acc-rgb), 0.4) !important; color: #e7ddd3 !important; }
.fq-reset:hover { text-decoration: underline; }

/* surlignage des résultats de recherche */
mark { background: rgba(var(--acc-rgb), 0.22); color: #f3eee9; border-radius: 3px; padding: 0 1px; }

@keyframes fqIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.fq-acc-body { animation: fqIn .18s ease; }
