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

Kims (discussion | contributions)
Aucun résumé des modifications
Kims (discussion | contributions)
Aucun résumé des modifications
Balise : Révoqué
Ligne 1 : Ligne 1 :
/*
/*
  * MediaWiki:Vaulttec.css — v15
  * MediaWiki:Vaulttec.css — v12
  * Chargé uniquement pour les utilisateurs du skin VaultTec.
  * Chargé uniquement pour les utilisateurs du skin VaultTec.
  */
  */
 
/* ============================================================
/* ============================================================
   1. VARIABLES
   1. VARIABLES
Ligne 28 : Ligne 28 :
   --border-color-base:      rgba(125, 255, 156, 0.15);
   --border-color-base:      rgba(125, 255, 156, 0.15);
}
}
 
/* ============================================================
/* ============================================================
   2. BODY & CONTAINERS
   2. BODY & CONTAINERS
Ligne 34 : Ligne 34 :
body { background: #06100b !important; background-image: none !important; }
body { background: #06100b !important; background-image: none !important; }
.mw-page-container { background: transparent !important; border: none !important; max-width: 100% !important; padding: 0 !important; }
.mw-page-container { background: transparent !important; border: none !important; max-width: 100% !important; padding: 0 !important; }
 
/* ============================================================
/* ============================================================
   3. LAYOUT
   3. LAYOUT
Ligne 42 : Ligne 42 :
.vt-content-container, #content { flex: 1 1 auto !important; min-width: 0 !important; width: 0 !important; }
.vt-content-container, #content { flex: 1 1 auto !important; min-width: 0 !important; width: 0 !important; }
#bodyContent { max-width: none !important; width: 100% !important; padding: 28px 36px 60px !important; }
#bodyContent { max-width: none !important; width: 100% !important; padding: 28px 36px 60px !important; }
 
/* ============================================================
/* ============================================================
   4. TOC — rétractable, replié par défaut
   4. TOC — rétractable, replié par défaut
Ligne 77 : Ligne 77 :
#mw-content-text .toc li li a { padding-left: 24px !important; font-size: 10px !important; color: rgba(125, 255, 156, 0.4) !important; }
#mw-content-text .toc li li a { padding-left: 24px !important; font-size: 10px !important; color: rgba(125, 255, 156, 0.4) !important; }
.tocnumber { color: rgba(125, 255, 156, 0.35) !important; margin-right: 6px !important; }
.tocnumber { color: rgba(125, 255, 156, 0.35) !important; margin-right: 6px !important; }
 
/* ============================================================
/* ============================================================
   5. INFOBOX
   5. INFOBOX
Ligne 96 : Ligne 96 :
.infobox-default-image { background-image: url("/images/1/11/Logo_wiki_LAVT_vert.png") !important; }
.infobox-default-image { background-image: url("/images/1/11/Logo_wiki_LAVT_vert.png") !important; }
.avt-infobox caption, .mw-parser-output .avt-infobox caption { display: table-caption !important; width: 100% !important; box-sizing: border-box !important; }
.avt-infobox caption, .mw-parser-output .avt-infobox caption { display: table-caption !important; width: 100% !important; box-sizing: border-box !important; }
 
/* ============================================================
/* ============================================================
   6. WIKITABLE
   6. WIKITABLE
Ligne 104 : Ligne 104 :
.wikitable > tr > td, .wikitable > * > tr > td, .va-table > tr > td, .va-table > * > tr > td { border-color: rgba(125, 255, 156, 0.1) !important; color: #cce8d4 !important; }
.wikitable > tr > td, .wikitable > * > tr > td, .va-table > tr > td, .va-table > * > tr > td { border-color: rgba(125, 255, 156, 0.1) !important; color: #cce8d4 !important; }
.wikitable tr:hover td { background-color: rgba(125, 255, 156, 0.06) !important; }
.wikitable tr:hover td { background-color: rgba(125, 255, 156, 0.06) !important; }
 
/* ============================================================
/* ============================================================
   7. PALETTES & NAVBOXES
   7. PALETTES & NAVBOXES
Ligne 112 : Ligne 112 :
.palette-pair { background-color: transparent !important; }
.palette-pair { background-color: transparent !important; }
.va-infobox-title, .va-navbox-title { background: #0f2015 !important; color: #7dff9c !important; }
.va-infobox-title, .va-navbox-title { background: #0f2015 !important; color: #7dff9c !important; }
 
/* ============================================================
/* ============================================================
   8. BOÎTES GÉNÉRIQUES
   8. BOÎTES GÉNÉRIQUES
Ligne 119 : Ligne 119 :
.homepage-box, .spinoff-box, .avt-content-game-box { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.homepage-box, .spinoff-box, .avt-content-game-box { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.avt-dropdown-box-title { background-color: #0f2015 !important; color: #7dff9c !important; }
.avt-dropdown-box-title { background-color: #0f2015 !important; color: #7dff9c !important; }
 
/* Espacement réduit entre bandeaux d'avertissement consécutifs */
.mw-parser-output .avt-warn-banner {
  margin-bottom: 4px !important;
}
/* ============================================================
/* ============================================================
   9. LIENS
   9. LIENS
Ligne 127 : Ligne 132 :
.mw-parser-output a:hover { color: #7dff9c; }
.mw-parser-output a:hover { color: #7dff9c; }
.new, a.new { color: #ff5e5e !important; }
.new, a.new { color: #ff5e5e !important; }
 
/* ============================================================
/* ============================================================
   10. TOC VECTOR 2022
   10. TOC VECTOR 2022
Ligne 134 : Ligne 139 :
.vector-toc .vector-toc-link, .sidebar-toc .sidebar-toc-link { color: #4ab06a !important; }
.vector-toc .vector-toc-link, .sidebar-toc .sidebar-toc-link { color: #4ab06a !important; }
.vector-toc .vector-toc-link:hover, .sidebar-toc .sidebar-toc-link:hover { color: #7dff9c !important; }
.vector-toc .vector-toc-link:hover, .sidebar-toc .sidebar-toc-link:hover { color: #7dff9c !important; }
 
/* ============================================================
/* ============================================================
   11. PORTAILS & ACCUEIL
   11. PORTAILS & ACCUEIL
Ligne 142 : Ligne 147 :
   color: #7dff9c !important; text-shadow: 0 0 8px rgba(125, 255, 156, 0.4) !important; border-color: rgba(125, 255, 156, 0.15) !important;
   color: #7dff9c !important; text-shadow: 0 0 8px rgba(125, 255, 156, 0.4) !important; border-color: rgba(125, 255, 156, 0.15) !important;
}
}
 
/* ============================================================
/* ============================================================
   12. SITENOTICE
   12. SITENOTICE
   ============================================================ */
   ============================================================ */
.avt-sitenotice { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; }
.avt-sitenotice { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; }
 
/* ============================================================
/* ============================================================
   13. RECHERCHE — dropdown miniatures (header)
   13. RECHERCHE — dropdown miniatures
   ============================================================ */
   ============================================================ */
.vt-search { position: relative !important; }
.vt-search { position: relative !important; }
Ligne 161 : Ligne 166 :
.vt-search-footer { display: block; padding: 10px 14px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.1em; color: rgba(125, 255, 156, 0.4); text-decoration: none !important; text-transform: uppercase; border-top: 1px dashed rgba(125, 255, 156, 0.1); background: rgba(125, 255, 156, 0.02); }
.vt-search-footer { display: block; padding: 10px 14px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.1em; color: rgba(125, 255, 156, 0.4); text-decoration: none !important; text-transform: uppercase; border-top: 1px dashed rgba(125, 255, 156, 0.1); background: rgba(125, 255, 156, 0.02); }
.vt-search-footer:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06); text-decoration: none !important; }
.vt-search-footer:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06); text-decoration: none !important; }
 
/* ============================================================
/* ============================================================
   14. BOUTON RECHERCHE — loupe
   14. BOUTON RECHERCHE — loupe
Ligne 167 : Ligne 172 :
.vt-search input.searchButton, .vt-search #searchButton { text-indent: -9999px !important; overflow: hidden !important; width: 42px !important; min-width: 42px !important; padding: 0 !important; flex-shrink: 0 !important; background-color: rgba(125, 255, 156, 0.10) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237dff9c' d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 18px !important; border: 1px solid rgba(125, 255, 156, 0.35) !important; cursor: pointer !important; }
.vt-search input.searchButton, .vt-search #searchButton { text-indent: -9999px !important; overflow: hidden !important; width: 42px !important; min-width: 42px !important; padding: 0 !important; flex-shrink: 0 !important; background-color: rgba(125, 255, 156, 0.10) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237dff9c' d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 18px !important; border: 1px solid rgba(125, 255, 156, 0.35) !important; cursor: pointer !important; }
.vt-search input.searchButton:hover, .vt-search #searchButton:hover { background-color: rgba(125, 255, 156, 0.2) !important; }
.vt-search input.searchButton:hover, .vt-search #searchButton:hover { background-color: rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
/* ============================================================
   15. DARK MODE — icône parasite
   15. DARK MODE — icône parasite
   ============================================================ */
   ============================================================ */
.ext-darkmode-link::before, .ext-darkmode-link:before { display: none !important; content: none !important; }
.ext-darkmode-link::before, .ext-darkmode-link:before { display: none !important; content: none !important; }
 
/* ============================================================
/* ============================================================
   16. CATÉGORIES
   16. CATÉGORIES
Ligne 184 : Ligne 189 :
#catlinks ul li::before { content: '·' !important; margin: 0 6px !important; color: rgba(125, 255, 156, 0.25) !important; }
#catlinks ul li::before { content: '·' !important; margin: 0 6px !important; color: rgba(125, 255, 156, 0.25) !important; }
#catlinks.catlinks-allhidden { display: none !important; }
#catlinks.catlinks-allhidden { display: none !important; }
 
/* ============================================================
/* ============================================================
   17. TITRES — structure MW 1.44+, sizing fluide responsive
   17. TITRES — structure MW 1.44+, sizing fluide responsive
Ligne 196 : Ligne 201 :
.mw-parser-output .mw-heading-3, .mw-parser-output .mw-heading-4, .mw-parser-output .mw-heading-5, .mw-parser-output .mw-heading-6 { margin: 16px 0 8px !important; padding-bottom: 4px !important; }
.mw-parser-output .mw-heading-3, .mw-parser-output .mw-heading-4, .mw-parser-output .mw-heading-5, .mw-parser-output .mw-heading-6 { margin: 16px 0 8px !important; padding-bottom: 4px !important; }
.mw-parser-output .mw-heading + .mw-heading { margin-top: 6px !important; }
.mw-parser-output .mw-heading + .mw-heading { margin-top: 6px !important; }
 
/* ============================================================
/* ============================================================
   18. MODIFICATIONS RÉCENTES — filtres OOUI + légende
   18. MODIFICATIONS RÉCENTES — filtres OOUI + légende
Ligne 222 : Ligne 227 :
.mw-changeslist-date { color: #7dff9c !important; }
.mw-changeslist-date { color: #7dff9c !important; }
h4.mw-rcfilters-ui-changesListWrapperWidget-date { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; letter-spacing: 0.2em !important; border-bottom: 1px dashed rgba(125, 255, 156, 0.2) !important; }
h4.mw-rcfilters-ui-changesListWrapperWidget-date { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; letter-spacing: 0.2em !important; border-bottom: 1px dashed rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
/* ============================================================
   19. OOUI — fonds blancs résiduels
   19. OOUI — fonds blancs résiduels
Ligne 230 : Ligne 235 :
.oo-ui-tagItemWidget, .mw-rcfilters-ui-tagItemWidget { background-color: rgba(125, 255, 156, 0.08) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; color: #7dff9c !important; }
.oo-ui-tagItemWidget, .mw-rcfilters-ui-tagItemWidget { background-color: rgba(125, 255, 156, 0.08) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; color: #7dff9c !important; }
.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: #4ab06a !important; }
.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: #4ab06a !important; }
 
/* ============================================================
/* ============================================================
   20. ÉDITEUR — formulaire uniquement (pas de CodeMirror)
   20. ÉDITEUR — formulaire uniquement (pas de CodeMirror)
Ligne 247 : Ligne 252 :
.editCheckboxes label, .editOptions label { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.editCheckboxes label, .editOptions label { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.editpage-head-copywarn, #editpage-copywarn { color: #4a6e55 !important; font-size: 11px !important; }
.editpage-head-copywarn, #editpage-copywarn { color: #4a6e55 !important; font-size: 11px !important; }
 
/* ============================================================
/* ============================================================
   21. MOBILE — onglets défilants
   21. MOBILE — onglets défilants
Ligne 259 : Ligne 264 :
   .vt-tabs-sep { display: none !important; }
   .vt-tabs-sep { display: none !important; }
}
}
 
/* ============================================================
/* ============================================================
   22. TITRE DE PAGE — padding cohérent
   22. TITRE DE PAGE — padding cohérent
   ============================================================ */
   ============================================================ */
#firstHeading, #mw-content-subtitle { padding-left: 36px !important; padding-right: 36px !important; }
#firstHeading, #mw-content-subtitle { padding-left: 36px !important; padding-right: 36px !important; }
 
/* ============================================================
/* ============================================================
   23. NAV PRIMAIRE — masquer si vide
   23. NAV PRIMAIRE — masquer si vide
   ============================================================ */
   ============================================================ */
.vt-nav-primary:not(:has(a)) { display: none !important; width: 0 !important; padding: 0 !important; border: none !important; }
.vt-nav-primary:not(:has(a)) { display: none !important; width: 0 !important; padding: 0 !important; border: none !important; }
 
/* ============================================================
/* ============================================================
   24. FIXES SKIN
   24. FIXES SKIN
Ligne 284 : Ligne 289 :
}
}
@media screen and (max-width: 600px) { #pt-preferences, #pt-watchlist { display: none; } }
@media screen and (max-width: 600px) { #pt-preferences, #pt-watchlist { display: none; } }
 
/* ============================================================
/* ============================================================
   25. MEDIAUPLOADER — Spécial:MediaUploader
   25. MEDIAUPLOADER — Spécial:MediaUploader
Ligne 335 : Ligne 340 :
#mediauploader-deeds-thumbnails .mediauploader-thumbnail { background: transparent !important; }
#mediauploader-deeds-thumbnails .mediauploader-thumbnail { background: transparent !important; }
#mediauploader-deeds-thumbnails canvas { filter: brightness(0.8) sepia(1) hue-rotate(76deg) saturate(0.5); opacity: 0.7; }
#mediauploader-deeds-thumbnails canvas { filter: brightness(0.8) sepia(1) hue-rotate(76deg) saturate(0.5); opacity: 0.7; }
 
/* ============================================================
/* ============================================================
   26. PAGE D'ACCUEIL — Grille responsive
   26. PAGE D'ACCUEIL — Grille responsive
Ligne 404 : Ligne 409 :
   .homepage-portal-games-logo img { max-height: 60px; }
   .homepage-portal-games-logo img { max-height: 60px; }
}
}
 
/* ============================================================
/* ============================================================
   27. LISIBILITÉ — Taille du texte des articles
   27. LISIBILITÉ — Taille du texte des articles
Ligne 416 : Ligne 421 :
   #firstHeading, #mw-content-subtitle { padding-left: 16px !important; padding-right: 16px !important; }
   #firstHeading, #mw-content-subtitle { padding-left: 16px !important; padding-right: 16px !important; }
}
}
 
/* ============================================================
/* ============================================================
   28. VISUAL EDITOR — Toolbar sticky + surface + popups
   28. VISUAL EDITOR — Toolbar sticky + surface + popups
   ============================================================ */
   ============================================================ */
