:root{
  --wiki-body-bg:#f8f9fa;
  --wiki-content-bg:#ffffff;
  --wiki-border:#a2a9b1;
  --wiki-border-light:#eaecf0;
  --wiki-link:#3366cc;
  --wiki-link-visited:#795cb2;
  --wiki-text:#202122;
  --wiki-text-light:#54595d;
  --wiki-header-bg:#f8f9fa;
  --wiki-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wiki-font-serif:"Linux Libertine","Georgia","Times New Roman",Times,"Source Serif 4",serif;

  /* ---- single source of truth for typography scale ----
     Every font-size below is calc(var(--wiki-base-fs) * ratio),
     ratio = original-desktop-px / 14. --wiki-base-fs itself is the
     desktop/mobile base (14/16px) times the user's Appearance ➜ Text
     size preference (--wiki-text-mult, 1 by default) — so the whole
     page rescales proportionally from ONE user choice, with zero
     changes needed anywhere else in this file. */
  --wiki-base-fs-desktop:14px;
  --wiki-base-fs-mobile:16px;
  --wiki-text-mult:1;
  --wiki-base-fs:calc(var(--wiki-base-fs-desktop) * var(--wiki-text-mult));

  /* ---- content column width ---- */
  --wiki-shell-maxw:1600px;

  /* ---- shared sticky offset, so sidebar/TOC stick right below the topbar ---- */
  --wiki-topbar-h:49px;

  /* ---- infobox header band colours, sampled from real Wikipedia screenshots ---- */
  --wiki-infobox-band-en:#b0c4de;
  --wiki-infobox-band-fr:#cdc1c5;
  --wiki-section-hover-bg:#eef1f4;
  --wiki-link-contrast-text:#ffffff;
}
/* FR uses fr.wikipedia.org's actual (shorter) serif stack, confirmed from real Wikipedia CSS */
[data-lang="fr"]{
  --wiki-font-serif:"Linux Libertine",Georgia,Times,serif;
}

/* Minerva (Wikipedia's mobile skin) uses a noticeably larger base size than
   desktop Vector — verified on BOTH languages by measuring line-height in
   real fr.wikipedia.org and en.wikipedia.org mobile screenshots (~16px vs
   ~14px on desktop). This is a mobile-vs-desktop difference, not a
   language difference, so it applies to :root regardless of lang. */
@media(max-width:900px){
  :root{
    --wiki-base-fs:calc(var(--wiki-base-fs-mobile) * var(--wiki-text-mult));
  }
}

/* ---- Appearance ➜ Color ----
   "Automatic" (default, no data-theme attribute) follows the OS setting via
   prefers-color-scheme. "Light"/"Dark" (data-theme="light"/"dark") force it
   regardless of OS. Every colour in this file is already a variable, so the
   whole site re-themes from this one block. */
@media(prefers-color-scheme:dark){
  html:not([data-theme="light"]):not([data-theme="dark"]){
    --wiki-body-bg:#101418;
    --wiki-content-bg:#161616;
    --wiki-border:#4b4d51;
    --wiki-border-light:#2b2b2b;
    --wiki-link:#8ab4f8;
    --wiki-link-visited:#c7a4f5;
    --wiki-text:#eaecf0;
    --wiki-text-light:#a2a9b1;
    --wiki-header-bg:#1e1e1e;
    --wiki-infobox-band-en:#243347;
    --wiki-infobox-band-fr:#3a2f32;
    --wiki-section-hover-bg:#242424;
    --wiki-link-contrast-text:#101418;
  }
}
html[data-theme="dark"]{
  --wiki-body-bg:#101418;
  --wiki-content-bg:#161616;
  --wiki-border:#4b4d51;
  --wiki-border-light:#2b2b2b;
  --wiki-link:#8ab4f8;
  --wiki-link-visited:#c7a4f5;
  --wiki-text:#eaecf0;
  --wiki-text-light:#a2a9b1;
  --wiki-header-bg:#1e1e1e;
  --wiki-infobox-band-en:#243347;
  --wiki-infobox-band-fr:#3a2f32;
  --wiki-section-hover-bg:#242424;
  --wiki-link-contrast-text:#101418;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--wiki-body-bg);
  color:var(--wiki-text);
  font-family:var(--wiki-font-sans);
  font-size:var(--wiki-base-fs);
  line-height:1.6;
}
a{color:var(--wiki-link);text-decoration:none;}
a:visited{color:var(--wiki-link-visited);}
a:hover{text-decoration:underline;}
a.external-link::after, a.external-wiki-link::after{
  content:'';
  display:inline-block;
  width:9px;
  height:9px;
  margin-left:3px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M1 9L9 1M9 1H4M9 1V6' stroke='%233366cc' stroke-width='1.1' fill='none'/></svg>");
  background-repeat:no-repeat;
  background-size:9px 9px;
  vertical-align:middle;
}

