/* ===================================================================
   Pas Solo — THÈME « A tempéré » (pas-solo-theme.css) — SOURCE UNIQUE
   Charte verrouillée 15–16/07/2026 (remplace coral/sable/anthracite +
   Plus Jakarta Sans). Tous les fichiers dérivent de CE fichier — plus
   de :root dupliqué par page. Typo Fraunces (titres) + Inter (corps).
   Modèle de reskin : canevas dark + briques claires flottantes.
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,600&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  /* Encre / structure */
  --ps-ink:#1D231F; --ps-ink-2:#2A332C; --ps-ink-soft:#535A52;
  /* Émeraude */
  --ps-emeraude:#1E9E77; --ps-emeraude-clair:#43C79E; --ps-emeraude-fonce:#0E7C5E;
  /* Surfaces claires (les « briques ») */
  --ps-ivoire:#F5EFE4; --ps-carte:#FFFDF8; --ps-creme:#EFE8DB; --ps-ligne:#E4DBCB;
  /* Canevas sombre */
  --ps-dark:#161C18; --ps-dark-2:#1D231F;
  /* Primitives du canevas sombre (extraites des DEMO validées 15/07 — un panneau
     sombre n'est PAS une brique : il structure, il ne porte pas de texte dense). */
  --ps-dark-header:#10150F;           /* barre d'en-tête : plus sombre que le canevas (témoin validé) */
  --ps-dark-panneau:#1C241F;          /* panneau sombre (bloc « par où commencer ») */
  --ps-dark-carte:#212B24;            /* carte sombre = état « fait » (D33 : la surface, pas la teinte) */
  --ps-sur-dark:#EFE9DC;              /* texte sur canevas sombre (ivoire chaud — tranché 17/07 : « A tempéré » l'emporte sur le verdâtre #E7EFEA de la fondation initiale) */
  --ps-sur-dark-soft:#AEB8AE;         /* texte secondaire sur sombre */
  --ps-sur-dark-dim:#7E887E;          /* texte tertiaire / signature */
  --ps-glow:#5AD6AC;                  /* émeraude lisible SUR le sombre (accent dark) */
  --ps-ligne-dark:rgba(90,214,172,.16);
  /* Alertes (seule couleur conservée de l'ancienne charte) */
  --ps-ambre:#B5852A; --ps-rouge:#B3442E;
  /* Voiles : fonds très clairs des encarts, SUR une brique (jamais sur le canevas).
     Repris tels quels de l'ancienne charte — neutres et compatibles A tempéré. */
  --ps-emeraude-voile:#E1F5EE;   /* encart positif / « à retenir » / info */
  --ps-ambre-voile:#FAEEDA;      /* encart d'alerte */
  --ps-ambre-texte:#7A4C0E;      /* texte sur voile ambre (contraste AA) */
  --ps-rouge-voile:#FEF2F2;      /* encart de DANGER réel (verdict « intenable ») */
  --ps-rouge-texte:#991B1B;      /* texte sur voile rouge (contraste AA) */

  /* ── Échelle des PHASES (tranché 17/07) ───────────────────────────────
     Une suite d'étapes chronologiques ne se code pas avec des teintes prises au
     hasard (l'héritage : violet / coral / bleu / ambre / teal — dont deux mortes
     avec l'ancienne charte, et deux absentes d'A tempéré). Ici la couleur MONTE
     vers le cap : on part de l'encre (rien n'est lancé) et on finit en émeraude
     clair (c'est parti). L'ambre garde son rôle — il dit l'alerte, donc il marque
     l'étape critique, où qu'elle tombe dans la suite. */
  --ps-phase-0:#2A332C; --ps-phase-0-voile:#EDEFEC;   /* avant le départ : neutre */
  --ps-phase-1:#0E7C5E; --ps-phase-1-voile:#D9EFE7;   /* on s'engage */
  --ps-phase-2:#1E9E77; --ps-phase-2-voile:#E1F5EE;   /* on avance */
  --ps-phase-3:#B5852A; --ps-phase-3-voile:#FAEEDA;   /* étape CRITIQUE → ambre */
  --ps-phase-4:#43C79E; --ps-phase-4-voile:#E9FAF3;   /* c'est parti */
  /* Pas de bleu dans « A tempéré » : l'info se dit en émeraude (cf. reskin-packs-modele,
     « encarts : émeraude pour 💡/✅, ambre gardé pour ⚠️ »). Le rouge reste réservé au
     danger — un verdict qui dit « ça ne tient pas », pas une simple mise en garde. */
  /* Typo */
  --ps-titre:'Fraunces',Georgia,serif; --ps-corps:'Inter',system-ui,sans-serif;
  /* Rayons & ombres */
  --ps-radius:16px; --ps-radius-sm:10px;
  --ps-ombre-brique:0 10px 30px -14px rgba(0,0,0,.45);
}

