Aller au contenu

« MediaWiki:Common.css » : différence entre les versions

De Athéna - Le wiki Prométhée T&I
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
/* ============================================================
/* ============================================================
   Athéna, identité visuelle Prométhée Technologies & Ingénierie
   ATHÉNA — IDENTITÉ VISUELLE PROMÉTHÉE T&I
   Feuille commune du wiki
  ============================================================
   Page cible : MediaWiki:Common.css
 
  Fichier cible :
  MediaWiki:Common.css
 
  Rôle :
   Définir l’identité visuelle commune du wiki Athéna :
   couleurs, typographie, cartes, encarts, tableaux, accordéons,
  pages d’accueil, classes utilitaires et compatibilité mode sombre.
 
  Principe de conception :
  1. Les couleurs et fonds sont pilotés par des variables CSS.
  2. Les composants utilisent les variables, jamais le thème en dur.
  3. Le mode sombre redéfinit principalement les variables.
  4. Les classes Athéna sont préfixées par .pti-
  5. Les surcharges MediaWiki restent limitées et commentées.
 
  Convention :
  .pti-bandeau      : bandeau institutionnel de page
  .pti-grille        : grille de tuiles
  .pti-carte        : tuile documentaire
  .pti-encart        : encart éditorial
  .pti-accordeon    : bloc repliable
  .pti-etiquette    : badge documentaire
  .pti-meta          : information secondaire
 
   ============================================================ */
   ============================================================ */




/* ============================================================
/* ============================================================
   1. Variables graphiques générales
   1. VARIABLES GÉNÉRALES, MODE CLAIR
  ============================================================
 
  Ces variables sont la source principale de l’identité Athéna.
  Les composants graphiques ci-dessous doivent s’appuyer sur elles.
 
   ============================================================ */
   ============================================================ */


:root {
:root {
  /* Couleurs institutionnelles */
   --pti-bleu-nuit: #111827;
   --pti-bleu-nuit: #111827;
   --pti-bleu-profond: #1f2937;
   --pti-bleu-profond: #1f2937;
Ligne 26 : Ligne 56 :
   --pti-rouge-fond: #fff5f5;
   --pti-rouge-fond: #fff5f5;


  /* Fonds principaux */
   --pti-fond-page: #f7f8fb;
   --pti-fond-page: #f7f8fb;
   --pti-fond-contenu: #ffffff;
   --pti-fond-contenu: #ffffff;
   --pti-fond-carte: #ffffff;
   --pti-fond-carte: #ffffff;
   --pti-fond-encart: #fbfcfe;
   --pti-fond-encart: #fbfcfe;
  --pti-fond-secondaire: #fafbfc;


  /* Texte */
   --pti-texte: #1f2933;
   --pti-texte: #1f2933;
   --pti-texte-secondaire: #5f6b7a;
   --pti-texte-secondaire: #5f6b7a;
   --pti-texte-discret: #7b8794;
   --pti-texte-discret: #7b8794;
  --pti-texte-inverse: #ffffff;


  /* Bordures */
   --pti-bordure: #d8dde6;
   --pti-bordure: #d8dde6;
   --pti-bordure-legere: #edf0f5;
   --pti-bordure-legere: #edf0f5;


  /* Code */
  --pti-code-fond: #f3f5f8;
  --pti-code-bloc-fond: #f6f8fb;
  --pti-code-bordure: #e1e5ec;
  --pti-code-texte: #1f2937;
  /* Tableaux */
  --pti-table-entete-fond: var(--pti-bleu-nuit);
  --pti-table-entete-texte: #ffffff;
  --pti-table-ligne-paire: #fafbfc;
  /* Ombres et rayons */
   --pti-ombre-carte: 0 1px 3px rgba(17, 24, 39, 0.08);
   --pti-ombre-carte: 0 1px 3px rgba(17, 24, 39, 0.08);
   --pti-ombre-carte-survol: 0 6px 18px rgba(17, 24, 39, 0.12);
   --pti-ombre-carte-survol: 0 6px 18px rgba(17, 24, 39, 0.12);
Ligne 43 : Ligne 90 :
   --pti-rayon: 10px;
   --pti-rayon: 10px;
   --pti-rayon-petit: 8px;
   --pti-rayon-petit: 8px;
  /* Teintes de sections de l’accueil */
  --pti-section-entrees-fond: #fbf3e6;
  --pti-section-entrees-fond-survol: #f8ead2;
  --pti-section-entrees-bordure: #b08d57;
  --pti-section-entrees-separateur: #e5cfaa;
  --pti-section-referentiels-fond: #edf5ff;
  --pti-section-referentiels-fond-survol: #e4f0fc;
  --pti-section-referentiels-bordure: #6f9fca;
  --pti-section-referentiels-separateur: #c7dced;
  --pti-section-documents-fond: #f1f3f6;
  --pti-section-documents-fond-survol: #e9edf2;
  --pti-section-documents-bordure: #9aa6b5;
  --pti-section-documents-separateur: #d4dae2;
  --pti-section-espaces-fond: #edf9f1;
  --pti-section-espaces-fond-survol: #e3f5e9;
  --pti-section-espaces-bordure: #7fb891;
  --pti-section-espaces-separateur: #c7e2cf;
  --pti-section-pilotage-fond: #f4f0fb;
  --pti-section-pilotage-fond-survol: #eee7f8;
  --pti-section-pilotage-bordure: #9b86c6;
  --pti-section-pilotage-separateur: #ddd3ef;
}
}




/* ============================================================
/* ============================================================
   2. Ambiance générale
   2. VARIABLES GÉNÉRALES, MODE SOMBRE
  ============================================================
 
  MediaWiki / Vector peut appliquer le mode sombre de deux façons :
  1. Mode sombre choisi explicitement :
      html.skin-theme-clientpref-night
  2. Mode automatique selon le système :
      html.skin-theme-clientpref-os + prefers-color-scheme: dark
 
  On redéfinit les variables, puis les composants suivent.
 
  ============================================================ */
 
html.skin-theme-clientpref-night {
  color-scheme: dark;
 
  --pti-bleu-nuit: #f3f6fb;
  --pti-bleu-profond: #d8dee9;
  --pti-bleu-lien: #8ab4f8;
  --pti-bleu-lien-visite: #c6a7ff;
 
  --pti-or: #d7bf8f;
  --pti-or-clair: #e8d7ad;
  --pti-or-fond: #2a2418;
 
  --pti-vert: #8fd0a8;
  --pti-vert-fond: #10251a;
 
  --pti-rouge: #f2a3a3;
  --pti-rouge-fond: #2a1414;
 
  --pti-fond-page: #0f1117;
  --pti-fond-contenu: #151922;
  --pti-fond-carte: #1b202b;
  --pti-fond-encart: #1b202b;
  --pti-fond-secondaire: #181e29;
 
  --pti-texte: #e5e7eb;
  --pti-texte-secondaire: #c3cad6;
  --pti-texte-discret: #9aa4b2;
  --pti-texte-inverse: #ffffff;
 
  --pti-bordure: #394150;
  --pti-bordure-legere: #2b3340;
 
  --pti-code-fond: #111827;
  --pti-code-bloc-fond: #111827;
  --pti-code-bordure: #374151;
  --pti-code-texte: #e5e7eb;
 
  --pti-table-entete-fond: #0b1220;
  --pti-table-entete-texte: #ffffff;
  --pti-table-ligne-paire: #181e29;
 
  --pti-ombre-carte: 0 1px 3px rgba(0, 0, 0, 0.35);
  --pti-ombre-carte-survol: 0 6px 18px rgba(0, 0, 0, 0.45);
 
  --pti-section-entrees-fond: #2a2418;
  --pti-section-entrees-fond-survol: #352c1d;
  --pti-section-entrees-bordure: #d7bf8f;
  --pti-section-entrees-separateur: #6f5630;
 
  --pti-section-referentiels-fond: #111f32;
  --pti-section-referentiels-fond-survol: #172944;
  --pti-section-referentiels-bordure: #6f9fca;
  --pti-section-referentiels-separateur: #315f96;
 
  --pti-section-documents-fond: #202633;
  --pti-section-documents-fond-survol: #252d3b;
  --pti-section-documents-bordure: #9aa6b5;
  --pti-section-documents-separateur: #465264;
 
  --pti-section-espaces-fond: #10251a;
  --pti-section-espaces-fond-survol: #173321;
  --pti-section-espaces-bordure: #7fb891;
  --pti-section-espaces-separateur: #285c3f;
 
  --pti-section-pilotage-fond: #21182f;
  --pti-section-pilotage-fond-survol: #2a1f3d;
  --pti-section-pilotage-bordure: #9b86c6;
  --pti-section-pilotage-separateur: #574177;
}
 
