MediaWiki:Vaulttec.css
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
/*
* MediaWiki:Vaulttec.css — v30
* Chargé uniquement pour les utilisateurs du skin VaultTec.
*
* NOUVEAUTÉS v30 :
* 00 : polices auto-hébergées (suppression Google Fonts)
* 54 : bandeau Discord bas de page
* 55 : fix dialog VE / toolbar sticky
* 56 : masquage mobile (user bar, onglets, sommaire)
*/
/* ============================================================
00. POLICES AUTO-HÉBERGÉES
============================================================ */
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/ibm-plex-mono-regular.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/ibm-plex-mono-600.woff2') format('woff2'); }
@font-face { font-family:'Crimson Pro'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/crimson-pro-regular.woff2') format('woff2'); }
@font-face { font-family:'Crimson Pro'; font-style:italic; font-weight:400; font-display:swap; src:url('/fonts/crimson-pro-italic.woff2') format('woff2'); }
@font-face { font-family:'Crimson Pro'; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/crimson-pro-600.woff2') format('woff2'); }
@font-face { font-family:'Instrument Serif'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/instrument-serif-regular.woff2') format('woff2'); }
/* ============================================================
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; }
.mw-parser-output .avt-warn-banner,
.mw-parser-output .avt-note-banner,
.mw-parser-output .avt-section-banner {
background-color: rgba(12, 24, 18, 0.85) !important;
border: 1px solid rgba(125, 255, 156, 0.15) !important;
color: #cce8d4 !important;
margin-bottom: 4px !important;
box-shadow: none !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 (header)
============================================================ */
.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; }
/* NOTE : la règle .vt-drawer-overlay { pointer-events: none } a été retirée car
elle contredisait le comportement attendu de l'overlay (capture des clics
pour fermer le drawer). Le skin.less gère cette propriété correctement
en distinguant l'état fermé (none) et ouvert (auto). */
@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
============================================================ */
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);
}
.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; }
.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-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; }
.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; }
.ve-ui-toolbar .oo-ui-widget-disabled .oo-ui-tool-link { opacity: 0.3 !important; cursor: default !important; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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-title { color: inherit !important; font-family: 'Crimson Pro', Georgia, serif !important; font-size: 14px !important; }
.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; }
.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; }
.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-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; }
.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; }
/* ── VE Save Dialog ── */
.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
============================================================ */
.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; }
.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; }
.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; }
.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; }
#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; }
#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; }
#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; }
#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; }
#userloginForm .cdx-field__help-text, #createaccount .cdx-field__help-text { color: rgba(125, 255, 156, 0.3) !important; font-size: 11px !important; }
#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; }
#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 .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; }
.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; }
.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; }
@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
============================================================ */
.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; }
.ve-ui-mwWikitextSurface .CodeMirror-cursor { border-left-color: #7dff9c !important; }
.ve-ui-mwWikitextSurface .CodeMirror-selected, .ve-ui-mwWikitextSurface .CodeMirror-focused .CodeMirror-selected { background: rgba(125, 255, 156, 0.15) !important; }
.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:not(.avt-warn-banner):not(.avt-note-banner):not(.avt-section-banner) { 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
============================================================ */
.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; }
.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; }
.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; }
.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; }
.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; }
.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; }
.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-fieldContainer { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.mw-advancedSearch-fieldContainer .oo-ui-textInputWidget input, .mw-advancedSearch-expandablePane-pane .oo-ui-textInputWidget input { 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-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-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; }
.mw-search-createlink { margin-top: 16px !important; padding: 12px !important; background: rgba(245, 200, 74, 0.05) !important; border-left: 2px solid rgba(245, 200, 74, 0.4) !important; border-radius: 2px !important; color: rgba(204, 232, 212, 0.7) !important; }
.mw-search-createlink a { color: #f5c84a !important; font-weight: 500 !important; }
.mw-search-createlink a:hover { color: #ffe080 !important; }
.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, .mw-notification.mw-notification-type-success, .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, .mw-notification.mw-notification-type-warn { border-left: 3px solid #f5c84a !important; border-color: rgba(245, 200, 74, 0.4) !important; }
.mw-notification-error, .mw-notification.mw-notification-type-error { border-left: 3px solid #ff7a7a !important; border-color: rgba(255, 122, 122, 0.4) !important; }
.mw-notification p, .mw-notification div, .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 { color: #7dff9c !important; font-weight: 600 !important; }
.mw-notification a, .postedit a { color: #7dff9c !important; text-decoration: none !important; border-bottom: 1px solid rgba(125, 255, 156, 0.3) !important; }
.mw-notification a:hover, .postedit a:hover { color: #b6ffc6 !important; border-bottom-color: #7dff9c !important; }
.mw-notification .oo-ui-iconElement-icon, .postedit .oo-ui-iconElement-icon { 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; }
/* ============================================================
40. WIKITABLE — adaptation à l'infobox (desktop)
============================================================ */
@media screen and (min-width: 721px) {
.mw-parser-output:has(.avt-infobox) .wikitable,
.mw-parser-output:has(.avt-infobox) .va-table { max-width: calc(100% - 344px) !important; width: auto !important; }
}
/* ============================================================
41. CORRECTIONS AVANCÉES — liens, tableaux collapsibles
============================================================ */
.mw-parser-output table td a.new, .mw-parser-output table th a.new, .mw-parser-output .wikitable td a.new, .mw-parser-output .wikitable th a.new, .mw-parser-output .va-table td a.new { color: #ff5e5e !important; }
.mw-parser-output table td a.new:hover, .mw-parser-output .wikitable td a.new:hover { color: #ff8888 !important; }
.mw-parser-output a.external, .mw-parser-output a[rel~="nofollow"] { color: #f5c84a !important; }
.mw-parser-output a.external:visited, .mw-parser-output a[rel~="nofollow"]:visited { color: #c9973a !important; }
.mw-parser-output a.external:hover, .mw-parser-output a[rel~="nofollow"]:hover { color: #ffe080 !important; }
.mw-collapsible-toggle, .mw-collapsible-toggle a { 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; cursor: pointer !important; text-decoration: none !important; background: transparent !important; border: 0 !important; }
.mw-collapsible-toggle a:hover, .mw-collapsible-toggle:hover { color: #7dff9c !important; background: transparent !important; }
.mw-parser-output .wikitable.mw-collapsible > tbody > tr:first-child > th, .mw-parser-output table.mw-collapsible > tbody > tr:first-child > th { background: rgba(10, 22, 16, 0.95) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; }
.mw-parser-output .wikitable td[style*="background:#fff"], .mw-parser-output .wikitable td[style*="background: #fff"], .mw-parser-output .wikitable td[style*="background:white"], .mw-parser-output .wikitable td[style*="background: white"], .mw-parser-output .wikitable td[style*="background:#FFF"], .mw-parser-output .wikitable td[style*="background: #FFF"] { background-color: rgba(12, 24, 18, 0.85) !important; color: #cce8d4 !important; }
#firstHeading, .firstHeading { font-style: normal !important; }
/* ============================================================
42. PAGE PREVIEWS — aperçus au survol des liens
============================================================ */
.mwe-popups, .mwe-popups.mwe-popups-fade-in-up, .mwe-popups.mwe-popups-fade-in-down, .mwe-popups.mwe-popups-no-image-tri, .mwe-popups.mwe-popups-image-tri, .mwe-popups.mwe-popups-image-pointer, .mwe-popups.mwe-popups-is-not-tall, .mwe-popups.mwe-popups-is-tall { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; border-radius: 3px !important; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), 0 0 12px rgba(125, 255, 156, 0.08) !important; color: #cce8d4 !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.mwe-popups > div, .mwe-popups > a, .mwe-popups > a > div, .mwe-popups .mwe-popups-container, .mwe-popups .mwe-popups-extract, .mwe-popups .mwe-popups-extract p, .mwe-popups .mwe-popups-discreet, .mwe-popups .mwe-popups-scroll, .mwe-popups .mwe-popups-body { background-color: transparent !important; }
.mwe-popups a, .mwe-popups a:link, .mwe-popups a:visited, .mwe-popups a:hover { background: transparent !important; color: #cce8d4 !important; text-decoration: none !important; }
.mwe-popups.flipped-x::before, .mwe-popups.flipped-y::before, .mwe-popups.flipped-x-y::before, .mwe-popups::before, .mwe-popups.flipped-x::after, .mwe-popups.flipped-y::after, .mwe-popups.flipped-x-y::after, .mwe-popups::after { border-color: transparent !important; display: none !important; }
.mwe-popups .mwe-popups-title, .mwe-popups h3, .mwe-popups .mwe-popups-extract h3 { color: #7dff9c !important; font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-size: 1.1rem !important; font-weight: normal !important; border: 0 !important; margin: 0 0 6px 0 !important; padding: 0 !important; }
.mwe-popups .mwe-popups-extract { color: #cce8d4 !important; font-family: 'Crimson Pro', Georgia, serif !important; font-size: 14px !important; line-height: 1.5 !important; padding: 14px 16px !important; }
.mwe-popups .mwe-popups-thumbnail, .mwe-popups .mwe-popups-thumbnail-link, .mwe-popups svg.mwe-popups-thumbnail { background: rgba(6, 15, 11, 0.6) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.12) !important; }
.mwe-popups.mwe-popups-type-disambiguation { border-color: rgba(245, 200, 74, 0.35) !important; }
.mwe-popups.mwe-popups-type-disambiguation .mwe-popups-title { color: #f5c84a !important; }
.mwe-popups.mwe-popups-type-generic { border-color: rgba(255, 122, 122, 0.35) !important; }
.mwe-popups.mwe-popups-type-generic .mwe-popups-title { color: #ff7a7a !important; }
.mwe-popups .mwe-popups-settings, .mwe-popups footer, .mwe-popups .mwe-popups-read-link { background: rgba(6, 15, 11, 0.6) !important; border-top: 1px solid rgba(125, 255, 156, 0.12) !important; padding: 8px 14px !important; }
.mwe-popups .mwe-popups-read-link { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; text-decoration: none !important; }
.mwe-popups .mwe-popups-read-link:hover { color: #7dff9c !important; }
/* ============================================================
43. DIFF VIEW — comparaison de versions
============================================================ */
.diff, table.diff, table.mw-diff-table { background: transparent !important; border: 0 !important; border-collapse: collapse !important; width: 100% !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 12.5px !important; }
.diff-otitle, .diff-ntitle { background: rgba(15, 32, 21, 0.8) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; padding: 8px 12px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-align: center !important; }
.diff-otitle a, .diff-ntitle a { color: #7dff9c !important; }
.diff-marker { color: rgba(125, 255, 156, 0.5) !important; background: transparent !important; font-weight: bold !important; padding: 0 4px !important; width: 2em !important; text-align: right !important; }
.diff-lineno { background: rgba(6, 15, 11, 0.9) !important; color: rgba(125, 255, 156, 0.5) !important; border-bottom: 1px dashed rgba(125, 255, 156, 0.12) !important; font-size: 10px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 4px 8px !important; }
.diff-context { background: rgba(6, 15, 11, 0.4) !important; color: rgba(204, 232, 212, 0.55) !important; border-color: rgba(125, 255, 156, 0.08) !important; padding: 2px 8px !important; }
.diff-deletedline, td.diff-deletedline { background: rgba(255, 94, 94, 0.06) !important; border-color: rgba(255, 94, 94, 0.2) !important; color: #cce8d4 !important; padding: 2px 8px !important; }
.diff-deletedline .diffchange { background: rgba(255, 94, 94, 0.22) !important; color: #ffb8b8 !important; text-decoration: none !important; padding: 1px 2px !important; border-radius: 1px !important; font-weight: 500 !important; }
.diff-addedline, td.diff-addedline { background: rgba(125, 255, 156, 0.06) !important; border-color: rgba(125, 255, 156, 0.2) !important; color: #cce8d4 !important; padding: 2px 8px !important; }
.diff-addedline .diffchange { background: rgba(125, 255, 156, 0.22) !important; color: #b6ffc6 !important; text-decoration: none !important; padding: 1px 2px !important; border-radius: 1px !important; font-weight: 500 !important; }
.diff-empty { background: transparent !important; }
.mw-diff-otitle1, .mw-diff-otitle2, .mw-diff-otitle3, .mw-diff-ntitle1, .mw-diff-ntitle2, .mw-diff-ntitle3 { color: #cce8d4 !important; font-family: 'Crimson Pro', Georgia, serif !important; font-size: 13px !important; }
.mw-diff-undo a, .mw-diff-revert a { color: #f5c84a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.mw-diff-inline-added, ins.mw-diff-inline-added { background: rgba(125, 255, 156, 0.18) !important; color: #b6ffc6 !important; text-decoration: none !important; border-radius: 1px !important; padding: 0 2px !important; }
.mw-diff-inline-deleted, del.mw-diff-inline-deleted { background: rgba(255, 94, 94, 0.18) !important; color: #ffb8b8 !important; text-decoration: line-through !important; border-radius: 1px !important; padding: 0 2px !important; }
.mw-tag-marker, .mw-tag-markers a { background: rgba(245, 200, 74, 0.12) !important; border: 1px solid rgba(245, 200, 74, 0.3) !important; color: #f5c84a !important; padding: 1px 6px !important; border-radius: 2px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
/* ============================================================
44. DISCUSSIONTOOLS
============================================================ */
.ext-discussiontools-init-replylink-buttons .oo-ui-buttonElement-button, .ext-discussiontools-init-section-subscribeButton .oo-ui-buttonElement-button, .ext-discussiontools-init-new-topic .oo-ui-buttonElement-button { background: transparent !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: rgba(125, 255, 156, 0.7) !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: 4px 10px !important; transition: all 0.15s !important; }
.ext-discussiontools-init-replylink-buttons .oo-ui-buttonElement-button:hover, .ext-discussiontools-init-section-subscribeButton .oo-ui-buttonElement-button:hover, .ext-discussiontools-init-new-topic .oo-ui-buttonElement-button:hover { background: rgba(125, 255, 156, 0.08) !important; border-color: rgba(125, 255, 156, 0.5) !important; color: #7dff9c !important; }
.ext-discussiontools-init-replylink-reply, .ext-discussiontools-init-replylink-open { color: #4ab06a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; text-decoration: none !important; }
.ext-discussiontools-init-replylink-reply:hover, .ext-discussiontools-init-replylink-open:hover { color: #7dff9c !important; }
.ext-discussiontools-init-section, .ext-discussiontools-init-highlight, .ext-discussiontools-init-targetcomment { background: rgba(125, 255, 156, 0.04) !important; border-left: 2px solid rgba(125, 255, 156, 0.25) !important; padding-left: 12px !important; margin: 8px 0 !important; border-radius: 2px !important; }
.ext-discussiontools-init-targetcomment { background: rgba(245, 200, 74, 0.08) !important; border-left-color: rgba(245, 200, 74, 0.4) !important; }
.ext-discussiontools-init-timestamplink { color: rgba(125, 255, 156, 0.5) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.ext-discussiontools-ui-replyWidget, .ext-discussiontools-ui-newTopic { background: rgba(6, 15, 11, 0.85) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; border-radius: 3px !important; padding: 12px !important; margin: 8px 0 !important; }
.ext-discussiontools-ui-replyWidget-actions .oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button, .ext-discussiontools-ui-replyWidget-actions .oo-ui-flaggedElement-primary .oo-ui-buttonElement-button { background: rgba(125, 255, 156, 0.15) !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.1em !important; }
.ext-discussiontools-ui-replyWidget-actions .oo-ui-flaggedElement-progressive .oo-ui-buttonElement-button:hover, .ext-discussiontools-ui-replyWidget-actions .oo-ui-flaggedElement-primary .oo-ui-buttonElement-button:hover { background: rgba(125, 255, 156, 0.28) !important; border-color: #7dff9c !important; box-shadow: 0 0 10px rgba(125, 255, 156, 0.2) !important; }
.ext-discussiontools-init-pingmark { color: #7dff9c !important; background: rgba(125, 255, 156, 0.1) !important; border-radius: 2px !important; padding: 0 4px !important; }
/* ============================================================
45. ECHO — badges & menus de notifications
============================================================ */
.mw-echo-notifications-badge, #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background: transparent !important; color: rgba(125, 255, 156, 0.6) !important; border: 0 !important; padding: 4px 6px !important; }
.mw-echo-notifications-badge:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.08) !important; }
.mw-echo-notifications-badge-all-read { opacity: 0.5 !important; }
.mw-echo-unread-notifications { background: #f5c84a !important; color: #06100b !important; border-radius: 50% !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 9px !important; font-weight: 600 !important; padding: 2px 5px !important; min-width: 16px !important; text-align: center !important; }
.mw-echo-ui-notificationsListWidget, .mw-echo-ui-overlay, .oo-ui-popupWidget.mw-echo-ui-notificationBadgeButton-popup .oo-ui-popupWidget-popup { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; border-radius: 3px !important; color: #cce8d4 !important; box-shadow: 0 12px 36px rgba(0, 0, 0, 0.75) !important; }
.mw-echo-ui-notificationsInboxWidget-toolbarWrapper, .mw-echo-ui-notificationsWrapper-header { background: rgba(6, 15, 11, 0.95) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.15) !important; color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; padding: 10px 14px !important; }
.mw-echo-ui-notificationItemWidget { background: transparent !important; border-bottom: 1px solid rgba(125, 255, 156, 0.08) !important; padding: 10px 14px !important; color: #cce8d4 !important; font-family: 'Crimson Pro', Georgia, serif !important; transition: background 0.1s !important; }
.mw-echo-ui-notificationItemWidget:hover { background: rgba(125, 255, 156, 0.05) !important; }
.mw-echo-ui-notificationItemWidget-unread { background: rgba(125, 255, 156, 0.04) !important; border-left: 2px solid rgba(125, 255, 156, 0.4) !important; }
.mw-echo-ui-notificationItemWidget-content-message-header { color: #cce8d4 !important; }
.mw-echo-ui-notificationItemWidget-content-message-body { color: rgba(204, 232, 212, 0.7) !important; font-size: 13px !important; }
.mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: rgba(125, 255, 156, 0.4) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; }
.mw-echo-ui-notificationItemWidget a { color: #7dff9c !important; }
.mw-echo-ui-notificationItemWidget a:hover { color: #b6ffc6 !important; }
.mw-echo-ui-notificationsWrapper-footer, .mw-echo-ui-notificationBadgeButton-popup-footer { background: rgba(6, 15, 11, 0.95) !important; border-top: 1px solid rgba(125, 255, 156, 0.12) !important; padding: 8px 14px !important; }
.mw-echo-ui-notificationsWrapper-footer a { 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; }
.mw-echo-ui-notificationsWrapper-footer a:hover { color: #7dff9c !important; }
.mw-echo-ui-notificationItemWidget .oo-ui-iconElement-icon { filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important; opacity: 0.55 !important; }
.mw-special-Notifications .mw-echo-ui-notificationItemWidget { background: rgba(6, 15, 11, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.1) !important; border-radius: 2px !important; margin-bottom: 4px !important; }
/* ============================================================
46. CITE — références [1][2] et notes de bas de page
============================================================ */
.reference, sup.reference { font-family: 'IBM Plex Mono', monospace !important; }
.reference a, sup.reference a { color: #7dff9c !important; background: rgba(125, 255, 156, 0.06) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 2px !important; padding: 0 3px !important; font-size: 0.75em !important; font-weight: 500 !important; text-decoration: none !important; }
.reference a:hover, sup.reference a:hover { background: rgba(125, 255, 156, 0.15) !important; border-color: rgba(125, 255, 156, 0.4) !important; color: #b6ffc6 !important; }
.mw-parser-output li:target, .mw-parser-output sup:target, .mw-parser-output ol.references li:target, ol.references li:target { background: rgba(245, 200, 74, 0.1) !important; border-left: 2px solid #f5c84a !important; padding-left: 8px !important; margin-left: -10px !important; border-radius: 2px !important; transition: background 0.3s !important; }
.mw-cite-backlink, .mw-cite-backlink a, .references .mw-cite-backlink a { color: rgba(125, 255, 156, 0.6) !important; text-decoration: none !important; font-weight: bold !important; }
.mw-cite-backlink a:hover { color: #7dff9c !important; }
.references, ol.references, .mw-parser-output ol.references { font-size: 0.88em !important; line-height: 1.6 !important; color: rgba(204, 232, 212, 0.85) !important; padding-left: 2em !important; }
.references li, ol.references li { margin-bottom: 4px !important; }
.mw-references-columns, .references-small { column-rule: 1px solid rgba(125, 255, 156, 0.08) !important; column-gap: 24px !important; }
/* ============================================================
47. SYNTAXHIGHLIGHT — Pygments (<syntaxhighlight>)
============================================================ */
.mw-highlight, .mw-parser-output .mw-highlight, .mw-highlight pre { background: #060f0b !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 3px !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 13px !important; line-height: 1.55 !important; padding: 12px 14px !important; overflow-x: auto !important; }
.mw-highlight .linenos, .mw-highlight .lineno { color: rgba(125, 255, 156, 0.25) !important; background: transparent !important; border-right: 1px solid rgba(125, 255, 156, 0.1) !important; padding-right: 10px !important; margin-right: 10px !important; user-select: none !important; }
.mw-highlight .hll { background: rgba(125, 255, 156, 0.08) !important; display: block !important; margin: 0 -14px !important; padding: 0 14px !important; border-left: 2px solid #7dff9c !important; }
.mw-highlight .c, .mw-highlight .c1, .mw-highlight .cm, .mw-highlight .cs, .mw-highlight .cp { color: rgba(125, 255, 156, 0.4) !important; font-style: italic !important; }
.mw-highlight .k, .mw-highlight .kc, .mw-highlight .kd, .mw-highlight .kn, .mw-highlight .kp, .mw-highlight .kr, .mw-highlight .kt { color: #f5c84a !important; font-weight: 500 !important; }
.mw-highlight .s, .mw-highlight .s1, .mw-highlight .s2, .mw-highlight .sb, .mw-highlight .sc, .mw-highlight .sd, .mw-highlight .se, .mw-highlight .sh, .mw-highlight .si, .mw-highlight .sx, .mw-highlight .sr, .mw-highlight .ss { color: #b6ffc6 !important; }
.mw-highlight .m, .mw-highlight .mf, .mw-highlight .mh, .mw-highlight .mi, .mw-highlight .mo, .mw-highlight .il { color: #ff9a9a !important; }
.mw-highlight .nf { color: #a8d8ea !important; }
.mw-highlight .nt { color: #ff9a9a !important; }
.mw-highlight .o, .mw-highlight .ow { color: rgba(125, 255, 156, 0.7) !important; }
.mw-highlight .err { color: #ff5e5e !important; background: rgba(255, 94, 94, 0.1) !important; border-bottom: 1px dashed rgba(255, 94, 94, 0.4) !important; }
.mw-parser-output code, .mw-parser-output tt { background: rgba(6, 15, 11, 0.9) !important; border: 1px solid rgba(125, 255, 156, 0.12) !important; border-radius: 2px !important; color: #b6ffc6 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 0.88em !important; padding: 1px 5px !important; }
.mw-parser-output pre, .mw-parser-output .mw-code { background: #060f0b !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 3px !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 13px !important; line-height: 1.55 !important; padding: 12px 14px !important; overflow-x: auto !important; }
/* ============================================================
48. TABBERNEUE — onglets <tabber>
============================================================ */
.tabber, .tabber__container, .mw-parser-output .tabber { background: transparent !important; border: 0 !important; margin: 16px 0 !important; }
.tabber__header, .tabber__tabs { background: rgba(6, 15, 11, 0.6) !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 0 !important; }
.tabber__tab, .tabber__header .tabber__tab, .tabber__tabs .tabber__tab { background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important; color: rgba(125, 255, 156, 0.5) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 10px 16px !important; margin: 0 !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.15s !important; }
.tabber__tab:hover { color: #7dff9c !important; background: rgba(125, 255, 156, 0.05) !important; }
.tabber__tab--active, .tabber__tab[aria-selected="true"] { color: #7dff9c !important; border-bottom-color: #7dff9c !important; background: rgba(125, 255, 156, 0.08) !important; }
.tabber__section, .tabber__panel { background: transparent !important; border: 0 !important; padding: 16px 0 !important; color: #cce8d4 !important; }
.tabber__header__prev, .tabber__header__next { background: rgba(6, 15, 11, 0.9) !important; color: rgba(125, 255, 156, 0.6) !important; border: 0 !important; cursor: pointer !important; }
.tabber__header__prev:hover, .tabber__header__next:hover { color: #7dff9c !important; }
.tabber--live .tabber__section { transition: opacity 0.2s ease; }
/* ============================================================
49. REVISIONSLIDER
============================================================ */
.mw-revslider-container, .mw-revslider-wrapper { background: rgba(6, 15, 11, 0.8) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 3px !important; color: #cce8d4 !important; margin: 8px 0 !important; padding: 12px !important; }
.mw-revslider-toggle-button { background: transparent !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; 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; padding: 4px 10px !important; border-radius: 2px !important; cursor: pointer !important; }
.mw-revslider-toggle-button:hover { background: rgba(125, 255, 156, 0.08) !important; color: #7dff9c !important; }
.mw-revslider-revision { background: rgba(125, 255, 156, 0.25) !important; border: 0 !important; transition: background 0.15s !important; }
.mw-revslider-revision:hover { background: rgba(125, 255, 156, 0.5) !important; }
.mw-revslider-revision-old, .mw-revslider-revision[data-pos="older"] { background: rgba(255, 94, 94, 0.6) !important; }
.mw-revslider-revision-new, .mw-revslider-revision[data-pos="newer"] { background: rgba(125, 255, 156, 0.7) !important; }
.mw-revslider-pointer-old, .mw-revslider-pointer-new, .mw-revslider-pointer { background: rgba(8, 18, 12, 0.95) !important; border: 1px solid rgba(125, 255, 156, 0.5) !important; color: #7dff9c !important; border-radius: 2px !important; }
.mw-revslider-pointer-old { border-color: rgba(255, 94, 94, 0.6) !important; }
.mw-revslider-tooltip, .mw-revslider-tooltip .oo-ui-popupWidget-popup { background: rgba(8, 18, 12, 0.98) !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; border-radius: 3px !important; color: #cce8d4 !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; padding: 8px 10px !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important; }
.mw-revslider-tooltip a { color: #7dff9c !important; }
.mw-revslider-arrow { background: transparent !important; color: rgba(125, 255, 156, 0.5) !important; border: 0 !important; cursor: pointer !important; }
.mw-revslider-arrow:hover { color: #7dff9c !important; }
.mw-revslider-bar-bigger { background: rgba(125, 255, 156, 0.6) !important; }
.mw-revslider-bar-smaller { background: rgba(255, 94, 94, 0.6) !important; }
/* ============================================================
50. TABLEPAGER & LISTES SPÉCIALES
============================================================ */
table.mw-statistics-table, table.TablePager, table.mw-spcontent, .mw-special-Statistics table, .mw-special-ActiveUsers table, .mw-special-Listusers table, .mw-special-Listfiles table, .mw-special-Listredirects table, .mw-special-Wantedpages table, .mw-special-Mostrevisions table, .mw-special-Brokenredirects table { background: rgba(6, 15, 11, 0.75) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-collapse: collapse !important; color: #cce8d4 !important; width: 100% !important; margin: 12px 0 !important; }
.TablePager th, .mw-statistics-table th, table.mw-spcontent th, .mw-special-Statistics th, .mw-special-ActiveUsers th, .mw-special-Listusers th, .mw-special-Listfiles th { background: #0f2015 !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; 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.1em !important; padding: 10px 12px !important; text-align: left !important; }
.TablePager th.headerSortUp, .TablePager th.headerSortDown { color: #7dff9c !important; cursor: pointer !important; background-image: none !important; }
.TablePager th.headerSortUp::after { content: ' ▲'; opacity: 0.7; font-size: 9px; }
.TablePager th.headerSortDown::after { content: ' ▼'; opacity: 0.7; font-size: 9px; }
.TablePager tr, .mw-statistics-table tr, table.mw-spcontent tr { background: transparent !important; border-bottom: 1px solid rgba(125, 255, 156, 0.06) !important; }
.TablePager tr:nth-child(even), .TablePager_even { background: rgba(125, 255, 156, 0.025) !important; }
.TablePager tr:nth-child(odd), .TablePager_odd { background: transparent !important; }
.TablePager tr:hover { background: rgba(125, 255, 156, 0.06) !important; }
.TablePager td, .mw-statistics-table td, table.mw-spcontent td { background: transparent !important; border: 0 !important; color: #cce8d4 !important; padding: 8px 12px !important; font-size: 13px !important; }
.TablePager a, .mw-statistics-table a { color: #7dff9c !important; }
.TablePager a:visited { color: #4ab06a !important; }
.TablePager a:hover { color: #b6ffc6 !important; }
.mw-statistics-numbers, .mw-statistics-table td.mw-statistics-numbers { font-family: 'IBM Plex Mono', monospace !important; color: #f5c84a !important; text-align: right !important; font-weight: 500 !important; }
.TablePager_nav, .mw-pager-navigation-bar { background: rgba(6, 15, 11, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.1) !important; border-radius: 2px !important; padding: 8px 12px !important; margin: 8px 0 !important; color: rgba(204, 232, 212, 0.7) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.TablePager_nav a, .mw-pager-navigation-bar a, .mw-numlink { color: #4ab06a !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; background: rgba(6, 15, 11, 0.5) !important; padding: 3px 9px !important; margin: 0 2px !important; border-radius: 2px !important; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; font-size: 10px !important; }
.TablePager_nav a:hover, .mw-pager-navigation-bar a:hover { background: rgba(125, 255, 156, 0.1) !important; border-color: rgba(125, 255, 156, 0.4) !important; color: #7dff9c !important; }
.mw-contributions-list li, .mw-special-Contributions ul li { border-bottom: 1px solid rgba(125, 255, 156, 0.05) !important; padding: 4px 0 !important; background: transparent !important; color: #cce8d4 !important; }
.mw-contributions-list li:hover { background: rgba(125, 255, 156, 0.04) !important; }
.mw-userlink, .mw-changeslist-line .mw-userlink { color: #7dff9c !important; font-weight: 500 !important; }
.mw-userlink:hover { color: #b6ffc6 !important; }
.mw-rollback-link a, .mw-history-undo a, .mw-changeslist-links a { color: #f5c84a !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; }
.mw-rollback-link a:hover, .mw-history-undo a:hover { color: #ffe080 !important; }
.mw-logevent-loglines li, ul.mw-logevent-loglines li { background: transparent !important; border-bottom: 1px solid rgba(125, 255, 156, 0.05) !important; padding: 6px 0 !important; color: #cce8d4 !important; font-size: 13px !important; }
.mw-logevent-loglines li:hover { background: rgba(125, 255, 156, 0.04) !important; }
.mw-changeslist-flags abbr, abbr.minoredit, abbr.botedit, abbr.newpage, abbr.unpatrolled { background: rgba(125, 255, 156, 0.08) !important; border: 1px solid rgba(125, 255, 156, 0.2) !important; color: #7dff9c !important; border-radius: 2px !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 9px !important; font-weight: 600 !important; padding: 0 4px !important; margin: 0 1px !important; text-decoration: none !important; }
.mw-plusminus-pos { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-weight: 500 !important; }
.mw-plusminus-neg { color: #ff7a7a !important; font-family: 'IBM Plex Mono', monospace !important; font-weight: 500 !important; }
.mw-plusminus-null { color: rgba(125, 255, 156, 0.4) !important; font-family: 'IBM Plex Mono', monospace !important; }
.mw-plusminus-bold { font-weight: 700 !important; }
/* ============================================================
51. PAGES FICHIER (Namespace File:)
============================================================ */
#filetoc, ul#filetoc { background: rgba(6, 15, 11, 0.85) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 3px !important; color: #cce8d4 !important; padding: 8px 14px !important; margin: 12px 0 !important; list-style: none !important; display: flex !important; flex-wrap: wrap !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; text-align: center !important; justify-content: center !important; }
#filetoc li { display: inline !important; background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
#filetoc li::before { content: '·' !important; margin: 0 10px !important; color: rgba(125, 255, 156, 0.3) !important; }
#filetoc li:first-child::before { display: none !important; }
#filetoc a { color: rgba(125, 255, 156, 0.65) !important; text-decoration: none !important; }
#filetoc a:hover { color: #7dff9c !important; }
.fullImageLink, #file, .mw-filepage-image { background: transparent !important; text-align: center !important; margin: 16px 0 !important; }
.fullImageLink a, .fullImageLink img, #file a, #file img { background: transparent !important; border: 0 !important; display: inline-block !important; }
.fullImageLink img, #file > a > img { border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 2px !important; background: rgba(6, 15, 11, 0.4) !important; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important; }
.mw-filepage-resolutioninfo, .fullMedia { color: rgba(204, 232, 212, 0.65) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-align: center !important; margin: 8px 0 !important; background: transparent !important; }
.fullMedia a, .mw-filepage-resolutioninfo a { color: #7dff9c !important; font-weight: 500 !important; text-decoration: none !important; border-bottom: 1px solid rgba(125, 255, 156, 0.25) !important; }
.fullMedia a:hover { color: #b6ffc6 !important; border-bottom-color: #7dff9c !important; }
.fileInfo, .mw-filepage-mime, .mw-filepage-dimensions { color: rgba(204, 232, 212, 0.6) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
table.filehistory, .filehistory { background: rgba(12, 24, 18, 0.85) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-collapse: collapse !important; width: 100% !important; color: #cce8d4 !important; margin: 12px 0 !important; }
.filehistory th { background: #0f2015 !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; 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.12em !important; padding: 10px 12px !important; text-align: left !important; }
.filehistory td { background: transparent !important; border-bottom: 1px solid rgba(125, 255, 156, 0.06) !important; color: #cce8d4 !important; padding: 10px 12px !important; vertical-align: middle !important; font-size: 13px !important; }
.filehistory tr:hover td { background: rgba(125, 255, 156, 0.04) !important; }
.filehistory td.filehistory-selected, .filehistory tr.filehistory-selected td { background: rgba(125, 255, 156, 0.06) !important; color: #7dff9c !important; }
.filehistory img, .filehistory a img { background: rgba(6, 15, 11, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; border-radius: 2px !important; padding: 2px !important; }
.filehistory a { color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; text-decoration: none !important; }
.filehistory a:hover { color: #b6ffc6 !important; }
.mw-filepage-other-versions, .mw-filepage-upload-error, .sharedUploadNotice { background: rgba(6, 15, 11, 0.6) !important; border: 1px solid rgba(245, 200, 74, 0.2) !important; border-left: 3px solid rgba(245, 200, 74, 0.5) !important; color: rgba(204, 232, 212, 0.85) !important; padding: 10px 14px !important; border-radius: 2px !important; margin: 12px 0 !important; font-style: italic !important; }
.mw-imagepage-linkstoimage ul, #mw-imagepage-section-linkstoimage ul { background: rgba(6, 15, 11, 0.5) !important; border: 1px solid rgba(125, 255, 156, 0.08) !important; border-radius: 2px !important; padding: 12px 16px 12px 36px !important; margin: 8px 0 !important; list-style: square !important; }
.mw-imagepage-linkstoimage li, #mw-imagepage-section-linkstoimage li { color: #cce8d4 !important; padding: 3px 0 !important; }
.mw-imagepage-linkstoimage li::marker { color: rgba(125, 255, 156, 0.4) !important; }
.mw_metadata, table.mw_metadata { background: rgba(6, 15, 11, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.1) !important; color: #cce8d4 !important; margin: 12px 0 !important; }
.mw_metadata th { background: rgba(15, 32, 21, 0.5) !important; color: rgba(125, 255, 156, 0.65) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; text-align: left !important; padding: 6px 12px !important; }
.mw_metadata td { background: transparent !important; border-bottom: 1px solid rgba(125, 255, 156, 0.05) !important; color: rgba(204, 232, 212, 0.75) !important; padding: 6px 12px !important; font-size: 12px !important; }
.mw-editsection-bracket { color: rgba(125, 255, 156, 0.3) !important; }
.mw-editsection a { color: rgba(125, 255, 156, 0.5) !important; }
.mw-editsection a:hover { color: #7dff9c !important; }
/* ============================================================
52. MULTIMEDIAVIEWER (MMV) + CODEX BUTTONS
============================================================ */
.cdx-button, button.cdx-button, .cdx-button.cdx-button--fake-button { background-color: rgba(125, 255, 156, 0.08) !important; background-image: none !important; border: 1px solid rgba(125, 255, 156, 0.25) !important; border-radius: 2px !important; color: rgba(125, 255, 156, 0.75) !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; padding: 6px 14px !important; box-shadow: none !important; text-shadow: none !important; transition: all 0.15s !important; cursor: pointer !important; }
.cdx-button:hover, .cdx-button:enabled:hover, button.cdx-button:hover { background-color: rgba(125, 255, 156, 0.18) !important; border-color: rgba(125, 255, 156, 0.5) !important; color: #7dff9c !important; }
.cdx-button:active, .cdx-button:enabled:active { background-color: rgba(125, 255, 156, 0.28) !important; border-color: #7dff9c !important; color: #b6ffc6 !important; }
.cdx-button:focus-visible, .cdx-button:enabled:focus { outline: none !important; box-shadow: 0 0 0 2px rgba(125, 255, 156, 0.25) !important; }
.cdx-button:disabled, .cdx-button.cdx-button--disabled { background-color: rgba(125, 255, 156, 0.04) !important; border-color: rgba(125, 255, 156, 0.1) !important; color: rgba(125, 255, 156, 0.25) !important; cursor: not-allowed !important; }
.cdx-button--action-progressive, .cdx-button.cdx-button--action-progressive, .cdx-button--weight-primary.cdx-button--action-progressive { background-color: rgba(125, 255, 156, 0.15) !important; border-color: rgba(125, 255, 156, 0.5) !important; color: #7dff9c !important; }
.cdx-button--action-progressive:hover, .cdx-button.cdx-button--action-progressive:hover { background-color: rgba(125, 255, 156, 0.28) !important; border-color: #7dff9c !important; color: #b6ffc6 !important; box-shadow: 0 0 12px rgba(125, 255, 156, 0.2) !important; }
.cdx-button--action-destructive { background-color: rgba(255, 122, 122, 0.1) !important; border-color: rgba(255, 122, 122, 0.4) !important; color: #ff7a7a !important; }
.cdx-button--action-destructive:hover { background-color: rgba(255, 122, 122, 0.2) !important; border-color: #ff7a7a !important; color: #ff9a9a !important; }
.cdx-button--weight-quiet { background-color: transparent !important; border-color: transparent !important; color: rgba(125, 255, 156, 0.55) !important; }
.cdx-button--weight-quiet:hover { background-color: rgba(125, 255, 156, 0.08) !important; border-color: transparent !important; color: #7dff9c !important; }
.cdx-button .cdx-icon, .cdx-button svg { filter: brightness(0) saturate(100%) invert(91%) sepia(15%) saturate(594%) hue-rotate(76deg) brightness(101%) !important; opacity: 0.75 !important; }
.cdx-button:hover .cdx-icon, .cdx-button:hover svg { opacity: 1 !important; }
.mw-mmv-overlay { background: rgba(0, 0, 0, 0.88) !important; }
.mw-mmv-wrapper, .mw-mmv-main, .mw-mmv-image-wrapper, .mw-mmv-pre-image { background: transparent !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; color: #cce8d4 !important; }
.mw-mmv-image, .mw-mmv-image img, .mw-mmv-final-image, img.mw-mmv-dialog-is-open { background: transparent !important; filter: none !important; opacity: 1 !important; }
.mw-mmv-post-image, .mw-mmv-above-fold, .mw-mmv-image-metadata, .mw-mmv-title-contain { background: rgba(6, 15, 11, 0.97) !important; border-top: 1px solid rgba(125, 255, 156, 0.15) !important; color: #cce8d4 !important; }
.mw-mmv-title, .mw-mmv-title-para, .mw-mmv-title-smaller, p.mw-mmv-title-para, .mw-mmv-image-desc, .mw-mmv-image-desc-div { color: #cce8d4 !important; background: transparent !important; font-family: 'Crimson Pro', Georgia, serif !important; font-size: 16px !important; font-weight: normal !important; }
.mw-mmv-author, .mw-mmv-source, .mw-mmv-source-author, .mw-mmv-credit, .mw-mmv-credit-fallback { color: rgba(204, 232, 212, 0.7) !important; background: transparent !important; font-family: 'IBM Plex Mono', monospace !important; font-size: 11px !important; }
.mw-mmv-post-image a, .mw-mmv-image-metadata a, .mw-mmv-credit a, .mw-mmv-author a, .mw-mmv-source a { color: #7dff9c !important; text-decoration: none !important; border-bottom: 1px solid rgba(125, 255, 156, 0.2) !important; }
.mw-mmv-post-image a:hover, .mw-mmv-image-metadata a:hover { color: #b6ffc6 !important; border-bottom-color: #7dff9c !important; }
.mw-mmv-close, .mw-mmv-fullscreen, button.mw-mmv-close, button.mw-mmv-fullscreen { background: rgba(8, 18, 12, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; color: rgba(125, 255, 156, 0.7) !important; border-radius: 2px !important; }
.mw-mmv-close:hover, .mw-mmv-fullscreen:hover { background: rgba(125, 255, 156, 0.12) !important; border-color: rgba(125, 255, 156, 0.5) !important; color: #7dff9c !important; }
.mw-mmv-prev-image, .mw-mmv-next-image { background: rgba(8, 18, 12, 0.6) !important; border: 1px solid rgba(125, 255, 156, 0.15) !important; color: rgba(125, 255, 156, 0.6) !important; transition: all 0.15s !important; }
.mw-mmv-prev-image:hover, .mw-mmv-next-image:hover { background: rgba(125, 255, 156, 0.1) !important; border-color: rgba(125, 255, 156, 0.4) !important; color: #7dff9c !important; }
/* ============================================================
53. VE DIALOG — fix bande blanche dans le panneau d'édition
============================================================ */
.oo-ui-window-body .oo-ui-fieldsetLayout-group { background-color: transparent !important; }
.oo-ui-window-body .ve-ui-targetWidget, .oo-ui-window-body .ve-init-target-visual { background-color: transparent !important; }
/* ============================================================
54. BANDEAU DISCORD — bas de page [v30]
============================================================ */
#vt-discord-banner {
position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
display: flex; align-items: center; justify-content: center; gap: 14px;
padding: 11px 20px;
background: rgba(10, 26, 15, 0.97);
border-top: 1px solid rgba(125, 255, 156, 0.25);
box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.55);
backdrop-filter: blur(6px);
font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #cce8d4;
transition: transform 0.3s ease, opacity 0.3s ease;
}
#vt-discord-banner.vt-banner-hidden { transform: translateY(100%); opacity: 0; pointer-events: none; }
#vt-discord-banner .vt-banner-icon { flex-shrink: 0; width: 22px; height: 22px; opacity: 0.9; }
#vt-discord-banner .vt-banner-text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#vt-discord-banner .vt-banner-text strong { color: #7dff9c; font-weight: 600; }
#vt-discord-banner .vt-banner-btn {
flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
padding: 5px 14px; background: rgba(125, 255, 156, 0.12);
border: 1px solid rgba(125, 255, 156, 0.35); border-radius: 3px;
color: #7dff9c !important; font-family: 'IBM Plex Mono', monospace;
font-size: 12px; font-weight: 600; text-decoration: none !important;
letter-spacing: 0.04em; transition: background 0.2s, border-color 0.2s;
}
#vt-discord-banner .vt-banner-btn:hover { background: rgba(125, 255, 156, 0.22); border-color: rgba(125, 255, 156, 0.6); }
#vt-discord-banner .vt-banner-close {
flex-shrink: 0; width: 28px; height: 28px;
display: flex; align-items: center; justify-content: center;
background: transparent; border: 1px solid rgba(125, 255, 156, 0.15);
border-radius: 50%; color: #cce8d4; font-size: 16px; cursor: pointer; padding: 0;
transition: border-color 0.2s, color 0.2s;
}
#vt-discord-banner .vt-banner-close:hover { border-color: rgba(125, 255, 156, 0.5); color: #7dff9c; }
@media (max-width: 640px) {
#vt-discord-banner { flex-wrap: wrap; gap: 8px; padding: 10px 14px; font-size: 12px; }
#vt-discord-banner .vt-banner-text { flex-basis: calc(100% - 42px); white-space: normal; }
#vt-discord-banner .vt-banner-btn { flex: 1; }
}
/* ============================================================
55. FIX VE — dialogs décalés sous la toolbar sticky [v30]
============================================================ */
.oo-ui-overlay-global .oo-ui-window { padding-top: 48px !important; }
.oo-ui-overlay-global .oo-ui-window-frame { max-height: calc(100vh - 48px) !important; top: 48px !important; }
.oo-ui-overlay-global .oo-ui-window::before { top: -48px !important; }
/* ============================================================
56. MASQUAGE MOBILE — user bar, onglets, sommaire [v30]
============================================================ */
@media (max-width: 768px) {
/* Barre utilisateur (Se connecter, Contributions…) */
.vt-user-tools-wrap { display: none !important; }
/* Barre des onglets page (Article/Discussion + Lire/Modifier/Historique) */
.vt-page-tabs-wrap { display: none !important; }
/* Sommaire latéral VaultTec (aside#vt-toc-sidebar) */
#vt-toc-sidebar,
.vt-toc-sidebar { display: none !important; }
}