/* Canevas sombre (le noir n'est JAMAIS la surface de lecture)
   ⚠️ NE DÉFINIT QUE LE FOND — surtout pas la couleur du texte.
   Pourquoi : `.ps-dark-canvas` (spécificité 0,1,0) bat le `body{color:…}` (0,0,1)
   que porte chaque fiche convertie. En imposant l'ivoire ici, TOUT héritait de
   l'ivoire — y compris le texte posé sur les briques BLANCHES : titres invisibles.
   Seuls les éléments déclarant leur couleur s'en sortaient. (Repéré à l'œil par
   Vincent le 17/07 sur le simulateur ARE ; jsdom n'applique pas la cascade et ne
   peut pas voir ça.) Le texte qui vit VRAIMENT sur le canevas prend .ps-sur-canvas. */
.ps-dark-canvas{
  background:var(--ps-dark); font-family:var(--ps-corps);
  background-image:radial-gradient(120% 60% at 50% -10%, rgba(30,158,119,.16), transparent 60%);
  min-height:100vh; margin:0;
}
/* Texte posé directement sur le canevas sombre (hubs, landings). Une fiche de
   lecture n'en a pas besoin : son texte vit sur des briques claires. */
.ps-sur-canvas{ color:var(--ps-sur-dark); }

/* Filigrane boussole — élément du CANEVAS COMMUN, au même titre que le fond sombre
   et le halo (reskin-packs-modele : « boussole en filigrane discrète en bas de
   page »). Donc sur les 17 fiches, pas seulement sur le hub. Réglages du témoin
   validé du 15/07. Très basse opacité : c'est une présence, pas un motif — et
   pointer-events:none pour qu'il n'intercepte jamais un clic. */
.ps-watermark{ position:fixed; right:-150px; bottom:-170px; width:600px; height:600px;
  z-index:0; opacity:.055; pointer-events:none; }
.ps-watermark svg{ width:100%; height:100%; display:block; }

/* Barre d'en-tête des fiches : elle vit sur le canevas, elle est donc SOMBRE
   (témoin validé : #10150F, plus sombre que le canevas). Les fiches héritées la
   déclaraient en carte crème — une barre claire barrait le haut de la page.
   Spécificité (0,1,1) : passe devant le `.header{background:…}` local (0,1,0). */
.ps-dark-canvas > .header,
.ps-dark-canvas > .site-header,
.ps-dark-canvas > header.site-header{
  background:var(--ps-dark-header);
  border-bottom:1px solid var(--ps-ligne-dark);
  box-shadow:0 2px 16px rgba(0,0,0,.5);
}

/* Les pieds de page vivent TOUJOURS sur le canevas, jamais sur une brique — dans
   les 17 fiches. Dessinés pour un fond ivoire, ils portaient `--ps-ink-soft` :
   gris sur sombre, 2,43:1. Motif universel → traité ici une fois, pas 17.
   Descendant et non enfant direct : selon les fiches le pied est enfoui
   (body > main.main > .sim-grid > .site-footer). Spécificité (0,2,0) : passe
   devant le `.site-footer{color:…}` local (0,1,0). Si un pied se retrouvait un
   jour DANS une brique claire, le validateur le signalerait en sens inverse. */
.ps-dark-canvas footer,
.ps-dark-canvas .site-footer{ color:var(--ps-sur-dark-soft); }
/* Titres */
.ps-title{ font-family:var(--ps-titre); font-weight:600; letter-spacing:-.01em; color:var(--ps-ink); }
/* Brique claire flottante = la surface de lecture */
.ps-brique{ background:var(--ps-ivoire); color:var(--ps-ink); border:1px solid var(--ps-ligne);
  border-radius:var(--ps-radius); box-shadow:var(--ps-ombre-brique); }
.ps-carte{ background:var(--ps-carte); }
/* Cartouche de titre émeraude */
.ps-cartouche{ background:var(--ps-emeraude); color:#04231A; border-radius:var(--ps-radius-sm);
  font-family:var(--ps-titre); font-weight:600; padding:8px 14px; display:inline-flex; align-items:center; gap:8px; }