/* Barre principale — sticky */
html body .ve-ui-toolbar,
html body .ve-ui-toolbar,
html body .ve-init-mw-desktopArticleTarget-toolbar {
html body .ve-init-mw-desktopArticleTarget-toolbar {
Ligne 431 : Ligne 438 :
   backdrop-filter: blur(8px);
   backdrop-filter: blur(8px);
}
}
/* Fond de la barre et du conteneur d'outils */
.ve-ui-toolbar .oo-ui-toolbar-bar,
.ve-ui-toolbar .oo-ui-toolbar-bar,
.ve-ui-toolbar .oo-ui-toolbar-tools,
.ve-ui-toolbar .oo-ui-toolbar-tools,
.ve-ui-toolbar .oo-ui-toolbar-after { background: transparent !important; border: 0 !important; }
.ve-ui-toolbar .oo-ui-toolbar-after {
  background: transparent !important;
  border: 0 !important;
}
/* Séparateurs entre groupes */
.ve-ui-toolbar .oo-ui-toolGroup { border-right: 1px solid rgba(125, 255, 156, 0.08) !important; }
.ve-ui-toolbar .oo-ui-toolGroup { border-right: 1px solid rgba(125, 255, 156, 0.08) !important; }
.ve-ui-toolbar .oo-ui-toolGroup:last-child { border-right: 0 !important; }
.ve-ui-toolbar .oo-ui-toolGroup:last-child { border-right: 0 !important; }
/* Boutons individuels (outils barre) */
.ve-ui-toolbar .oo-ui-tool-link {
.ve-ui-toolbar .oo-ui-tool-link {
   background: transparent !important;
   background: transparent !important;
Ligne 442 : Ligne 458 :
   transition: background 0.1s, color 0.1s !important;
   transition: background 0.1s, color 0.1s !important;
}
}
.ve-ui-toolbar .oo-ui-tool-link:hover { background: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; }
.ve-ui-toolbar .oo-ui-tool-link:hover {
  background: rgba(125, 255, 156, 0.1) !important;
  color: #7dff9c !important;
}
/* Outil actif */
.ve-ui-toolbar .oo-ui-tool-active > .oo-ui-tool-link {
.ve-ui-toolbar .oo-ui-tool-active > .oo-ui-tool-link {
   background: rgba(125, 255, 156, 0.15) !important;
   background: rgba(125, 255, 156, 0.15) !important;
Ligne 448 : Ligne 469 :
   box-shadow: inset 0 -2px 0 #7dff9c !important;
   box-shadow: inset 0 -2px 0 #7dff9c !important;
}
}
.ve-ui-toolbar .oo-ui-widget-disabled .oo-ui-tool-link { opacity: 0.3 !important; cursor: default !important; }
/* Outil désactivé */
.ve-ui-toolbar .oo-ui-widget-disabled .oo-ui-tool-link {
  opacity: 0.3 !important;
  cursor: default !important;
}
/* Handles des groupes déroulants (Paragraphe, Sourcer, Insérer…) */
.ve-ui-toolbar .oo-ui-popupToolGroup-handle,
.ve-ui-toolbar .oo-ui-popupToolGroup-handle,
.ve-ui-toolbar .oo-ui-toolGroup-handle {
.ve-ui-toolbar .oo-ui-toolGroup-handle {
Ligne 458 : Ligne 486 :
}
}
.ve-ui-toolbar .oo-ui-popupToolGroup-handle:hover,
.ve-ui-toolbar .oo-ui-popupToolGroup-handle:hover,
.ve-ui-toolbar .oo-ui-toolGroup-handle:hover { background: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; }
.ve-ui-toolbar .oo-ui-toolGroup-handle:hover {
  background: rgba(125, 255, 156, 0.1) !important;
  color: #7dff9c !important;
}
/* Label des handles (texte "Paragraphe", "Insérer"…) */
.ve-ui-toolbar .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
.ve-ui-toolbar .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
   color: inherit !important;
   color: inherit !important;
Ligne 466 : Ligne 499 :
   letter-spacing: 0.06em !important;
   letter-spacing: 0.06em !important;
}
}
/* Indicateur flèche */
.ve-ui-toolbar .oo-ui-indicatorElement-indicator {
.ve-ui-toolbar .oo-ui-indicatorElement-indicator {
   filter: brightness(0) saturate(100%) invert(72%) sepia(20%) saturate(400%) hue-rotate(76deg) brightness(100%) !important;
   filter: brightness(0) saturate(100%) invert(72%) sepia(20%)
          saturate(400%) hue-rotate(76deg) brightness(100%) !important;
   opacity: 0.5 !important;
   opacity: 0.5 !important;
}
}
/* Toutes les icônes de la toolbar */
.ve-ui-toolbar .oo-ui-iconElement-icon {
.ve-ui-toolbar .oo-ui-iconElement-icon {
   filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important;
   filter: brightness(0) saturate(100%) invert(91%) sepia(15%)
          saturate(594%) hue-rotate(76deg) brightness(101%) !important;
   opacity: 0.6 !important;
   opacity: 0.6 !important;
}
}
.ve-ui-toolbar .oo-ui-tool-link:hover .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-tool-link:hover .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-iconElement-icon { opacity: 1 !important; }
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-iconElement-icon {
  opacity: 1 !important;
}
/* Bouton Enregistrer */
.ve-ui-toolbar .ve-ui-toolbar-saveButton,
.ve-ui-toolbar .ve-ui-toolbar-saveButton,
.ve-ui-toolbar .oo-ui-flaggedElement-primary .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-flaggedElement-primary .oo-ui-tool-link,
Ligne 495 : Ligne 538 :
   box-shadow: 0 0 12px rgba(125, 255, 156, 0.25) !important;
   box-shadow: 0 0 12px rgba(125, 255, 156, 0.25) !important;
}
}
/* Popups — tous les menus déroulants dans .oo-ui-toolbar-popups */
.ve-ui-toolbar .oo-ui-toolbar-popups,
.ve-ui-toolbar .oo-ui-toolbar-popups,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools,
Ligne 505 : Ligne 550 :
   padding: 4px 0 !important;
   padding: 4px 0 !important;
}
}
/* Items dans les menus */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link,
Ligne 515 : Ligne 562 :
   min-height: 32px !important;
   min-height: 32px !important;
}
}
/* Icône positionnée à gauche */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
Ligne 533 : Ligne 582 :
   border-left-color: #4ab06a !important;
   border-left-color: #4ab06a !important;
}
}
/* Item actif dans les menus */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link {
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link {
Ligne 539 : Ligne 590 :
   border-left-color: #7dff9c !important;
   border-left-color: #7dff9c !important;
}
}
/* Icône check dans les menus */
.ve-ui-toolbar .oo-ui-tool-checkIcon { opacity: 0 !important; }
.ve-ui-toolbar .oo-ui-tool-checkIcon { opacity: 0 !important; }
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-tool-checkIcon { opacity: 0.8 !important; }
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-tool-checkIcon { opacity: 0.8 !important; }
/* Titre des items dans les menus */
.ve-ui-toolbar .oo-ui-tool-title {
.ve-ui-toolbar .oo-ui-tool-title {
   color: inherit !important;
   color: inherit !important;
Ligne 546 : Ligne 601 :
   font-size: 14px !important;
   font-size: 14px !important;
}
}
/* Raccourcis dans les menus */
.ve-ui-toolbar .oo-ui-tool-accel {
.ve-ui-toolbar .oo-ui-tool-accel {
   color: rgba(125, 255, 156, 0.3) !important;
   color: rgba(125, 255, 156, 0.3) !important;
Ligne 553 : Ligne 610 :
   padding-left: 16px !important;
   padding-left: 16px !important;
}
}
/* Popup d'avertissement */
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-popupWidget-popup {
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-popupWidget-popup {
   background: rgba(8, 18, 12, 0.98) !important;
   background: rgba(8, 18, 12, 0.98) !important;
Ligne 563 : Ligne 622 :
}
}
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-labelElement-label { color: #7dff9c !important; }
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-labelElement-label { color: #7dff9c !important; }
/* Surface d'édition */
.ve-ui-surface, .ve-ce-surface { background: #060f0b !important; color: #cce8d4 !important; caret-color: #7dff9c !important; }
.ve-ui-surface, .ve-ce-surface { background: #060f0b !important; color: #cce8d4 !important; caret-color: #7dff9c !important; }
.ve-ce-surface ::selection { background: rgba(125, 255, 156, 0.2) !important; }
.ve-ce-surface ::selection { background: rgba(125, 255, 156, 0.2) !important; }
/* Contexte (clic droit / sélection) */
.ve-ui-context, .ve-ui-linearContext { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important; }
.ve-ui-context, .ve-ui-linearContext { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important; }
.ve-ui-contextItem, .ve-ui-linearContextItem { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; }
.ve-ui-contextItem, .ve-ui-linearContextItem { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; }
.ve-ui-contextItem:hover, .ve-ui-linearContextItem:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06) !important; }
.ve-ui-contextItem:hover, .ve-ui-linearContextItem:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06) !important; }
/* Dialogues VE */
.oo-ui-window-frame { background: rgba(10, 20, 15, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.8) !important; }
.oo-ui-window-frame { background: rgba(10, 20, 15, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.8) !important; }
.oo-ui-window-head { background: rgba(6, 15, 11, 0.98) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; }
.oo-ui-window-head { background: rgba(6, 15, 11, 0.98) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; }
Ligne 574 : Ligne 639 :
.oo-ui-window-foot { background: rgba(6, 15, 11, 0.98) !important; border-top: 1px solid rgba(125, 255, 156, 0.12) !important; }
.oo-ui-window-foot { background: rgba(6, 15, 11, 0.98) !important; border-top: 1px solid rgba(125, 255, 156, 0.12) !important; }
.oo-ui-overlay, .oo-ui-window-overlay { background: rgba(0, 0, 0, 0.6) !important; }
.oo-ui-overlay, .oo-ui-window-overlay { background: rgba(0, 0, 0, 0.6) !important; }
 
/* ── VE Save Dialog ("Enregistrer vos modifications") ── */
.ve-ui-mwSaveDialog-options,
.ve-ui-mwSaveDialog-checkboxes,
.ve-ui-mwSaveDialog-summaryLabel,
.ve-ui-mwSaveDialog-summary,
.ve-ui-mwSaveDialog-messages,
.ve-ui-mwSaveDialog-foot,
.ve-ui-mwSaveDialog-license {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ve-ui-mwSaveDialog-field-wpMinoredit,
.ve-ui-mwSaveDialog-field-wpWatchthis,
.ve-ui-mwSaveDialog-checkboxes .oo-ui-fieldLayout,
.ve-ui-mwSaveDialog-checkboxes .oo-ui-fieldLayout-body,
.ve-ui-mwSaveDialog-checkboxes .oo-ui-fieldLayout-header,
.ve-ui-mwSaveDialog-checkboxes .oo-ui-fieldLayout-field {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
  margin: 0 !important;
}
.ve-ui-mwSaveDialog-field-wpMinoredit:hover,
.ve-ui-mwSaveDialog-field-wpWatchthis:hover {
  background: rgba(125, 255, 156, 0.04) !important;
  border-radius: 2px !important;
}
.ve-ui-mwSaveDialog-checkboxes .oo-ui-fieldLayout-header .oo-ui-labelElement-label,
.ve-ui-mwSaveDialog-checkboxes label,
.ve-ui-mwSaveDialog-field-wpMinoredit .oo-ui-labelElement-label,
.ve-ui-mwSaveDialog-field-wpWatchthis .oo-ui-labelElement-label {
  color: rgba(204, 232, 212, 0.7) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 400 !important;
  background: transparent !important;
  cursor: pointer !important;
}
.ve-ui-mwSaveDialog-summaryLabel,
.ve-ui-mwSaveDialog-summaryLabel label {
  color: rgba(125, 255, 156, 0.6) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 6px !important;
}
.ve-ui-mwSaveDialog-summary textarea,
.ve-ui-mwSaveDialog-summary .oo-ui-textInputWidget input,
.ve-ui-mwSaveDialog-summary .oo-ui-textInputWidget textarea {
  background: rgba(4, 10, 7, 0.95) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important;
  color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  padding: 10px 12px !important;
  caret-color: #7dff9c !important;
}
.ve-ui-mwSaveDialog-summary textarea:focus,
.ve-ui-mwSaveDialog-summary .oo-ui-textInputWidget textarea:focus {
  border-color: rgba(125, 255, 156, 0.5) !important;
  box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.1) !important;
  outline: none !important;
}
.ve-ui-mwSaveDialog-editSummary-count {
  color: rgba(125, 255, 156, 0.35) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important;
  background: transparent !important;
  margin-top: 4px !important;
}
.ve-ui-mwSaveDialog-license,
.ve-ui-mwSaveDialog-foot {
  color: rgba(204, 232, 212, 0.55) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  border-top: 1px dashed rgba(125, 255, 156, 0.1) !important;
  padding-top: 12px !important;
  margin-top: 12px !important;
}
.ve-ui-mwSaveDialog-license a,
.ve-ui-mwSaveDialog-foot a { color: #4ab06a !important; }
.ve-ui-mwSaveDialog-license a:hover,
.ve-ui-mwSaveDialog-foot a:hover { color: #7dff9c !important; }
.ve-ui-mwSaveDialog-license .ve-ui-mwSaveDialog-warning,
.ve-ui-mwSaveDialog-foot strong,
.ve-ui-mwSaveDialog-foot b { color: #ff7a7a !important; }
 
/* ============================================================
/* ============================================================
   29. LECTEUR AUDIO — thème phosphore
   29. LECTEUR AUDIO — thème phosphore
   ============================================================ */
   ============================================================ */
/* Conteneur MediaWiki */
.mw-tmh-player,
.mw-tmh-player,
.mediaContainer {
.mediaContainer {
Ligne 683 : Ligne 657 :
   box-sizing: border-box !important;
   box-sizing: border-box !important;
}
}
/* Élément audio natif */
.mw-parser-output audio,
.mw-parser-output audio,
audio.mw-file-element,
audio.mw-file-element,
Ligne 699 : Ligne 675 :
   accent-color: #7dff9c !important;
   accent-color: #7dff9c !important;
}
}
/* Contrôles WebKit */
.mw-parser-output audio::-webkit-media-controls-panel,
.mw-parser-output audio::-webkit-media-controls-panel,
audio.mw-file-element::-webkit-media-controls-panel { background: rgba(6, 15, 11, 0.95) !important; border-radius: 3px !important; }
audio.mw-file-element::-webkit-media-controls-panel {
  background: rgba(6, 15, 11, 0.95) !important;
  border-radius: 3px !important;
}
.mw-parser-output audio::-webkit-media-controls-play-button,
.mw-parser-output audio::-webkit-media-controls-play-button,
.mw-parser-output audio::-webkit-media-controls-mute-button,
.mw-parser-output audio::-webkit-media-controls-mute-button,
audio.mw-file-element::-webkit-media-controls-play-button,
audio.mw-file-element::-webkit-media-controls-play-button,
audio.mw-file-element::-webkit-media-controls-mute-button { filter: invert(1) sepia(1) saturate(3) hue-rotate(76deg) !important; }
audio.mw-file-element::-webkit-media-controls-mute-button {
  filter: invert(1) sepia(1) saturate(3) hue-rotate(76deg) !important;
}
.mw-parser-output audio::-webkit-media-controls-current-time-display,
.mw-parser-output audio::-webkit-media-controls-current-time-display,
.mw-parser-output audio::-webkit-media-controls-time-remaining-display,
.mw-parser-output audio::-webkit-media-controls-time-remaining-display,
Ligne 713 : Ligne 696 :
   font-size: 10px !important;
   font-size: 10px !important;
}
}
/* Blockquote contenant un audio */
.mw-parser-output blockquote:has(audio) {
.mw-parser-output blockquote:has(audio) {
   background: rgba(6, 15, 11, 0.6) !important;
   background: rgba(6, 15, 11, 0.6) !important;
Ligne 724 : Ligne 709 :
   margin: 12px auto !important;
   margin: 12px auto !important;
}
}
 
/* ============================================================
/* ============================================================
   30. PAGES CONNEXION & CRÉATION DE COMPTE — Codex (MW 1.45)
   30. PAGES CONNEXION & CRÉATION DE COMPTE — Codex (MW 1.45)
Ligne 730 : Ligne 715 :
.mw-special-Userlogin .mw-body-content,
.mw-special-Userlogin .mw-body-content,
.mw-special-CreateAccount .mw-body-content { display: flex !important; gap: 40px !important; align-items: flex-start !important; }
.mw-special-CreateAccount .mw-body-content { display: flex !important; gap: 40px !important; align-items: flex-start !important; }
#userloginForm,
#userloginForm,
#createaccount {
#createaccount {
Ligne 743 : Ligne 729 :
   color: #cce8d4 !important;
   color: #cce8d4 !important;
}
}
/* Champs Codex */
#userloginForm .cdx-field, #createaccount .cdx-field { margin-bottom: 16px !important; }
#userloginForm .cdx-field, #createaccount .cdx-field { margin-bottom: 16px !important; }
#userloginForm .cdx-text-input, #createaccount .cdx-text-input,
#userloginForm .cdx-text-input, #createaccount .cdx-text-input,
#userloginForm .cdx-field, #createaccount .cdx-field { width: 100% !important; box-sizing: border-box !important; }
#userloginForm .cdx-field, #createaccount .cdx-field { width: 100% !important; box-sizing: border-box !important; }
/* Labels Codex */
#userloginForm .cdx-label__label, #createaccount .cdx-label__label,
#userloginForm .cdx-label__label, #createaccount .cdx-label__label,
#userloginForm .cdx-label, #createaccount .cdx-label {
#userloginForm .cdx-label, #createaccount .cdx-label {
Ligne 752 : Ligne 742 :
   margin-bottom: 6px !important; display: block !important;
   margin-bottom: 6px !important; display: block !important;
}
}
/* Inputs Codex */
#userloginForm .cdx-text-input__input,
#userloginForm .cdx-text-input__input,
#createaccount .cdx-text-input__input,
#createaccount .cdx-text-input__input,
Ligne 766 : Ligne 758 :
   box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.12) !important;
   box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.12) !important;
}
}
/* Autofill Chrome */
#userloginForm .cdx-text-input__input:-webkit-autofill,
#userloginForm .cdx-text-input__input:-webkit-autofill,
#createaccount .cdx-text-input__input:-webkit-autofill {
#createaccount .cdx-text-input__input:-webkit-autofill {
Ligne 771 : Ligne 765 :
   -webkit-text-fill-color: #cce8d4 !important;
   -webkit-text-fill-color: #cce8d4 !important;
}
}
/* Texte d'aide */
#userloginForm .cdx-field__help-text, #createaccount .cdx-field__help-text { color: rgba(125, 255, 156, 0.3) !important; font-size: 11px !important; }
#userloginForm .cdx-field__help-text, #createaccount .cdx-field__help-text { color: rgba(125, 255, 156, 0.3) !important; font-size: 11px !important; }
/* Bouton submit */
#wpLoginAttempt, #wpCreateaccount {
#wpLoginAttempt, #wpCreateaccount {
   display: block !important; width: 100% !important; box-sizing: border-box !important;
   display: block !important; width: 100% !important; box-sizing: border-box !important;