@media screen and (prefers-color-scheme: dark) {
  html.skin-theme-clientpref-os {
    color-scheme: dark;
 
    --pti-bleu-nuit: #f3f6fb;
    --pti-bleu-profond: #d8dee9;
    --pti-bleu-lien: #8ab4f8;
    --pti-bleu-lien-visite: #c6a7ff;
 
    --pti-or: #d7bf8f;
    --pti-or-clair: #e8d7ad;
    --pti-or-fond: #2a2418;
 
    --pti-vert: #8fd0a8;
    --pti-vert-fond: #10251a;
 
    --pti-rouge: #f2a3a3;
    --pti-rouge-fond: #2a1414;
 
    --pti-fond-page: #0f1117;
    --pti-fond-contenu: #151922;
    --pti-fond-carte: #1b202b;
    --pti-fond-encart: #1b202b;
    --pti-fond-secondaire: #181e29;
 
    --pti-texte: #e5e7eb;
    --pti-texte-secondaire: #c3cad6;
    --pti-texte-discret: #9aa4b2;
    --pti-texte-inverse: #ffffff;
 
    --pti-bordure: #394150;
    --pti-bordure-legere: #2b3340;
 
    --pti-code-fond: #111827;
    --pti-code-bloc-fond: #111827;
    --pti-code-bordure: #374151;
    --pti-code-texte: #e5e7eb;
 
    --pti-table-entete-fond: #0b1220;
    --pti-table-entete-texte: #ffffff;
    --pti-table-ligne-paire: #181e29;
 
    --pti-ombre-carte: 0 1px 3px rgba(0, 0, 0, 0.35);
    --pti-ombre-carte-survol: 0 6px 18px rgba(0, 0, 0, 0.45);
 
    --pti-section-entrees-fond: #2a2418;
    --pti-section-entrees-fond-survol: #352c1d;
    --pti-section-entrees-bordure: #d7bf8f;
    --pti-section-entrees-separateur: #6f5630;
 
    --pti-section-referentiels-fond: #111f32;
    --pti-section-referentiels-fond-survol: #172944;
    --pti-section-referentiels-bordure: #6f9fca;
    --pti-section-referentiels-separateur: #315f96;
 
    --pti-section-documents-fond: #202633;
    --pti-section-documents-fond-survol: #252d3b;
    --pti-section-documents-bordure: #9aa6b5;
    --pti-section-documents-separateur: #465264;
 
    --pti-section-espaces-fond: #10251a;
    --pti-section-espaces-fond-survol: #173321;
    --pti-section-espaces-bordure: #7fb891;
    --pti-section-espaces-separateur: #285c3f;
 
    --pti-section-pilotage-fond: #21182f;
    --pti-section-pilotage-fond-survol: #2a1f3d;
    --pti-section-pilotage-bordure: #9b86c6;
    --pti-section-pilotage-separateur: #574177;
  }
}
 
 
/* ============================================================
  3. AMBIANCE GÉNÉRALE MEDIAWIKI
   ============================================================ */
   ============================================================ */


Ligne 57 : Ligne 287 :
}
}


/* Zone principale de contenu */
.mw-body,
.mw-body,
.vector-body,
.vector-body,
Ligne 64 : Ligne 293 :
.mw-page-container-inner {
.mw-page-container-inner {
   background: var(--pti-fond-contenu) !important;
   background: var(--pti-fond-contenu) !important;
  color: var(--pti-texte) !important;
}
}


/* Corps de page */
.mw-parser-output {
.mw-parser-output {
   color: var(--pti-texte) !important;
   color: var(--pti-texte) !important;
Ligne 73 : Ligne 302 :
}
}


/* Paragraphes */
.mw-parser-output * {
.mw-parser-output p {
  box-sizing: border-box;
}
 
.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output td {
   color: var(--pti-texte) !important;
   color: var(--pti-texte) !important;
   line-height: 1.6;
   line-height: 1.6;
}
/* Meilleure gestion des débordements */
.mw-parser-output * {
  box-sizing: border-box;
}
}




/* ============================================================
/* ============================================================
   3. Logo et marque du wiki
   4. LOGO ET MARQUE DU WIKI
   ============================================================ */
   ============================================================ */


/* Masquage provisoire du logo MediaWiki par défaut */
.mw-logo-icon {
.mw-logo-icon {
   display: none !important;
   display: none !important;
}
}


/* Amélioration du bloc marque en haut à gauche */
.mw-logo-wordmark,
.mw-logo-wordmark,
.mw-logo-tagline {
.mw-logo-tagline {
Ligne 104 : Ligne 331 :
}
}


/* Titre du wiki dans l’en tête */
.vector-header-container .mw-logo-wordmark {
.vector-header-container .mw-logo-wordmark {
   font-weight: 700 !important;
   font-weight: 700 !important;
Ligne 116 : Ligne 342 :


/* ============================================================
/* ============================================================
   4. Titres et hiérarchie éditoriale
   5. TITRES ET HIÉRARCHIE ÉDITORIALE
   ============================================================ */
   ============================================================ */


/* Titre principal de page */
.firstHeading,
.firstHeading,
.mw-first-heading {
.mw-first-heading {
Ligne 128 : Ligne 353 :
}
}


/* Titres internes */
.mw-body h1,
.mw-body h1,
.mw-body h2,
.mw-body h2,
Ligne 143 : Ligne 367 :
}
}


/* Titres de niveau 2 */
.mw-parser-output h2 {
.mw-parser-output h2 {
   border-bottom: 1px solid var(--pti-bordure) !important;
   border-bottom: 1px solid var(--pti-bordure) !important;
Ligne 151 : Ligne 374 :
}
}


/* Titres de niveau 3 */
.mw-parser-output h3 {
.mw-parser-output h3 {
   font-weight: 650 !important;
   font-weight: 650 !important;
Ligne 159 : Ligne 381 :


/* ============================================================
/* ============================================================
   5. Liens
   6. LIENS
   ============================================================ */
   ============================================================ */


Ligne 181 : Ligne 403 :


/* ============================================================
/* ============================================================
   6. Bandeau institutionnel Athéna
   7. BANDEAU INSTITUTIONNEL ATHÉNA
   ============================================================ */
   ============================================================ */


Ligne 187 : Ligne 409 :
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   border-left: 6px solid var(--pti-or) !important;
   border-left: 6px solid var(--pti-or) !important;
   background: linear-gradient(135deg, #ffffff 0%, var(--pti-or-fond) 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
   padding: 1.5rem 1.7rem !important;
   padding: 1.5rem 1.7rem !important;
   margin: 1rem 0 1.5rem 0 !important;
   margin: 1rem 0 1.5rem 0 !important;
Ligne 195 : Ligne 417 :
   flex-direction: column !important;
   flex-direction: column !important;
   justify-content: center !important;
   justify-content: center !important;
   box-shadow: 0 1px 3px rgba(17, 24, 39, 0.06) !important;
   box-shadow: var(--pti-ombre-carte) !important;
}
}


Ligne 216 : Ligne 438 :


/* ============================================================
/* ============================================================
   7. Grilles et tuiles
   8. GRILLES ET TUILES
   ============================================================ */
   ============================================================ */


Ligne 232 : Ligne 454 :
   border-radius: var(--pti-rayon) !important;
   border-radius: var(--pti-rayon) !important;
   box-shadow: var(--pti-ombre-carte) !important;
   box-shadow: var(--pti-ombre-carte) !important;
   transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
   transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}
}


Ligne 264 : Ligne 486 :
}
}


/* Variante de tuile plus importante, utilisable ponctuellement */
.pti-carte-majeure {
.pti-carte-majeure {
   border-left: 5px solid var(--pti-or) !important;
   border-left: 5px solid var(--pti-or) !important;
   background: linear-gradient(135deg, #ffffff 0%, #fbfaf7 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
}
}




/* ============================================================
/* ============================================================
   8. Encarts documentaires
   9. ENCARTS DOCUMENTAIRES
   ============================================================ */
   ============================================================ */


Ligne 279 : Ligne 500 :
   border-left: 5px solid var(--pti-or) !important;
   border-left: 5px solid var(--pti-or) !important;
   background: var(--pti-fond-encart) !important;
   background: var(--pti-fond-encart) !important;
  color: var(--pti-texte) !important;
   padding: 1rem 1.1rem !important;
   padding: 1rem 1.1rem !important;
   margin: 1rem 0 !important;
   margin: 1rem 0 !important;
Ligne 289 : Ligne 511 :
}
}