/* ---- top bar (mobile-inspired, épuré) ---- */
.wiki-topbar{
  display:flex;
  align-items:center;
  gap:2px;
  background:var(--wiki-content-bg);
  border-bottom:1px solid var(--wiki-border-light);
  padding:6px 10px;
  min-height:var(--wiki-topbar-h);
  box-sizing:border-box;
  position:sticky;
  top:0;
  z-index:100;
}
.topbar-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:none;
  border:none;
  cursor:pointer;
  color:var(--wiki-text-light);
  padding:7px;
  border-radius:2px;
  font-family:var(--wiki-font-sans);
  line-height:1;
}
.topbar-btn:hover{background:var(--wiki-header-bg);color:var(--wiki-text);}
.topbar-hamburger{display:none;}
.topbar-wordmark{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--wiki-text);
  padding:4px 8px;
  cursor:default;
}
.topbar-globe-icon{color:var(--wiki-text-light);flex-shrink:0;}
.topbar-wordmark-text{
  font-family:var(--wiki-font-serif);
  font-size:calc(var(--wiki-base-fs) * 1.5); /* 21/14 */
  font-weight:bold;
  letter-spacing:0.01em;
  color:var(--wiki-text);
}
.topbar-spacer{flex:1;}
.topbar-lang-code{
  font-size:calc(var(--wiki-base-fs) * 0.8571); /* 12/14 */
  font-weight:bold;
}
.topbar-lang-wrap{position:relative;}
.lang-menu{
  display:none;
  position:absolute;
  top:100%;
  right:0;
  margin-top:4px;
  background:var(--wiki-content-bg);
  border:1px solid var(--wiki-border);
  border-radius:3px;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  min-width:140px;
  z-index:110;
  overflow:hidden;
}
.lang-menu.open{display:block;}
.lang-menu-option{
  display:block;
  width:100%;
  text-align:left;
  padding:8px 12px;
  background:none;
  border:none;
  border-bottom:1px solid var(--wiki-border-light);
  color:var(--wiki-text);
  font-family:var(--wiki-font-sans);
  font-size:calc(var(--wiki-base-fs) * 0.93);
  cursor:pointer;
  text-decoration:none;
  box-sizing:border-box;
}
.lang-menu-option:last-child{border-bottom:none;}
.lang-menu-option:hover{background:var(--wiki-header-bg);}
.lang-menu-option.active{font-weight:bold;color:var(--wiki-link);}
.drawer-backdrop{
  display:none;
  position:fixed;inset:0;
  background:rgba(0,0,0,.35);
  z-index:150;
}
.drawer-backdrop.visible{display:block;}

/* ---- 3-column shell ---- */
.wiki-shell{
  max-width:var(--wiki-shell-maxw);
  margin:0 auto;
  display:flex;
  background:var(--wiki-content-bg);
  min-height:100vh;
  border-left:1px solid var(--wiki-border-light);
  border-right:1px solid var(--wiki-border-light);
  transition:max-width .15s ease;
}

