/* projetanima.com — CSS maison, zéro framework, zéro dépendance externe */
:root {
  --noir: #0b0e14; --noir2: #12161f; --txt: #e8eaf0; --txt2: #9aa3b5;
  --orange: #ff4500; --bleu: #4682b4; --violet: #7e57c2; --vert: #33cc7f;
  --carte: #161b26; --bordure: #232b3a;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; background: var(--noir); color: var(--txt); line-height: 1.7; }
.mono { font-family: ui-monospace, "JetBrains Mono", "Courier New", monospace; }
header { background: rgba(11,14,20,0.95); border-bottom: 1px solid var(--bordure); padding: 0.9rem 5%; position: sticky; top: 0; z-index: 10; }
nav { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.logo { color: var(--txt); text-decoration: none; font-weight: 700; font-size: 1.15rem; margin-right: auto; }
.logo em { color: var(--orange); font-style: normal; }
nav a { color: var(--txt2); text-decoration: none; font-size: 0.95rem; }
nav a:hover { color: var(--orange); }
main { max-width: 960px; margin: 0 auto; padding: 2.5rem 5%; }
.hero { padding: 5rem 5% 3.5rem; max-width: 960px; margin: 0 auto; }
.hero h1 { font-size: 2.4rem; line-height: 1.25; margin-bottom: 1rem; }
.hero h1 span { color: var(--orange); }
.accroche { font-size: 1.15rem; color: var(--txt2); max-width: 46rem; }
.badge { display: inline-block; border: 1px solid var(--bordure); border-radius: 999px; padding: 0.15rem 0.8rem; font-size: 0.8rem; color: var(--txt2); margin-top: 1.2rem; }
h2 { font-size: 1.55rem; margin: 2.8rem 0 1rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--bordure); }
h3 { font-size: 1.1rem; margin: 1.6rem 0 0.5rem; color: var(--bleu); }
p { margin: 0.7rem 0; color: var(--txt); }
.gris { color: var(--txt2); }
.carte { background: var(--carte); border: 1px solid var(--bordure); border-radius: 10px; padding: 1.2rem 1.4rem; margin: 1rem 0; }
.grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.statut { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; border-radius: 4px; padding: 0.1rem 0.5rem; }
.s-fait { background: #12351f; color: var(--vert); }
.s-en_cours { background: #33280e; color: #ffb340; }
.s-a_venir { background: #262033; color: var(--violet); }
blockquote { border-left: 3px solid var(--orange); padding: 0.3rem 1rem; color: var(--txt2); font-style: italic; margin: 1rem 0; }
.cta { display: inline-block; background: var(--orange); color: #fff; text-decoration: none; font-weight: 600; border-radius: 8px; padding: 0.7rem 1.4rem; margin: 0.4rem 0.6rem 0.4rem 0; }
.cta.sec { background: transparent; border: 1px solid var(--bordure); color: var(--txt); }
footer { border-top: 1px solid var(--bordure); color: var(--txt2); font-size: 0.85rem; padding: 1.5rem 5%; text-align: center; }
footer a { color: var(--txt2); }
ul.propres { margin: 0.7rem 0 0.7rem 1.2rem; }
ul.propres li { margin: 0.35rem 0; }

/* --- Thème clair (data-theme="light") --- */
html[data-theme="light"] {
  --noir: #f4f5f8; --noir2: #ffffff; --txt: #1a1d26; --txt2: #5a6272;
  --carte: #ffffff; --bordure: #d8dce3;
}
html[data-theme="light"] body { background: var(--noir); color: var(--txt); }
html[data-theme="light"] header { background: rgba(255,255,255,0.92); }
html[data-theme="light"] blockquote { color: #6b7280; }
.tgl { background: transparent; border: 1px solid var(--bordure); color: var(--txt2); border-radius: 6px; padding: 0.2rem 0.55rem; cursor: pointer; font-size: 0.85rem; }
.tgl:hover { color: var(--orange); border-color: var(--orange); }