/* Encarts spécialisés */
.pti-note {
.pti-note {
   border-left: 5px solid var(--pti-bleu-lien) !important;
   border-left-color: var(--pti-bleu-lien) !important;
   background: #f5f8fc !important;
   background: var(--pti-section-referentiels-fond) !important;
}
}


.pti-attention {
.pti-attention {
   border-left: 5px solid var(--pti-or) !important;
   border-left-color: var(--pti-or) !important;
   background: #fbf7ef !important;
   background: var(--pti-or-fond) !important;
}
}


.pti-validation {
.pti-validation {
   border-left: 5px solid var(--pti-vert) !important;
   border-left-color: var(--pti-vert) !important;
   background: var(--pti-vert-fond) !important;
   background: var(--pti-vert-fond) !important;
}
}


.pti-danger {
.pti-danger {
   border-left: 5px solid var(--pti-rouge) !important;
   border-left-color: var(--pti-rouge) !important;
   background: var(--pti-rouge-fond) !important;
   background: var(--pti-rouge-fond) !important;
}
}
Ligne 312 : Ligne 533 :


/* ============================================================
/* ============================================================
   9. Tableaux
   10. TABLEAUX
   ============================================================ */
   ============================================================ */


.wikitable {
.wikitable {
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
   border-collapse: collapse !important;
   border-collapse: collapse !important;
   box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04) !important;
   box-shadow: var(--pti-ombre-carte) !important;
   max-width: 100% !important;
   max-width: 100% !important;
}
}


.wikitable th {
.wikitable th {
   background: var(--pti-bleu-nuit) !important;
   background: var(--pti-table-entete-fond) !important;
   color: #ffffff !important;
   color: var(--pti-table-entete-texte) !important;
   font-weight: 650 !important;
   font-weight: 650 !important;
}
}
Ligne 334 : Ligne 555 :
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   vertical-align: top !important;
   vertical-align: top !important;
}
.wikitable td {
  background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
}
}


.wikitable tr:nth-child(even) td {
.wikitable tr:nth-child(even) td {
   background: #fafbfc !important;
   background: var(--pti-table-ligne-paire) !important;
}
}




/* ============================================================
/* ============================================================
   10. Code, préformaté et éléments techniques
   11. CODE ET PRÉFORMATÉ
   ============================================================ */
   ============================================================ */


Ligne 352 : Ligne 578 :


code {
code {
   background: #f3f5f8 !important;
   background: var(--pti-code-fond) !important;
   border: 1px solid #e1e5ec !important;
   border: 1px solid var(--pti-code-bordure) !important;
   border-radius: 4px !important;
   border-radius: 4px !important;
   padding: 0.08rem 0.28rem !important;
   padding: 0.08rem 0.28rem !important;
   color: #1f2937 !important;
   color: var(--pti-code-texte) !important;
   white-space: break-spaces !important;
   white-space: break-spaces !important;
}
}