/* ---- left nav sidebar ---- */
.wiki-sidebar{
  width:160px;
  flex-shrink:0;
  padding:14px 10px;
  border-right:1px solid var(--wiki-border-light);
  font-size:calc(var(--wiki-base-fs) * 0.8929); /* 12.5/14 */
  background:var(--wiki-body-bg);
  position:sticky;
  top:var(--wiki-topbar-h);
  align-self:flex-start;
  max-height:calc(100vh - var(--wiki-topbar-h));
  overflow-y:auto;
}
.wiki-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-bottom:12px;
  margin-bottom:10px;
  border-bottom:1px solid var(--wiki-border-light);
}
.wiki-logo .wordmark{
  font-family:var(--wiki-font-serif);
  font-size:calc(var(--wiki-base-fs) * 1.0714); /* 15/14 */
  font-weight:bold;
  text-align:center;
  color:var(--wiki-text);
  line-height:1.2;
}
.wiki-logo .tagline{
  font-size:calc(var(--wiki-base-fs) * 0.7143); /* 10/14 */
  color:var(--wiki-text-light);
  text-align:center;
  margin-top:2px;
}
.logo-lang-link{
  display:inline-block;
  margin-top:8px;
  font-size:calc(var(--wiki-base-fs) * 0.86);
  color:var(--wiki-link);
}
.logo-lang-link:hover{text-decoration:underline;}
.wiki-search{margin:8px 0 12px 0;}
.wiki-search input{
  width:100%;
  padding:4px 6px;
  border:1px solid var(--wiki-border);
  border-radius:2px;
  font-size:calc(var(--wiki-base-fs) * 0.8571); /* 12/14 */
  background:var(--wiki-content-bg);
  color:var(--wiki-text);
}
.wiki-search input:focus{outline:2px solid var(--wiki-link);outline-offset:1px;}
.search-nav{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
}
.search-nav-btn{
  background:none;
  border:1px solid var(--wiki-border);
  border-radius:2px;
  color:var(--wiki-text-light);
  font-size:calc(var(--wiki-base-fs) * 0.75);
  line-height:1;
  padding:3px 6px;
  cursor:pointer;
}
.search-nav-btn:hover{background:var(--wiki-header-bg);color:var(--wiki-text);}
.wiki-search-msg{
  font-size:calc(var(--wiki-base-fs) * 0.79);
  color:var(--wiki-text-light);
  min-height:1.2em;
  flex:1;
  text-align:center;
}
.search-highlight{
  animation:search-flash 2s ease;
}
@keyframes search-flash{
  0%{background:var(--wiki-link);color:var(--wiki-link-contrast-text);}
  100%{background:transparent;}
}
.nav-section{margin-bottom:8px;}
.nav-heading{
  font-family:var(--wiki-font-sans);
  font-size:calc(var(--wiki-base-fs) * 0.9143); /* 12.8/14 */
  font-weight:bold;
  color:var(--wiki-text-light);
  text-transform:none;
  letter-spacing:normal;
  margin:14px 0 4px 0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  user-select:none;
}
.nav-heading::after{
  content:'';width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid var(--wiki-text-light);
  transition:transform .15s;flex-shrink:0;margin-left:4px;
}
.nav-section.collapsed .nav-heading::after{transform:rotate(-90deg);}
.wiki-sidebar nav ul{
  list-style:none;margin:0;padding:0;overflow:hidden;
  max-height:300px;opacity:1;
  transition:max-height .2s ease,opacity .15s ease;
}
.nav-section.collapsed nav ul{max-height:0;opacity:0;}
.wiki-sidebar nav li{padding:2px 0;}
.wiki-sidebar nav li a{
  color:var(--wiki-link);
  font-size:calc(var(--wiki-base-fs) * 0.9); /* 12.6/14 */
}