/* Bouton */
.ps-btn{ background:var(--ps-emeraude); color:#04231A; font-weight:700; border:none; cursor:pointer;
  border-radius:24px; padding:11px 22px; font-family:var(--ps-corps); font-size:15px; }
.ps-btn:hover{ background:var(--ps-emeraude-fonce); color:#fff; }
/* Encarts (bas de pavé) */
.ps-encart{ border-left:4px solid var(--ps-emeraude); background:var(--ps-ivoire); color:var(--ps-ink);
  border-radius:10px; padding:12px 16px; }
.ps-encart.alerte{ border-left-color:var(--ps-ambre); }
.ps-encart.danger{ border-left-color:var(--ps-rouge); }
/* Emphases */
.ps-brique strong, .ps-strong{ color:var(--ps-emeraude-fonce); }

/* ─── Encart « vérité brutale » (D7) ─────────────────────────────────
   Motif récurrent, pas un ornement : on y dit ce qui fâche, à l'endroit où le
   primo risque de se tromper. Ambre = alerte (seule couleur héritée). Il vit
   TOUJOURS sur une brique claire — jamais sur le canevas sombre. */
.ps-verite{ background:var(--ps-ambre-voile); border:1.5px solid var(--ps-ambre);
  border-left-width:5px; border-radius:var(--ps-radius-sm); padding:18px 22px;
  color:var(--ps-ink); box-shadow:var(--ps-ombre-brique); margin-bottom:20px; }
.ps-verite-titre{ font-family:var(--ps-titre); font-weight:600; font-size:16px;
  color:var(--ps-ambre-texte); margin-bottom:8px; }
.ps-verite p{ font-size:13.5px; line-height:1.6; margin-bottom:10px; }
.ps-verite strong{ color:var(--ps-ambre-texte); }
.ps-verite-cas{ background:var(--ps-carte); border-radius:8px; padding:12px 15px; margin:10px 0; }
.ps-verite-cas-titre{ font-weight:800; font-size:13.5px; margin-bottom:4px; color:var(--ps-ink); }
.ps-verite-pied{ font-size:12.5px; font-style:italic; color:var(--ps-ink-soft); margin:6px 0 0; }

/* ─── Chrome commun aux 17 fiches (en-tête, conteneur, pied) ─────────── */
.ps-wrap{ max-width:920px; margin:0 auto; padding:0 20px 70px; position:relative; z-index:1; }
/* Wordmark « pas s⊙l⊙ » — les deux o sont des boussoles (D38) */
.ps-topbar{ display:flex; align-items:center; gap:10px; padding:22px 0; }
.ps-wm{ font-family:var(--ps-titre); font-style:italic; font-weight:600; font-size:22px;
  color:var(--ps-ivoire); display:inline-flex; align-items:baseline; }
.ps-wm .o{ width:.72em; height:.72em; position:relative; top:.11em; margin:0 .006em; }
/* Panneau sombre : structure sur le canevas, jamais du texte dense */
.ps-panneau{ background:var(--ps-dark-panneau); border:1px solid var(--ps-ligne-dark);
  border-radius:var(--ps-radius); padding:22px 26px; box-shadow:0 20px 40px -28px #000; }
.ps-panneau h2{ font-family:var(--ps-titre); color:var(--ps-ivoire); font-weight:600; }
/* Pied de page + signature (D38) */
.ps-footer{ text-align:center; color:var(--ps-sur-dark-soft); font-size:13px; padding-top:44px; line-height:1.7; }
.ps-footer .b{ font-weight:700; color:var(--ps-emeraude-clair); }
.ps-sig{ font-family:var(--ps-titre); font-style:italic; color:var(--ps-sur-dark-dim); margin-top:10px; }
/* Étiquette de section sur canevas sombre */
.ps-tag{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ps-glow); background:rgba(30,158,119,.15); border:1px solid rgba(90,214,172,.25);
  padding:6px 15px; border-radius:30px; }

/* ─── Impression : le canevas sombre ne part JAMAIS à l'imprimante ──── */
@media print{
  .ps-dark-canvas{ background:#fff !important; background-image:none !important; color:var(--ps-ink) !important; }
  .ps-brique{ box-shadow:none; border:1px solid var(--ps-ligne); }
  .ps-parcours-indicateur, .ps-watermark{ display:none !important; }
}