pre {
pre {
   background: #f6f8fb !important;
   background: var(--pti-code-bloc-fond) !important;
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-code-bordure) !important;
   border-left: 4px solid var(--pti-or) !important;
   border-left: 4px solid var(--pti-or) !important;
   border-radius: var(--pti-rayon-petit) !important;
   border-radius: var(--pti-rayon-petit) !important;
   padding: 1rem !important;
   padding: 1rem !important;
   color: #1f2937 !important;
   color: var(--pti-code-texte) !important;
   max-width: 100% !important;
   max-width: 100% !important;
   overflow-x: auto !important;
   overflow-x: auto !important;
Ligne 374 : Ligne 600 :


/* ============================================================
/* ============================================================
   11. Menus latéraux et blocs MediaWiki
   12. MENUS, ONGLETS ET BLOCS MEDIAWIKI
   ============================================================ */
   ============================================================ */


Ligne 394 : Ligne 620 :


.vector-menu-content-list li a:hover {
.vector-menu-content-list li a:hover {
   background: #f2f5f9 !important;
   background: var(--pti-fond-secondaire) !important;
   text-decoration: none !important;
   text-decoration: none !important;
}
}
/* ============================================================
  12. Onglets et actions de page MediaWiki
  ============================================================ */


.vector-page-titlebar-toc,
.vector-page-titlebar-toc,
Ligne 420 : Ligne 641 :


/* ============================================================
/* ============================================================
   13. Sommaire
   13. SOMMAIRE
   ============================================================ */
   ============================================================ */


Ligne 427 : Ligne 648 :
.vector-toc {
.vector-toc {
   border-color: var(--pti-bordure) !important;
   border-color: var(--pti-bordure) !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
   border-radius: var(--pti-rayon-petit) !important;
   border-radius: var(--pti-rayon-petit) !important;
}
}
Ligne 441 : Ligne 662 :


/* ============================================================
/* ============================================================
   14. Images et fichiers
   14. IMAGES ET FICHIERS
   ============================================================ */
   ============================================================ */


Ligne 451 : Ligne 672 :
.thumbinner {
.thumbinner {
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
   border-radius: var(--pti-rayon-petit) !important;
   border-radius: var(--pti-rayon-petit) !important;
   box-shadow: 0 1px 2px rgba(17, 24, 39, 0.05) !important;
   box-shadow: var(--pti-ombre-carte) !important;
}
}


Ligne 463 : Ligne 684 :


/* ============================================================
/* ============================================================
   15. Messages système MediaWiki
   15. MESSAGES SYSTÈME MEDIAWIKI
   ============================================================ */
   ============================================================ */


Ligne 488 : Ligne 709 :


/* ============================================================
/* ============================================================
   16. Formulaires et champs
   16. FORMULAIRES ET CHAMPS
   ============================================================ */
   ============================================================ */


Ligne 515 : Ligne 736 :


/* ============================================================
/* ============================================================
   17. Petites classes utilitaires pour les pages Athéna
   17. RESPONSIVE
  ============================================================ */
 
.pti-discret {
  color: var(--pti-texte-discret) !important;
}
 
.pti-centre {
  text-align: center !important;
}
 
.pti-droite {
  text-align: right !important;
}
 
.pti-separateur {
  border-top: 1px solid var(--pti-bordure) !important;
  margin: 1.5rem 0 !important;
}
 
.pti-meta {
  color: var(--pti-texte-secondaire) !important;
  font-size: 0.92rem !important;
}
 
.pti-largeur-lisible {
  max-width: 980px !important;
}
 
.pti-espace-haut {
  margin-top: 1.5rem !important;
}
 
.pti-espace-bas {
  margin-bottom: 1.5rem !important;
}
 
 
/* ============================================================
  18. Responsive
   ============================================================ */
   ============================================================ */


Ligne 587 : Ligne 769 :
   }
   }


   .pti-carte {
   .pti-carte,
    padding: 0.9rem !important;
  }
 
   .pti-encart {
   .pti-encart {
     padding: 0.9rem !important;
     padding: 0.9rem !important;
Ligne 602 : Ligne 781 :


/* ============================================================
/* ============================================================
   19. Teintes sobres par section de l’accueil
   18. TEINTES DES SECTIONS DE L’ACCUEIL
  Version renforcée et plus lisible
   ============================================================ */
   ============================================================ */
/* ------------------------------------------------------------
  19.1 Portes d’entrée principales
  Or institutionnel
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-entrees .pti-carte {
.mw-parser-output .pti-section-entrees .pti-carte {
   background: linear-gradient(135deg, #ffffff 0%, #fbf3e6 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-entrees-fond) 100%) !important;
   border-top: 4px solid #b08d57 !important;
   border-top: 4px solid var(--pti-section-entrees-bordure) !important;
}
}


.mw-parser-output .pti-section-entrees .pti-carte-titre {
.mw-parser-output .pti-section-entrees .pti-carte-titre {
   border-bottom-color: #e5cfaa !important;
   border-bottom-color: var(--pti-section-entrees-separateur) !important;
}
}
/* ------------------------------------------------------------
  19.2 Référentiels et capital intellectuel
  Bleu technique
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-referentiels .pti-carte {
.mw-parser-output .pti-section-referentiels .pti-carte {
   background: linear-gradient(135deg, #ffffff 0%, #edf5ff 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond) 100%) !important;
   border-top: 4px solid #6f9fca !important;
   border-top: 4px solid var(--pti-section-referentiels-bordure) !important;
}
}


.mw-parser-output .pti-section-referentiels .pti-carte-titre {
.mw-parser-output .pti-section-referentiels .pti-carte-titre {
   border-bottom-color: #c7dced !important;
   border-bottom-color: var(--pti-section-referentiels-separateur) !important;
}
}
/* ------------------------------------------------------------
  19.3 Documents et fonctionnement interne
  Gris documentaire
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-documents .pti-carte {
.mw-parser-output .pti-section-documents .pti-carte {
   background: linear-gradient(135deg, #ffffff 0%, #f1f3f6 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-documents-fond) 100%) !important;
   border-top: 4px solid #9aa6b5 !important;
   border-top: 4px solid var(--pti-section-documents-bordure) !important;
}
}


.mw-parser-output .pti-section-documents .pti-carte-titre {
.mw-parser-output .pti-section-documents .pti-carte-titre {
   border-bottom-color: #d4dae2 !important;
   border-bottom-color: var(--pti-section-documents-separateur) !important;
}
}
/* ------------------------------------------------------------
  19.4 Espaces de travail
  Vert discret
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-espaces .pti-carte {
.mw-parser-output .pti-section-espaces .pti-carte {
   background: linear-gradient(135deg, #ffffff 0%, #edf9f1 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-espaces-fond) 100%) !important;
   border-top: 4px solid #7fb891 !important;
   border-top: 4px solid var(--pti-section-espaces-bordure) !important;
}
}


.mw-parser-output .pti-section-espaces .pti-carte-titre {
.mw-parser-output .pti-section-espaces .pti-carte-titre {
   border-bottom-color: #c7e2cf !important;
   border-bottom-color: var(--pti-section-espaces-separateur) !important;
}
}
/* ------------------------------------------------------------
  19.5 Pilotage du wiki
  Mauve neutre
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-pilotage .pti-carte {
.mw-parser-output .pti-section-pilotage .pti-carte {
   background: linear-gradient(135deg, #ffffff 0%, #f4f0fb 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-pilotage-fond) 100%) !important;
   border-top: 4px solid #9b86c6 !important;
   border-top: 4px solid var(--pti-section-pilotage-bordure) !important;
}
}


.mw-parser-output .pti-section-pilotage .pti-carte-titre {
.mw-parser-output .pti-section-pilotage .pti-carte-titre {
   border-bottom-color: #ddd3ef !important;
   border-bottom-color: var(--pti-section-pilotage-separateur) !important;
}
}
/* ------------------------------------------------------------
  19.6 Harmonisation des cartes majeures
  Les portes d’entrée gardent une présence supérieure
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-entrees .pti-carte-majeure {
.mw-parser-output .pti-section-entrees .pti-carte-majeure {
   border-left: 5px solid #b08d57 !important;
   border-left: 5px solid var(--pti-section-entrees-bordure) !important;
  border-top: 4px solid #b08d57 !important;
  background: linear-gradient(135deg, #ffffff 0%, #fbf0dd 100%) !important;
}
}
/* ------------------------------------------------------------
  19.7 Survol
  Le survol renforce la carte sans effacer sa famille visuelle
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-entrees .pti-carte:hover {
.mw-parser-output .pti-section-entrees .pti-carte:hover {
   background: linear-gradient(135deg, #ffffff 0%, #f8ead2 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-entrees-fond-survol) 100%) !important;
   border-color: #b08d57 !important;
   border-color: var(--pti-section-entrees-bordure) !important;
}
}


.mw-parser-output .pti-section-referentiels .pti-carte:hover {
.mw-parser-output .pti-section-referentiels .pti-carte:hover {
   background: linear-gradient(135deg, #ffffff 0%, #e4f0fc 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond-survol) 100%) !important;
   border-color: #6f9fca !important;
   border-color: var(--pti-section-referentiels-bordure) !important;
}
}


.mw-parser-output .pti-section-documents .pti-carte:hover {
.mw-parser-output .pti-section-documents .pti-carte:hover {
   background: linear-gradient(135deg, #ffffff 0%, #e9edf2 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-documents-fond-survol) 100%) !important;
   border-color: #9aa6b5 !important;
   border-color: var(--pti-section-documents-bordure) !important;
}
}


.mw-parser-output .pti-section-espaces .pti-carte:hover {
.mw-parser-output .pti-section-espaces .pti-carte:hover {
   background: linear-gradient(135deg, #ffffff 0%, #e3f5e9 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-espaces-fond-survol) 100%) !important;
   border-color: #7fb891 !important;
   border-color: var(--pti-section-espaces-bordure) !important;
}
}


.mw-parser-output .pti-section-pilotage .pti-carte:hover {
.mw-parser-output .pti-section-pilotage .pti-carte:hover {
   background: linear-gradient(135deg, #ffffff 0%, #eee7f8 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-pilotage-fond-survol) 100%) !important;
   border-color: #9b86c6 !important;
   border-color: var(--pti-section-pilotage-bordure) !important;
}
}
/* ------------------------------------------------------------
  19.8 Ombre commune au survol
  ------------------------------------------------------------ */


.mw-parser-output .pti-section-entrees .pti-carte:hover,
.mw-parser-output .pti-section-entrees .pti-carte:hover,
Ligne 734 : Ligne 863 :
.mw-parser-output .pti-section-espaces .pti-carte:hover,
.mw-parser-output .pti-section-espaces .pti-carte:hover,
.mw-parser-output .pti-section-pilotage .pti-carte:hover {
.mw-parser-output .pti-section-pilotage .pti-carte:hover {
   box-shadow: 0 6px 18px rgba(17, 24, 39, 0.12) !important;
   box-shadow: var(--pti-ombre-carte-survol) !important;
}
}




/* ============================================================
/* ============================================================
   20. Accordéons Athéna
   19. ACCORDÉONS ATHÉNA
  Sections repliables et dépliables
   ============================================================ */
   ============================================================ */


Ligne 746 : Ligne 874 :
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   border-left: 5px solid var(--pti-or) !important;
   border-left: 5px solid var(--pti-or) !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
   border-radius: var(--pti-rayon) !important;
   border-radius: var(--pti-rayon) !important;
   margin: 1rem 0 !important;
   margin: 1rem 0 !important;
Ligne 756 : Ligne 885 :
   font-weight: 720 !important;
   font-weight: 720 !important;
   color: var(--pti-bleu-nuit) !important;
   color: var(--pti-bleu-nuit) !important;
   background: linear-gradient(135deg, #ffffff 0%, var(--pti-or-fond) 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
   padding: 0.85rem 1rem !important;
   padding: 0.85rem 1rem !important;
   border-bottom: 1px solid var(--pti-bordure-legere) !important;
   border-bottom: 1px solid var(--pti-bordure-legere) !important;
Ligne 763 : Ligne 892 :
.mw-parser-output .pti-accordeon .mw-collapsible-content {
.mw-parser-output .pti-accordeon .mw-collapsible-content {
   padding: 1rem !important;
   padding: 1rem !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
}
}


Ligne 776 : Ligne 906 :
   color: var(--pti-bleu-nuit) !important;
   color: var(--pti-bleu-nuit) !important;
}
}
/* ------------------------------------------------------------
  20.1 Variantes d’accordéons
  ------------------------------------------------------------ */


.mw-parser-output .pti-accordeon.pti-accordeon-note {
.mw-parser-output .pti-accordeon.pti-accordeon-note {
Ligne 787 : Ligne 912 :


.mw-parser-output .pti-accordeon.pti-accordeon-note .pti-accordeon-titre {
.mw-parser-output .pti-accordeon.pti-accordeon-note .pti-accordeon-titre {
   background: linear-gradient(135deg, #ffffff 0%, #f5f8fc 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond) 100%) !important;
}
}


Ligne 795 : Ligne 920 :


.mw-parser-output .pti-accordeon.pti-accordeon-attention .pti-accordeon-titre {
.mw-parser-output .pti-accordeon.pti-accordeon-attention .pti-accordeon-titre {
   background: linear-gradient(135deg, #ffffff 0%, #fbf7ef 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
}
}


Ligne 803 : Ligne 928 :


.mw-parser-output .pti-accordeon.pti-accordeon-validation .pti-accordeon-titre {
.mw-parser-output .pti-accordeon.pti-accordeon-validation .pti-accordeon-titre {
   background: linear-gradient(135deg, #ffffff 0%, var(--pti-vert-fond) 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-vert-fond) 100%) !important;
}
}


Ligne 811 : Ligne 936 :


.mw-parser-output .pti-accordeon.pti-accordeon-danger .pti-accordeon-titre {
.mw-parser-output .pti-accordeon.pti-accordeon-danger .pti-accordeon-titre {
   background: linear-gradient(135deg, #ffffff 0%, var(--pti-rouge-fond) 100%) !important;
   background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-rouge-fond) 100%) !important;
}
}




/* ============================================================
/* ============================================================
   21. Classes documentaires complémentaires
   20. CLASSES DOCUMENTAIRES COMPLÉMENTAIRES
   ============================================================ */
   ============================================================ */


.pti-bloc-sobre {
.pti-bloc-sobre {
   border: 1px solid var(--pti-bordure) !important;
   border: 1px solid var(--pti-bordure) !important;
   background: #ffffff !important;
   background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
   border-radius: var(--pti-rayon-petit) !important;
   border-radius: var(--pti-rayon-petit) !important;
   padding: 1rem !important;
   padding: 1rem !important;
Ligne 829 : Ligne 955 :
.pti-bloc-secondaire {
.pti-bloc-secondaire {
   border: 1px solid var(--pti-bordure-legere) !important;
   border: 1px solid var(--pti-bordure-legere) !important;
   background: #fafbfc !important;
   background: var(--pti-fond-secondaire) !important;
  color: var(--pti-texte) !important;
   border-radius: var(--pti-rayon-petit) !important;
   border-radius: var(--pti-rayon-petit) !important;
   padding: 1rem !important;
   padding: 1rem !important;
Ligne 839 : Ligne 966 :
   padding: 0.18rem 0.45rem !important;
   padding: 0.18rem 0.45rem !important;
   border-radius: 999px !important;
   border-radius: 999px !important;
   background: #f3f5f8 !important;
   background: var(--pti-code-fond) !important;
   border: 1px solid #e1e5ec !important;
   border: 1px solid var(--pti-code-bordure) !important;
   color: var(--pti-texte-secondaire) !important;
   color: var(--pti-texte-secondaire) !important;
   font-size: 0.85rem !important;
   font-size: 0.85rem !important;
Ligne 848 : Ligne 975 :
.pti-etiquette-validation {
.pti-etiquette-validation {
   background: var(--pti-vert-fond) !important;
   background: var(--pti-vert-fond) !important;
   border-color: #c7e2cf !important;
   border-color: var(--pti-vert) !important;
   color: var(--pti-vert) !important;
   color: var(--pti-vert) !important;
}
}


.pti-etiquette-attention {
.pti-etiquette-attention {
   background: #fbf7ef !important;
   background: var(--pti-or-fond) !important;
   border-color: #e5cfaa !important;
   border-color: var(--pti-or) !important;
   color: #7a5a2b !important;
   color: var(--pti-or-clair) !important;
}
}


.pti-etiquette-note {
.pti-etiquette-note {
   background: #f5f8fc !important;
   background: var(--pti-section-referentiels-fond) !important;
   border-color: #c7dced !important;
   border-color: var(--pti-bleu-lien) !important;
   color: var(--pti-bleu-lien) !important;
   color: var(--pti-bleu-lien) !important;
}
}
Ligne 866 : Ligne 993 :
.pti-etiquette-danger {
.pti-etiquette-danger {
   background: var(--pti-rouge-fond) !important;
   background: var(--pti-rouge-fond) !important;
   border-color: #efc7c7 !important;
   border-color: var(--pti-rouge) !important;
   color: var(--pti-rouge) !important;
   color: var(--pti-rouge) !important;
}
/* ============================================================
  21. CLASSES UTILITAIRES
  ============================================================ */
.pti-discret {
  color: var(--pti-texte-discret) !important;
}
.pti-centre {
  text-align: center !important;
}
.pti-droite {
  text-align: right !important;
}
.pti-separateur {
  border-top: 1px solid var(--pti-bordure) !important;
  margin: 1.5rem 0 !important;
}
.pti-meta {
  color: var(--pti-texte-secondaire) !important;
  font-size: 0.92rem !important;
}
.pti-largeur-lisible {
  max-width: 980px !important;
}
.pti-espace-haut {
  margin-top: 1.5rem !important;
}
.pti-espace-bas {
  margin-bottom: 1.5rem !important;
}
}

Dernière version du 5 juillet 2026 à 12:46

/* ============================================================
   ATHÉNA — IDENTITÉ VISUELLE PROMÉTHÉE T&I
   ============================================================

   Fichier cible :
   MediaWiki:Common.css

   Rôle :
   Définir l’identité visuelle commune du wiki Athéna :
   couleurs, typographie, cartes, encarts, tableaux, accordéons,
   pages d’accueil, classes utilitaires et compatibilité mode sombre.

   Principe de conception :
   1. Les couleurs et fonds sont pilotés par des variables CSS.
   2. Les composants utilisent les variables, jamais le thème en dur.
   3. Le mode sombre redéfinit principalement les variables.
   4. Les classes Athéna sont préfixées par .pti-
   5. Les surcharges MediaWiki restent limitées et commentées.

   Convention :
   .pti-bandeau       : bandeau institutionnel de page
   .pti-grille        : grille de tuiles
   .pti-carte         : tuile documentaire
   .pti-encart        : encart éditorial
   .pti-accordeon     : bloc repliable
   .pti-etiquette     : badge documentaire
   .pti-meta          : information secondaire

   ============================================================ */


/* ============================================================
   1. VARIABLES GÉNÉRALES, MODE CLAIR
   ============================================================

   Ces variables sont la source principale de l’identité Athéna.
   Les composants graphiques ci-dessous doivent s’appuyer sur elles.

   ============================================================ */

:root {
  /* Couleurs institutionnelles */
  --pti-bleu-nuit: #111827;
  --pti-bleu-profond: #1f2937;
  --pti-bleu-lien: #245c9c;
  --pti-bleu-lien-visite: #4b4f9c;

  --pti-or: #b08d57;
  --pti-or-clair: #d7bf8f;
  --pti-or-fond: #f8f4ec;

  --pti-vert: #3f7d5f;
  --pti-vert-fond: #f3faf6;

  --pti-rouge: #9f3a38;
  --pti-rouge-fond: #fff5f5;

  /* Fonds principaux */
  --pti-fond-page: #f7f8fb;
  --pti-fond-contenu: #ffffff;
  --pti-fond-carte: #ffffff;
  --pti-fond-encart: #fbfcfe;
  --pti-fond-secondaire: #fafbfc;

  /* Texte */
  --pti-texte: #1f2933;
  --pti-texte-secondaire: #5f6b7a;
  --pti-texte-discret: #7b8794;
  --pti-texte-inverse: #ffffff;

  /* Bordures */
  --pti-bordure: #d8dde6;
  --pti-bordure-legere: #edf0f5;

  /* Code */
  --pti-code-fond: #f3f5f8;
  --pti-code-bloc-fond: #f6f8fb;
  --pti-code-bordure: #e1e5ec;
  --pti-code-texte: #1f2937;

  /* Tableaux */
  --pti-table-entete-fond: var(--pti-bleu-nuit);
  --pti-table-entete-texte: #ffffff;
  --pti-table-ligne-paire: #fafbfc;

  /* Ombres et rayons */
  --pti-ombre-carte: 0 1px 3px rgba(17, 24, 39, 0.08);
  --pti-ombre-carte-survol: 0 6px 18px rgba(17, 24, 39, 0.12);

  --pti-rayon: 10px;
  --pti-rayon-petit: 8px;

  /* Teintes de sections de l’accueil */
  --pti-section-entrees-fond: #fbf3e6;
  --pti-section-entrees-fond-survol: #f8ead2;
  --pti-section-entrees-bordure: #b08d57;
  --pti-section-entrees-separateur: #e5cfaa;

  --pti-section-referentiels-fond: #edf5ff;
  --pti-section-referentiels-fond-survol: #e4f0fc;
  --pti-section-referentiels-bordure: #6f9fca;
  --pti-section-referentiels-separateur: #c7dced;

  --pti-section-documents-fond: #f1f3f6;
  --pti-section-documents-fond-survol: #e9edf2;
  --pti-section-documents-bordure: #9aa6b5;
  --pti-section-documents-separateur: #d4dae2;

  --pti-section-espaces-fond: #edf9f1;
  --pti-section-espaces-fond-survol: #e3f5e9;
  --pti-section-espaces-bordure: #7fb891;
  --pti-section-espaces-separateur: #c7e2cf;

  --pti-section-pilotage-fond: #f4f0fb;
  --pti-section-pilotage-fond-survol: #eee7f8;
  --pti-section-pilotage-bordure: #9b86c6;
  --pti-section-pilotage-separateur: #ddd3ef;
}


/* ============================================================
   2. VARIABLES GÉNÉRALES, MODE SOMBRE
   ============================================================

   MediaWiki / Vector peut appliquer le mode sombre de deux façons :
   1. Mode sombre choisi explicitement :
      html.skin-theme-clientpref-night
   2. Mode automatique selon le système :
      html.skin-theme-clientpref-os + prefers-color-scheme: dark

   On redéfinit les variables, puis les composants suivent.

   ============================================================ */

html.skin-theme-clientpref-night {
  color-scheme: dark;

  --pti-bleu-nuit: #f3f6fb;
  --pti-bleu-profond: #d8dee9;
  --pti-bleu-lien: #8ab4f8;
  --pti-bleu-lien-visite: #c6a7ff;

  --pti-or: #d7bf8f;
  --pti-or-clair: #e8d7ad;
  --pti-or-fond: #2a2418;

  --pti-vert: #8fd0a8;
  --pti-vert-fond: #10251a;

  --pti-rouge: #f2a3a3;
  --pti-rouge-fond: #2a1414;

  --pti-fond-page: #0f1117;
  --pti-fond-contenu: #151922;
  --pti-fond-carte: #1b202b;
  --pti-fond-encart: #1b202b;
  --pti-fond-secondaire: #181e29;

  --pti-texte: #e5e7eb;
  --pti-texte-secondaire: #c3cad6;
  --pti-texte-discret: #9aa4b2;
  --pti-texte-inverse: #ffffff;

  --pti-bordure: #394150;
  --pti-bordure-legere: #2b3340;

  --pti-code-fond: #111827;
  --pti-code-bloc-fond: #111827;
  --pti-code-bordure: #374151;
  --pti-code-texte: #e5e7eb;

  --pti-table-entete-fond: #0b1220;
  --pti-table-entete-texte: #ffffff;
  --pti-table-ligne-paire: #181e29;

  --pti-ombre-carte: 0 1px 3px rgba(0, 0, 0, 0.35);
  --pti-ombre-carte-survol: 0 6px 18px rgba(0, 0, 0, 0.45);

  --pti-section-entrees-fond: #2a2418;
  --pti-section-entrees-fond-survol: #352c1d;
  --pti-section-entrees-bordure: #d7bf8f;
  --pti-section-entrees-separateur: #6f5630;

  --pti-section-referentiels-fond: #111f32;
  --pti-section-referentiels-fond-survol: #172944;
  --pti-section-referentiels-bordure: #6f9fca;
  --pti-section-referentiels-separateur: #315f96;

  --pti-section-documents-fond: #202633;
  --pti-section-documents-fond-survol: #252d3b;
  --pti-section-documents-bordure: #9aa6b5;
  --pti-section-documents-separateur: #465264;

  --pti-section-espaces-fond: #10251a;
  --pti-section-espaces-fond-survol: #173321;
  --pti-section-espaces-bordure: #7fb891;
  --pti-section-espaces-separateur: #285c3f;

  --pti-section-pilotage-fond: #21182f;
  --pti-section-pilotage-fond-survol: #2a1f3d;
  --pti-section-pilotage-bordure: #9b86c6;
  --pti-section-pilotage-separateur: #574177;
}

@media screen and (prefers-color-scheme: dark) {
  html.skin-theme-clientpref-os {
    color-scheme: dark;

    --pti-bleu-nuit: #f3f6fb;
    --pti-bleu-profond: #d8dee9;
    --pti-bleu-lien: #8ab4f8;
    --pti-bleu-lien-visite: #c6a7ff;

    --pti-or: #d7bf8f;
    --pti-or-clair: #e8d7ad;
    --pti-or-fond: #2a2418;

    --pti-vert: #8fd0a8;
    --pti-vert-fond: #10251a;

    --pti-rouge: #f2a3a3;
    --pti-rouge-fond: #2a1414;

    --pti-fond-page: #0f1117;
    --pti-fond-contenu: #151922;
    --pti-fond-carte: #1b202b;
    --pti-fond-encart: #1b202b;
    --pti-fond-secondaire: #181e29;

    --pti-texte: #e5e7eb;
    --pti-texte-secondaire: #c3cad6;
    --pti-texte-discret: #9aa4b2;
    --pti-texte-inverse: #ffffff;

    --pti-bordure: #394150;
    --pti-bordure-legere: #2b3340;

    --pti-code-fond: #111827;
    --pti-code-bloc-fond: #111827;
    --pti-code-bordure: #374151;
    --pti-code-texte: #e5e7eb;

    --pti-table-entete-fond: #0b1220;
    --pti-table-entete-texte: #ffffff;
    --pti-table-ligne-paire: #181e29;

    --pti-ombre-carte: 0 1px 3px rgba(0, 0, 0, 0.35);
    --pti-ombre-carte-survol: 0 6px 18px rgba(0, 0, 0, 0.45);

    --pti-section-entrees-fond: #2a2418;
    --pti-section-entrees-fond-survol: #352c1d;
    --pti-section-entrees-bordure: #d7bf8f;
    --pti-section-entrees-separateur: #6f5630;

    --pti-section-referentiels-fond: #111f32;
    --pti-section-referentiels-fond-survol: #172944;
    --pti-section-referentiels-bordure: #6f9fca;
    --pti-section-referentiels-separateur: #315f96;

    --pti-section-documents-fond: #202633;
    --pti-section-documents-fond-survol: #252d3b;
    --pti-section-documents-bordure: #9aa6b5;
    --pti-section-documents-separateur: #465264;

    --pti-section-espaces-fond: #10251a;
    --pti-section-espaces-fond-survol: #173321;
    --pti-section-espaces-bordure: #7fb891;
    --pti-section-espaces-separateur: #285c3f;

    --pti-section-pilotage-fond: #21182f;
    --pti-section-pilotage-fond-survol: #2a1f3d;
    --pti-section-pilotage-bordure: #9b86c6;
    --pti-section-pilotage-separateur: #574177;
  }
}


/* ============================================================
   3. AMBIANCE GÉNÉRALE MEDIAWIKI
   ============================================================ */

html,
body {
  background: var(--pti-fond-page) !important;
  color: var(--pti-texte) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.mw-body,
.vector-body,
#content,
.mw-page-container,
.mw-page-container-inner {
  background: var(--pti-fond-contenu) !important;
  color: var(--pti-texte) !important;
}

.mw-parser-output {
  color: var(--pti-texte) !important;
  font-size: 1rem;
  line-height: 1.55;
}

.mw-parser-output * {
  box-sizing: border-box;
}

.mw-parser-output p,
.mw-parser-output li,
.mw-parser-output td {
  color: var(--pti-texte) !important;
  line-height: 1.6;
}


/* ============================================================
   4. LOGO ET MARQUE DU WIKI
   ============================================================ */

.mw-logo-icon {
  display: none !important;
}

.mw-logo-wordmark,
.mw-logo-tagline {
  color: var(--pti-bleu-nuit) !important;
}

.mw-logo-container {
  padding-left: 0.5rem !important;
}

.vector-header-container .mw-logo-wordmark {
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.vector-header-container .mw-logo-tagline {
  color: var(--pti-texte-secondaire) !important;
}


/* ============================================================
   5. TITRES ET HIÉRARCHIE ÉDITORIALE
   ============================================================ */

.firstHeading,
.mw-first-heading {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 650 !important;
  color: var(--pti-bleu-nuit) !important;
  letter-spacing: -0.02em !important;
}

.mw-body h1,
.mw-body h2,
.mw-body h3,
.vector-body h1,
.vector-body h2,
.vector-body h3,
.mw-parser-output h1,
.mw-parser-output h2,
.mw-parser-output h3 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: var(--pti-bleu-nuit) !important;
  letter-spacing: -0.015em !important;
}

.mw-parser-output h2 {
  border-bottom: 1px solid var(--pti-bordure) !important;
  padding-bottom: 0.25em !important;
  margin-top: 1.8em !important;
  font-weight: 600 !important;
}

.mw-parser-output h3 {
  font-weight: 650 !important;
  margin-top: 1.4em !important;
}


/* ============================================================
   6. LIENS
   ============================================================ */

.mw-parser-output a,
.vector-menu-content a,
#mw-panel a {
  color: var(--pti-bleu-lien) !important;
}

.mw-parser-output a:visited {
  color: var(--pti-bleu-lien-visite) !important;
}

.mw-parser-output a:hover,
.vector-menu-content a:hover,
#mw-panel a:hover {
  color: var(--pti-bleu-nuit) !important;
  text-decoration: underline !important;
}


/* ============================================================
   7. BANDEAU INSTITUTIONNEL ATHÉNA
   ============================================================ */

.pti-bandeau {
  border: 1px solid var(--pti-bordure) !important;
  border-left: 6px solid var(--pti-or) !important;
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
  padding: 1.5rem 1.7rem !important;
  margin: 1rem 0 1.5rem 0 !important;
  border-radius: var(--pti-rayon) !important;
  min-height: 120px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-shadow: var(--pti-ombre-carte) !important;
}

.pti-bandeau-titre {
  font-size: 2.1rem !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
  color: var(--pti-bleu-nuit) !important;
  margin-bottom: 0.45rem !important;
  letter-spacing: -0.025em !important;
}

.pti-bandeau-soustitre {
  max-width: 950px !important;
  font-size: 1.05rem !important;
  color: var(--pti-texte-secondaire) !important;
  line-height: 1.55 !important;
}


/* ============================================================
   8. GRILLES ET TUILES
   ============================================================ */

.pti-grille {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 1rem !important;
  margin: 1.2rem 0 1.4rem 0 !important;
}

.pti-carte {
  border: 1px solid var(--pti-bordure) !important;
  background: var(--pti-fond-carte) !important;
  padding: 1rem !important;
  border-radius: var(--pti-rayon) !important;
  box-shadow: var(--pti-ombre-carte) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
}

.pti-carte:hover {
  transform: translateY(-2px) !important;
  border-color: var(--pti-or) !important;
  box-shadow: var(--pti-ombre-carte-survol) !important;
}

.pti-carte-titre {
  font-size: 1.05rem !important;
  font-weight: 720 !important;
  color: var(--pti-bleu-nuit) !important;
  border-bottom: 1px solid var(--pti-bordure-legere) !important;
  padding-bottom: 0.45rem !important;
  margin-bottom: 0.6rem !important;
  letter-spacing: -0.01em !important;
}

.pti-carte-texte {
  color: var(--pti-texte-secondaire) !important;
  line-height: 1.45 !important;
}

.pti-carte-texte a {
  text-decoration: none !important;
}

.pti-carte-texte a:hover {
  text-decoration: underline !important;
}

.pti-carte-majeure {
  border-left: 5px solid var(--pti-or) !important;
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
}


/* ============================================================
   9. ENCARTS DOCUMENTAIRES
   ============================================================ */

.pti-encart {
  border: 1px solid var(--pti-bordure) !important;
  border-left: 5px solid var(--pti-or) !important;
  background: var(--pti-fond-encart) !important;
  color: var(--pti-texte) !important;
  padding: 1rem 1.1rem !important;
  margin: 1rem 0 !important;
  border-radius: var(--pti-rayon-petit) !important;
}

.pti-encart strong,
.pti-encart b {
  color: var(--pti-bleu-nuit) !important;
}

.pti-note {
  border-left-color: var(--pti-bleu-lien) !important;
  background: var(--pti-section-referentiels-fond) !important;
}

.pti-attention {
  border-left-color: var(--pti-or) !important;
  background: var(--pti-or-fond) !important;
}

.pti-validation {
  border-left-color: var(--pti-vert) !important;
  background: var(--pti-vert-fond) !important;
}

.pti-danger {
  border-left-color: var(--pti-rouge) !important;
  background: var(--pti-rouge-fond) !important;
}


/* ============================================================
   10. TABLEAUX
   ============================================================ */

.wikitable {
  border: 1px solid var(--pti-bordure) !important;
  background: var(--pti-fond-carte) !important;
  border-collapse: collapse !important;
  box-shadow: var(--pti-ombre-carte) !important;
  max-width: 100% !important;
}

.wikitable th {
  background: var(--pti-table-entete-fond) !important;
  color: var(--pti-table-entete-texte) !important;
  font-weight: 650 !important;
}

.wikitable td,
.wikitable th {
  padding: 0.55rem 0.7rem !important;
  border: 1px solid var(--pti-bordure) !important;
  vertical-align: top !important;
}

.wikitable td {
  background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
}

.wikitable tr:nth-child(even) td {
  background: var(--pti-table-ligne-paire) !important;
}


/* ============================================================
   11. CODE ET PRÉFORMATÉ
   ============================================================ */

code,
pre,
.mw-code {
  font-family: "Cascadia Mono", "Consolas", "Liberation Mono", monospace !important;
}

code {
  background: var(--pti-code-fond) !important;
  border: 1px solid var(--pti-code-bordure) !important;
  border-radius: 4px !important;
  padding: 0.08rem 0.28rem !important;
  color: var(--pti-code-texte) !important;
  white-space: break-spaces !important;
}

pre {
  background: var(--pti-code-bloc-fond) !important;
  border: 1px solid var(--pti-code-bordure) !important;
  border-left: 4px solid var(--pti-or) !important;
  border-radius: var(--pti-rayon-petit) !important;
  padding: 1rem !important;
  color: var(--pti-code-texte) !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  white-space: pre-wrap !important;
}


/* ============================================================
   12. MENUS, ONGLETS ET BLOCS MEDIAWIKI
   ============================================================ */

.vector-main-menu,
.vector-page-tools,
.vector-appearance-landmark {
  color: var(--pti-texte) !important;
}

.vector-menu-heading,
.vector-pinnable-header-label {
  color: var(--pti-bleu-nuit) !important;
  font-weight: 700 !important;
}

.vector-menu-content-list li a {
  border-radius: 4px !important;
}

.vector-menu-content-list li a:hover {
  background: var(--pti-fond-secondaire) !important;
  text-decoration: none !important;
}

.vector-page-titlebar-toc,
.vector-page-titlebar {
  border-color: var(--pti-bordure) !important;
}

.vector-menu-tabs .selected a,
.vector-menu-tabs .selected a:visited {
  color: var(--pti-bleu-nuit) !important;
  font-weight: 650 !important;
}

.vector-menu-tabs li a {
  color: var(--pti-bleu-lien) !important;
}


/* ============================================================
   13. SOMMAIRE
   ============================================================ */

.toc,
#toc,
.vector-toc {
  border-color: var(--pti-bordure) !important;
  background: var(--pti-fond-carte) !important;
  border-radius: var(--pti-rayon-petit) !important;
}

.tocnumber {
  color: var(--pti-texte-discret) !important;
}

.toctext {
  color: var(--pti-bleu-lien) !important;
}


/* ============================================================
   14. IMAGES ET FICHIERS
   ============================================================ */

.mw-parser-output img {
  max-width: 100%;
  height: auto;
}

.thumbinner {
  border: 1px solid var(--pti-bordure) !important;
  background: var(--pti-fond-carte) !important;
  border-radius: var(--pti-rayon-petit) !important;
  box-shadow: var(--pti-ombre-carte) !important;
}

.thumbcaption {
  color: var(--pti-texte-secondaire) !important;
  font-size: 0.92rem !important;
}


/* ============================================================
   15. MESSAGES SYSTÈME MEDIAWIKI
   ============================================================ */

.warningbox,
.errorbox,
.successbox,
.mw-message-box {
  border-radius: var(--pti-rayon-petit) !important;
  border-color: var(--pti-bordure) !important;
}

.successbox {
  border-left: 5px solid var(--pti-vert) !important;
}

.warningbox {
  border-left: 5px solid var(--pti-or) !important;
}

.errorbox {
  border-left: 5px solid var(--pti-rouge) !important;
}


/* ============================================================
   16. FORMULAIRES ET CHAMPS
   ============================================================ */

input,
textarea,
select,
.mw-ui-input {
  border-radius: 6px !important;
  border-color: var(--pti-bordure) !important;
}

input:focus,
textarea:focus,
select:focus,
.mw-ui-input:focus {
  border-color: var(--pti-or) !important;
  box-shadow: 0 0 0 2px rgba(176, 141, 87, 0.18) !important;
  outline: none !important;
}

.mw-ui-button,
.oo-ui-buttonElement-button {
  border-radius: 6px !important;
}


/* ============================================================
   17. RESPONSIVE
   ============================================================ */

@media screen and (max-width: 900px) {
  .pti-bandeau {
    padding: 1.2rem 1.2rem !important;
    min-height: auto !important;
  }

  .pti-bandeau-titre {
    font-size: 1.8rem !important;
  }

  .pti-grille {
    grid-template-columns: 1fr !important;
  }

  .mw-parser-output .wikitable {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
  }
}

@media screen and (max-width: 600px) {
  .pti-bandeau-titre {
    font-size: 1.6rem !important;
  }

  .pti-bandeau-soustitre {
    font-size: 0.98rem !important;
  }

  .pti-carte,
  .pti-encart {
    padding: 0.9rem !important;
  }

  .mw-parser-output {
    font-size: 0.97rem !important;
  }
}


/* ============================================================
   18. TEINTES DES SECTIONS DE L’ACCUEIL
   ============================================================ */

.mw-parser-output .pti-section-entrees .pti-carte {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-entrees-fond) 100%) !important;
  border-top: 4px solid var(--pti-section-entrees-bordure) !important;
}

.mw-parser-output .pti-section-entrees .pti-carte-titre {
  border-bottom-color: var(--pti-section-entrees-separateur) !important;
}

.mw-parser-output .pti-section-referentiels .pti-carte {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond) 100%) !important;
  border-top: 4px solid var(--pti-section-referentiels-bordure) !important;
}

.mw-parser-output .pti-section-referentiels .pti-carte-titre {
  border-bottom-color: var(--pti-section-referentiels-separateur) !important;
}

.mw-parser-output .pti-section-documents .pti-carte {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-documents-fond) 100%) !important;
  border-top: 4px solid var(--pti-section-documents-bordure) !important;
}

.mw-parser-output .pti-section-documents .pti-carte-titre {
  border-bottom-color: var(--pti-section-documents-separateur) !important;
}

.mw-parser-output .pti-section-espaces .pti-carte {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-espaces-fond) 100%) !important;
  border-top: 4px solid var(--pti-section-espaces-bordure) !important;
}