/* ---- Appearance panel ---- */
.appearance-panel{
  overflow:hidden;
  max-height:600px;
  opacity:1;
  transition:max-height .2s ease,opacity .15s ease;
}
.nav-section.collapsed .appearance-panel{max-height:0;opacity:0;}
.appearance-group{margin:8px 0 4px 0;}
.appearance-group-label{
  font-size:calc(var(--wiki-base-fs) * 0.86);
  color:var(--wiki-text-light);
  margin-bottom:4px;
}
.appearance-pills{
  position:relative;
  display:flex;
  flex-direction:row;
  border:1px solid var(--wiki-border);
  border-radius:3px;
  overflow:hidden;
}
.appearance-pills label{
  flex:1;
  text-align:center;
  padding:4px 2px;
  font-size:calc(var(--wiki-base-fs) * 0.82);
  color:var(--wiki-text-light);
  cursor:pointer;
  border-right:1px solid var(--wiki-border);
  background:var(--wiki-content-bg);
  user-select:none;
}
.appearance-pills label:last-child{border-right:none;}
.appearance-pills--col{flex-direction:column;}
.appearance-pills--col label{
  flex:none;
  text-align:left;
  padding:5px 8px;
  border-right:none;
  border-bottom:1px solid var(--wiki-border);
}
.appearance-pills--col label:last-child{border-bottom:none;}
.appearance-pills input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.appearance-pills input:checked + label{
  background:var(--wiki-link);
  color:var(--wiki-link-contrast-text);
  font-weight:bold;
}
.appearance-pills label:hover{background:var(--wiki-header-bg);}
.appearance-pills input:checked + label:hover{background:var(--wiki-link);}

/* ---- sticky TOC column ---- */
.wiki-toc-column{
  width:190px;
  flex-shrink:0;
  border-right:1px solid var(--wiki-border-light);
  background:var(--wiki-body-bg);
  padding:0;
  position:relative;
}
.wiki-toc-sticky{
  position:sticky;
  top:var(--wiki-topbar-h);
  max-height:calc(100vh - var(--wiki-topbar-h));
  overflow-y:auto;
  padding:14px 10px 14px 12px;
}
.wiki-toc-sticky h2{
  font-family:var(--wiki-font-sans);
  font-size:calc(var(--wiki-base-fs) * 0.9286); /* 13/14 */
  font-weight:bold;
  margin:0 0 8px 0;
  padding:0;
  border:none;
  color:var(--wiki-text);
}
.wiki-toc-sticky .toc-toggle-btn{
  font-size:calc(var(--wiki-base-fs) * 0.7857); /* 11/14 */
  color:var(--wiki-link);
  cursor:pointer;
  background:none;
  border:none;
  padding:0;
  margin-left:6px;
  font-family:var(--wiki-font-sans);
}
.wiki-toc-sticky ul{
  list-style:none;margin:0;padding:0;
}
.wiki-toc-sticky li{
  padding:2px 0;
  font-size:calc(var(--wiki-base-fs) * 0.9286); /* 13/14 */
}
.wiki-toc-sticky li a{color:var(--wiki-link);}
.wiki-toc-sticky li a:hover{text-decoration:underline;}
.wiki-toc-sticky .toc-num{
  color:var(--wiki-text-light);
  margin-right:4px;
  font-size:calc(var(--wiki-base-fs) * 0.8571); /* 12/14 */
}
.wiki-toc-sticky ul ul{
  padding-left:14px;margin-top:1px;
}
.wiki-toc-sticky ul ul li{font-size:calc(var(--wiki-base-fs) * 0.8571); /* 12/14 */}

/* ---- main content ---- */
.wiki-main{
  flex:1;
  min-width:0;
  padding:14px 30px 50px 22px;
}
.wiki-tabs{
  border-bottom:1px solid var(--wiki-border);
  display:flex;gap:2px;
  font-size:calc(var(--wiki-base-fs) * 0.9286); /* 13/14 */
  margin-bottom:6px;
}
.wiki-tabs span{
  padding:5px 12px 7px 12px;
  color:var(--wiki-text-light);
  cursor:pointer;
}
.wiki-tabs span.active{
  color:var(--wiki-text);
  border:1px solid var(--wiki-border);
  border-bottom:1px solid var(--wiki-content-bg);
  background:var(--wiki-content-bg);
  margin-bottom:-1px;
  border-radius:2px 2px 0 0;
  font-weight:bold;
}
.page-title{
  font-family:var(--wiki-font-serif);
  font-size:calc(var(--wiki-base-fs) * 1.7857); /* 25/14 */
  font-weight:normal;
  line-height:1.3;
  border-bottom:1px solid var(--wiki-border);
  padding-bottom:6px;
  margin:4px 0 10px 0;
  color:var(--wiki-text);
}
.page-subtitle{
  font-size:calc(var(--wiki-base-fs) * 0.8571); /* 12/14 */
  color:var(--wiki-text-light);
  margin:-6px 0 12px 0;
  font-style:italic;
}