Ligne 781 : Ligne 779 :
}
}
#wpLoginAttempt:hover, #wpCreateaccount:hover { background: rgba(125, 255, 156, 0.22) !important; border-color: #7dff9c !important; box-shadow: 0 0 16px rgba(125, 255, 156, 0.2) !important; }
#wpLoginAttempt:hover, #wpCreateaccount:hover { background: rgba(125, 255, 156, 0.22) !important; border-color: #7dff9c !important; box-shadow: 0 0 16px rgba(125, 255, 156, 0.2) !important; }
/* Liens */
#userloginForm .mw-form-related-link-container, #createaccount .mw-form-related-link-container { margin-top: 16px !important; text-align: center !important; }
#userloginForm .mw-form-related-link-container, #createaccount .mw-form-related-link-container { margin-top: 16px !important; text-align: center !important; }
#userloginForm a, #createaccount a { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
#userloginForm a, #createaccount a { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
/* Case Se souvenir de moi */
#userloginForm .mw-ui-checkbox input + label, #wpRemember + label { color: #7aaa88 !important; font-size: 12px !important; font-family: 'IBM Plex Mono', monospace !important; text-transform: none !important; letter-spacing: 0 !important; }
#userloginForm .mw-ui-checkbox input + label, #wpRemember + label { color: #7aaa88 !important; font-size: 12px !important; font-family: 'IBM Plex Mono', monospace !important; text-transform: none !important; letter-spacing: 0 !important; }
/* Panneau stats */
.mw-createaccount-benefits-container { flex: 1 !important; padding: 20px !important; }
.mw-createaccount-benefits-container { flex: 1 !important; padding: 20px !important; }
.mw-createaccount-benefits-heading { color: #cce8d4 !important; font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-size: 1.3em !important; margin-bottom: 24px !important; }
.mw-createaccount-benefits-heading { color: #cce8d4 !important; font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-size: 1.3em !important; margin-bottom: 24px !important; }
.mw-number-text h2 { color: rgba(125, 255, 156, 0.5) !important; font-size: 3em !important; }
.mw-number-text h2 { color: rgba(125, 255, 156, 0.5) !important; font-size: 3em !important; }
.mw-number-text p { color: rgba(125, 255, 156, 0.35) !important; }
.mw-number-text p { color: rgba(125, 255, 156, 0.35) !important; }
/* Erreurs */
.mw-message-box-error, .errorbox { background: rgba(255, 94, 94, 0.1) !important; border: 1px solid rgba(255, 94, 94, 0.4) !important; color: #ff9a9a !important; border-radius: 2px !important; padding: 12px !important; margin-bottom: 16px !important; }
.mw-message-box-error, .errorbox { background: rgba(255, 94, 94, 0.1) !important; border: 1px solid rgba(255, 94, 94, 0.4) !important; color: #ff9a9a !important; border-radius: 2px !important; padding: 12px !important; margin-bottom: 16px !important; }
/* Mobile */
@media screen and (max-width: 720px) {
@media screen and (max-width: 720px) {
   .mw-special-Userlogin .mw-body-content, .mw-special-CreateAccount .mw-body-content { flex-direction: column !important; }
   .mw-special-Userlogin .mw-body-content, .mw-special-CreateAccount .mw-body-content { flex-direction: column !important; }
Ligne 794 : Ligne 802 :
   .mw-createaccount-benefits-container { display: none !important; }
   .mw-createaccount-benefits-container { display: none !important; }
}
}
 
/* ============================================================
/* ============================================================
   31. PAGE PRÉFÉRENCES
   31. PAGE PRÉFÉRENCES
Ligne 844 : Ligne 852 :
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-selected { background: rgba(125, 255, 156, 0.18) !important; color: #7dff9c !important; font-weight: 600 !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-selected { background: rgba(125, 255, 156, 0.18) !important; color: #7dff9c !important; font-weight: 600 !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-prev-month, .oo-ui-calendarWidget .oo-ui-calendarWidget-day-next-month { color: rgba(125, 255, 156, 0.2) !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-prev-month, .oo-ui-calendarWidget .oo-ui-calendarWidget-day-next-month { color: rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
/* ============================================================
   33. ÉDITEUR WIKICODE — CodeMirror coloration syntaxique
   33. ÉDITEUR WIKICODE — CodeMirror coloration syntaxique
   ============================================================ */
   ============================================================ */
/* Surface wikicode */
.ve-ui-mwWikitextSurface .CodeMirror,
.ve-ui-mwWikitextSurface .CodeMirror,
.ve-ui-mwWikitextSurface .CodeMirror-scroll {
.ve-ui-mwWikitextSurface .CodeMirror-scroll {
Ligne 856 : Ligne 866 :
   line-height: 1.6 !important;
   line-height: 1.6 !important;
}
}
.ve-ui-mwWikitextSurface .CodeMirror-cursor { border-left-color: #7dff9c !important; }
/* Curseur */
.ve-ui-mwWikitextSurface .CodeMirror-cursor {
  border-left-color: #7dff9c !important;
}
/* Sélection */
.ve-ui-mwWikitextSurface .CodeMirror-selected,
.ve-ui-mwWikitextSurface .CodeMirror-selected,
.ve-ui-mwWikitextSurface .CodeMirror-focused .CodeMirror-selected { background: rgba(125, 255, 156, 0.15) !important; }
.ve-ui-mwWikitextSurface .CodeMirror-focused .CodeMirror-selected {
.ve-ui-mwWikitextSurface .CodeMirror-gutters { background: rgba(6, 15, 11, 0.95) !important; border-right: 1px solid rgba(125, 255, 156, 0.1) !important; }
.ve-ui-mwWikitextSurface .CodeMirror-linenumber { color: rgba(125, 255, 156, 0.22) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.ve-ui-mwWikitextSurface .CodeMirror-activeline-background { background: rgba(125, 255, 156, 0.04) !important; }
.ve-ui-mwWikitextSurface .cm-mw-template-name,
.ve-ui-mwWikitextSurface .cm-mw-template-bracket { color: #f5c84a !important; }
.ve-ui-mwWikitextSurface .cm-mw-template-argument-name { color: #a8d8ea !important; }
.ve-ui-mwWikitextSurface .cm-mw-template-delimiter { color: rgba(245, 200, 74, 0.5) !important; }
.ve-ui-mwWikitextSurface .cm-mw-link-ground,
.ve-ui-mwWikitextSurface .cm-mw-link,
.ve-ui-mwWikitextSurface .cm-mw-link-pagename { color: #4ab06a !important; }
.ve-ui-mwWikitextSurface .cm-mw-link-bracket { color: rgba(74, 176, 106, 0.5) !important; }
.ve-ui-mwWikitextSurface .cm-mw-heading,
.ve-ui-mwWikitextSurface .cm-mw-section-header { color: #7dff9c !important; font-weight: bold !important; }
.ve-ui-mwWikitextSurface .cm-mw-htmlentity,
.ve-ui-mwWikitextSurface .cm-mw-tag-name { color: #ff9a9a !important; }
.ve-ui-mwWikitextSurface .cm-mw-tag-bracket { color: rgba(255, 154, 154, 0.5) !important; }
.ve-ui-mwWikitextSurface .cm-mw-attribute-name { color: #a8d8ea !important; }
.ve-ui-mwWikitextSurface .cm-mw-attribute-value { color: #f5c84a !important; }
.ve-ui-mwWikitextSurface .cm-mw-comment { color: rgba(125, 255, 156, 0.3) !important; font-style: italic !important; }
.ve-ui-mwWikitextSurface .cm-mw-apostrophes-bold { color: rgba(125, 255, 156, 0.5) !important; font-weight: bold !important; }
.ve-ui-mwWikitextSurface .cm-mw-apostrophes-italic { color: rgba(125, 255, 156, 0.5) !important; font-style: italic !important; }
.ve-ui-mwWikitextSurface .cm-mw-table-bracket,
.ve-ui-mwWikitextSurface .cm-mw-table-definition { color: rgba(168, 216, 234, 0.7) !important; }
.ve-ui-mwWikitextSurface .cm-mw-template-variable-bracket,
.ve-ui-mwWikitextSurface .cm-mw-template-variable-name { color: #ff9a9a !important; }
.ve-ui-mwWikitextSurface .cm-mw-parserfunction-name,
.ve-ui-mwWikitextSurface .cm-mw-parserfunction-bracket { color: rgba(245, 200, 74, 0.8) !important; }
.ve-ui-mwWikitextSurface .cm-mw-redirect { color: #7dff9c !important; font-weight: bold !important; }
 
/* ============================================================
  34. BOUTON LANGUES INTERWIKI
  ============================================================ */
#vt-title-lang-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
#vt-title-lang-row #firstHeading { flex: 1 !important; min-width: 0 !important; }
#p-lang-btn { position: relative; flex-shrink: 0; margin-right: 36px !important; }
.vt-lang-btn-trigger {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: rgba(125, 255, 156, 0.07) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important; color: rgba(125, 255, 156, 0.6) !important;
  font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  padding: 6px 12px !important; cursor: pointer !important; white-space: nowrap !important;
  transition: all 0.15s !important;
}
.vt-lang-btn-trigger:hover,
.vt-lang-btn-trigger[aria-expanded="true"] {
  background: rgba(125, 255, 156, 0.14) !important;
  border-color: rgba(125, 255, 156, 0.4) !important;
  color: #7dff9c !important;
}
.vt-lang-list {
  position: absolute; top: calc(100% + 4px); right: 0; z-index: 200;
  background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 3px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7) !important;
  min-width: 180px; padding: 4px 0;
}
.vt-lang-list[hidden] { display: none !important; }
.vt-lang-list ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.vt-lang-list .interlanguage-link a {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 16px !important; color: #cce8d4 !important; text-decoration: none !important;
  font-size: 13px !important; font-family: 'Crimson Pro', Georgia, serif !important;
  border-left: 2px solid transparent !important; transition: all 0.1s !important;
}
.vt-lang-list .interlanguage-link a:hover {
  background: rgba(125, 255, 156, 0.08) !important; color: #7dff9c !important;
  border-left-color: #4ab06a !important;
}
 
/* ============================================================
  35. GALERIES & VIGNETTES (THUMBS)
  ============================================================ */
ul.gallery,
.mw-parser-output .gallery { background: transparent !important; border: 0 !important; margin: 16px 0 !important; padding: 0 !important; }
li.gallerybox,
.mw-parser-output .gallerybox { background: transparent !important; }
li.gallerybox div.thumb,
.gallerybox .thumb {
  background: rgba(15, 28, 21, 0.65) !important;
  border: 1px solid rgba(125, 255, 156, 0.18) !important;
  border-radius: 2px !important; margin: 2px !important;
  transition: all 0.15s ease;
}
li.gallerybox div.thumb:hover,
.gallerybox .thumb:hover {
  border-color: rgba(125, 255, 156, 0.45) !important;
  box-shadow: 0 0 12px rgba(125, 255, 156, 0.12);
}
.gallerytext,
.gallerybox .gallerytext {
  color: #cce8d4 !important; background: transparent !important;
  font-family: 'Crimson Pro', Georgia, serif !important; padding: 6px 8px !important;
}
.gallerytext p,
.gallerybox .gallerytext p { color: #cce8d4 !important; margin: 0 !important; }
.gallerytext a,
.gallerybox .gallerytext a { color: #7dff9c !important; }
.gallerytext a:hover,
.gallerybox .gallerytext a:hover { color: #b6ffc6 !important; }
.thumbinner,
.mw-parser-output .thumbinner,
.mw-parser-output figure[typeof~="mw:File/Thumb"],
.mw-parser-output figure[typeof~="mw:File/Frame"],
.mw-parser-output figure.mw-default-size,
.mw-parser-output figure.thumb {
  background: rgba(15, 28, 21, 0.65) !important;
  border: 1px solid rgba(125, 255, 156, 0.18) !important;
  border-radius: 2px !important; color: #cce8d4 !important;
}
.mw-parser-output figure[typeof~="mw:File/Thumb"] img.mw-file-element,
.mw-parser-output figure[typeof~="mw:File/Frame"] img.mw-file-element,
.mw-parser-output figure.mw-default-size img.mw-file-element {
  background: transparent !important; border: 0 !important; outline: 0 !important; box-shadow: none !important;
}
.mw-parser-output figure a.mw-file-description,
.mw-parser-output figure a {
  border: 0 !important; outline: 0 !important; background: transparent !important; display: block;
}
.thumbcaption,
.mw-parser-output .thumbcaption,
figcaption,
.mw-parser-output figcaption {
  color: #cce8d4 !important; background: transparent !important; border: 0 !important;
  border-top: 0 !important; outline: 0 !important;
  font-family: 'Crimson Pro', Georgia, serif !important;
  font-style: italic; font-size: 13px !important; padding: 6px 8px !important;
}
.magnify a {
  filter: invert(1) hue-rotate(90deg) saturate(0.6) brightness(1.2) !important;
  opacity: 0.6 !important;
}
.magnify a:hover { opacity: 1 !important; }
 
/* ============================================================
  36. SCROLLBAR MOBILE — masquage agressif
  ============================================================ */
@media screen and (max-width: 900px) {
  .vt-page-tabs,
  .vt-user-tools,
  .vt-page-tabs *,
  .vt-user-tools * { scrollbar-width: none !important; -ms-overflow-style: none !important; }
  .vt-page-tabs::-webkit-scrollbar,
  .vt-user-tools::-webkit-scrollbar {
    display: none !important; width: 0 !important; height: 0 !important; background: transparent !important;
  }
  .vt-page-tabs::-webkit-scrollbar-track,
  .vt-user-tools::-webkit-scrollbar-track,
  .vt-page-tabs::-webkit-scrollbar-thumb,
  .vt-user-tools::-webkit-scrollbar-thumb { display: none !important; background: transparent !important; }
}
 
/* ============================================================
  37. CITATIONS (blockquote)
  ============================================================ */
blockquote,
.mw-parser-output blockquote,
.mw-parser-output .noexcerpt {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 8px 16px !important; margin: 16px auto !important;
  font-style: italic; color: #cce8d4;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 16px; line-height: 1.6;
}
blockquote p,
.mw-parser-output blockquote p {
  margin: 0 0 8px !important; background: transparent !important; border: 0 !important;
}
blockquote p:last-child { margin-bottom: 0 !important; }
blockquote audio,
.mw-parser-output blockquote audio,
blockquote .mw-mmv-image,
blockquote figure,
blockquote .floatnone,
blockquote .center {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
  margin: 8px auto !important;
}
 
/* ============================================================
  38. PAGE RECHERCHE — Special:Recherche
  ============================================================ */
 
/* Conteneur principal */
.mw-search-results-container,
.searchresults,
#search,
.mw-special-search { color: #cce8d4 !important; }
 
.search-types,
.mw-search-profile-tabs,
.mw-search-form-wrapper {
  background: transparent !important; border: 0 !important;
  border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important;
}
 
/* Onglets (Articles / Tout / Multimédia) */
.mw-search-profile-tabs .selected a,
.mw-search-profile-tabs li.selected {
  background: rgba(125, 255, 156, 0.1) !important;
  border-color: rgba(125, 255, 156, 0.35) !important;
  color: #7dff9c !important;
}
.mw-search-profile-tabs li a {
  background: rgba(6, 15, 11, 0.6) !important;
  border-color: rgba(125, 255, 156, 0.15) !important;
  color: #cce8d4 !important;
}
.mw-search-profile-tabs li a:hover {
  background: rgba(125, 255, 156, 0.08) !important; color: #7dff9c !important;
}
 
/* Champ de saisie principal */
.mw-search-box input[type="search"],
.mw-search-box input[type="text"],
#searchText input,
#powerSearchText {
  background: rgba(8, 20, 14, 0.8) !important;
  border: 1px solid rgba(125, 255, 156, 0.25) !important;
  color: #cce8d4 !important; border-radius: 2px !important;
  padding: 8px 12px !important; font-family: 'IBM Plex Mono', monospace !important;
}
.mw-search-box input:focus,
#powerSearchText:focus {
  border-color: rgba(125, 255, 156, 0.6) !important; outline: none !important;
  box-shadow: 0 0 8px rgba(125, 255, 156, 0.15) !important;
}
 
/* Bouton Rechercher */
.mw-search-box button,
.mw-search-box input[type="submit"],
#mw-search-top-table button[type="submit"] {
  background: rgba(125, 255, 156, 0.12) !important;
  border: 1px solid rgba(125, 255, 156, 0.3) !important;
  color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important;
  text-transform: uppercase !important; font-size: 11px !important;
  letter-spacing: 0.1em !important; padding: 8px 16px !important;
  cursor: pointer !important; border-radius: 2px !important;
}
.mw-search-box button:hover,
.mw-search-box input[type="submit"]:hover {
  background: rgba(125, 255, 156, 0.22) !important;
  border-color: rgba(125, 255, 156, 0.6) !important;
}
 
/* Résultats */
.mw-search-result,
.searchresult {
  border-bottom: 1px solid rgba(125, 255, 156, 0.08) !important;
  padding: 12px 0 !important; background: transparent !important;
}
.mw-search-result:hover { background: rgba(125, 255, 156, 0.04) !important; }
 
.mw-search-result-heading a,
.mw-search-results .mw-search-result-heading a {
  color: #7dff9c !important; font-family: 'Crimson Pro', Georgia, serif !important;
  font-size: 18px !important; font-style: italic !important; text-decoration: none !important;
}
.mw-search-result-heading a:hover { color: #b6ffc6 !important; text-decoration: underline !important; }
 
.searchresult,
.mw-search-result-data,
.mw-search-result .searchresult {
  color: rgba(204, 232, 212, 0.75) !important; font-size: 14px !important;
}
 
.searchmatch {
  color: #7dff9c !important; font-weight: bold !important;
  background: rgba(125, 255, 156, 0.1) !important;
  border-radius: 2px !important; padding: 0 2px !important;
}
 
.mw-search-result-data {
  color: rgba(125, 255, 156, 0.4) !important; font-size: 12px !important;
  font-family: 'IBM Plex Mono', monospace !important; margin-top: 4px !important;
}
 
.mw-search-ns input[type="checkbox"],
.mw-searchoption input[type="checkbox"] { accent-color: #4ab06a !important; }
.mw-search-ns label,
.mw-searchoption label { color: #cce8d4 !important; font-size: 13px !important; }
 
.mw-search-nonefound,
p.mw-search-nonefound {
  color: rgba(204, 232, 212, 0.6) !important; font-style: italic !important;
  border-left: 2px solid rgba(125, 255, 156, 0.25) !important; padding-left: 12px !important;
}
 
.searchdidyoumean,
.mw-search-exists { color: #cce8d4 !important; }
.searchdidyoumean a,
.mw-search-exists a { color: #7dff9c !important; }
 
.mw-search-pager-bottom .mw-prevlink,
.mw-search-pager-bottom .mw-nextlink,
.mw-search-pager-top .mw-prevlink,
.mw-search-pager-top .mw-nextlink {
  color: #7dff9c !important; border: 1px solid rgba(125, 255, 156, 0.25) !important;
  padding: 4px 12px !important; border-radius: 2px !important; text-decoration: none !important;
}
.mw-search-pager-bottom .mw-prevlink:hover,
.mw-search-pager-bottom .mw-nextlink:hover { background: rgba(125, 255, 156, 0.1) !important; }
 
.results-info,
#mw-search-top-table .results-info {
  color: rgba(125, 255, 156, 0.5) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
 
/* Recherche avancée — header + bouton */
.mw-advancedSearch-container {
  background: rgba(6, 15, 11, 0.85) !important;
  border: 1px solid rgba(125, 255, 156, 0.12) !important;
  border-radius: 3px !important; margin-bottom: 16px !important;
}
.mw-advancedSearch-expandablePane-button {
  background: rgba(15, 32, 21, 0.6) !important;
  border-bottom: 1px solid rgba(125, 255, 156, 0.1) !important;
}
.mw-advancedSearch-expandablePane-button .oo-ui-buttonElement-button {
  background: transparent !important; border: 0 !important;
  color: rgba(125, 255, 156, 0.5) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important; text-transform: uppercase !important;
  letter-spacing: 0.12em !important; padding: 10px 16px !important;
  cursor: pointer !important; transition: color 0.15s !important;
}
.mw-advancedSearch-expandablePane-button .oo-ui-buttonElement-button:hover {
  color: #7dff9c !important; background: rgba(125, 255, 156, 0.05) !important;
}
.mw-advancedSearch-expandablePane-button .oo-ui-indicatorElement-indicator {
  filter: brightness(0) saturate(100%) invert(72%) sepia(20%) saturate(400%) hue-rotate(76deg) !important;
  opacity: 0.5 !important;
}
 
/* Panneau dépliable */
.mw-advancedSearch-expandablePane-pane,
.mw-advancedSearch-expandablePane-options,
.mw-advancedSearch-expandablePane-namespaces {
  background: rgba(4, 10, 7, 0.6) !important;
  border-top: 1px solid rgba(125, 255, 156, 0.1) !important;
  padding: 16px !important;
}
.mw-advancedSearch-searchPreview,
.mw-advancedSearch-namespacesPreview { background: transparent !important; }
 
/* Wrapper global champs */
.mw-advancedSearch-fieldContainer {
  background: transparent !important;
  border: 0 !important; padding: 0 !important; margin: 0 !important;
}
 
/* Fieldsets */
.mw-advancedSearch-fieldContainer fieldset.oo-ui-fieldsetLayout,
.mw-advancedSearch-container fieldset.oo-ui-fieldsetLayout,
.mw-advancedSearch-expandablePane-pane fieldset.oo-ui-fieldsetLayout {
  background: transparent !important; border: 0 !important;
  border-top: 1px solid rgba(125, 255, 156, 0.1) !important;
  margin: 0 !important; padding: 16px 0 !important;
}
.mw-advancedSearch-fieldContainer fieldset.oo-ui-fieldsetLayout:first-of-type {
  border-top: 0 !important; padding-top: 0 !important;
}
 
/* Legend (titres de section) */
.mw-advancedSearch-fieldContainer legend.oo-ui-fieldsetLayout-header,
.mw-advancedSearch-container legend.oo-ui-fieldsetLayout-header,
.mw-advancedSearch-expandablePane-pane legend.oo-ui-fieldsetLayout-header,
.mw-special-Search .oo-ui-fieldsetLayout-header,
.mw-advancedSearch-container .oo-ui-fieldsetLayout-header {
  background: transparent !important; border: 0 !important;
  padding: 0 0 12px 0 !important; margin: 0 !important; width: 100% !important;
}
.mw-advancedSearch-fieldContainer legend.oo-ui-fieldsetLayout-header .oo-ui-labelElement-label,
.mw-advancedSearch-container legend.oo-ui-fieldsetLayout-header .oo-ui-labelElement-label,
.mw-special-Search .oo-ui-fieldsetLayout-header .oo-ui-labelElement-label,
.mw-advancedSearch-container .oo-ui-fieldsetLayout-header .oo-ui-labelElement-label {
  color: rgba(125, 255, 156, 0.7) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important; text-transform: uppercase !important;
  letter-spacing: 0.18em !important; font-weight: 500 !important;
}
 
/* OOUI wrappers transparents */
.mw-special-Search .oo-ui-panelLayout,
.mw-special-Search .oo-ui-fieldsetLayout,
.mw-special-Search .oo-ui-fieldsetLayout-group,
.mw-special-Search .oo-ui-fieldLayout,
.mw-special-Search .oo-ui-fieldLayout-body,
.mw-special-Search .oo-ui-fieldLayout-field,
.mw-special-Search .oo-ui-horizontalLayout,
.mw-search-form .oo-ui-panelLayout,
.mw-search-form .oo-ui-fieldsetLayout,
.mw-advancedSearch-container .oo-ui-panelLayout,
.mw-advancedSearch-container .oo-ui-fieldsetLayout,
.mw-advancedSearch-container .oo-ui-fieldsetLayout-group,
.mw-advancedSearch-container .oo-ui-fieldLayout,
.mw-advancedSearch-container .oo-ui-fieldLayout-body,
.mw-advancedSearch-container .oo-ui-fieldLayout-field,
.mw-advancedSearch-container .oo-ui-horizontalLayout,
.mw-advancedSearch-expandablePane-pane .oo-ui-panelLayout,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldsetLayout,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldsetLayout-group,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldLayout,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldLayout-body,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldLayout-field,
.mw-advancedSearch-expandablePane-pane .oo-ui-horizontalLayout,
.mw-advancedSearch-fieldContainer .oo-ui-fieldsetLayout-group {
  background: transparent !important;
  border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important;
}
 
/* Catch-all label OOUI dans toute la zone recherche */
.mw-special-Search .oo-ui-labelElement-label,
.mw-advancedSearch-container .oo-ui-labelElement-label,
.mw-advancedSearch-fieldContainer .oo-ui-labelElement-label,
.mw-advancedSearch-expandablePane-pane .oo-ui-labelElement-label,
.mw-advancedSearch-expandablePane-options .oo-ui-labelElement-label,
.mw-advancedSearch-expandablePane-namespaces .oo-ui-labelElement-label {
  color: rgba(204, 232, 212, 0.85) !important;
  background: transparent !important;
}
 
/* Labels des fields */
.mw-advancedSearch-fieldContainer .oo-ui-fieldLayout-header .oo-ui-labelElement-label,
.mw-advancedSearch-fieldContainer .oo-ui-fieldLayout-header label,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldLayout-header .oo-ui-labelElement-label,
.mw-advancedSearch-expandablePane-pane .oo-ui-fieldLayout-header label {
  color: rgba(204, 232, 212, 0.65) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important; text-transform: none !important;
  letter-spacing: 0.02em !important; font-weight: 400 !important;
}
 
/* Inputs texte */
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget,
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget input,
.mw-advancedSearch-expandablePane-pane .oo-ui-textInputWidget input,
.mw-advancedSearch-expandablePane-options input[type="text"],
.mw-advancedSearch-expandablePane-options input[type="search"],
.mw-advancedSearch-expandablePane-options input[type="number"] {
  background: rgba(4, 10, 7, 0.95) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important; color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important; padding: 8px 12px !important;
  caret-color: #7dff9c !important; min-height: 36px !important;
}
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget input:focus,
.mw-advancedSearch-expandablePane-options input:focus {
  border-color: rgba(125, 255, 156, 0.5) !important;
  box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.1) !important;
  outline: none !important;
}
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget input::placeholder,
.mw-advancedSearch-expandablePane-options input::placeholder {
  color: rgba(125, 255, 156, 0.25) !important; font-style: italic !important;
}
 
/* Tags multiselect */
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget,
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget-handle,
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget-content,
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget-group {
  background: rgba(4, 10, 7, 0.95) !important;
  border: 0 !important;
}
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget-handle {
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important;
  min-height: 36px !important; padding: 4px 8px !important;
}
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget-handle:focus-within {
  border-color: rgba(125, 255, 156, 0.5) !important;
  box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.1) !important;
}
.mw-advancedSearch-fieldContainer .oo-ui-tagMultiselectWidget input.oo-ui-inputWidget-input {
  background: transparent !important; border: 0 !important;
  color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important; padding: 4px !important; min-height: 26px !important;
}
 
/* Tags items */
.mw-advancedSearch-namespace .oo-ui-tagItemWidget,
.mw-advancedSearch-expandablePane-namespaces .oo-ui-tagItemWidget,
.mw-advancedSearch-fieldContainer .oo-ui-tagItemWidget {
  background: rgba(125, 255, 156, 0.1) !important;
  border: 1px solid rgba(125, 255, 156, 0.3) !important;
  border-radius: 2px !important; color: #7dff9c !important;
  font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important;
}
.mw-advancedSearch-namespace .oo-ui-tagItemWidget .oo-ui-labelElement-label,
.mw-advancedSearch-fieldContainer .oo-ui-tagItemWidget .oo-ui-labelElement-label {
  color: #7dff9c !important; text-transform: none !important;
}
.mw-advancedSearch-namespace .oo-ui-tagItemWidget .oo-ui-buttonElement-button,
.mw-advancedSearch-fieldContainer .oo-ui-tagItemWidget .oo-ui-buttonElement-button {
  color: rgba(125, 255, 156, 0.5) !important;
  background: transparent !important; border: 0 !important;
}
.mw-advancedSearch-namespace .oo-ui-tagItemWidget .oo-ui-buttonElement-button:hover,
.mw-advancedSearch-fieldContainer .oo-ui-tagItemWidget .oo-ui-buttonElement-button:hover {
  color: #ff7a7a !important;
}
 
/* Champ "Ajouter des espaces de noms" */
.mw-advancedSearch-namespace .oo-ui-tagMultiselectWidget-handle,
.mw-advancedSearch-expandablePane-namespaces .oo-ui-tagMultiselectWidget {
  background: rgba(4, 10, 7, 0.95) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important; min-height: 36px !important;
  padding: 4px 8px !important;
}
.mw-advancedSearch-namespace .oo-ui-tagMultiselectWidget input,
.mw-advancedSearch-expandablePane-namespaces .oo-ui-tagMultiselectWidget input {
  color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important;
  font-size: 12px !important; background: transparent !important; border: 0 !important;
}
.mw-advancedSearch-namespace .oo-ui-tagMultiselectWidget input::placeholder {
  color: rgba(125, 255, 156, 0.25) !important; font-style: italic !important;
}
 
/* Selects natifs */
.mw-advancedSearch-fieldContainer select.oo-ui-inputWidget-input,
.mw-advancedSearch-container select.oo-ui-inputWidget-input,
.mw-advancedSearch-expandablePane-pane select.oo-ui-inputWidget-input,
.mw-advancedSearch-fieldContainer .oo-ui-dropdownInputWidget select,
.mw-advancedSearch-container .oo-ui-dropdownInputWidget select {
  background: rgba(4, 10, 7, 0.95) !important;
  color: #cce8d4 !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
}
.mw-advancedSearch-fieldContainer select.oo-ui-inputWidget-input option,
.mw-advancedSearch-fieldContainer select.oo-ui-inputWidget-input optgroup {
  background: #060f0b !important; color: #cce8d4 !important;
}
.mw-advancedSearch-fieldContainer select.oo-ui-inputWidget-input optgroup {
  color: rgba(125, 255, 156, 0.6) !important; font-style: italic !important;
}
 
/* Dropdown handle */
.mw-advancedSearch-expandablePane-pane .oo-ui-dropdownWidget-handle,
.mw-advancedSearch-expandablePane-options .oo-ui-dropdownWidget-handle {
  background: rgba(4, 10, 7, 0.95) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 2px !important; color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 12px !important; min-height: 36px !important;
}
.mw-advancedSearch-expandablePane-pane .oo-ui-dropdownWidget-handle:hover {
  border-color: rgba(125, 255, 156, 0.4) !important;
}
.mw-advancedSearch-expandablePane-pane .oo-ui-dropdownWidget .oo-ui-labelElement-label {
  color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important;
}
.mw-advancedSearch-expandablePane-pane .oo-ui-indicatorElement-indicator,
.mw-advancedSearch-expandablePane-options .oo-ui-indicatorElement-indicator {
  filter: brightness(0) saturate(100%) invert(72%) sepia(20%) saturate(400%) hue-rotate(76deg) !important;
  opacity: 0.4 !important;
}
 
/* Checkboxes Special:Search */
.mw-special-Search .oo-ui-checkboxInputWidget [type='checkbox'] + span,
.mw-advancedSearch-container .oo-ui-checkboxInputWidget [type='checkbox'] + span {
  background-color: rgba(6, 15, 11, 0.95) !important;
  background-image: none !important;
  border: 1.5px solid rgba(125, 255, 156, 0.35) !important;
  border-radius: 2px !important;
}
.mw-special-Search .oo-ui-checkboxInputWidget [type='checkbox']:checked + span,
.mw-advancedSearch-container .oo-ui-checkboxInputWidget [type='checkbox']:checked + span {
  background-color: rgba(125, 255, 156, 0.18) !important;
  border-color: #7dff9c !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' stroke='%237dff9c' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 10px !important;
}
 
/* Header sélecteur namespaces */
.mw-advancedSearch-namespace-selection-header,
.mw-advancedSearch-namespace-selection,
.mw-advancedSearch-namespacesPreview {
  background: transparent !important; border: 0 !important;
  display: flex !important; align-items: center !important;
  justify-content: flex-end !important;
  padding: 8px 0 !important; margin-bottom: 8px !important;
}
.mw-advancedSearch-namespace-selection-header .oo-ui-checkboxInputWidget,
.mw-advancedSearch-namespace-selection-header .oo-ui-fieldLayout {
  background: transparent !important;
}
.mw-advancedSearch-namespace-selection-header .oo-ui-labelElement-label,
.mw-advancedSearch-namespace-selection-header label {
  color: rgba(125, 255, 156, 0.55) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important; text-transform: uppercase !important;
  letter-spacing: 0.1em !important; font-weight: 400 !important; cursor: pointer !important;
}
 
/* Boutons preset namespaces */
.mw-advancedSearch-namespacesPreset .oo-ui-buttonElement-button,
.mw-advancedSearch-namespace-presets .oo-ui-buttonElement-button,
.mw-advancedSearch-namespace-presets-buttonSelectWidget .oo-ui-buttonElement-button {
  background: rgba(6, 15, 11, 0.85) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  color: rgba(125, 255, 156, 0.6) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important; text-transform: uppercase !important;
  letter-spacing: 0.1em !important; border-radius: 2px !important;
  padding: 6px 12px !important;
}
.mw-advancedSearch-namespacesPreset .oo-ui-buttonElement-button:hover,
.mw-advancedSearch-namespace-presets .oo-ui-buttonElement-button:hover {
  background: rgba(125, 255, 156, 0.08) !important;
  border-color: rgba(125, 255, 156, 0.4) !important;
  color: #7dff9c !important;
}
.mw-advancedSearch-namespacesPreset .oo-ui-buttonElement.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button,
.mw-advancedSearch-namespace-presets .oo-ui-buttonElement.oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button {
   background: rgba(125, 255, 156, 0.15) !important;
   background: rgba(125, 255, 156, 0.15) !important;
  border-color: #7dff9c !important; color: #7dff9c !important;
}
}
.mw-advancedSearch-namespacesPreset .oo-ui-buttonGroupWidget,
.mw-advancedSearch-namespace-presets .oo-ui-buttonGroupWidget,
/* Gouttière numéros de ligne */
.mw-advancedSearch-namespacesPreset,
.ve-ui-mwWikitextSurface .CodeMirror-gutters {
.mw-advancedSearch-namespace-presets,
   background: rgba(6, 15, 11, 0.95) !important;
#mw-search-ns,
  border-right: 1px solid rgba(125, 255, 156, 0.1) !important;
.mw-search-namespaces {
   background: transparent !important; border: 0 !important;
}
}
 
.ve-ui-mwWikitextSurface .CodeMirror-linenumber {
/* Suffixe "px" */
   color: rgba(125, 255, 156, 0.22) !important;
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget-labelPosition-after .oo-ui-labelElement-label {
  background: rgba(125, 255, 156, 0.06) !important;
   color: rgba(125, 255, 156, 0.5) !important;
  border-left: 1px solid rgba(125, 255, 156, 0.15) !important;
   font-family: 'IBM Plex Mono', monospace !important;
   font-family: 'IBM Plex Mono', monospace !important;
   font-size: 11px !important; padding: 0 10px !important;
   font-size: 11px !important;
}
}
 
/* Icônes ⓘ d'aide */
/* Ligne active */
.mw-advancedSearch-expandablePane-pane .oo-ui-iconElement-icon,
.ve-ui-mwWikitextSurface .CodeMirror-activeline-background {
.mw-advancedSearch-expandablePane-options .oo-ui-iconElement-icon,
   background: rgba(125, 255, 156, 0.04) !important;
.mw-advancedSearch-fieldContainer .oo-ui-iconElement-icon {
   filter: brightness(0) saturate(100%) invert(72%) sepia(20%) saturate(400%) hue-rotate(76deg) !important;
  opacity: 0.4 !important;
}
}
 
/* Aucun résultat + lien créer */
/* ── Coloration syntaxique wikicode ── */
.mw-search-createlink {
  margin-top: 16px !important; padding: 12px !important;
/* Modèles (templates) {{…}} */
  background: rgba(245, 200, 74, 0.05) !important;
.ve-ui-mwWikitextSurface .cm-mw-template-name,
  border-left: 2px solid rgba(245, 200, 74, 0.4) !important;
.ve-ui-mwWikitextSurface .cm-mw-template-bracket {
  border-radius: 2px !important; color: rgba(204, 232, 212, 0.7) !important;
   color: #f5c84a !important;
}
.mw-search-createlink a { color: #f5c84a !important; font-weight: 500 !important; }
.mw-search-createlink a:hover { color: #ffe080 !important; }
 
/* Conteneur global form */
.mw-search-form-wrapper,
#search,
.mw-special-Search #search {
  background: rgba(6, 15, 11, 0.4) !important;
  border: 1px solid rgba(125, 255, 156, 0.1) !important;
  border-radius: 3px !important; padding: 0 !important;
}
 
/* ============================================================
  39. NOTIFICATIONS / TOAST POST-PUBLICATION
  ============================================================ */
.mw-notification,
.mw-notification-area .mw-notification,
.postedit,
.postedit-container {
  background: rgba(8, 18, 12, 0.97) !important;
  border: 1px solid rgba(125, 255, 156, 0.35) !important;
  border-radius: 3px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(125, 255, 156, 0.1) !important;
   color: #cce8d4 !important;
  padding: 12px 16px !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
}
.mw-notification-success,
.ve-ui-mwWikitextSurface .cm-mw-template-argument-name {
.mw-notification.mw-notification-type-success,
   color: #a8d8ea !important;
.mw-notification[data-mw-notification-type="success"] {
   border-left: 3px solid #7dff9c !important;
  border-color: rgba(125, 255, 156, 0.4) !important;
}
}
.mw-notification-warn,
.ve-ui-mwWikitextSurface .cm-mw-template-delimiter {
.mw-notification.mw-notification-type-warn {
   color: rgba(245, 200, 74, 0.5) !important;
   border-left: 3px solid #f5c84a !important;
  border-color: rgba(245, 200, 74, 0.4) !important;
}
}
.mw-notification-error,
.mw-notification.mw-notification-type-error {
/* Liens [[…]] */
   border-left: 3px solid #ff7a7a !important;
.ve-ui-mwWikitextSurface .cm-mw-link-ground,
  border-color: rgba(255, 122, 122, 0.4) !important;
.ve-ui-mwWikitextSurface .cm-mw-link,
.ve-ui-mwWikitextSurface .cm-mw-link-pagename {
   color: #4ab06a !important;
}
}
.mw-notification p,
.ve-ui-mwWikitextSurface .cm-mw-link-bracket {
.mw-notification div,
   color: rgba(74, 176, 106, 0.5) !important;
.mw-notification span,
.postedit-content {
   color: #cce8d4 !important;
  background: transparent !important;
  font-family: 'Crimson Pro', Georgia, serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
}
.mw-notification strong,
.mw-notification b {
/* Titres == … == */
.ve-ui-mwWikitextSurface .cm-mw-heading,
.ve-ui-mwWikitextSurface .cm-mw-section-header {
   color: #7dff9c !important;
   color: #7dff9c !important;
   font-weight: 600 !important;
   font-weight: bold !important;
}
}
.mw-notification a,
.postedit a {
/* Balises HTML <ref>, <br>… */
   color: #7dff9c !important;
.ve-ui-mwWikitextSurface .cm-mw-htmlentity,
  text-decoration: none !important;
.ve-ui-mwWikitextSurface .cm-mw-tag-name {
  border-bottom: 1px solid rgba(125, 255, 156, 0.3) !important;
   color: #ff9a9a !important;
}
}
.mw-notification a:hover,
.ve-ui-mwWikitextSurface .cm-mw-tag-bracket {
.postedit a:hover {
   color: rgba(255, 154, 154, 0.5) !important;
   color: #b6ffc6 !important;
  border-bottom-color: #7dff9c !important;
}
}
.mw-notification .oo-ui-iconElement-icon,
.ve-ui-mwWikitextSurface .cm-mw-attribute-name {
.postedit .oo-ui-iconElement-icon {
   color: #a8d8ea !important;
  filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important;
  opacity: 0.9 !important;
}
.mw-notification-close,
.postedit-icon-close {
   filter: brightness(0) saturate(100%) invert(72%) sepia(20%) saturate(400%) hue-rotate(76deg) !important;
  opacity: 0.5 !important;
  transition: opacity 0.15s !important;
}
}
.mw-notification-close:hover,
.postedit-icon-close:hover { opacity: 1 !important; }
.mw-notification-area { background: transparent !important; }

Version du 10 mai 2026 à 00:33

/*
 * MediaWiki:Vaulttec.css — v12
 * Chargé uniquement pour les utilisateurs du skin VaultTec.
 */
 
/* ============================================================
   1. VARIABLES
   ============================================================ */
:root {
  --background-color-dp-00: #06100b;
  --background-color-dp-01: #0a1a0f;
  --background-color-dp-02: #0f2015;
  --background-color-dp-03: #11251a;
  --background-color-dp-04: #142b1e;
  --background-color-dp-06: #173122;
  --background-color-dp-08: #1a3727;
  --background-color-dp-12: #1e3f2c;
  --background-color-dp-16: #214531;
  --background-color-dp-24: #254c36;
  --background-img:         none;
  --background-main:        transparent;
  --box-background-color:   rgba(12, 24, 18, 0.85);
  --box-shadow:             0 0 10px rgba(125, 255, 156, 0.12);
  --color-base:             #cce8d4;
  --color-warning:          #f5c84a;
  --color-link:             #4ab06a;
  --color-link-visited:     #357a4d;
  --border-color-base:      rgba(125, 255, 156, 0.15);
}
 
/* ============================================================
   2. BODY & CONTAINERS
   ============================================================ */
body { background: #06100b !important; background-image: none !important; }
.mw-page-container { background: transparent !important; border: none !important; max-width: 100% !important; padding: 0 !important; }
 
/* ============================================================
   3. LAYOUT
   ============================================================ */
.vt-page-container { display: flex !important; width: 100% !important; align-items: flex-start !important; min-height: calc(100vh - 54px) !important; }
.vt-sidebar, #mw-panel { width: 220px !important; flex-shrink: 0 !important; }
.vt-content-container, #content { flex: 1 1 auto !important; min-width: 0 !important; width: 0 !important; }
#bodyContent { max-width: none !important; width: 100% !important; padding: 28px 36px 60px !important; }
 
/* ============================================================
   4. TOC — rétractable, replié par défaut
   ============================================================ */
#mw-content-text .toc, #mw-content-text #toc {
  float: none !important; clear: both !important; position: static !important;
  width: fit-content !important; max-width: min(300px, 100%) !important; min-width: 160px !important;
  margin: 0 0 20px 0 !important; padding: 0 !important;
  background: rgba(6, 15, 11, 0.88) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important;
  border-radius: 3px !important; overflow: hidden !important; box-sizing: border-box !important; font-size: 12px !important;
}
#mw-content-text .toctitle, #mw-content-text .toc .toctitle {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 16px !important; padding: 8px 14px !important; cursor: pointer !important;
  user-select: none !important; margin: 0 !important; border-bottom: 1px solid transparent !important; white-space: nowrap !important;
}
#mw-content-text .toctitle h2, #mw-content-text .toc .toctitle h2 {
  font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; font-weight: 500 !important;
  text-transform: uppercase !important; letter-spacing: 0.12em !important;
  color: rgba(125, 255, 156, 0.65) !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
}
#mw-content-text .toctitle::after { content: '▸'; color: rgba(125, 255, 156, 0.4); font-size: 9px; flex-shrink: 0; transition: transform 0.2s ease; }
#mw-content-text .toc:not(.vt-toc-collapsed) .toctitle { border-bottom-color: rgba(125, 255, 156, 0.12) !important; }
#mw-content-text .toc:not(.vt-toc-collapsed) .toctitle::after { transform: rotate(90deg); }
#mw-content-text .toc.vt-toc-collapsed > ul { display: none !important; }
#mw-content-text .toc:not(.vt-toc-collapsed) > ul { display: block !important; padding: 6px 0 8px !important; margin: 0 !important; }
#mw-content-text .toc ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#mw-content-text .toc li a {
  display: flex !important; align-items: baseline !important; padding: 4px 14px !important;
  font-size: 11px !important; color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important;
  border-left: 2px solid transparent !important; transition: all 0.15s !important; text-decoration: none !important; white-space: nowrap !important;
}
#mw-content-text .toc li a:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.08) !important; border-left-color: #4ab06a !important; }
#mw-content-text .toc li li a { padding-left: 24px !important; font-size: 10px !important; color: rgba(125, 255, 156, 0.4) !important; }
.tocnumber { color: rgba(125, 255, 156, 0.35) !important; margin-right: 6px !important; }
 
/* ============================================================
   5. INFOBOX
   ============================================================ */
.avt-infobox, .mw-parser-output .avt-infobox {
  width: 320px !important; max-width: 100% !important; float: right !important; clear: right !important;
  margin: 0 0 1em 1.5em !important; box-sizing: border-box !important;
  background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.2) !important;
  box-shadow: 0 0 10px rgba(125, 255, 156, 0.12) !important; color: #cce8d4 !important;
}
@media screen and (max-width: 720px) {
  .avt-infobox, .mw-parser-output .avt-infobox { width: 100% !important; float: none !important; clear: both !important; margin: 0 0 1em 0 !important; }
}
.avt-infobox-header { background-color: #142b1e !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #7dff9c !important; }
.avt-infobox p.bloc, .avt-infobox caption { background-color: #142b1e !important; color: #7dff9c !important; }
.avt-infobox th[scope="row"] { color: #4ab06a !important; }
.avt-infobox td { color: #cce8d4 !important; }
.infobox-default-image { background-image: url("/images/1/11/Logo_wiki_LAVT_vert.png") !important; }
.avt-infobox caption, .mw-parser-output .avt-infobox caption { display: table-caption !important; width: 100% !important; box-sizing: border-box !important; }
 
/* ============================================================
   6. WIKITABLE
   ============================================================ */
.wikitable, .va-table, .mw-datatable { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.wikitable > tr > th, .wikitable > * > tr > th, .va-table > tr > th, .va-table > * > tr > th { background-color: #0f2015 !important; color: #7dff9c !important; }
.wikitable > tr > td, .wikitable > * > tr > td, .va-table > tr > td, .va-table > * > tr > td { border-color: rgba(125, 255, 156, 0.1) !important; color: #cce8d4 !important; }
.wikitable tr:hover td { background-color: rgba(125, 255, 156, 0.06) !important; }
 
/* ============================================================
   7. PALETTES & NAVBOXES
   ============================================================ */
.palette { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.palette-titre, .palette-banniere, .palette-section, .palette-groupe { background-color: #0f2015 !important; color: #7dff9c !important; }
.palette-pair { background-color: transparent !important; }
.va-infobox-title, .va-navbox-title { background: #0f2015 !important; color: #7dff9c !important; }
 
/* ============================================================
   8. BOÎTES GÉNÉRIQUES
   ============================================================ */
.avt-warn-banner, .avt-note-banner, .avt-section-banner, .avt-dropdown-box, .avt-genericbox,
.homepage-box, .spinoff-box, .avt-content-game-box { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.avt-dropdown-box-title { background-color: #0f2015 !important; color: #7dff9c !important; }
 
/* Espacement réduit entre bandeaux d'avertissement consécutifs */
.mw-parser-output .avt-warn-banner {
  margin-bottom: 4px !important;
}
 
/* ============================================================
   9. LIENS
   ============================================================ */
.mw-parser-output a { color: #4ab06a; }
.mw-parser-output a:visited { color: #357a4d; }
.mw-parser-output a:hover { color: #7dff9c; }
.new, a.new { color: #ff5e5e !important; }
 
/* ============================================================
   10. TOC VECTOR 2022
   ============================================================ */
.sidebar-toc, .vector-toc { background-color: rgba(12, 24, 18, 0.85) !important; border-color: rgba(125, 255, 156, 0.15) !important; }
.vector-toc .vector-toc-link, .sidebar-toc .sidebar-toc-link { color: #4ab06a !important; }
.vector-toc .vector-toc-link:hover, .sidebar-toc .sidebar-toc-link:hover { color: #7dff9c !important; }
 
/* ============================================================
   11. PORTAILS & ACCUEIL
   ============================================================ */
.homepage-box-title, .portal-box-title, .spinoff-box-title, .canceled-box-title, .fangame-box-title,
.homepage-presentation-title, .homepage-participation-title, .homepage-articleday-title {
  color: #7dff9c !important; text-shadow: 0 0 8px rgba(125, 255, 156, 0.4) !important; border-color: rgba(125, 255, 156, 0.15) !important;
}
 
/* ============================================================
   12. SITENOTICE
   ============================================================ */
.avt-sitenotice { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; }
 
/* ============================================================
   13. RECHERCHE — dropdown miniatures
   ============================================================ */
.vt-search { position: relative !important; }
.vt-search-dropdown { display: none; position: absolute; top: calc(100% + 2px); left: 0; width: 420px; max-width: calc(100vw - 40px); background: rgba(8, 18, 12, 0.98); border: 1px solid rgba(125, 255, 156, 0.2); border-top: none; z-index: 500; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7); backdrop-filter: blur(8px); }
.vt-search-item { display: flex; align-items: center; gap: 12px; padding: 9px 14px; color: #cce8d4; text-decoration: none !important; border-bottom: 1px solid rgba(125, 255, 156, 0.07); font-family: 'Crimson Pro', Georgia, serif; font-size: 15px; transition: background 0.1s; }
.vt-search-item:hover { background: rgba(125, 255, 156, 0.07); color: #7dff9c !important; text-decoration: none !important; }
.vt-search-thumb { width: 40px; height: 40px; flex-shrink: 0; background: rgba(125, 255, 156, 0.05); border: 1px solid rgba(125, 255, 156, 0.12); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.vt-search-thumb img { width: 40px; height: 40px; object-fit: cover; display: block; }
.vt-search-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vt-search-title mark { background: none; color: #7dff9c; font-weight: 700; }
.vt-search-footer { display: block; padding: 10px 14px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.1em; color: rgba(125, 255, 156, 0.4); text-decoration: none !important; text-transform: uppercase; border-top: 1px dashed rgba(125, 255, 156, 0.1); background: rgba(125, 255, 156, 0.02); }
.vt-search-footer:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06); text-decoration: none !important; }
 
/* ============================================================
   14. BOUTON RECHERCHE — loupe
   ============================================================ */
.vt-search input.searchButton, .vt-search #searchButton { text-indent: -9999px !important; overflow: hidden !important; width: 42px !important; min-width: 42px !important; padding: 0 !important; flex-shrink: 0 !important; background-color: rgba(125, 255, 156, 0.10) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237dff9c' d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 18px !important; border: 1px solid rgba(125, 255, 156, 0.35) !important; cursor: pointer !important; }
.vt-search input.searchButton:hover, .vt-search #searchButton:hover { background-color: rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
   15. DARK MODE — icône parasite
   ============================================================ */
.ext-darkmode-link::before, .ext-darkmode-link:before { display: none !important; content: none !important; }
 
/* ============================================================
   16. CATÉGORIES
   ============================================================ */
#catlinks { background-color: rgba(12, 24, 18, 0.85) !important; border-top: 1px solid rgba(125, 255, 156, 0.15) !important; border-bottom: none !important; padding: 10px 36px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; letter-spacing: 0.1em !important; color: #7aaa88 !important; }
#catlinks a { color: #4ab06a !important; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; font-size: 10px !important; }
#catlinks a:hover { color: #7dff9c !important; }
#mw-normal-catlinks > a:first-child { display: none !important; }
#catlinks ul { display: inline !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
#catlinks ul li { display: inline !important; }
#catlinks ul li::before { content: '·' !important; margin: 0 6px !important; color: rgba(125, 255, 156, 0.25) !important; }
#catlinks.catlinks-allhidden { display: none !important; }
 
/* ============================================================
   17. TITRES — structure MW 1.44+, sizing fluide responsive
   ============================================================ */
.mw-parser-output .mw-heading { display: flex !important; align-items: baseline !important; border-bottom: 1px solid rgba(125, 255, 156, 0.13) !important; margin: 22px 0 10px !important; padding-bottom: 6px !important; }
.mw-parser-output .mw-heading h2, .mw-parser-output > h2 { display: block !important; flex: 1 !important; border-bottom: 0 !important; margin: 0 !important; padding-bottom: 0 !important; font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-size: clamp(1.25rem, 1.05rem + 1vw, 1.625rem) !important; line-height: 1.25 !important; color: #cce8d4 !important; text-align: left !important; }
.mw-parser-output .mw-heading h3, .mw-parser-output > h3 { font-size: clamp(0.95rem, 0.85rem + 0.5vw, 1.1rem) !important; line-height: 1.3 !important; margin: 0 !important; flex: 1 !important; }
.mw-parser-output .mw-heading h4, .mw-parser-output > h4 { font-size: clamp(0.875rem, 0.8rem + 0.3vw, 1rem) !important; line-height: 1.3 !important; margin: 0 !important; flex: 1 !important; }
.mw-parser-output .mw-heading h5, .mw-parser-output > h5, .mw-parser-output .mw-heading h6, .mw-parser-output > h6 { font-size: 0.9rem !important; line-height: 1.3 !important; margin: 0 !important; flex: 1 !important; }
.mw-parser-output .mw-heading .mw-editsection { flex-shrink: 0 !important; margin-left: 12px !important; }
.mw-parser-output .mw-heading-3, .mw-parser-output .mw-heading-4, .mw-parser-output .mw-heading-5, .mw-parser-output .mw-heading-6 { margin: 16px 0 8px !important; padding-bottom: 4px !important; }
.mw-parser-output .mw-heading + .mw-heading { margin-top: 6px !important; }
 
/* ============================================================
   18. MODIFICATIONS RÉCENTES — filtres OOUI + légende
   ============================================================ */
.mw-rcfilters-ui-filterWrapperWidget, .mw-rcfilters-ui-filterTagMultiselectWidget { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-top { background-color: #0f2015 !important; border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; }
.mw-rcfilters-ui-tagItemWidget { background-color: rgba(125, 255, 156, 0.1) !important; border: 1px solid rgba(125, 255, 156, 0.3) !important; color: #7dff9c !important; }
.mw-rcfilters-ui-tagItemWidget .oo-ui-labelElement-label { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-buttonElement-button, .mw-rcfilters-ui-filterWrapperWidget .oo-ui-buttonElement-button { color: #4ab06a !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-buttonElement-button:hover, .mw-rcfilters-ui-filterWrapperWidget .oo-ui-buttonElement-button:hover { color: #7dff9c !important; }
.mw-rcfilters-ui-filterWrapperWidget-bottom .oo-ui-buttonElement-framed .oo-ui-buttonElement-button { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.3) !important; color: #4ab06a !important; }
.mw-rcfilters-ui-filterWrapperWidget-bottom .oo-ui-buttonElement-framed .oo-ui-buttonElement-button:hover { background-color: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: rgba(12, 24, 18, 0.95) !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-textInputWidget .oo-ui-inputWidget-input::placeholder { color: rgba(125, 255, 156, 0.3) !important; }
.mw-rcfilters-ui-filterTagMultiselectWidget-views-select .oo-ui-buttonElement-button { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.mw-rcfilters-ui-filterWrapperWidget-bottom { background-color: #0f2015 !important; border-top: 1px solid rgba(125, 255, 156, 0.15) !important; }
.mw-rcfilters-ui-filterWrapperWidget .oo-ui-labelElement-label { color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.mw-changeslist-legend { background-color: rgba(12, 24, 18, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; padding: 10px 16px !important; margin: 8px 0 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.mw-changeslist-legend summary { color: #7dff9c !important; cursor: pointer !important; font-size: 11px !important; letter-spacing: 0.1em !important; }
.mw-changeslist-legend dl { margin: 8px 0 0 !important; }
.mw-changeslist-legend dt { color: #7dff9c !important; font-weight: 600 !important; }
.mw-changeslist-legend dd { color: #7aaa88 !important; }
dt.newpage, dt.minoredit, dt.botedit, dt.unpatrolled { color: #7dff9c !important; background: rgba(125, 255, 156, 0.08) !important; padding: 1px 6px !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; display: inline-block !important; }
.mw-changeslist-date { color: #7dff9c !important; }
h4.mw-rcfilters-ui-changesListWrapperWidget-date { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; letter-spacing: 0.2em !important; border-bottom: 1px dashed rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
   19. OOUI — fonds blancs résiduels
   ============================================================ */
.oo-ui-tagMultiselectWidget, .oo-ui-tagMultiselectWidget-handle, .oo-ui-tagMultiselectWidget-group, .mw-rcfilters-ui-table, .mw-rcfilters-ui-row, .mw-rcfilters-ui-cell { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.oo-ui-textInputWidget, .oo-ui-textInputWidget input, .oo-ui-inputWidget-input { background-color: #0a1a0f !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; }
.oo-ui-tagItemWidget, .mw-rcfilters-ui-tagItemWidget { background-color: rgba(125, 255, 156, 0.08) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; color: #7dff9c !important; }
.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: #4ab06a !important; }
 
/* ============================================================
   20. ÉDITEUR — formulaire uniquement (pas de CodeMirror)
   ============================================================ */
#editform, .editOptions, .wikiEditor-ui, .wikiEditor-ui-toolbar, .wikiEditor-ui-text { background-color: rgba(12, 24, 18, 0.9) !important; border-color: rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
#wpTextbox1, .wikiEditor-ui-text textarea { background-color: #060f0b !important; color: #cce8d4 !important; border-color: rgba(125, 255, 156, 0.2) !important; }
.wikiEditor-ui-toolbar { background: #0f2015 !important; border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important; }
.wikiEditor-ui-toolbar .group { border-right-color: rgba(125, 255, 156, 0.1) !important; }
.wikiEditor-ui-toolbar .tool:hover { background: rgba(125, 255, 156, 0.08) !important; }
#wpSave, #wpPreview, #wpDiff, .editButtons input[type="submit"] { background-color: rgba(12, 24, 18, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.3) !important; color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; letter-spacing: 0.1em !important; cursor: pointer !important; transition: all 0.15s !important; }
#wpSave:hover, #wpPreview:hover, #wpDiff:hover, .editButtons input[type="submit"]:hover { background-color: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; border-color: rgba(125, 255, 156, 0.5) !important; }
#wpSave { background-color: rgba(125, 255, 156, 0.12) !important; color: #7dff9c !important; border-color: rgba(125, 255, 156, 0.4) !important; }
.editButtons .mw-editbutton-cancel { color: rgba(125, 255, 156, 0.4) !important; }
#wpSummary, #wpSummaryWidget input { background-color: #060f0b !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; }
#wpSummary:focus, #wpSummaryWidget input:focus { border-color: #7dff9c !important; outline: none !important; box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.12) !important; }
.editCheckboxes label, .editOptions label { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.editpage-head-copywarn, #editpage-copywarn { color: #4a6e55 !important; font-size: 11px !important; }
 
/* ============================================================
   21. MOBILE — onglets défilants
   ============================================================ */
@media screen and (max-width: 720px) {
  .vt-page-tabs { overflow-x: auto !important; overflow-y: hidden !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: thin !important; flex-wrap: nowrap !important; height: auto !important; min-height: 44px !important; padding: 0 8px !important; }
  .vt-page-tabs::-webkit-scrollbar { height: 3px !important; }
  .vt-page-tabs::-webkit-scrollbar-thumb { background: rgba(125, 255, 156, 0.2) !important; }
  .vt-tabs-ns ul, .vt-tabs-views ul, .vt-tabs-more ul { flex-wrap: nowrap !important; white-space: nowrap !important; }
  .vt-page-tabs li a { white-space: nowrap !important; padding: 0 10px !important; font-size: 10px !important; }
  .vt-tabs-sep { display: none !important; }
}
 
/* ============================================================
   22. TITRE DE PAGE — padding cohérent
   ============================================================ */
#firstHeading, #mw-content-subtitle { padding-left: 36px !important; padding-right: 36px !important; }
 
/* ============================================================
   23. NAV PRIMAIRE — masquer si vide
   ============================================================ */
.vt-nav-primary:not(:has(a)) { display: none !important; width: 0 !important; padding: 0 !important; border: none !important; }
 
/* ============================================================
   24. FIXES SKIN
   ============================================================ */
html body .CodeMirror { padding: 0 !important; }
.vt-drawer-overlay, .vt-drawer-overlay.is-open { pointer-events: none !important; }
@media screen and (min-width: 901px) { .vt-drawer-close { display: none !important; } }
.vt-watermark { display: none !important; }
@media screen and (max-width: 900px) {
  .vt-user-tools { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; max-width: calc(100vw - 180px); flex-shrink: 1; }
  .vt-user-tools::-webkit-scrollbar { display: none; }
  .vt-user-tools ul { flex-wrap: nowrap; }
  .vt-user-tools li a { padding: 0 8px; font-size: 10px; letter-spacing: 0.06em; }
}
@media screen and (max-width: 600px) { #pt-preferences, #pt-watchlist { display: none; } }
 
/* ============================================================
   25. MEDIAUPLOADER — Spécial:MediaUploader
   ============================================================ */
#upload-wizard { background: rgba(12, 24, 18, 0.6); border: 1px solid rgba(125, 255, 156, 0.15); color: #cce8d4; padding: 24px; border-radius: 4px; margin-top: 16px; }
#upload-wizard .ui-widget, #upload-wizard .ui-widget-content, #upload-wizard .ui-state-default, #upload-wizard .ui-corner-all, #upload-wizard .ui-corner-top, #upload-wizard .ui-corner-bottom, #upload-wizard .mediauploader-form { background-color: transparent !important; border-color: transparent !important; color: inherit !important; }
#mediauploader-steps, #mediauploader-steps.arrowSteps { background: rgba(6, 15, 11, 0.8) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 4px; padding: 0 !important; margin: 0 0 24px 0 !important; list-style: none; display: flex !important; overflow: hidden; height: auto !important; }
#mediauploader-steps li, #mediauploader-steps.arrowSteps li { flex: 1; padding: 14px 6px !important; background: transparent !important; background-image: none !important; color: rgba(125, 255, 156, 0.4) !important; text-transform: uppercase; letter-spacing: 0.05em; font-size: 10px !important; font-family: 'IBM Plex Mono', monospace !important; font-weight: 500; border: 0 !important; border-right: 1px solid rgba(125, 255, 156, 0.15) !important; margin: 0 !important; text-align: center; line-height: 1.3 !important; height: auto !important; min-height: 0 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; word-break: keep-all; }
#mediauploader-steps li::before, #mediauploader-steps li::after, #mediauploader-steps.arrowSteps li::before, #mediauploader-steps.arrowSteps li::after { display: none !important; content: none !important; }
#mediauploader-steps li:last-child { border-right: 0 !important; }
#mediauploader-steps li.arrow, #mediauploader-steps li.current, #mediauploader-steps li.mediauploader-step-current { background: rgba(125, 255, 156, 0.12) !important; color: #7dff9c !important; box-shadow: inset 0 -2px 0 #7dff9c; }
#mediauploader-steps li.completed, #mediauploader-steps li.mediauploader-step-completed { color: #4ab06a !important; }
#mediauploader-content, .mediauploader-stepdiv { color: #cce8d4; }
.mediauploader-stepdiv h2, .mediauploader-stepdiv h3 { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-weight: 500 !important; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid rgba(125, 255, 156, 0.2); padding-bottom: 8px; margin-top: 24px; }
#mediauploader-filelist, #mediauploader-filelist.ui-corner-all { background: transparent !important; border: 0 !important; padding: 0 !important; }
.mediauploader-file { background: rgba(6, 15, 11, 0.8) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 4px !important; padding: 16px !important; margin-bottom: 12px !important; color: #cce8d4 !important; }
.mediauploader-file.filled { border-color: rgba(125, 255, 156, 0.35) !important; }
#upload-wizard .mediauploader-visible-file, #upload-wizard .mediauploader-visible-file.ui-corner-top.ui-corner-bottom { background-color: rgba(6, 15, 11, 0.7) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 4px !important; padding: 16px 20px !important; color: #cce8d4 !important; }
#upload-wizard .mediauploader-visible-file-filename, #upload-wizard .mediauploader-file-texts, #upload-wizard .mediauploader-file-preview { background-color: transparent !important; }
#upload-wizard .mediauploader-visible-file-filename-text { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 13px !important; font-weight: 500; }
.mediauploader-file-status-line { color: rgba(168, 230, 184, 0.7) !important; font-size: 12px; font-style: italic; margin-top: 4px; }
.mediauploader-file-indicator { background: transparent !important; }
#upload-wizard .mediauploader-thumbnail, #upload-wizard .mediauploader-thumbnail-side { background-color: transparent !important; position: relative !important; }
#upload-wizard .mediauploader-add-file, #upload-wizard .oo-ui-selectFileInputWidget, #upload-wizard .oo-ui-selectFileWidget { background: rgba(6, 15, 11, 0.6) !important; background-image: none !important; border: 2px dashed rgba(125, 255, 156, 0.25) !important; border-radius: 4px !important; padding: 16px 20px !important; color: #cce8d4 !important; transition: all 0.2s ease; box-shadow: none !important; }
#upload-wizard .mediauploader-add-file:hover, #upload-wizard .oo-ui-selectFileWidget-canDrop { border-color: #7dff9c !important; background: rgba(125, 255, 156, 0.05) !important; }
#upload-wizard .oo-ui-selectFileInputWidget-info, #upload-wizard .oo-ui-selectFileInputWidget-info.oo-ui-textInputWidget { background: transparent !important; background-image: none !important; border: 0 !important; box-shadow: none !important; color: rgba(168, 230, 184, 0.6) !important; }
#upload-wizard .oo-ui-selectFileInputWidget-info input[type="search"], #upload-wizard .oo-ui-selectFileInputWidget-info .oo-ui-inputWidget-input { background: transparent !important; background-image: none !important; color: rgba(168, 230, 184, 0.6) !important; border: 0 !important; box-shadow: none !important; font-style: italic; }
#upload-wizard .oo-ui-selectFileInputWidget-info input[type="search"]::placeholder { color: rgba(168, 230, 184, 0.5) !important; font-style: italic; }
#upload-wizard .oo-ui-selectFileInputWidget-dropLabel, #upload-wizard .oo-ui-selectFileWidget-dropLabel { background: transparent !important; color: rgba(168, 230, 184, 0.6) !important; font-style: italic; }
#upload-wizard .oo-ui-selectFileInputWidget-selectButton { background: transparent !important; }
#upload-wizard .oo-ui-buttonElement > .oo-ui-buttonElement-button, .mediauploader-stepdiv .oo-ui-buttonElement > .oo-ui-buttonElement-button { background: rgba(12, 24, 18, 0.9) !important; background-image: none !important; border: 1px solid rgba(125, 255, 156, 0.3) !important; color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; padding: 8px 18px !important; border-radius: 2px !important; box-shadow: none !important; text-shadow: none !important; transition: all 0.2s ease; min-height: 36px !important; }
#upload-wizard .oo-ui-buttonElement > .oo-ui-buttonElement-button:hover, .mediauploader-stepdiv .oo-ui-buttonElement > .oo-ui-buttonElement-button:hover { background: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; border-color: rgba(125, 255, 156, 0.6) !important; }
#upload-wizard .oo-ui-flaggedElement-primary > .oo-ui-buttonElement-button, #upload-wizard .oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .mediauploader-stepdiv .oo-ui-flaggedElement-primary > .oo-ui-buttonElement-button, .mediauploader-stepdiv .oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background: rgba(125, 255, 156, 0.15) !important; color: #7dff9c !important; border-color: #7dff9c !important; font-weight: 500 !important; }
#upload-wizard .oo-ui-flaggedElement-primary > .oo-ui-buttonElement-button:hover, #upload-wizard .oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background: rgba(125, 255, 156, 0.25) !important; color: #cdffd6 !important; box-shadow: 0 0 12px rgba(125, 255, 156, 0.3) !important; }
#upload-wizard .oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button, .mediauploader-stepdiv .oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { background: rgba(255, 122, 122, 0.08) !important; color: #ff7a7a !important; border-color: rgba(255, 122, 122, 0.4) !important; }
#upload-wizard .oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background: rgba(255, 122, 122, 0.15) !important; color: #ff9a9a !important; }
#upload-wizard .oo-ui-widget-disabled .oo-ui-buttonElement-button, .mediauploader-stepdiv .oo-ui-widget-disabled .oo-ui-buttonElement-button { opacity: 0.4 !important; cursor: not-allowed !important; }
#upload-wizard .oo-ui-iconElement-icon, .mediauploader-stepdiv .oo-ui-iconElement-icon { filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) contrast(101%); opacity: 0.85; }
#upload-wizard input[type="text"], #upload-wizard input[type="number"], #upload-wizard textarea, #upload-wizard .oo-ui-textInputWidget input, #upload-wizard .oo-ui-textInputWidget textarea, #upload-wizard .oo-ui-multilineTextInputWidget textarea { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 13px !important; padding: 8px 12px !important; border-radius: 2px !important; box-shadow: none !important; }
#upload-wizard input:focus, #upload-wizard textarea:focus, #upload-wizard .oo-ui-textInputWidget input:focus, #upload-wizard .oo-ui-textInputWidget textarea:focus, #upload-wizard .oo-ui-multilineTextInputWidget textarea:focus { border-color: #7dff9c !important; outline: 0 !important; box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.15) !important; }
#upload-wizard .oo-ui-progressBarWidget, #upload-wizard .mediauploader-progress { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 2px; overflow: hidden; height: 8px; }
#upload-wizard .oo-ui-progressBarWidget-bar, #upload-wizard .mediauploader-progress-bar { background: linear-gradient(90deg, #4ab06a, #7dff9c) !important; height: 100% !important; transition: width 0.3s ease; }
#upload-wizard .errorbox, .mediauploader-error { background: rgba(255, 94, 94, 0.1) !important; border: 1px solid rgba(255, 94, 94, 0.4) !important; color: #ff9a9a !important; padding: 12px !important; border-radius: 4px; }
#upload-wizard .successbox, .mediauploader-success { background: rgba(125, 255, 156, 0.08) !important; border: 1px solid rgba(125, 255, 156, 0.4) !important; color: #7dff9c !important; padding: 12px !important; border-radius: 4px; }
#upload-wizard .warningbox, .mediauploader-warning { background: rgba(245, 200, 74, 0.1) !important; border: 1px solid rgba(245, 200, 74, 0.4) !important; color: #f5c84a !important; padding: 12px !important; border-radius: 4px; }
#upload-wizard a { color: #7dff9c !important; text-decoration: none; border-bottom: 1px solid rgba(125, 255, 156, 0.3); }
#upload-wizard a:hover { color: #cdffd6 !important; border-bottom-color: #7dff9c; }
.mediauploader-unavailable, .mw-special-MediaUploader #mw-content-text > p:first-child { background: rgba(6, 15, 11, 0.6); border: 1px solid rgba(125, 255, 156, 0.2); border-left: 3px solid #f5c84a; padding: 16px 20px; color: #cce8d4; border-radius: 4px; }
#mediauploader-deeds-thumbnails { background-color: transparent !important; border-radius: 2px; text-align: center; margin: 1em 0; }
#mediauploader-deeds-thumbnails .mediauploader-thumbnail { background: transparent !important; }
#mediauploader-deeds-thumbnails canvas { filter: brightness(0.8) sepia(1) hue-rotate(76deg) saturate(0.5); opacity: 0.7; }
 
/* ============================================================
   26. PAGE D'ACCUEIL — Grille responsive
   ============================================================ */
.homepage { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "welcome welcome" "games games" "autres theme" "anecdotes articleday" "presentation participation"; gap: 16px; width: 100%; box-sizing: border-box; }
.homepage-welcome { grid-area: welcome; }
.homepage-portal-games { grid-area: games; }
.homepage-portal-autres { grid-area: autres; }
.homepage-portal-theme { grid-area: theme; }
.homepage-anecdotes { grid-area: anecdotes; }
.homepage-articleday { grid-area: articleday; }
.homepage-presentation { grid-area: presentation; }
.homepage-participation { grid-area: participation; }
.homepage-box { background: rgba(6, 15, 11, 0.7); border: 1px solid rgba(125, 255, 156, 0.15); border-radius: 4px; overflow: hidden; }
.homepage-box-title { background: rgba(125, 255, 156, 0.07); border-bottom: 1px solid rgba(125, 255, 156, 0.2); color: #7dff9c; font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; padding: 10px 16px; margin: 0; text-align: center; }
.homepage-box-content { padding: 16px; color: #cce8d4; }
.homepage-box-content a { color: #7dff9c; text-decoration: none; border-bottom: 1px solid rgba(125, 255, 156, 0.3); }
.homepage-box-content a:hover { color: #cdffd6; border-bottom-color: #7dff9c; }
.homepage-welcome { background: rgba(6, 15, 11, 0.7) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 4px !important; overflow: hidden; padding: 0 !important; text-align: center; }
.homepage-welcome-title { background: rgba(125, 255, 156, 0.07); border-bottom: 1px solid rgba(125, 255, 156, 0.2); color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; font-weight: 500; font-style: normal !important; text-transform: uppercase; letter-spacing: 0.12em; padding: 10px 16px; margin: 0; text-shadow: none !important; }
html body .homepage-welcome .logo-light, html body .homepage .logo-light { display: none !important; }
html body .homepage-welcome .logo-dark, html body .homepage .logo-dark { display: inline !important; }
.logo-accueil { margin: 20px auto; background: transparent !important; display: block; }
.logo-accueil img { max-width: 340px; width: 100%; height: auto; filter: drop-shadow(0 0 16px rgba(125, 255, 156, 0.2)); }
.homepage-welcome-subtitle { color: #cce8d4; font-size: 0.95em; margin: 6px 16px; line-height: 1.6; }
.homepage-welcome-subtitle a { color: #7dff9c !important; border-bottom: 1px solid rgba(125, 255, 156, 0.3); text-decoration: none; }
.homepage-welcome-subtitle a:hover { color: #cdffd6 !important; }
.homepage-welcome-links { margin: 20px 16px; display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap; border-top: 1px solid rgba(125, 255, 156, 0.1); padding-top: 16px; }
.homepage-welcome-links img { transition: filter 0.2s ease, transform 0.2s ease; }
.homepage-welcome-links img:hover { filter: brightness(1.15) drop-shadow(0 0 8px rgba(125, 255, 156, 0.4)); transform: scale(1.06); }
.homepage-portal-games-list { display: flex; flex-wrap: wrap; list-style: none; padding: 8px; margin: 0; gap: 12px; justify-content: center; }
.homepage-portal-games-item { flex: 0 0 calc(25% - 12px); max-width: 130px; text-align: center; color: #cce8d4; }
.homepage-portal-games-logo { margin-bottom: 6px; display: flex; justify-content: center; align-items: center; height: 70px; }
.homepage-portal-games-logo img { max-width: 100%; max-height: 70px; width: auto; height: auto; transition: filter 0.2s ease, transform 0.2s ease; }
.homepage-portal-games-logo img:hover { filter: brightness(1.2) drop-shadow(0 0 8px rgba(125, 255, 156, 0.4)); transform: scale(1.07); }
.homepage-portal-games-item div:last-child a, .homepage-portal-games-item em a, .homepage-portal-games-item i a { color: #7dff9c !important; font-size: 12px; text-decoration: none; border-bottom: 1px solid rgba(125, 255, 156, 0.3); font-style: italic; }
.homepage-portal-autres-list { display: flex; flex-wrap: wrap; list-style: none; padding: 8px; margin: 0; gap: 16px; justify-content: center; }
.homepage-portal-autres-list .homepage-portal-games-item { flex: 0 0 calc(33% - 16px); max-width: 150px; }
.homepage-portal-autres-list .homepage-portal-games-logo { height: 90px; }
.homepage-portal-autres-list .homepage-portal-games-logo img { max-height: 90px; }
.homepage-portal-theme .liste-horizontale ul { display: flex; flex-wrap: wrap; list-style: none; padding: 4px; margin: 0; gap: 6px; justify-content: center; }
.homepage-portal-theme .liste-horizontale li { background: rgba(125, 255, 156, 0.06); border: 1px solid rgba(125, 255, 156, 0.15); border-radius: 2px; padding: 5px 10px; list-style: none; margin: 0; }
.homepage-portal-theme .liste-horizontale li::before { display: none; }
.homepage-portal-theme .liste-horizontale li a { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; border-bottom: 0; }
.homepage-portal-theme .liste-horizontale li a:hover { color: #cdffd6 !important; }
@media screen and (max-width: 720px) {
  .nomobile { display: none !important; }
  .homepage { grid-template-columns: 1fr; grid-template-areas: "welcome" "games" "autres" "theme" "anecdotes" "articleday" "presentation" "participation"; gap: 10px; padding: 8px; }
  .homepage-welcome, .homepage-welcome.nomobile { display: block !important; grid-area: welcome !important; }
  .homepage-welcome .logo-accueil { display: none !important; }
  .homepage-welcome-title { font-size: 10px !important; padding: 8px 12px; }
  .homepage-welcome-subtitle { font-size: 0.85em; margin: 4px 12px; }
  .homepage-welcome-links { margin: 12px; gap: 12px; padding-top: 12px; }
  .homepage-portal-games-list { gap: 8px; padding: 8px 4px; }
  .homepage-portal-games-item { flex: 0 0 calc(50% - 8px); max-width: none; }
  .homepage-portal-games-logo { height: 55px; }
  .homepage-portal-games-logo img { max-height: 55px; }
  .homepage-portal-autres-list .homepage-portal-games-item { flex: 0 0 100%; max-width: none; display: flex; align-items: center; gap: 12px; text-align: left; }
  .homepage-portal-autres-list .homepage-portal-games-logo { height: 50px; min-width: 60px; flex-shrink: 0; }
  .homepage-portal-theme .liste-horizontale li { padding: 4px 8px; font-size: 10px; }
  .homepage-box-title { font-size: 10px; padding: 8px 12px; letter-spacing: 0.1em; }
  .homepage-box-content { padding: 12px; font-size: 14px; }
}
@media screen and (min-width: 721px) { .mobileonly { display: none !important; } }
@media screen and (min-width: 721px) and (max-width: 1100px) {
  .homepage-portal-games-item { flex: 0 0 calc(25% - 12px); }
  .homepage-portal-games-logo { height: 60px; }
  .homepage-portal-games-logo img { max-height: 60px; }
}
 
/* ============================================================
   27. LISIBILITÉ — Taille du texte des articles
   ============================================================ */
.mw-parser-output { font-size: 17px; line-height: 1.75; }
#firstHeading { font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem) !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
@media screen and (max-width: 900px) {
  .mw-editsection, .mw-editsection-bracket, .mw-editsection-divider { display: none !important; }
  .mw-parser-output .mw-heading h2, .mw-parser-output .mw-heading h3, .mw-parser-output .mw-heading h4, .mw-parser-output .mw-heading h5, .mw-parser-output .mw-heading h6 { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; white-space: normal !important; }
  #bodyContent { padding: 16px 16px 40px !important; }
  #firstHeading, #mw-content-subtitle { padding-left: 16px !important; padding-right: 16px !important; }
}
 
/* ============================================================
   28. VISUAL EDITOR — Toolbar sticky + surface + popups
   ============================================================ */
 
/* Barre principale — sticky */
html body .ve-ui-toolbar,
html body .ve-init-mw-desktopArticleTarget-toolbar {
  position: sticky !important;
  top: 54px !important;
  z-index: 900 !important;
  background: rgba(12, 24, 18, 0.97) !important;
  border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.6) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
 
/* Fond de la barre et du conteneur d'outils */
.ve-ui-toolbar .oo-ui-toolbar-bar,
.ve-ui-toolbar .oo-ui-toolbar-tools,
.ve-ui-toolbar .oo-ui-toolbar-after {
  background: transparent !important;
  border: 0 !important;
}
 
/* Séparateurs entre groupes */
.ve-ui-toolbar .oo-ui-toolGroup { border-right: 1px solid rgba(125, 255, 156, 0.08) !important; }
.ve-ui-toolbar .oo-ui-toolGroup:last-child { border-right: 0 !important; }
 
/* Boutons individuels (outils barre) */
.ve-ui-toolbar .oo-ui-tool-link {
  background: transparent !important;
  color: rgba(125, 255, 156, 0.55) !important;
  border-radius: 2px !important;
  transition: background 0.1s, color 0.1s !important;
}
.ve-ui-toolbar .oo-ui-tool-link:hover {
  background: rgba(125, 255, 156, 0.1) !important;
  color: #7dff9c !important;
}
 
/* Outil actif */
.ve-ui-toolbar .oo-ui-tool-active > .oo-ui-tool-link {
  background: rgba(125, 255, 156, 0.15) !important;
  color: #7dff9c !important;
  box-shadow: inset 0 -2px 0 #7dff9c !important;
}
 
/* Outil désactivé */
.ve-ui-toolbar .oo-ui-widget-disabled .oo-ui-tool-link {
  opacity: 0.3 !important;
  cursor: default !important;
}
 
/* Handles des groupes déroulants (Paragraphe, Sourcer, Insérer…) */
.ve-ui-toolbar .oo-ui-popupToolGroup-handle,
.ve-ui-toolbar .oo-ui-toolGroup-handle {
  background: transparent !important;
  color: rgba(125, 255, 156, 0.55) !important;
  border: 0 !important;
  border-radius: 2px !important;
  transition: background 0.1s, color 0.1s !important;
}
.ve-ui-toolbar .oo-ui-popupToolGroup-handle:hover,
.ve-ui-toolbar .oo-ui-toolGroup-handle:hover {
  background: rgba(125, 255, 156, 0.1) !important;
  color: #7dff9c !important;
}
 
/* Label des handles (texte "Paragraphe", "Insérer"…) */
.ve-ui-toolbar .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
  color: inherit !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
 
/* Indicateur flèche */
.ve-ui-toolbar .oo-ui-indicatorElement-indicator {
  filter: brightness(0) saturate(100%) invert(72%) sepia(20%)
          saturate(400%) hue-rotate(76deg) brightness(100%) !important;
  opacity: 0.5 !important;
}
 
/* Toutes les icônes de la toolbar */
.ve-ui-toolbar .oo-ui-iconElement-icon {
  filter: brightness(0) saturate(100%) invert(91%) sepia(15%)
          saturate(594%) hue-rotate(76deg) brightness(101%) !important;
  opacity: 0.6 !important;
}
.ve-ui-toolbar .oo-ui-tool-link:hover .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-iconElement-icon {
  opacity: 1 !important;
}
 
/* Bouton Enregistrer */
.ve-ui-toolbar .ve-ui-toolbar-saveButton,
.ve-ui-toolbar .oo-ui-flaggedElement-primary .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-flaggedElement-progressive .oo-ui-tool-link {
  background: rgba(125, 255, 156, 0.15) !important;
  border: 1px solid rgba(125, 255, 156, 0.4) !important;
  border-radius: 2px !important;
  color: #7dff9c !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}
.ve-ui-toolbar .ve-ui-toolbar-saveButton:hover,
.ve-ui-toolbar .oo-ui-flaggedElement-primary .oo-ui-tool-link:hover,
.ve-ui-toolbar .oo-ui-flaggedElement-progressive .oo-ui-tool-link:hover {
  background: rgba(125, 255, 156, 0.28) !important;
  border-color: #7dff9c !important;
  box-shadow: 0 0 12px rgba(125, 255, 156, 0.25) !important;
}
 
/* Popups — tous les menus déroulants dans .oo-ui-toolbar-popups */
.ve-ui-toolbar .oo-ui-toolbar-popups,
.ve-ui-toolbar .oo-ui-popupToolGroup-tools,
.ve-ui-toolbar .oo-ui-listToolGroup-tools,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools {
  background: rgba(8, 18, 12, 0.98) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 3px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.75) !important;
  padding: 4px 0 !important;
}
 
/* Items dans les menus */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-link {
  color: #cce8d4 !important;
  padding: 8px 16px 8px 44px !important;
  display: block !important;
  position: relative !important;
  border-left: 2px solid transparent !important;
  min-height: 32px !important;
}
 
/* Icône positionnée à gauche */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-link .oo-ui-iconElement-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-link:hover,
.ve-ui-toolbar .oo-ui-listToolGroup-tools .oo-ui-tool-link:hover,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-link:hover {
  background: rgba(125, 255, 156, 0.08) !important;
  color: #7dff9c !important;
  border-left-color: #4ab06a !important;
}
 
/* Item actif dans les menus */
.ve-ui-toolbar .oo-ui-popupToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link,
.ve-ui-toolbar .oo-ui-menuToolGroup-tools .oo-ui-tool-active .oo-ui-tool-link {
  background: rgba(125, 255, 156, 0.12) !important;
  color: #7dff9c !important;
  border-left-color: #7dff9c !important;
}
 
/* Icône check dans les menus */
.ve-ui-toolbar .oo-ui-tool-checkIcon { opacity: 0 !important; }
.ve-ui-toolbar .oo-ui-tool-active .oo-ui-tool-checkIcon { opacity: 0.8 !important; }
 
/* Titre des items dans les menus */
.ve-ui-toolbar .oo-ui-tool-title {
  color: inherit !important;
  font-family: 'Crimson Pro', Georgia, serif !important;
  font-size: 14px !important;
}
 
/* Raccourcis dans les menus */
.ve-ui-toolbar .oo-ui-tool-accel {
  color: rgba(125, 255, 156, 0.3) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important;
  margin-left: auto !important;
  padding-left: 16px !important;
}
 
/* Popup d'avertissement */
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-popupWidget-popup {
  background: rgba(8, 18, 12, 0.98) !important;
  border: 1px solid rgba(125, 255, 156, 0.2) !important;
  border-radius: 3px !important;
}
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-popupWidget-head {
  background: rgba(6, 15, 11, 0.98) !important;
  border-bottom: 1px solid rgba(125, 255, 156, 0.1) !important;
}
.ve-ui-toolbar .oo-ui-popupWidget .oo-ui-labelElement-label { color: #7dff9c !important; }
 
/* Surface d'édition */
.ve-ui-surface, .ve-ce-surface { background: #060f0b !important; color: #cce8d4 !important; caret-color: #7dff9c !important; }
.ve-ce-surface ::selection { background: rgba(125, 255, 156, 0.2) !important; }
 
/* Contexte (clic droit / sélection) */
.ve-ui-context, .ve-ui-linearContext { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important; }
.ve-ui-contextItem, .ve-ui-linearContextItem { color: #7aaa88 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; }
.ve-ui-contextItem:hover, .ve-ui-linearContextItem:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06) !important; }
 
/* Dialogues VE */
.oo-ui-window-frame { background: rgba(10, 20, 15, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.8) !important; }
.oo-ui-window-head { background: rgba(6, 15, 11, 0.98) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; }
.oo-ui-window-head .oo-ui-labelElement-label { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; }
.oo-ui-window-body { background: rgba(10, 20, 15, 0.98) !important; color: #cce8d4 !important; }
.oo-ui-window-foot { background: rgba(6, 15, 11, 0.98) !important; border-top: 1px solid rgba(125, 255, 156, 0.12) !important; }
.oo-ui-overlay, .oo-ui-window-overlay { background: rgba(0, 0, 0, 0.6) !important; }
 
/* ============================================================
   29. LECTEUR AUDIO — thème phosphore
   ============================================================ */
 
/* Conteneur MediaWiki */
.mw-tmh-player,
.mediaContainer {
  display: block !important;
  width: 100% !important;
  max-width: 440px !important;
  margin: 12px auto !important;
  background: rgba(6, 15, 11, 0.85) !important;
  border: 1px solid rgba(125, 255, 156, 0.15) !important;
  border-radius: 3px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}
 
/* Élément audio natif */
.mw-parser-output audio,
audio.mw-file-element,
.mw-parser-output audio.mw-file-element,
audio.oo-ui-widget {
  display: block !important;
  width: 100% !important;
  max-width: 440px !important;
  min-width: 280px !important;
  height: 40px !important;
  margin: 12px auto !important;
  background: rgba(6, 15, 11, 0.9) !important;
  border: 1px solid rgba(125, 255, 156, 0.15) !important;
  border-radius: 3px !important;
  outline: none !important;
  accent-color: #7dff9c !important;
}
 
/* Contrôles WebKit */
.mw-parser-output audio::-webkit-media-controls-panel,
audio.mw-file-element::-webkit-media-controls-panel {
  background: rgba(6, 15, 11, 0.95) !important;
  border-radius: 3px !important;
}
.mw-parser-output audio::-webkit-media-controls-play-button,
.mw-parser-output audio::-webkit-media-controls-mute-button,
audio.mw-file-element::-webkit-media-controls-play-button,
audio.mw-file-element::-webkit-media-controls-mute-button {
  filter: invert(1) sepia(1) saturate(3) hue-rotate(76deg) !important;
}
.mw-parser-output audio::-webkit-media-controls-current-time-display,
.mw-parser-output audio::-webkit-media-controls-time-remaining-display,
audio.mw-file-element::-webkit-media-controls-current-time-display,
audio.mw-file-element::-webkit-media-controls-time-remaining-display {
  color: #7dff9c !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important;
}
 
/* Blockquote contenant un audio */
.mw-parser-output blockquote:has(audio) {
  background: rgba(6, 15, 11, 0.6) !important;
  border: 1px solid rgba(125, 255, 156, 0.12) !important;
  border-left: 3px solid rgba(125, 255, 156, 0.3) !important;
  border-radius: 3px !important;
  padding: 12px 16px !important;
  font-style: italic !important;
  color: #cce8d4 !important;
  max-width: 480px !important;
  margin: 12px auto !important;
}
 
/* ============================================================
   30. PAGES CONNEXION & CRÉATION DE COMPTE — Codex (MW 1.45)
   ============================================================ */
.mw-special-Userlogin .mw-body-content,
.mw-special-CreateAccount .mw-body-content { display: flex !important; gap: 40px !important; align-items: flex-start !important; }
 
#userloginForm,
#createaccount {
  background: rgba(6, 15, 11, 0.85) !important;
  border: 1px solid rgba(125, 255, 156, 0.15) !important;
  border-radius: 4px !important;
  padding: 24px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 320px !important;
  max-width: 480px !important;
  box-sizing: border-box !important;
  color: #cce8d4 !important;
}
 
/* Champs Codex */
#userloginForm .cdx-field, #createaccount .cdx-field { margin-bottom: 16px !important; }
#userloginForm .cdx-text-input, #createaccount .cdx-text-input,
#userloginForm .cdx-field, #createaccount .cdx-field { width: 100% !important; box-sizing: border-box !important; }
 
/* Labels Codex */
#userloginForm .cdx-label__label, #createaccount .cdx-label__label,
#userloginForm .cdx-label, #createaccount .cdx-label {
  color: rgba(125, 255, 156, 0.6) !important; font-family: 'IBM Plex Mono', monospace !important;
  font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important;
  margin-bottom: 6px !important; display: block !important;
}
 
/* Inputs Codex */
#userloginForm .cdx-text-input__input,
#createaccount .cdx-text-input__input,
#userloginForm .cdx-text-input__input:enabled,
#createaccount .cdx-text-input__input:enabled {
  width: 100% !important; box-sizing: border-box !important;
  background-color: rgba(6, 15, 11, 0.9) !important;
  border-color: rgba(125, 255, 156, 0.2) !important;
  color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important; padding: 10px 12px !important;
}
#userloginForm .cdx-text-input__input:focus, #createaccount .cdx-text-input__input:focus {
  border-color: #7dff9c !important; outline: none !important;
  box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.12) !important;
}
 
/* Autofill Chrome */
#userloginForm .cdx-text-input__input:-webkit-autofill,
#createaccount .cdx-text-input__input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px rgba(6, 15, 11, 0.95) inset !important;
  -webkit-text-fill-color: #cce8d4 !important;
}
 
/* Texte d'aide */
#userloginForm .cdx-field__help-text, #createaccount .cdx-field__help-text { color: rgba(125, 255, 156, 0.3) !important; font-size: 11px !important; }
 
/* Bouton submit */
#wpLoginAttempt, #wpCreateaccount {
  display: block !important; width: 100% !important; box-sizing: border-box !important;
  background: rgba(125, 255, 156, 0.12) !important; border: 1px solid rgba(125, 255, 156, 0.4) !important;
  border-radius: 2px !important; color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important;
  letter-spacing: 0.15em !important; padding: 14px !important; cursor: pointer !important;
  margin-top: 8px !important; transition: all 0.2s !important;
}
#wpLoginAttempt:hover, #wpCreateaccount:hover { background: rgba(125, 255, 156, 0.22) !important; border-color: #7dff9c !important; box-shadow: 0 0 16px rgba(125, 255, 156, 0.2) !important; }
 
/* Liens */
#userloginForm .mw-form-related-link-container, #createaccount .mw-form-related-link-container { margin-top: 16px !important; text-align: center !important; }
#userloginForm a, #createaccount a { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
 
/* Case Se souvenir de moi */
#userloginForm .mw-ui-checkbox input + label, #wpRemember + label { color: #7aaa88 !important; font-size: 12px !important; font-family: 'IBM Plex Mono', monospace !important; text-transform: none !important; letter-spacing: 0 !important; }
 
/* Panneau stats */
.mw-createaccount-benefits-container { flex: 1 !important; padding: 20px !important; }
.mw-createaccount-benefits-heading { color: #cce8d4 !important; font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-size: 1.3em !important; margin-bottom: 24px !important; }
.mw-number-text h2 { color: rgba(125, 255, 156, 0.5) !important; font-size: 3em !important; }
.mw-number-text p { color: rgba(125, 255, 156, 0.35) !important; }
 
/* Erreurs */
.mw-message-box-error, .errorbox { background: rgba(255, 94, 94, 0.1) !important; border: 1px solid rgba(255, 94, 94, 0.4) !important; color: #ff9a9a !important; border-radius: 2px !important; padding: 12px !important; margin-bottom: 16px !important; }
 
/* Mobile */
@media screen and (max-width: 720px) {
  .mw-special-Userlogin .mw-body-content, .mw-special-CreateAccount .mw-body-content { flex-direction: column !important; }
  #userloginForm, #createaccount { flex: none !important; width: 100% !important; max-width: 100% !important; padding: 16px !important; }
  .mw-createaccount-benefits-container { display: none !important; }
}
 
/* ============================================================
   31. PAGE PRÉFÉRENCES
   ============================================================ */
.oo-ui-tabSelectWidget { background: rgba(6, 15, 11, 0.9) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important; }
.oo-ui-tabOptionWidget { background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important; color: rgba(125, 255, 156, 0.4) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 10px 16px !important; transition: color 0.15s, border-color 0.15s !important; }
.oo-ui-tabOptionWidget:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.05) !important; }
.oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: #7dff9c !important; border-bottom-color: #7dff9c !important; background: rgba(125, 255, 156, 0.07) !important; }
#preferences { background: transparent !important; color: #cce8d4 !important; }
#preferences h2 { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; border-bottom: 1px dashed rgba(125, 255, 156, 0.15) !important; padding-bottom: 8px !important; margin: 24px 0 16px !important; }
#preferences .mw-htmlform-field label, #preferences .oo-ui-labelElement-label { color: #cce8d4 !important; font-size: 13px !important; }
#preferences .mw-htmlform-tip, #preferences .mw-htmlform-ooui .oo-ui-fieldLayout-help { color: rgba(125, 255, 156, 0.35) !important; font-size: 11px !important; }
#preferences input[type="text"], #preferences input[type="number"], #preferences input[type="email"], #preferences input[type="search"], #preferences textarea, #preferences .oo-ui-textInputWidget input { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 2px !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 13px !important; }
#preferences input:focus, #preferences .oo-ui-textInputWidget input:focus { border-color: #7dff9c !important; outline: none !important; box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.12) !important; }
#preferences .mw-htmlform-submit-buttons { background: rgba(6, 15, 11, 0.96) !important; border-top: 1px solid rgba(125, 255, 156, 0.15) !important; box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4) !important; }
#preferences .mw-htmlform-submit-buttons .oo-ui-buttonElement-button, #prefsubmit { background: rgba(125, 255, 156, 0.12) !important; border: 1px solid rgba(125, 255, 156, 0.4) !important; color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; border-radius: 2px !important; }
#preferences .mw-htmlform-submit-buttons .oo-ui-buttonElement-button:hover, #prefsubmit:hover { background: rgba(125, 255, 156, 0.22) !important; border-color: #7dff9c !important; }
#preferences .mw-prefs-search input { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; }
.oo-ui-dropdownWidget-handle { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 2px !important; color: #cce8d4 !important; }
.oo-ui-dropdownWidget-handle:hover { background: rgba(6, 15, 11, 0.95) !important; border-color: rgba(125, 255, 156, 0.4) !important; }
.oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { color: #cce8d4 !important; }
.oo-ui-dropdownWidget .oo-ui-indicatorElement-indicator { filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important; opacity: 0.5 !important; }
.oo-ui-dropdownInputWidget select, #preferences select { background: rgba(6, 15, 11, 0.95) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; border-radius: 2px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; padding: 8px 12px !important; }
.oo-ui-menuSelectWidget { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 2px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7) !important; }
.oo-ui-menuSelectWidget .oo-ui-optionWidget { color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; padding: 8px 14px !important; }
.oo-ui-menuSelectWidget .oo-ui-optionWidget:hover, .oo-ui-menuSelectWidget .oo-ui-optionWidget-highlighted { background: rgba(125, 255, 156, 0.08) !important; color: #7dff9c !important; }
.oo-ui-menuSelectWidget .oo-ui-optionWidget-selected { background: rgba(125, 255, 156, 0.12) !important; color: #7dff9c !important; }
.mw-htmlform-matrix, .mw-widget-checkMatrixWidget-matrix { border-collapse: collapse !important; width: 100% !important; background: transparent !important; }
.mw-htmlform-matrix th, .mw-widget-checkMatrixWidget-matrix th { color: rgba(125, 255, 156, 0.5) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 8px 14px !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; background: transparent !important; font-weight: 500 !important; }
.mw-htmlform-matrix td, .mw-widget-checkMatrixWidget-matrix td { padding: 6px 14px !important; border: 0 !important; background: transparent !important; color: #cce8d4 !important; font-size: 13px !important; }
.mw-htmlform-matrix tr:nth-child(even) td, .mw-widget-checkMatrixWidget-matrix tr:nth-child(even) td { background: rgba(125, 255, 156, 0.03) !important; }
.mw-htmlform-matrix tr.disabled td, .mw-widget-checkMatrixWidget-matrix tr.disabled td { color: rgba(125, 255, 156, 0.25) !important; }
.mw-htmlform-matrix tr, .mw-widget-checkMatrixWidget-matrix tr { background: transparent !important; }
.mw-htmlform-matrix .oo-ui-iconElement-icon, .mw-widget-checkMatrixWidget-matrix .oo-ui-iconElement-icon { filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important; opacity: 0.4 !important; }
.oo-ui-checkboxInputWidget [type='checkbox'] + span { background-color: rgba(6, 15, 11, 0.9) !important; background-image: none !important; border: 2px solid rgba(125, 255, 156, 0.3) !important; border-radius: 2px !important; width: 18px !important; height: 18px !important; }
.oo-ui-checkboxInputWidget [type='checkbox'] + span.vt-checked { background-color: #4ab06a !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' stroke='%23ffffff' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 12px 10px !important; border-color: #7dff9c !important; }
.oo-ui-checkboxInputWidget.oo-ui-widget-disabled [type='checkbox'] + span { opacity: 0.4 !important; }
.oo-ui-popupWidget-popup { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7) !important; color: #cce8d4 !important; padding: 12px 14px !important; font-size: 13px !important; line-height: 1.5 !important; }
.mw-widget-DateInputWidget input, .mw-widget-DateTimeInputWidget input { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; border-radius: 2px !important; padding: 8px 12px !important; }
.oo-ui-calendarWidget { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7) !important; }
.oo-ui-calendarWidget-header { background: rgba(6, 15, 11, 0.95) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; padding: 8px !important; }
.oo-ui-calendarWidget-header .oo-ui-buttonElement-button { color: rgba(125, 255, 156, 0.5) !important; background: transparent !important; }
.oo-ui-calendarWidget-header .oo-ui-buttonElement-button:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.08) !important; }
.oo-ui-calendarWidget-title { color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-of-week { color: rgba(125, 255, 156, 0.35) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day { color: #cce8d4 !important; background: transparent !important; border-radius: 2px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12px !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day:hover { background: rgba(125, 255, 156, 0.1) !important; color: #7dff9c !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-today { border: 1px solid rgba(125, 255, 156, 0.35) !important; color: #7dff9c !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-selected { background: rgba(125, 255, 156, 0.18) !important; color: #7dff9c !important; font-weight: 600 !important; }
.oo-ui-calendarWidget .oo-ui-calendarWidget-day-prev-month, .oo-ui-calendarWidget .oo-ui-calendarWidget-day-next-month { color: rgba(125, 255, 156, 0.2) !important; }
 
/* ============================================================
   33. ÉDITEUR WIKICODE — CodeMirror coloration syntaxique
   ============================================================ */
 
/* Surface wikicode */
.ve-ui-mwWikitextSurface .CodeMirror,
.ve-ui-mwWikitextSurface .CodeMirror-scroll {
  background: #060f0b !important;
  color: #cce8d4 !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}
 
/* Curseur */
.ve-ui-mwWikitextSurface .CodeMirror-cursor {
  border-left-color: #7dff9c !important;
}
 
/* Sélection */
.ve-ui-mwWikitextSurface .CodeMirror-selected,
.ve-ui-mwWikitextSurface .CodeMirror-focused .CodeMirror-selected {
  background: rgba(125, 255, 156, 0.15) !important;
}
 
/* Gouttière numéros de ligne */
.ve-ui-mwWikitextSurface .CodeMirror-gutters {
  background: rgba(6, 15, 11, 0.95) !important;
  border-right: 1px solid rgba(125, 255, 156, 0.1) !important;
}
.ve-ui-mwWikitextSurface .CodeMirror-linenumber {
  color: rgba(125, 255, 156, 0.22) !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 11px !important;
}
 
/* Ligne active */
.ve-ui-mwWikitextSurface .CodeMirror-activeline-background {
  background: rgba(125, 255, 156, 0.04) !important;
}
 
/* ── Coloration syntaxique wikicode ── */
 
/* Modèles (templates) {{…}} */
.ve-ui-mwWikitextSurface .cm-mw-template-name,
.ve-ui-mwWikitextSurface .cm-mw-template-bracket {
  color: #f5c84a !important;
}
.ve-ui-mwWikitextSurface .cm-mw-template-argument-name {
  color: #a8d8ea !important;
}
.ve-ui-mwWikitextSurface .cm-mw-template-delimiter {
  color: rgba(245, 200, 74, 0.5) !important;
}
 
/* Liens [[…]] */
.ve-ui-mwWikitextSurface .cm-mw-link-ground,
.ve-ui-mwWikitextSurface .cm-mw-link,
.ve-ui-mwWikitextSurface .cm-mw-link-pagename {
  color: #4ab06a !important;
}
.ve-ui-mwWikitextSurface .cm-mw-link-bracket {
  color: rgba(74, 176, 106, 0.5) !important;
}
 
/* Titres == … == */
.ve-ui-mwWikitextSurface .cm-mw-heading,
.ve-ui-mwWikitextSurface .cm-mw-section-header {
  color: #7dff9c !important;
  font-weight: bold !important;
}
 
/* Balises HTML <ref>, <br>… */
.ve-ui-mwWikitextSurface .cm-mw-htmlentity,
.ve-ui-mwWikitextSurface .cm-mw-tag-name {
  color: #ff9a9a !important;
}
.ve-ui-mwWikitextSurface .cm-mw-tag-bracket {
  color: rgba(255, 154, 154, 0.5) !important;
}
.ve-ui-mwWikitextSurface .cm-mw-attribute-name {
  color: #a8d8ea !important;
}