.mw-parser-output .pti-section-espaces .pti-carte-titre {
  border-bottom-color: var(--pti-section-espaces-separateur) !important;
}

.mw-parser-output .pti-section-pilotage .pti-carte {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-pilotage-fond) 100%) !important;
  border-top: 4px solid var(--pti-section-pilotage-bordure) !important;
}

.mw-parser-output .pti-section-pilotage .pti-carte-titre {
  border-bottom-color: var(--pti-section-pilotage-separateur) !important;
}

.mw-parser-output .pti-section-entrees .pti-carte-majeure {
  border-left: 5px solid var(--pti-section-entrees-bordure) !important;
}

.mw-parser-output .pti-section-entrees .pti-carte:hover {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-entrees-fond-survol) 100%) !important;
  border-color: var(--pti-section-entrees-bordure) !important;
}

.mw-parser-output .pti-section-referentiels .pti-carte:hover {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond-survol) 100%) !important;
  border-color: var(--pti-section-referentiels-bordure) !important;
}

.mw-parser-output .pti-section-documents .pti-carte:hover {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-documents-fond-survol) 100%) !important;
  border-color: var(--pti-section-documents-bordure) !important;
}

.mw-parser-output .pti-section-espaces .pti-carte:hover {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-espaces-fond-survol) 100%) !important;
  border-color: var(--pti-section-espaces-bordure) !important;
}