/* ---- infobox ---- */
.infobox{
  float:right;clear:right;
  margin:0 0 16px 20px;
  border:1px solid var(--wiki-border);
  background:var(--wiki-header-bg);
  font-size:calc(var(--wiki-base-fs) * 0.9286); /* 13/14 */
  width:22em;
}
.infobox th,.infobox td{
  border-top:1px solid var(--wiki-border-light);
  padding:4px 8px;vertical-align:top;text-align:left;
}
.infobox .infobox-above{
  text-align:center;
  font-family:var(--wiki-font-serif);
  font-size:125%; /* relative to .infobox's own calc()-based size — no change needed */
  font-weight:bold;
  border-top:none;padding:8px;
}
.infobox .infobox-header{
  text-align:center;font-weight:bold;
}
[data-lang="en"] .infobox-above,[data-lang="en"] .infobox-header{background:var(--wiki-infobox-band-en);}
[data-lang="fr"] .infobox-above,[data-lang="fr"] .infobox-header{background:var(--wiki-infobox-band-fr);}
.infobox .infobox-label{
  font-weight:normal;color:var(--wiki-text-light);width:35%;
  white-space:nowrap;
}
.infobox .infobox-image{
  text-align:center;border-top:none;padding:8px;
}
.infobox .infobox-image img{
  max-width:100%;height:auto;
  border:1px solid var(--wiki-border-light);
}
.infobox-caption{
  font-size:calc(var(--wiki-base-fs) * 0.8214); /* 11.5/14 */
  color:var(--wiki-text-light);
  padding-top:6px;
  text-align:center;
  line-height:1.4;
}

/* ---- headings (encyclopedia-style typography) ---- */
.mw-parser-output h2{
  font-family:var(--wiki-font-serif);
  font-weight:normal;
  font-size:calc(var(--wiki-base-fs) * 1.5); /* 21/14 */
  line-height:1.3;
  border-bottom:1px solid var(--wiki-border);
  margin:24px 0 8px 0;
  padding-bottom:4px;
  clear:left;
  color:var(--wiki-text);
}
.mw-parser-output h3{
  font-family:var(--wiki-font-serif);
  font-weight:bold;
  font-size:calc(var(--wiki-base-fs) * 1.2); /* 16.8/14 */
  line-height:1.3;
  margin:18px 0 8px 0;
  color:var(--wiki-text);
}
.mw-parser-output p{margin:0 0 12px 0;line-height:1.6;}
.mw-parser-output ul{margin:0 0 12px 22px;padding:0;}
.mw-parser-output li{margin-bottom:3px;}
sup.reference{
  font-size:calc(var(--wiki-base-fs) * 0.7857); /* 11/14 */
  line-height:0;
}
sup.reference a{padding:0 1px;color:var(--wiki-link);}

/* ---- collapsible section banners (mobile accordion) ---- */
.wiki-section{margin:0;}
.wiki-section > summary.wiki-section-summary{
  font-family:var(--wiki-font-serif);
  font-weight:normal;
  font-size:calc(var(--wiki-base-fs) * 1.5); /* 21/14, matches h2 */
  line-height:1.3;
  border-bottom:1px solid var(--wiki-border);
  margin:24px 0 8px 0;
  padding-bottom:4px;
  clear:left;
  color:var(--wiki-text);
  list-style:none;
  cursor:default;
}
.wiki-section > summary.wiki-section-summary::-webkit-details-marker{display:none;}
.wiki-section > summary.wiki-section-summary::marker{content:"";}
.wiki-section-body{margin:0;}