.mw-parser-output .pti-section-pilotage .pti-carte:hover {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-pilotage-fond-survol) 100%) !important;
  border-color: var(--pti-section-pilotage-bordure) !important;
}

.mw-parser-output .pti-section-entrees .pti-carte:hover,
.mw-parser-output .pti-section-referentiels .pti-carte:hover,
.mw-parser-output .pti-section-documents .pti-carte:hover,
.mw-parser-output .pti-section-espaces .pti-carte:hover,
.mw-parser-output .pti-section-pilotage .pti-carte:hover {
  box-shadow: var(--pti-ombre-carte-survol) !important;
}


/* ============================================================
   19. ACCORDÉONS ATHÉNA
   ============================================================ */

.mw-parser-output .pti-accordeon {
  border: 1px solid var(--pti-bordure) !important;
  border-left: 5px solid var(--pti-or) !important;
  background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
  border-radius: var(--pti-rayon) !important;
  margin: 1rem 0 !important;
  box-shadow: var(--pti-ombre-carte) !important;
  overflow: hidden !important;
}

.mw-parser-output .pti-accordeon-titre {
  font-weight: 720 !important;
  color: var(--pti-bleu-nuit) !important;
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
  padding: 0.85rem 1rem !important;
  border-bottom: 1px solid var(--pti-bordure-legere) !important;
}

.mw-parser-output .pti-accordeon .mw-collapsible-content {
  padding: 1rem !important;
  background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
}

.mw-parser-output .pti-accordeon .mw-collapsible-toggle {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--pti-bleu-lien) !important;
  margin: 0.85rem 1rem 0 0 !important;
}

.mw-parser-output .pti-accordeon .mw-collapsible-toggle:hover {
  color: var(--pti-bleu-nuit) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-note {
  border-left-color: var(--pti-bleu-lien) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-note .pti-accordeon-titre {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-section-referentiels-fond) 100%) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-attention {
  border-left-color: var(--pti-or) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-attention .pti-accordeon-titre {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-or-fond) 100%) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-validation {
  border-left-color: var(--pti-vert) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-validation .pti-accordeon-titre {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-vert-fond) 100%) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-danger {
  border-left-color: var(--pti-rouge) !important;
}

.mw-parser-output .pti-accordeon.pti-accordeon-danger .pti-accordeon-titre {
  background: linear-gradient(135deg, var(--pti-fond-carte) 0%, var(--pti-rouge-fond) 100%) !important;
}


/* ============================================================
   20. CLASSES DOCUMENTAIRES COMPLÉMENTAIRES
   ============================================================ */

.pti-bloc-sobre {
  border: 1px solid var(--pti-bordure) !important;
  background: var(--pti-fond-carte) !important;
  color: var(--pti-texte) !important;
  border-radius: var(--pti-rayon-petit) !important;
  padding: 1rem !important;
  margin: 1rem 0 !important;
}

.pti-bloc-secondaire {
  border: 1px solid var(--pti-bordure-legere) !important;
  background: var(--pti-fond-secondaire) !important;
  color: var(--pti-texte) !important;
  border-radius: var(--pti-rayon-petit) !important;
  padding: 1rem !important;
  margin: 1rem 0 !important;
}

.pti-etiquette {
  display: inline-block !important;
  padding: 0.18rem 0.45rem !important;
  border-radius: 999px !important;
  background: var(--pti-code-fond) !important;
  border: 1px solid var(--pti-code-bordure) !important;
  color: var(--pti-texte-secondaire) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

.pti-etiquette-validation {
  background: var(--pti-vert-fond) !important;
  border-color: var(--pti-vert) !important;
  color: var(--pti-vert) !important;
}

.pti-etiquette-attention {
  background: var(--pti-or-fond) !important;
  border-color: var(--pti-or) !important;
  color: var(--pti-or-clair) !important;
}

.pti-etiquette-note {
  background: var(--pti-section-referentiels-fond) !important;
  border-color: var(--pti-bleu-lien) !important;
  color: var(--pti-bleu-lien) !important;
}

.pti-etiquette-danger {
  background: var(--pti-rouge-fond) !important;
  border-color: var(--pti-rouge) !important;
  color: var(--pti-rouge) !important;
}


/* ============================================================
   21. CLASSES UTILITAIRES
   ============================================================ */

.pti-discret {
  color: var(--pti-texte-discret) !important;
}

.pti-centre {
  text-align: center !important;
}

.pti-droite {
  text-align: right !important;
}

.pti-separateur {
  border-top: 1px solid var(--pti-bordure) !important;
  margin: 1.5rem 0 !important;
}

.pti-meta {
  color: var(--pti-texte-secondaire) !important;
  font-size: 0.92rem !important;
}

.pti-largeur-lisible {
  max-width: 980px !important;
}

.pti-espace-haut {
  margin-top: 1.5rem !important;
}

.pti-espace-bas {
  margin-bottom: 1.5rem !important;
}