@media(min-width:901px){
  .wiki-section:not([open]) > .wiki-section-body{display:block!important;}
}

@media(max-width:900px){
  .wiki-section{
    border-bottom:1px solid var(--wiki-border-light);
  }
  .wiki-section > summary.wiki-section-summary{
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:0;
    padding:12px 4px;
    border-bottom:none;
    background:var(--wiki-header-bg);
    cursor:pointer;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .wiki-section > summary.wiki-section-summary:hover{background:var(--wiki-section-hover-bg);}
  .wiki-section > summary.wiki-section-summary::after{
    content:"";
    flex-shrink:0;
    width:11px;height:11px;
    border-right:2px solid var(--wiki-text-light);
    border-bottom:2px solid var(--wiki-text-light);
    transform:rotate(45deg);
    transition:transform .18s ease;
  }
  .wiki-section[open] > summary.wiki-section-summary::after{
    transform:rotate(-135deg);
  }
  .wiki-section-body{padding:2px 4px 14px 4px;}
}

/* ---- references ---- */
.reflist{
  font-size:calc(var(--wiki-base-fs) * 0.8929); /* 12.5/14 */
  border-top:1px solid var(--wiki-border-light);
  padding-top:10px;
  column-count:2;column-gap:1.5em;
}
.reflist ol.references{margin:0 0 0 18px;padding:0;}
.reflist li{margin-bottom:5px;padding-left:3px;break-inside:avoid;}
.reflist a{word-break:break-word;color:var(--wiki-link);}
.citation.web i{font-style:italic;}

/* ---- additional notes ---- */
.additional-notes{
  font-size:calc(var(--wiki-base-fs) * 0.8929); /* 12.5/14 */
  margin-top:16px;
  border-top:1px solid var(--wiki-border-light);padding-top:10px;
}
.additional-notes dt{font-weight:bold;margin-top:10px;}
.additional-notes dd{margin:3px 0 0 0;}

/* ---- categories ---- */
.catlinks{
  margin-top:24px;
  border:1px solid var(--wiki-border-light);
  background:var(--wiki-header-bg);
  padding:6px 12px;
  font-size:calc(var(--wiki-base-fs) * 0.8929); /* 12.5/14 */
  clear:both;
}

/* ---- footer ---- */
.wiki-footer{
  max-width:var(--wiki-shell-maxw);margin:0 auto;
  border-top:1px solid var(--wiki-border);
  padding:12px 28px;
  font-size:calc(var(--wiki-base-fs) * 0.8214); /* 11.5/14 */
  color:var(--wiki-text-light);text-align:center;
  background:var(--wiki-content-bg);
}
.wiki-footer a{color:var(--wiki-link);}

/* ---- responsive ---- */
@media(max-width:900px){
  .topbar-hamburger{display:inline-flex;}
  .wiki-sidebar{
    display:block;
    position:fixed;
    top:0;left:0;bottom:0;
    width:260px;max-width:80vw;
    max-height:none;
    z-index:200;
    transform:translateX(-100%);
    transition:transform .2s ease;
    box-shadow:2px 0 10px rgba(0,0,0,.2);
    overflow-y:auto;
  }
  .wiki-sidebar.drawer-open{transform:translateX(0);}
  .wiki-toc-column{display:none;}
  .wiki-main{padding:12px 14px 30px 14px;}
  .infobox{float:none;margin:0 0 14px 0;width:100%!important;}
  .reflist{column-count:1;}
  .wiki-tabs span:nth-child(n+3){display:none;}
  .page-title{margin-top:10px;}
  .topbar-globe-icon{width:20px;height:20px;}
  .topbar-wordmark-text{font-size:calc(var(--wiki-base-fs) * 1.15);}
  .topbar-wordmark{padding:4px 4px;min-width:0;gap:4px;}
  .wiki-topbar{gap:0;padding:6px 6px;}
}
