/* ══════════════════════════════════════════════════════════════════
   ASTRELIA HORIZONS — Portail communautaire
   Palette = MenuTheme du jeu (identique à la landing)
   ══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#020409; --bg2:#03050D;
  --panel:rgba(5,10,24,.82); --panel2:rgba(8,14,32,.94);
  --blue:#1A78D9; --gold:#FFCC2E; --gold-pale:#FFE89E; --cyan:#5BC0EB;
  --purple:#BB8AE6; --orange:#FF8C14; --green:#5AD66E; --red:#E07070;
  --txt:#F5F6F8; --txt-dim:rgba(245,246,248,.72); --txt-faded:rgba(245,246,248,.48);
  --line:rgba(255,255,255,.07);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);line-height:1.6;overflow-x:hidden;
  font-family:"Segoe UI","Inter",system-ui,-apple-system,sans-serif}
::selection{background:rgba(255,204,46,.35)}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--gold-pale)}
#stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.nebule{position:fixed;border-radius:50%;filter:blur(110px);opacity:.14;z-index:0;pointer-events:none}
.nebule.a{width:55vw;height:55vw;left:-18vw;top:-16vw;background:radial-gradient(circle,#1A78D9,transparent 65%)}
.nebule.b{width:45vw;height:45vw;right:-14vw;top:40vh;background:radial-gradient(circle,#BB8AE6,transparent 65%)}

/* ── Nav ── */
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.4rem;
  padding:.7rem clamp(1rem,3vw,2.2rem);
  background:rgba(2,4,9,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:.6rem;color:var(--txt)}
.logo svg{width:28px;height:28px}
.logo b{font-size:.86rem;letter-spacing:.22em;white-space:nowrap}
.logo b span{color:var(--gold)}
.nav-liens{display:flex;gap:1.15rem;align-items:center;flex:1;flex-wrap:wrap}
.nav-liens a{color:var(--txt-dim);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase}
.nav-liens a:hover,.nav-liens a.actif{color:var(--gold-pale)}
.nav-droite{display:flex;gap:.7rem;align-items:center}
.pseudo-nav{font-size:.78rem;color:var(--gold-pale);letter-spacing:.06em}
.pseudo-nav small{color:var(--txt-faded)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.6rem 1.35rem;border-radius:7px;cursor:pointer;border:1px solid transparent;
  font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  transition:transform .15s,box-shadow .15s,background .15s}
.btn-gold{background:linear-gradient(135deg,#FFCC2E,#FF9E14);color:#100A00;
  box-shadow:0 0 18px rgba(255,204,46,.25),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 5px 24px rgba(255,204,46,.4);color:#100A00}
.btn-ghost{border-color:rgba(255,204,46,.45);color:var(--gold-pale);background:rgba(255,204,46,.06)}
.btn-ghost:hover{background:rgba(255,204,46,.14)}
.btn-cyan{background:linear-gradient(135deg,#5BC0EB,#1A78D9);color:#02121F}
.btn-cyan:hover{color:#02121F;transform:translateY(-1px)}
.btn-sm{padding:.4rem .9rem;font-size:.68rem}
.btn-mini{padding:.22rem .6rem;font-size:.62rem;border-radius:5px}

/* burger */
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:8px}
.burger span{width:22px;height:2px;background:var(--gold-pale);border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-mobile{display:none}

/* ── Structure ── */
main{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:1.6rem clamp(.9rem,3vw,2rem) 4rem}
.chapeau{display:inline-flex;align-items:center;gap:.7rem;font-size:.68rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold);font-weight:600}
.chapeau::before,.chapeau::after{content:"";height:1px;width:30px;
  background:linear-gradient(90deg,transparent,var(--gold))}
.chapeau::after{background:linear-gradient(90deg,var(--gold),transparent)}
h1.titre-page{font-size:clamp(1.5rem,3.4vw,2.2rem);letter-spacing:.03em;margin:.4rem 0 1.4rem;font-weight:800}
.sous-titre{color:var(--txt-dim);max-width:640px;margin:-1rem 0 1.6rem;font-size:.92rem}

.flash{position:relative;z-index:1;max-width:1180px;margin:1rem auto 0;padding:.7rem 1.1rem;
  border:1px solid rgba(255,204,46,.4);border-radius:9px;background:rgba(255,204,46,.08);
  color:var(--gold-pale);font-size:.85rem}

/* ── Héros portail ── */
.heros{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:radial-gradient(120% 160% at 18% 0%,rgba(26,120,217,.30),transparent 55%),
             radial-gradient(110% 140% at 85% 100%,rgba(187,138,230,.20),transparent 60%),
             linear-gradient(160deg,#081226,#03050D 70%);
  padding:clamp(1.8rem,4.5vw,3rem) clamp(1.4rem,4vw,2.6rem);margin-bottom:1.6rem}
.heros h1{font-size:clamp(1.9rem,5vw,3.2rem);letter-spacing:.14em;font-weight:800;
  background:linear-gradient(180deg,#FFF 20%,#FFE89E 55%,#FFB92E 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(255,204,46,.25))}
.heros p{color:var(--txt-dim);letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;margin:.4rem 0 1.3rem}
.heros p b{color:var(--cyan)}
.heros .coin{position:absolute;width:22px;height:22px;border:2px solid rgba(255,204,46,.7)}
.coin.tl{top:10px;left:10px;border-right:none;border-bottom:none}
.coin.tr{top:10px;right:10px;border-left:none;border-bottom:none}
.coin.bl{bottom:10px;left:10px;border-right:none;border-top:none}
.coin.br{bottom:10px;right:10px;border-left:none;border-top:none}

/* ── Accueil « jeu » : héros plein écran ── */
.heros-jeu{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  text-align:center;
  background:radial-gradient(130% 170% at 20% -10%,rgba(26,120,217,.34),transparent 55%),
             radial-gradient(120% 150% at 85% 110%,rgba(187,138,230,.22),transparent 60%),
             radial-gradient(60% 60% at 60% 40%,rgba(255,140,20,.08),transparent 70%),
             linear-gradient(160deg,#081226,#03050D 70%);
  padding:clamp(3rem,8vw,5.5rem) clamp(1.4rem,4vw,3rem);margin-bottom:1.6rem}
.heros-jeu h1{font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:.16em;font-weight:800;line-height:1.1;
  background:linear-gradient(180deg,#FFF 20%,#FFE89E 55%,#FFB92E 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 26px rgba(255,204,46,.28))}
.heros-jeu .slogan{color:var(--txt-dim);letter-spacing:.28em;text-transform:uppercase;
  font-size:clamp(.75rem,1.6vw,.95rem);margin:.7rem 0 2rem}
.heros-jeu .slogan b{color:var(--cyan)}
.btn-xl{padding:1rem 2.4rem;font-size:.95rem;border-radius:10px;letter-spacing:.15em}
.heros-jeu .note{margin-top:1rem;font-size:.74rem;color:var(--txt-faded);letter-spacing:.08em}
.heros-jeu .coin{position:absolute;width:26px;height:26px;border:2px solid rgba(255,204,46,.75)}

/* Bande stats */
.bande-stats{display:flex;justify-content:center;gap:clamp(1.2rem,5vw,4rem);flex-wrap:wrap;
  padding:1.2rem 1rem;margin-bottom:2.4rem;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);background:rgba(5,10,24,.5)}
.bande-stats .st{text-align:center;min-width:104px}
.bande-stats .st b{display:block;font-size:1.55rem;color:var(--gold);letter-spacing:.03em}
.bande-stats .st span{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--txt-faded)}

/* Titres de sections d'accueil */
.sec-accueil{text-align:center;margin:2.6rem 0 1.4rem}
.sec-accueil h2{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.03em;margin-top:.45rem;font-weight:800}
.sec-accueil p{color:var(--txt-dim);max-width:620px;margin:.5rem auto 0;font-size:.9rem}

/* Cartes systèmes du jeu */
.grille-sys{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;text-align:left}
.sys-carte{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:13px;
  padding:1.4rem 1.35rem 1.25rem;overflow:hidden;backdrop-filter:blur(8px);
  transition:transform .22s,border-color .22s,box-shadow .22s}
.sys-carte::before{content:"";position:absolute;left:10%;right:10%;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--accent,#FFCC2E),transparent);opacity:.7}
.sys-carte:hover{transform:translateY(-5px);border-color:rgba(255,204,46,.3);
  box-shadow:0 16px 40px rgba(0,0,0,.5)}
.sys-carte .tag{position:absolute;top:1rem;right:1rem;font-size:.6rem;font-weight:700;
  letter-spacing:.2em;color:var(--accent,#FFCC2E);opacity:.85;text-transform:uppercase}
.sys-carte .ic{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font-size:1.25rem;margin-bottom:.9rem;
  background:color-mix(in srgb,var(--accent,#FFCC2E) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--accent,#FFCC2E) 45%,transparent)}
.sys-carte h3{font-size:1rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.45rem}
.sys-carte p{font-size:.85rem;color:var(--txt-dim)}

/* Zones de danger */
.zones-bande{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem}
.zone-mini{background:var(--panel);border:1px solid var(--line);border-radius:11px;
  padding:1.2rem 1rem 1.05rem;text-align:center;transition:transform .22s,border-color .22s}
.zone-mini:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--zc) 50%,transparent)}
.zone-mini .niv{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--txt-faded)}
.zone-mini h3{font-size:1rem;letter-spacing:.13em;margin:.3rem 0 .6rem;color:var(--zc)}
.zone-mini .barre{height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:.65rem}
.zone-mini .barre i{display:block;height:100%;width:var(--w);background:var(--zc);border-radius:2px;
  box-shadow:0 0 10px var(--zc)}
.zone-mini p{font-size:.75rem;color:var(--txt-dim)}

/* Bande communauté (bas d'accueil) */
.bande-commu{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem;
  margin-top:2.4rem;text-align:left}

/* CTA final */
.cta-fin{position:relative;border:1px solid rgba(255,204,46,.3);border-radius:16px;text-align:center;
  background:radial-gradient(90% 130% at 50% -20%,rgba(255,204,46,.15),transparent 55%),var(--panel2);
  padding:clamp(2.2rem,5vw,3.4rem) 1.5rem;margin-top:2.6rem}
.cta-fin h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.5rem}
.cta-fin p{color:var(--txt-dim);max-width:520px;margin:0 auto 1.5rem;font-size:.9rem}

/* ── Colonnes portail ── */
.colonnes{display:grid;grid-template-columns:1fr 320px;gap:1.4rem;align-items:start}
@media (max-width:900px){.colonnes{grid-template-columns:1fr}}

/* ── Panneaux (style fenêtres du jeu) ── */
.panneau{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;backdrop-filter:blur(8px);margin-bottom:1.3rem}
.panneau-titre{display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:.72rem 1.05rem;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(26,120,217,.14),transparent)}
.panneau-titre h2{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold-pale)}
.panneau-titre a{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faded)}
.panneau-corps{padding:1rem 1.05rem}

/* ── Cartes actus ── */
.actu{display:flex;gap:1rem;padding:.95rem 1.05rem;border-bottom:1px solid var(--line);transition:background .15s}
.actu:last-child{border-bottom:0}
.actu:hover{background:rgba(255,255,255,.025)}
.actu .date{min-width:74px;text-align:center;color:var(--txt-faded);font-size:.72rem;padding-top:.15rem}
.actu .date b{display:block;color:var(--gold);font-size:1.15rem;line-height:1.15}
.actu h3{font-size:.98rem;letter-spacing:.02em}
.actu h3 a{color:var(--txt)}
.actu h3 a:hover{color:var(--gold-pale)}
.actu p{color:var(--txt-dim);font-size:.83rem;margin-top:.15rem}

.badge{display:inline-block;padding:.14rem .55rem;border-radius:5px;font-size:.6rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;border:1px solid;vertical-align:2px;margin-right:.5rem}
.b-annonce{color:var(--gold);border-color:rgba(255,204,46,.5);background:rgba(255,204,46,.08)}
.b-evenement{color:var(--cyan);border-color:rgba(91,192,235,.5);background:rgba(91,192,235,.08)}
.b-teaser{color:var(--purple);border-color:rgba(187,138,230,.5);background:rgba(187,138,230,.08)}
.b-maj{color:var(--green);border-color:rgba(90,214,110,.5);background:rgba(90,214,110,.08)}
.b-gris{color:var(--txt-faded);border-color:var(--line);background:rgba(255,255,255,.03)}
.b-rouge{color:var(--red);border-color:rgba(224,112,112,.5);background:rgba(224,112,112,.08)}
.b-epingle{color:var(--orange);border-color:rgba(255,140,20,.5);background:rgba(255,140,20,.08)}

/* ── Encadré latéral connexion ── */
.boite-login .btn{width:100%}
.champ{width:100%;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);
  border-radius:7px;color:var(--txt);padding:.62rem .8rem;font-size:.88rem;margin-bottom:.65rem;
  font-family:inherit}
.champ:focus{outline:none;border-color:var(--cyan)}
textarea.champ{min-height:110px;resize:vertical}
select.champ{appearance:none}
label.libelle{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:.3rem}
.erreur{color:var(--red);font-size:.83rem;margin-bottom:.7rem}

.stat-ligne{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dashed var(--line);
  font-size:.82rem;color:var(--txt-dim)}
.stat-ligne:last-child{border-bottom:0}
.stat-ligne b{color:var(--gold)}

/* ── Listes / tableaux ── */
.ligne{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.05rem;border-bottom:1px solid var(--line)}
.ligne:last-child{border-bottom:0}
.ligne:hover{background:rgba(255,255,255,.02)}
.ligne .grandit{flex:1;min-width:0}
.ligne h3{font-size:.92rem}
.ligne h3 a{color:var(--txt)}
.ligne h3 a:hover{color:var(--gold-pale)}
.ligne .meta{font-size:.72rem;color:var(--txt-faded)}
.compteur{min-width:56px;text-align:center;color:var(--txt-dim);font-size:.78rem}
.compteur b{display:block;color:var(--cyan);font-size:1rem}

/* ── Vote (boîte à idées) ── */
.vote{min-width:58px;text-align:center}
.vote button{width:54px;border:1px solid rgba(91,192,235,.4);background:rgba(91,192,235,.06);
  color:var(--cyan);border-radius:8px;padding:.35rem 0;cursor:pointer;font-size:.72rem}
.vote button.vote-actif{border-color:var(--gold);color:var(--gold);background:rgba(255,204,46,.1)}
.vote button b{display:block;font-size:1rem}

/* ── Galerie ── */
.grille-medias{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.media-carte{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.media-carte .visuel{aspect-ratio:16/9;background:#060b18 center/cover no-repeat;display:flex;
  align-items:center;justify-content:center;color:var(--txt-faded);font-size:.72rem;letter-spacing:.2em}
.media-carte .infos{padding:.6rem .75rem;font-size:.78rem;color:var(--txt-dim)}
.media-carte .infos b{color:var(--txt);display:block;font-size:.85rem}

/* ── Forum ── */
.msg{display:flex;gap:1rem;padding:1rem 1.05rem;border-bottom:1px solid var(--line)}
.msg:last-child{border-bottom:0}
.msg .avatar{min-width:110px;text-align:center}
.msg .avatar .rond{width:44px;height:44px;margin:0 auto .35rem;border-radius:50%;
  border:1px solid rgba(91,192,235,.5);display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,rgba(91,192,235,.25),rgba(26,120,217,.08));
  color:var(--cyan);font-weight:800;font-size:1.05rem}
.msg .avatar .nom{font-size:.8rem;color:var(--gold-pale);word-break:break-word}
.msg .avatar .rang{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faded)}
.msg .corps{flex:1;min-width:0;font-size:.89rem;color:var(--txt-dim)}
.msg .corps .quand{font-size:.68rem;color:var(--txt-faded);margin-bottom:.35rem}
.msg.staff .avatar .rond{border-color:var(--gold);color:var(--gold)}
.msg.masque{opacity:.45}
.corps h2,.corps h3{color:var(--txt);margin:.6rem 0 .25rem}
.corps ul{margin:.3rem 0 .3rem 1.2rem}
.corps code{background:rgba(255,255,255,.07);padding:.05rem .35rem;border-radius:4px;font-size:.85em}

/* ── Roadmap ── */
.roadmap-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.roadmap-col h2{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:.7rem;
  padding-bottom:.4rem;border-bottom:2px solid var(--col,#5BC0EB);color:var(--col,#5BC0EB)}
.roadmap-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:.8rem .95rem;margin-bottom:.7rem}
.roadmap-item h3{font-size:.9rem;margin-bottom:.2rem}
.roadmap-item p{font-size:.78rem;color:var(--txt-dim)}
.roadmap-item .jalon{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-faded)}

/* ── Wiki ── */
.wiki-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.wiki-cat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}
.wiki-cat h2{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:.5rem}
.wiki-cat a{display:block;padding:.3rem 0;font-size:.86rem;color:var(--txt-dim);border-bottom:1px dashed var(--line)}
.wiki-cat a:last-child{border-bottom:0}
.wiki-cat a:hover{color:var(--gold-pale)}
.article{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:clamp(1.2rem,3vw,2rem);font-size:.93rem;color:var(--txt-dim)}
.article h1,.article h2,.article h3{color:var(--txt);margin:1rem 0 .4rem}
.article img{max-width:100%;border-radius:8px}

/* ── Onglets filtres ── */
.filtres{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.1rem}
.filtres a{padding:.34rem .85rem;border-radius:99px;border:1px solid var(--line);
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim)}
.filtres a.actif{border-color:var(--gold);color:var(--gold);background:rgba(255,204,46,.07)}

/* ── Admin ── */
.cartes-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.4rem}
.carte-stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;text-align:center}
.carte-stat b{font-size:1.5rem;color:var(--gold)}
.carte-stat span{display:block;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-faded)}
.tab{width:100%;border-collapse:collapse;font-size:.83rem}
.tab th{color:var(--txt-faded);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.tab td{padding:.55rem .6rem;border-bottom:1px solid var(--line);color:var(--txt-dim)}
.form-inline{display:inline-flex;gap:.4rem;align-items:center}

footer{position:relative;z-index:1;border-top:1px solid var(--line);text-align:center;
  padding:2rem 1.4rem 2.4rem;color:var(--txt-faded);font-size:.76rem;background:rgba(2,4,9,.85)}
footer .flien{display:flex;gap:1.4rem;justify-content:center;margin-bottom:.9rem;flex-wrap:wrap}
footer a{color:var(--txt-dim)}

@media (max-width:860px){
  .nav-liens{display:none}
  .burger{display:flex}
  .menu-mobile{display:flex;flex-direction:column;position:fixed;inset:0 0 auto 0;z-index:49;
    background:rgba(2,4,9,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
    padding:4.4rem 1.4rem 1.4rem;transform:translateY(-100%);opacity:0;pointer-events:none;
    transition:transform .32s,opacity .32s}
  .menu-mobile.open{transform:none;opacity:1;pointer-events:auto}
  .menu-mobile a{padding:.75rem .3rem;border-bottom:1px solid var(--line);color:var(--txt-dim);
    font-size:.9rem;letter-spacing:.13em;text-transform:uppercase}
  .msg{flex-direction:column}
  .msg .avatar{display:flex;gap:.7rem;align-items:center;min-width:0;text-align:left}
  .msg .avatar .rond{margin:0}
}

/* ── Tableaux (wiki) ── */
.table-defile{overflow-x:auto;margin:.7rem 0 1rem}
.article table{border-collapse:collapse;width:100%;font-size:.82rem}
.article th{color:var(--gold-pale);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  text-align:left;padding:.5rem .65rem;border-bottom:2px solid rgba(255,204,46,.35);white-space:nowrap}
.article td{padding:.42rem .65rem;border-bottom:1px solid var(--line);color:var(--txt-dim)}
.article tr:hover td{background:rgba(255,255,255,.025)}

/* ── Page SYSTÈMES ── */
.sys-blocs{display:flex;flex-direction:column;gap:1.1rem}
.sys-bloc{display:flex;gap:1.4rem;align-items:flex-start;background:var(--panel);
  border:1px solid var(--line);border-left:3px solid var(--accent,#FFCC2E);
  border-radius:13px;padding:1.5rem 1.6rem;transition:transform .2s,border-color .2s}
.sys-bloc:hover{transform:translateX(5px)}
.sys-bloc .sys-num{font-size:1.9rem;font-weight:800;color:var(--accent,#FFCC2E);
  opacity:.9;min-width:56px;text-align:center;text-shadow:0 0 16px color-mix(in srgb,var(--accent,#FFCC2E) 50%,transparent)}
.sys-bloc h2{font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem}
.sys-bloc p{font-size:.89rem;color:var(--txt-dim);margin-bottom:.8rem}
.sys-bloc b{color:var(--txt)}
@media (max-width:640px){.sys-bloc{flex-direction:column;gap:.5rem}.sys-bloc:hover{transform:none}}

/* ── Hub SUPPORT ── */
.support-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem;max-width:860px;margin:0 auto}
.support-carte{display:block;background:var(--panel);border:1px solid var(--line);
  border-top:3px solid var(--accent,#FFCC2E);border-radius:14px;padding:1.8rem 1.6rem;
  text-align:center;color:var(--txt);transition:transform .2s,border-color .2s,box-shadow .2s}
.support-carte:hover{transform:translateY(-5px);color:var(--txt);
  box-shadow:0 16px 40px rgba(0,0,0,.5);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.support-carte .ic{font-size:2.2rem;margin-bottom:.7rem}
.support-carte h2{font-size:1.02rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.55rem}
.support-carte p{font-size:.85rem;color:var(--txt-dim);margin-bottom:1.1rem}

/* ══════════════════════════════════════════════════════════════════
   COUCHE « AAA » — typographie du jeu, héros cinématique, données
   ══════════════════════════════════════════════════════════════════ */
body{font-family:"Exo 2","Segoe UI",system-ui,sans-serif}
h1,h2,h3,.logo b,.btn,.chapeau,.panneau-titre h2,.bande-stats .st b,.compteur b{
  font-family:"Oxanium","Exo 2",sans-serif}

/* Pleine largeur (sort du conteneur central) */
.pleine{width:100vw;margin-left:calc(50% - 50vw)}

/* ── HÉROS CINÉMATIQUE ── */
.hero-aaa{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;margin-top:-1.6rem;margin-bottom:0;
  background:#03050D url('/static/img/accueil/hero_flotte.jpg') center 30%/cover no-repeat}
.hero-aaa::before{content:"";position:absolute;inset:0;
  background:radial-gradient(85% 70% at 50% 45%,rgba(2,4,9,0) 0%,rgba(2,4,9,.55) 70%,rgba(2,4,9,.92) 100%),
             linear-gradient(180deg,rgba(2,4,9,.55),rgba(2,4,9,.05) 30%,rgba(2,4,9,.1) 70%,var(--bg) 100%)}
.hero-aaa .dedans{position:relative;z-index:2;padding:6rem 1.2rem 4rem;max-width:900px}
.hero-aaa h1{font-size:clamp(2.8rem,8vw,6rem);font-weight:800;letter-spacing:clamp(.06em,1.2vw,.14em);
  line-height:1.02;
  background:linear-gradient(180deg,#FFFFFF 15%,#FFE89E 55%,#FFB92E 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 30px rgba(255,204,46,.35)) drop-shadow(0 0 80px rgba(255,170,40,.2))}
.hero-aaa .slogan{color:#cfd9ea;letter-spacing:.34em;text-transform:uppercase;
  font-size:clamp(.72rem,1.5vw,.95rem);margin:1rem 0 2.2rem;text-shadow:0 1px 12px rgba(0,0,0,.8)}
.hero-aaa .slogan b{color:var(--cyan)}
.hero-aaa .note{margin-top:1.1rem;font-size:.76rem;color:rgba(245,246,248,.66);letter-spacing:.06em;
  text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero-aaa .defile{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;
  color:rgba(255,232,158,.75);font-size:1.5rem;animation:flotte 2.2s ease-in-out infinite}
@keyframes flotte{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}

/* Bouton AAA : lueur pulsée + balayage lumineux au survol */
.btn-gold{position:relative;overflow:hidden;animation:pulse-or 3s ease-in-out infinite}
@keyframes pulse-or{0%,100%{box-shadow:0 0 18px rgba(255,204,46,.28),inset 0 1px 0 rgba(255,255,255,.5)}
  50%{box-shadow:0 0 34px rgba(255,204,46,.5),inset 0 1px 0 rgba(255,255,255,.5)}}
.btn-gold::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .5s}
.btn-gold:hover::after{left:130%}

/* ── Bandes de section (fonds nébuleuse) ── */
.bande{position:relative;padding:clamp(3rem,7vw,5rem) 0;margin:2.5rem 0}
.bande .dedans{max-width:1180px;margin:0 auto;padding:0 clamp(.9rem,3vw,2rem)}
.bande-n1{background:linear-gradient(180deg,var(--bg) 0%,rgba(2,4,9,.72) 18%,rgba(2,4,9,.72) 82%,var(--bg) 100%),
  url('/static/img/nebuleuse1.jpg') center/cover fixed}
.bande-n2{background:linear-gradient(180deg,var(--bg) 0%,rgba(2,4,9,.7) 18%,rgba(2,4,9,.7) 82%,var(--bg) 100%),
  url('/static/img/nebuleuse2.jpg') center/cover fixed}
@media (max-width:900px){.bande-n1,.bande-n2{background-attachment:scroll}}

/* ── Puces de valeurs (chiffres du jeu visibles partout) ── */
.puces{display:flex;gap:.55rem;flex-wrap:wrap;margin:.6rem 0}
.puce{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:86px;padding:.5rem .8rem;border-radius:9px;
  background:rgba(8,14,32,.75);border:1px solid var(--line);backdrop-filter:blur(6px)}
.puce b{font-family:"Oxanium",sans-serif;font-size:1.05rem;color:var(--gold);line-height:1.1}
.puce span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-faded)}
.puce.cyan b{color:var(--cyan)}.puce.rouge b{color:var(--red)}
.puce.vert b{color:var(--green)}.puce.violet b{color:var(--purple)}

/* ── Cartes ZONE avec données réelles ── */
.zcartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1rem}
.zcarte{position:relative;background:linear-gradient(180deg,rgba(8,14,32,.9),rgba(5,10,24,.85));
  border:1px solid var(--line);border-top:3px solid var(--zc);border-radius:13px;
  padding:1.15rem 1.05rem 1rem;overflow:hidden;transition:transform .22s,box-shadow .22s}
.zcarte::before{content:"";position:absolute;inset:0;
  background:radial-gradient(80% 55% at 50% 0%,color-mix(in srgb,var(--zc) 14%,transparent),transparent 70%);
  pointer-events:none}
.zcarte:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(0,0,0,.55)}
.zcarte .niv{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--txt-faded)}
.zcarte h3{font-family:"Oxanium",sans-serif;font-size:1.15rem;letter-spacing:.12em;color:var(--zc);margin:.2rem 0 .55rem}
.zcarte .ligne-z{display:flex;justify-content:space-between;font-size:.76rem;color:var(--txt-dim);
  padding:.26rem 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.zcarte .ligne-z:last-child{border-bottom:0}
.zcarte .ligne-z b{color:var(--txt);font-weight:600}
.zcarte .jauge{height:4px;border-radius:2px;background:rgba(255,255,255,.08);margin:.55rem 0 .2rem;overflow:hidden}
.zcarte .jauge i{display:block;height:100%;width:var(--w);background:var(--zc);box-shadow:0 0 10px var(--zc)}

/* ── Bestiaire ── */
.bcartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:1rem}
.bcarte{background:linear-gradient(180deg,rgba(8,14,32,.92),rgba(5,10,24,.88));
  border:1px solid var(--line);border-radius:13px;overflow:hidden;
  transition:transform .22s,border-color .22s}
.bcarte:hover{transform:translateY(-6px);border-color:rgba(224,112,112,.45)}
.bcarte .haut{padding:.85rem 1rem .5rem;display:flex;justify-content:space-between;align-items:baseline}
.bcarte .haut h3{font-family:"Oxanium",sans-serif;font-size:.98rem;letter-spacing:.05em}
.bcarte .haut .z{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--zone,#5BC0EB)}
.bcarte .stats{padding:.2rem 1rem .9rem}
.bcarte .s{display:flex;justify-content:space-between;align-items:center;font-size:.74rem;
  color:var(--txt-faded);padding:.2rem 0}
.bcarte .s b{color:var(--txt-dim);font-weight:600}
.bcarte .barre-s{height:3px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:2px}
.bcarte .barre-s i{display:block;height:100%;width:var(--w);border-radius:2px}
.bcarte.ultra{border-color:rgba(187,138,230,.4)}
.bcarte.ultra .haut h3{color:var(--purple)}
.bcarte .img-npc{aspect-ratio:16/8;background:#0a0f1e center/cover no-repeat;border-bottom:1px solid var(--line)}

/* ── Vitrine vaisseaux ── */
.vcartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.vcarte{position:relative;border:1px solid var(--line);border-radius:15px;overflow:hidden;
  background:linear-gradient(180deg,#0a1122,#060b18);transition:transform .25s,box-shadow .25s}
.vcarte:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.55)}
.vcarte .visu{height:210px;background:center 22%/cover no-repeat;position:relative}
.vcarte .visu::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(6,11,24,.95) 100%)}
.vcarte .infos{padding:.9rem 1.1rem 1.1rem;position:relative;margin-top:-2.4rem;z-index:2}
.vcarte h3{font-family:"Oxanium",sans-serif;font-size:1.2rem;letter-spacing:.1em}
.vcarte .classe{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.vcarte .puces{margin-top:.6rem}
.vcarte .puce{min-width:70px;padding:.4rem .6rem;background:rgba(2,6,16,.7)}

/* Mini-cartes des 8 vaisseaux (page Systèmes) */
.vgrille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem}
.vmini{background:rgba(8,14,32,.8);border:1px solid var(--line);border-radius:11px;padding:.9rem 1rem}
.vmini h4{font-family:"Oxanium",sans-serif;font-size:.98rem;letter-spacing:.06em}
.vmini .cl{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:.4rem}
.vmini .l{display:flex;justify-content:space-between;font-size:.73rem;color:var(--txt-faded);padding:.14rem 0}
.vmini .l b{color:var(--txt-dim)}

/* ── Tableaux de données (hors wiki aussi) ── */
.table-defile{overflow-x:auto;margin:.7rem 0 1rem;border:1px solid var(--line);border-radius:10px}
.table-defile table{border-collapse:collapse;width:100%;font-size:.8rem;min-width:520px}
.table-defile th{font-family:"Oxanium",sans-serif;color:var(--gold-pale);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;text-align:left;padding:.55rem .7rem;white-space:nowrap;
  background:rgba(26,120,217,.12);border-bottom:1px solid rgba(255,204,46,.25)}
.table-defile td{padding:.42rem .7rem;border-bottom:1px solid var(--line);color:var(--txt-dim)}
.table-defile tr:last-child td{border-bottom:0}
.table-defile tr:hover td{background:rgba(255,255,255,.03)}

/* ── Sections Systèmes v2 (données incluses) ── */
.sys2{position:relative;background:linear-gradient(180deg,rgba(8,14,32,.85),rgba(5,10,24,.8));
  border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,3.5vw,2.2rem);
  margin-bottom:1.6rem;overflow:hidden}
.sys2::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--accent,#FFCC2E),transparent 85%)}
.sys2 .entete-sys{display:flex;align-items:baseline;gap:1rem;margin-bottom:.7rem}
.sys2 .grand-num{font-family:"Oxanium",sans-serif;font-size:2.6rem;font-weight:800;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--accent,#FFCC2E);opacity:.85}
.sys2 h2{font-family:"Oxanium",sans-serif;font-size:clamp(1.15rem,2.6vw,1.6rem);letter-spacing:.08em;text-transform:uppercase}
.sys2 .desc{font-size:.92rem;color:var(--txt-dim);max-width:900px;margin-bottom:.9rem}
.sys2 .desc b{color:var(--txt)}
.sys2 h3.pt{font-family:"Oxanium",sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent,#FFCC2E);margin:1.1rem 0 .5rem}

/* Apparitions au défilement */
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rev.vu{opacity:1;transform:none}
.rev.d1{transition-delay:.07s}.rev.d2{transition-delay:.14s}.rev.d3{transition-delay:.21s}
.rev.d4{transition-delay:.28s}.rev.d5{transition-delay:.35s}

/* Nav : soulignement lumineux */
.nav-liens a{position:relative;padding:.3rem 0}
.nav-liens a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);transition:right .25s}
.nav-liens a:hover::after{right:0}

/* ══════════════════════════════════════════════════════════════════════════
   COUCHE 2026 — refonte visuelle (elle prime sur la base ci-dessus)
   ══════════════════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════════════════
   ASTRELIA HORIZONS — feuille de style du site
   Sobre, sci-fi, sans surcharge. Deux familles : Oxanium pour les titres et
   l'interface, Exo 2 pour le texte courant. Une seule couleur d'accent chaude
   (l'or de la marque) et une froide (le bleu des nebuleuses du jeu).
   ══════════════════════════════════════════════════════════════════════════ */
:root{
  --fond:#05070d; --fond-2:#080b14; --fond-3:#0b0f1a;
  --plaque:rgba(255,255,255,.028); --plaque-fort:rgba(255,255,255,.055);
  --bord:rgba(139,170,214,.13); --bord-fort:rgba(139,170,214,.26);
  --txt:#dfe6f2; --txt-doux:#9aa8bf; --txt-faible:#6b7893;
  --or:#e2b25c; --or-clair:#f2cd85; --bleu:#5ba8e8; --bleu-clair:#8cc9f7;
  --rouge:#ff8478; --vert:#6ad39a; --violet:#b56cff;
  --r:10px; --r-l:16px;
  --ombre:0 18px 48px rgba(0,0,0,.55);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--fond); color:var(--txt);
  font:400 16px/1.72 'Exo 2',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:var(--bleu-clair); text-decoration:none; transition:color .18s}
a:hover{color:var(--or-clair)}
h1,h2,h3,h4{font-family:'Oxanium',sans-serif; font-weight:700; line-height:1.18; margin:0 0 .6em; letter-spacing:.01em}
h1{font-size:clamp(2rem,4.4vw,3.4rem); letter-spacing:.02em}
h2{font-size:clamp(1.45rem,2.4vw,2.05rem)}
h3{font-size:1.16rem}
p{margin:0 0 1.05em}
code{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.9em; background:rgba(255,255,255,.06); padding:.12em .42em; border-radius:5px; color:var(--bleu-clair)}

/* ── barre de navigation ───────────────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:2rem;
  padding:.85rem clamp(1rem,4vw,2.4rem);
  background:rgba(5,7,13,.78); backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--bord);
}
.nav-logo{display:flex; align-items:center; gap:.7rem; font-family:'Oxanium',sans-serif; font-weight:800; letter-spacing:.16em; font-size:.94rem; color:var(--txt)}
.nav-logo img{height:30px; width:auto}
.nav-logo span{color:var(--or)}
.nav-liens{display:flex; gap:.3rem; margin-left:auto}
.nav-liens a{
  font-family:'Oxanium',sans-serif; font-weight:600; font-size:.83rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--txt-doux); padding:.55rem .95rem; border-radius:7px;
  position:relative; transition:color .18s,background .18s;
}
.nav-liens a:hover{color:var(--txt); background:var(--plaque)}
.nav-liens a.actif{color:var(--or)}
.nav-liens a.actif::after{content:""; position:absolute; left:.95rem; right:.95rem; bottom:.22rem; height:1.5px; background:var(--or); border-radius:2px}
.nav-droite{display:flex; align-items:center; gap:.7rem}

/* ── boutons ───────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:'Oxanium',sans-serif; font-weight:700; font-size:.86rem; letter-spacing:.11em;
  text-transform:uppercase; padding:.72rem 1.5rem; border-radius:8px; border:1px solid transparent;
  cursor:pointer; transition:transform .16s,box-shadow .2s,background .2s,border-color .2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-or{background:linear-gradient(135deg,#f0c877,#d9a747); color:#20180a; box-shadow:0 6px 22px rgba(226,178,92,.26)}
.btn-or:hover{box-shadow:0 10px 30px rgba(226,178,92,.38); color:#20180a}
.btn-fantome{background:transparent; color:var(--txt-doux); border-color:var(--bord-fort)}
.btn-fantome:hover{color:var(--txt); border-color:var(--or); background:var(--plaque)}
.btn-sm{padding:.5rem 1rem; font-size:.76rem}
.btn-xl{padding:1.05rem 2.6rem; font-size:1rem}

/* ── bandeau d'accueil ─────────────────────────────────────────────────── */
.hero{position:relative; min-height:min(92vh,880px); display:flex; align-items:center; overflow:hidden}
.hero-fond{position:absolute; inset:0; background:url('/static/img/accueil/hero_flotte.jpg') center/cover no-repeat; transform:scale(1.04)}
.hero-voile{position:absolute; inset:0; background:
  linear-gradient(90deg,rgba(5,7,13,.94) 0%,rgba(5,7,13,.72) 34%,rgba(5,7,13,.12) 62%,rgba(5,7,13,.45) 100%),
  linear-gradient(0deg,var(--fond) 2%,transparent 34%)}
.hero-dedans{position:relative; width:100%; max-width:var(--max); margin:0 auto; padding:0 clamp(1rem,4vw,2.4rem)}
.hero-sur{font-family:'Oxanium',sans-serif; font-size:.8rem; letter-spacing:.42em; text-transform:uppercase; color:var(--or); margin-bottom:1.1rem}
.hero h1{max-width:15ch; margin-bottom:1.1rem; text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hero p{max-width:46ch; color:var(--txt-doux); font-size:1.09rem; margin-bottom:2rem}
.hero-actions{display:flex; gap:1rem; flex-wrap:wrap; align-items:center}
.hero-note{font-size:.84rem; color:var(--txt-faible); margin-top:1.4rem; letter-spacing:.04em}
.defile{position:absolute; left:50%; bottom:1.6rem; transform:translateX(-50%); color:var(--txt-faible); font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; font-family:'Oxanium',sans-serif; animation:flotte 2.6s ease-in-out infinite}
@keyframes flotte{0%,100%{transform:translate(-50%,0);opacity:.55}50%{transform:translate(-50%,7px);opacity:1}}

/* ── sections ──────────────────────────────────────────────────────────── */
main{min-height:60vh}
.section{max-width:var(--max); margin:0 auto; padding:clamp(3.4rem,7vw,6rem) clamp(1rem,4vw,2.4rem)}
.section-large{max-width:none; padding-left:0; padding-right:0}
.oeil{font-family:'Oxanium',sans-serif; font-size:.76rem; letter-spacing:.34em; text-transform:uppercase; color:var(--or); margin-bottom:.9rem}
.chapo{color:var(--txt-doux); max-width:62ch; font-size:1.04rem}

.grille{display:grid; gap:1.4rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

.carte{
  background:linear-gradient(180deg,var(--plaque),rgba(255,255,255,.012));
  border:1px solid var(--bord); border-radius:var(--r-l); padding:1.7rem;
  transition:border-color .22s,transform .22s,box-shadow .22s;
}
.carte:hover{border-color:var(--bord-fort); transform:translateY(-3px); box-shadow:var(--ombre)}
.carte h3{margin-bottom:.5rem}
.carte p{color:var(--txt-doux); font-size:.96rem; margin:0}
.carte-ico{width:42px; height:42px; margin-bottom:1rem; opacity:.9}

.galerie-bande{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem}
.galerie-bande figure{margin:0; border-radius:var(--r-l); overflow:hidden; border:1px solid var(--bord); position:relative}
.galerie-bande img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.galerie-bande figure:hover img{transform:scale(1.04)}
.galerie-bande figcaption{position:absolute; left:0; right:0; bottom:0; padding:1.5rem 1.1rem .9rem;
  background:linear-gradient(0deg,rgba(4,6,12,.92),transparent); font-family:'Oxanium',sans-serif;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-doux)}

/* ── wiki ──────────────────────────────────────────────────────────────── */
.wiki{display:grid; grid-template-columns:286px minmax(0,1fr); gap:0; max-width:1480px; margin:0 auto; align-items:start}
.wiki-cote{
  position:sticky; top:57px; height:calc(100vh - 57px); overflow-y:auto;
  border-right:1px solid var(--bord); padding:1.8rem 1rem 4rem 1.4rem;
  scrollbar-width:thin; scrollbar-color:rgba(139,170,214,.2) transparent;
}
.wiki-cote::-webkit-scrollbar{width:7px}
.wiki-cote::-webkit-scrollbar-thumb{background:rgba(139,170,214,.18); border-radius:4px}
.wiki-rech{width:100%; background:var(--fond-3); border:1px solid var(--bord); color:var(--txt);
  border-radius:8px; padding:.6rem .8rem; font:inherit; font-size:.9rem; margin-bottom:1.3rem}
.wiki-rech:focus{outline:none; border-color:var(--or)}
.wiki-cote details{margin-bottom:.15rem}
.wiki-cote summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  font-family:'Oxanium',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--txt); padding:.58rem .7rem; border-radius:7px; transition:background .16s
}
.wiki-cote summary::-webkit-details-marker{display:none}
.wiki-cote summary:hover{background:var(--plaque)}
.wiki-cote summary::after{content:"›"; transform:rotate(90deg); transition:transform .2s; color:var(--txt-faible); font-size:1.1rem}
.wiki-cote details[open]>summary::after{transform:rotate(-90deg)}
.wiki-cote .sous{padding:.15rem 0 .5rem .85rem; margin-left:.55rem; border-left:1px solid var(--bord)}
.wiki-cote .sous a{display:block; padding:.42rem .7rem; border-radius:6px; font-size:.91rem; color:var(--txt-doux)}
.wiki-cote .sous a:hover{background:var(--plaque); color:var(--txt)}
.wiki-cote .sous a.actif{background:rgba(226,178,92,.12); color:var(--or); font-weight:600}
.wiki-cote>a.seul{display:block; padding:.58rem .7rem; border-radius:7px; font-family:'Oxanium',sans-serif;
  font-weight:700; font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:var(--txt)}
.wiki-cote>a.seul:hover{background:var(--plaque)}
.wiki-cote>a.seul.actif{background:rgba(226,178,92,.12); color:var(--or)}

.wiki-corps{padding:2.6rem clamp(1.2rem,3.4vw,3.4rem) 6rem; min-width:0}
.fil{font-size:.82rem; color:var(--txt-faible); letter-spacing:.1em; text-transform:uppercase;
  font-family:'Oxanium',sans-serif; margin-bottom:.8rem}
.article{max-width:none}
.article h2{margin-top:2.6rem; padding-bottom:.5rem; border-bottom:1px solid var(--bord)}
.article h3{margin-top:1.9rem; color:var(--bleu-clair)}
.article ul,.article ol{padding-left:1.3rem; color:var(--txt-doux)}
.article li{margin-bottom:.42rem}
.article table{width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:.93rem; display:block; overflow-x:auto}
.article thead th{
  background:rgba(139,170,214,.07); font-family:'Oxanium',sans-serif; font-weight:700; font-size:.76rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--txt-doux); text-align:left;
  padding:.72rem .9rem; border-bottom:1px solid var(--bord-fort); white-space:nowrap
}
.article tbody td{padding:.66rem .9rem; border-bottom:1px solid rgba(139,170,214,.07); vertical-align:middle}
.article tbody tr:hover td{background:rgba(255,255,255,.02)}
.article tbody td img{display:inline-block; vertical-align:middle}
.article blockquote{margin:1.5rem 0; padding:1rem 1.3rem; border-left:2px solid var(--or);
  background:rgba(226,178,92,.05); border-radius:0 8px 8px 0; color:var(--txt-doux)}
.article blockquote p:last-child{margin:0}
.article img{border-radius:8px}
.article hr{border:none; border-top:1px solid var(--bord); margin:2.4rem 0}

.fiche{display:flex; gap:1.3rem; align-items:flex-start; background:var(--plaque); border:1px solid var(--bord);
  border-radius:var(--r-l); padding:1.2rem; margin:1.1rem 0}
.fiche img{width:120px; flex:0 0 120px; border-radius:10px; background:rgba(0,0,0,.3)}
.fiche-txt{min-width:0}
.fiche-txt h3{margin:0 0 .3rem}
.fiche-txt p{margin:0 0 .5rem; color:var(--txt-doux); font-size:.95rem}

.puces{display:flex; flex-wrap:wrap; gap:.45rem; margin:.6rem 0 0}
.puce{font-family:'Oxanium',sans-serif; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  padding:.24rem .62rem; border-radius:20px; border:1px solid var(--bord-fort); color:var(--txt-doux)}
.puce.or{color:var(--or); border-color:rgba(226,178,92,.4); background:rgba(226,178,92,.08)}
.puce.bleu{color:var(--bleu-clair); border-color:rgba(91,168,232,.4); background:rgba(91,168,232,.08)}
.puce.violet{color:var(--violet); border-color:rgba(181,108,255,.4); background:rgba(181,108,255,.08)}
.puce.vert{color:var(--vert); border-color:rgba(106,211,154,.4); background:rgba(106,211,154,.08)}
.puce.rouge{color:var(--rouge); border-color:rgba(255,132,120,.4); background:rgba(255,132,120,.08)}

/* ── listes d'actualites / tickets ─────────────────────────────────────── */
.liste{display:flex; flex-direction:column; gap:.75rem}
.ligne{display:flex; gap:1.1rem; align-items:center; background:var(--plaque); border:1px solid var(--bord);
  border-radius:var(--r); padding:1rem 1.2rem; transition:border-color .2s,background .2s}
.ligne:hover{border-color:var(--bord-fort); background:var(--plaque-fort)}
.ligne .grandit{flex:1; min-width:0}
.meta{font-size:.82rem; color:var(--txt-faible)}

.onglets{display:flex; gap:.4rem; border-bottom:1px solid var(--bord); margin-bottom:2rem; flex-wrap:wrap}
.onglets a{font-family:'Oxanium',sans-serif; font-weight:600; font-size:.83rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--txt-doux); padding:.8rem 1.1rem; border-bottom:2px solid transparent}
.onglets a:hover{color:var(--txt)}
.onglets a.actif{color:var(--or); border-bottom-color:var(--or)}

/* ── pied de page ──────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--bord); background:var(--fond-2); margin-top:4rem}
.pied{max-width:var(--max); margin:0 auto; padding:3rem clamp(1rem,4vw,2.4rem) 2rem;
  display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2.4rem}
.pied h4{font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:var(--txt-faible); margin-bottom:1rem}
.pied a{display:block; color:var(--txt-doux); font-size:.92rem; padding:.2rem 0}
.pied-bas{max-width:var(--max); margin:0 auto; padding:1.3rem clamp(1rem,4vw,2.4rem) 2.4rem;
  border-top:1px solid var(--bord); font-size:.82rem; color:var(--txt-faible); display:flex;
  justify-content:space-between; gap:1rem; flex-wrap:wrap}

.champ{width:100%; background:var(--fond-3); border:1px solid var(--bord); color:var(--txt);
  border-radius:8px; padding:.7rem .9rem; font:inherit; margin-bottom:.9rem}
.champ:focus{outline:none; border-color:var(--or)}

.langues{position:relative}
.langues summary{list-style:none; cursor:pointer; padding:.5rem .8rem; border-radius:7px; border:1px solid var(--bord);
  font-family:'Oxanium',sans-serif; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--txt-doux)}
.langues summary::-webkit-details-marker{display:none}
.langues summary:hover{border-color:var(--bord-fort); color:var(--txt)}
.langues-menu{position:absolute; right:0; top:calc(100% + .5rem); background:var(--fond-3); border:1px solid var(--bord-fort);
  border-radius:10px; padding:.4rem; min-width:190px; box-shadow:var(--ombre); z-index:80}
.langues-menu a{display:block; padding:.46rem .7rem; border-radius:6px; font-size:.9rem; color:var(--txt-doux)}
.langues-menu a:hover{background:var(--plaque); color:var(--txt)}

.burger{display:none; background:none; border:none; cursor:pointer; padding:.5rem; flex-direction:column; gap:4px}
.burger span{width:21px; height:2px; background:var(--txt-doux); border-radius:2px; display:block}
.menu-mobile{display:none; flex-direction:column; padding:1rem clamp(1rem,4vw,2.4rem) 1.6rem;
  background:var(--fond-2); border-bottom:1px solid var(--bord)}
.menu-mobile a{padding:.7rem 0; font-family:'Oxanium',sans-serif; letter-spacing:.12em; text-transform:uppercase; font-size:.85rem}
.menu-mobile.ouvert{display:flex}

@media(max-width:1080px){
  .wiki{grid-template-columns:1fr}
  .wiki-cote{position:static; height:auto; border-right:none; border-bottom:1px solid var(--bord)}
}
@media(max-width:880px){
  .nav-liens{display:none}
  .burger{display:flex}
  .pied{grid-template-columns:1fr 1fr}
  .hero{min-height:78vh}
}

/* ══════════════════════════════════════════════════════════════════════════
   RENDU DES PAGES (wiki, news, legal) — balisage produit par rendu_md.py
   ══════════════════════════════════════════════════════════════════════════ */
.article{font-size:1.005rem}
.article>p{color:var(--txt-doux)}
.article h1{margin-bottom:1.2rem}
.article h4{margin:1.5rem 0 .5rem; font-size:1rem; color:var(--txt)}
.article hr{border:none; border-top:1px solid var(--bord); margin:2.6rem 0}

/* titres ancrables */
.article h2,.article h3{scroll-margin-top:5.5rem; position:relative}
.article h2::before{
  content:""; position:absolute; left:-1.1rem; top:.34em; width:3px; height:.82em;
  background:var(--or); border-radius:2px; opacity:.85;
}

/* table des matieres de la page */
.md-toc{
  display:flex; flex-wrap:wrap; gap:.3rem .5rem; align-items:center;
  margin:0 0 2.4rem; padding:.85rem 1.1rem; border:1px solid var(--bord);
  border-radius:var(--r); background:var(--plaque);
}
.md-toc span{
  font-family:'Oxanium',sans-serif; font-size:.68rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--txt-faible); margin-right:.5rem;
}
.md-toc a{font-size:.86rem; color:var(--txt-doux); padding:.18rem .55rem; border-radius:6px}
.md-toc a:hover{background:var(--plaque-fort); color:var(--or-clair)}

/* tableaux */
.md-table{margin:1.5rem 0; overflow-x:auto; border:1px solid var(--bord); border-radius:var(--r)}
.md-table::-webkit-scrollbar{height:8px}
.md-table::-webkit-scrollbar-thumb{background:rgba(139,170,214,.2); border-radius:4px}
.md-table table{width:100%; border-collapse:collapse; font-size:.9rem; margin:0; display:table}
.md-table th{
  font-family:'Oxanium',sans-serif; font-weight:700; font-size:.72rem; letter-spacing:.11em;
  text-transform:uppercase; color:var(--or); text-align:left; white-space:nowrap;
  padding:.72rem .9rem; background:rgba(226,178,92,.055);
  border-bottom:1px solid var(--bord-fort); position:sticky; top:0;
}
.md-table td{padding:.62rem .9rem; border-bottom:1px solid rgba(139,170,214,.07); vertical-align:middle; color:var(--txt-doux)}
.md-table tr:last-child td{border-bottom:none}
.md-table tr:hover td{background:rgba(255,255,255,.022)}
.md-table td strong{color:var(--txt); font-weight:600}
.md-table th:first-child{width:1px}

/* icone en ligne */
.md-ico{
  width:26px; height:26px; object-fit:contain; display:inline-block; vertical-align:middle;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));
}

/* figures */
.md-fig{margin:1.8rem 0; border:1px solid var(--bord); border-radius:var(--r-l); overflow:hidden; background:var(--fond-2)}
.md-fig img{width:100%; height:auto; object-fit:contain}
.md-fig figcaption{
  padding:.62rem .95rem; font-size:.82rem; color:var(--txt-faible);
  border-top:1px solid var(--bord); background:rgba(0,0,0,.25); letter-spacing:.02em;
}

/* grilles d'images */
.md-gal{display:grid; gap:.9rem; margin:1.8rem 0}
.md-gal .md-fig{margin:0; display:flex; flex-direction:column}
.md-gal .md-fig img{
  aspect-ratio:1/1; object-fit:contain; padding:.7rem;
  background:radial-gradient(circle at 50% 42%,rgba(91,168,232,.09),transparent 68%);
}
.md-gal figcaption{flex:1; font-size:.78rem; text-align:center; padding:.5rem .55rem}
.md-gal-1{grid-template-columns:1fr}
.md-gal-2{grid-template-columns:repeat(2,1fr)}
.md-gal-3{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.md-gal-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.md-gal-5{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.md-gal-6{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
/* les fonds de carte et la carte galactique gardent leur cadrage */
.article>.md-fig img{aspect-ratio:auto; padding:0; background:none}

/* encarts */
.md-encart{
  margin:2rem 0; padding:1.15rem 1.35rem 1.15rem 1.55rem; border-radius:var(--r);
  background:linear-gradient(100deg,rgba(226,178,92,.085),rgba(226,178,92,.02));
  border:1px solid rgba(226,178,92,.26); position:relative;
}
.md-encart::before{content:""; position:absolute; left:0; top:.9rem; bottom:.9rem; width:2px; background:var(--or); border-radius:2px}
.md-encart h4{
  margin:0 0 .35rem; font-family:'Oxanium',sans-serif; font-size:.79rem; letter-spacing:.17em;
  text-transform:uppercase; color:var(--or);
}
.md-encart p{margin:0; color:var(--txt); font-size:.96rem}

/* citations */
.article blockquote{
  margin:1.6rem 0; padding:.9rem 1.3rem; border-left:2px solid var(--bleu);
  background:rgba(91,168,232,.055); border-radius:0 var(--r) var(--r) 0;
  color:var(--txt-doux); font-size:.93rem;
}
.article blockquote p{margin:0 0 .5rem}
.article blockquote p:last-child{margin:0}

/* listes */
.article ul,.article ol{padding-left:1.25rem; color:var(--txt-doux)}
.article li{margin-bottom:.4rem}
.article li strong{color:var(--txt)}

/* mention de propriete sous les visuels du wiki */
.wiki-propriete{
  margin-top:3.5rem; padding-top:1.2rem; border-top:1px solid var(--bord);
  font-size:.8rem; color:var(--txt-faible); max-width:76ch;
}

@media(max-width:900px){
  .md-table th{position:static}
  .article h2::before{display:none}
}

/* ── Les pages historiques reprennent la nouvelle palette ──────────────── */
:root{
  --bg:#05070d; --bg2:#080b14;
  --panel:rgba(255,255,255,.028); --panel2:rgba(255,255,255,.055);
  --blue:#3f7fc4; --gold:#e2b25c; --gold-pale:#f2cd85; --cyan:#5ba8e8;
  --purple:#b56cff; --orange:#ff9d4a; --green:#6ad39a; --red:#ff8478;
  --txt:#dfe6f2; --txt-dim:#9aa8bf; --txt-faded:#6b7893;
  --line:rgba(139,170,214,.13);
}
body{font-family:'Exo 2',system-ui,sans-serif}
h1,h2,h3,h4{font-family:'Oxanium',sans-serif}

/* ══════════════════════════════════════════════════════════════════════════
   COMPOSANTS DE LA REFONTE — onglets, listes, hero court, sommaire
   ══════════════════════════════════════════════════════════════════════════ */
.onglets{display:flex; gap:.35rem; flex-wrap:wrap; margin-top:2rem;
  border-bottom:1px solid var(--bord); padding-bottom:.1rem}
.onglets a{
  font-family:'Oxanium',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--txt-doux); padding:.66rem 1.1rem; border-radius:8px 8px 0 0;
  border-bottom:2px solid transparent; transition:color .18s,border-color .18s,background .18s;
}
.onglets a:hover{color:var(--txt); background:var(--plaque)}
.onglets a.actif{color:var(--or); border-bottom-color:var(--or)}

.liste{display:flex; flex-direction:column; gap:.55rem}
.ligne{
  display:flex; align-items:center; gap:1.1rem; padding:1rem 1.25rem;
  background:var(--plaque); border:1px solid var(--bord); border-radius:var(--r);
  color:var(--txt); transition:border-color .18s,transform .18s,background .18s;
}
a.ligne:hover{border-color:var(--bord-fort); background:var(--plaque-fort); transform:translateX(3px); color:var(--txt)}
.ligne .grandit{flex:1; min-width:0}
.ligne strong{font-family:'Oxanium',sans-serif; font-size:1.02rem; font-weight:700}
.ligne .meta{color:var(--txt-faible); font-size:.88rem; margin-top:.18rem}
.ligne-date{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:58px; padding:.4rem .2rem; border-radius:8px; background:rgba(226,178,92,.07);
  border:1px solid rgba(226,178,92,.2);
}
.ligne-date b{font-family:'Oxanium',sans-serif; font-size:1.3rem; line-height:1; color:var(--or)}
.ligne-date span{font-size:.68rem; color:var(--txt-faible); letter-spacing:.06em}
.ligne-tags{display:flex; gap:.4rem; flex-shrink:0}

.puce{
  display:inline-block; font-family:'Oxanium',sans-serif; font-size:.68rem; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; padding:.24rem .6rem; border-radius:20px;
  background:var(--plaque-fort); border:1px solid var(--bord); color:var(--txt-doux);
}
.puce.or{background:rgba(226,178,92,.13); border-color:rgba(226,178,92,.3); color:var(--or)}
.puce.vert{background:rgba(106,211,154,.12); border-color:rgba(106,211,154,.28); color:var(--vert)}

.colonne-rm h3{
  font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--col,var(--or));
  padding-bottom:.6rem; margin-bottom:.9rem; border-bottom:1px solid var(--bord);
}
.colonne-rm .carte{margin-bottom:.7rem}
.colonne-rm .vide{color:var(--txt-faible); font-size:.9rem; padding:.6rem .2rem}

.hero-court{min-height:min(56vh,520px)}

.wiki-recherche{display:flex; gap:.6rem; margin-top:2rem; max-width:560px}
.wiki-recherche input{
  flex:1; background:var(--fond-3); border:1px solid var(--bord); color:var(--txt);
  border-radius:8px; padding:.7rem .95rem; font:inherit; font-size:.95rem;
}
.wiki-recherche input:focus{outline:none; border-color:var(--or)}

.carte-sommaire a{display:block; padding:.26rem 0; font-size:.95rem; color:var(--txt-doux)}
.carte-sommaire a:hover{color:var(--or-clair)}
.carte-sommaire h3{font-size:.8rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--or); padding-bottom:.55rem; margin-bottom:.6rem; border-bottom:1px solid var(--bord)}

@media(max-width:1000px){
  .wiki{grid-template-columns:1fr}
  .wiki-cote{position:static; height:auto; max-height:none; border-right:none;
    border-bottom:1px solid var(--bord)}
  .ligne-date{display:none}
}

/* ── Gabarit : les nouvelles pages gèrent leur propre largeur, les pages
      historiques gardent leur conteneur centré ─────────────────────────── */
main{max-width:none; margin:0; padding:0; min-height:60vh}
/* 09/10 : :where() = règle de repli sans poids ; la classe propre d'un bloc (ex. .pj) décide de ses marges. */
main > :where(:not(.section):not(.hero):not(.wiki):not(.plein)){
  max-width:1180px; margin-left:auto; margin-right:auto;
  padding-left:clamp(.9rem,3vw,2rem); padding-right:clamp(.9rem,3vw,2rem);
}
main > :where(:not(.section):not(.hero):not(.wiki):not(.plein)):first-child{padding-top:2.2rem}
main > :where(:not(.section):not(.hero):not(.wiki):not(.plein)):last-child{padding-bottom:4rem}

/* ── Figures isolées : taille naturelle, jamais étirées ─────────────────── */
.md-fig{width:-moz-fit-content; width:fit-content; max-width:100%; margin:1.9rem auto}
.md-fig img{width:auto; max-width:100%; height:auto}
.md-gal .md-fig{width:auto; margin:0}
.md-gal .md-fig img{width:100%}
/* deux ou trois petites figures sur une ligne restent en grille */
.article > .md-gal-3 .md-fig img{aspect-ratio:1/1}

/* ── Icônes en ligne : hauteur fixe, largeur libre (sprites très allongés) ─ */
.md-ico{width:auto; height:auto; max-height:34px; max-width:76px; object-fit:contain}
.md-table td:first-child{padding-right:.2rem}
.md-table th:first-child{width:76px}

/* ── Sélecteur de langue ────────────────────────────────────────────────── */
.langues{position:relative}
.langues>summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:.4rem;
  font-family:'Oxanium',sans-serif; font-size:.76rem; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; color:var(--txt-doux); padding:.5rem .8rem;
  border:1px solid var(--bord-fort); border-radius:8px; white-space:nowrap;
}
.langues>summary::-webkit-details-marker{display:none}
.langues>summary::after{content:"▾"; color:var(--txt-faible); font-size:.7rem}
.langues>summary:hover{color:var(--txt); border-color:var(--or)}
.langues-menu{
  position:absolute; right:0; top:calc(100% + .5rem); z-index:80; width:230px;
  background:var(--fond-2); border:1px solid var(--bord-fort); border-radius:var(--r);
  box-shadow:var(--ombre); padding:.35rem; max-height:70vh; overflow:auto;
}
.langues-menu a{display:block; padding:.44rem .7rem; border-radius:6px;
  font-size:.9rem; color:var(--txt-doux)}
.langues-menu a:hover{background:var(--plaque-fort); color:var(--txt)}
.langues-menu a.actif{color:var(--or); background:rgba(226,178,92,.1)}
.langues-note{margin:.4rem .2rem .2rem; padding:.5rem .55rem 0; font-size:.76rem;
  line-height:1.45; color:var(--txt-faible); border-top:1px solid var(--bord)}

/* ── Galeries : jamais d'agrandissement des petits sprites ──────────────── */
.md-gal .md-fig{display:grid; grid-template-rows:minmax(120px,1fr) auto; justify-items:center; align-items:center}
.md-gal .md-fig img{
  width:auto; max-width:calc(100% - 1.2rem); height:auto; max-height:200px; aspect-ratio:auto;
  padding:.6rem; image-rendering:auto;
}
.md-gal-4 .md-fig img,.md-gal-5 .md-fig img,.md-gal-6 .md-fig img{max-height:128px}
.md-gal-2 .md-fig img,.md-gal-3 .md-fig img{max-height:260px}
.md-gal figcaption{width:100%; border-top:1px solid var(--bord)}
.md-gal.sans-legende figcaption{display:none}
/* rendus 3D : cadre plus haut, halo léger */
.md-gal.rendus .md-fig img{max-height:300px; padding:0}
.md-gal.rendus .md-fig{grid-template-rows:minmax(220px,1fr) auto;
  background:radial-gradient(ellipse at 50% 60%,rgba(91,168,232,.12),rgba(0,0,0,0) 65%),var(--fond-2)}

/* ── Fiches (magasin, coffres, NPC…) ─────────────────────────────────────── */
.md-fiches{display:grid; gap:1rem; margin:1.6rem 0}
.md-fiches-1{grid-template-columns:1fr}
.md-fiches-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.md-fiches-3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.md-fiches-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.md-fiche{
  position:relative; display:flex; flex-direction:column; gap:.55rem;
  padding:1rem 1rem 1.05rem; border:1px solid var(--bord); border-radius:var(--r-l);
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--fond-2);
  transition:border-color .2s,transform .2s;
}
.md-fiche:hover{border-color:var(--bord-fort); transform:translateY(-2px)}
.md-fiche::before{
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:2px; border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,var(--or),transparent 70%); opacity:.55;
}
.md-fiche-img{
  display:flex; align-items:center; justify-content:center; min-height:110px; padding:.5rem;
  border-radius:var(--r); background:radial-gradient(circle at 50% 45%,rgba(91,168,232,.11),transparent 70%);
}
.md-fiche-img img{width:auto; height:auto; max-width:100%; max-height:150px; object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
.md-fiches-4 .md-fiche-img{min-height:90px}.md-fiches-4 .md-fiche-img img{max-height:96px}
.md-fiche h4{
  margin:0; font-family:'Oxanium',sans-serif; font-size:.98rem; font-weight:700; letter-spacing:.03em;
  color:var(--txt); display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap;
}
.md-fiche h4 .puce{
  display:inline-flex; flex-direction:row; align-items:center; margin:0; padding:.18rem .5rem; min-width:0;
  font-size:.66rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; border-radius:999px;
  color:var(--or); background:rgba(226,178,92,.12); border:1px solid rgba(226,178,92,.32); white-space:nowrap;
}
.md-fiche p{margin:0; font-size:.86rem; color:var(--txt-doux); line-height:1.5}
.md-fiche ul{margin:0; padding:0; list-style:none; font-size:.84rem; color:var(--txt-doux)}
.md-fiche ul li{padding:.3rem 0; border-top:1px dashed var(--bord); display:flex; justify-content:space-between; gap:.6rem}
.md-fiche ul li:first-child{border-top:0}
.md-fiche ul li strong{color:var(--txt); font-weight:600}
.md-fiche .md-ico{max-height:22px; vertical-align:-5px; margin-right:.15rem}
.md-fiche .prix{font-family:'Oxanium',sans-serif; font-weight:700; color:var(--or); letter-spacing:.02em}
.md-fiche .md-table{margin:.2rem 0 0; font-size:.8rem}
.md-fiche .md-table th,.md-fiche .md-table td{padding:.3rem .45rem}
/* tableaux serrés (paliers, seuils) */
.md-table.compact td,.md-table.compact th{padding:.35rem .55rem; font-size:.84rem}
.md-table td.num,.md-table th.num{text-align:right; font-variant-numeric:tabular-nums}
/* tableaux larges : plus serrés pour tenir dans la colonne */
.md-table table{font-size:.86rem}
.md-table th{padding:.55rem .6rem}
.md-table td{padding:.5rem .6rem}
.md-table td:first-child{width:1px; padding-right:0}
.md-fiche ul li{display:block; line-height:1.7}
.md-fiche ul li em{font-style:normal; color:var(--txt-faible); margin:0 .15rem}
.md-fiche ul li .md-ico{margin-right:.25rem}
/* coffres : image à gauche, contenu à droite */
.md-fiche.coffre{display:grid; grid-template-columns:230px 1fr; column-gap:1.2rem; align-items:start; margin:1.1rem 0}
.md-fiche.coffre .md-fiche-img{grid-column:1; grid-row:1/span 6; min-height:0; position:sticky; top:5rem}
.md-fiche.coffre .md-fiche-img img{max-height:210px; max-width:100%}
.md-fiche.coffre>*:not(.md-fiche-img){grid-column:2}
.md-fiche.coffre h4{font-size:1.12rem}
.md-fiche.coffre .md-table{margin:.3rem 0 0}
.md-fiche.coffre .md-table th:first-child{width:auto}
@media(max-width:720px){.md-fiche.coffre{grid-template-columns:1fr}.md-fiche.coffre .md-fiche-img{grid-row:auto;position:static}}
/* première colonne étroite seulement quand elle porte une icône */
.md-table td:first-child{width:auto; padding-right:.6rem}
.md-table th:first-child{width:auto}
.md-table td:first-child:has(.md-ico){width:1px; padding-right:.2rem}
.md-table th:first-child:has(+ th):empty{width:76px}

/* ── Navigation : liens centrés, langue en drapeau ─────────────────────── */
@media(min-width:981px){
  .nav{display:grid; grid-template-columns:1fr auto 1fr; align-items:center}
  .nav-liens{justify-content:center; gap:2.1rem; flex:initial}
  .nav-droite{justify-self:end}
}
.nav-liens a{font-size:.78rem; letter-spacing:.16em}
.drapeau{display:block; width:24px; height:18px; border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 1px 3px rgba(0,0,0,.5); flex:none}
.langues>summary{gap:.55rem; padding:.42rem .7rem}
.langue-code{font-size:.74rem; letter-spacing:.12em}
.langues-menu{width:240px; padding:.4rem}
.langues-menu a{display:flex; align-items:center; gap:.7rem; padding:.5rem .7rem; width:100%; box-sizing:border-box; cursor:pointer}
.langues-menu a.actif .drapeau{box-shadow:0 0 0 1.5px var(--or)}

/* ── Accueil v3 ─────────────────────────────────────────────────────────── */
.hero-v3{min-height:min(96vh,940px)}
.hero-v3 .hero-fond{background-position:center 40%}
.hero-v3 .hero-voile{background:
  linear-gradient(90deg,rgba(3,5,12,.92) 0%,rgba(3,5,12,.72) 38%,rgba(3,5,12,.18) 70%,rgba(3,5,12,.05) 100%),
  linear-gradient(180deg,rgba(3,5,12,.55) 0%,rgba(3,5,12,0) 30%,rgba(3,5,12,0) 70%,var(--fond) 100%)}
.hero-v3 h1{max-width:none; font-size:clamp(2.2rem,5.2vw,4.4rem); line-height:1.04; letter-spacing:.01em}
.hero-v3 h1 span{display:block}
.hero-v3 h1 span:last-child{color:var(--or)}
.hero-v3 p{max-width:52ch; font-size:1.12rem; line-height:1.6}
.hero-v3 .hero-note{max-width:60ch}

.chiffres{border-top:1px solid var(--bord); border-bottom:1px solid var(--bord); background:rgba(255,255,255,.015)}
.chiffres-dedans{max-width:var(--max); margin:0 auto; padding:1.6rem clamp(1rem,4vw,2.4rem);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1rem 2rem}
.chiffres-dedans div{display:flex; align-items:center; gap:.9rem}
.chiffres-dedans b{font-family:'Oxanium',sans-serif; font-size:2.3rem; font-weight:800; color:var(--or); line-height:1; min-width:2ch}
.chiffres-dedans span{font-size:.8rem; line-height:1.35; color:var(--txt-doux); letter-spacing:.02em}

.bloc-media{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(1.6rem,4vw,4rem); align-items:center}
.bloc-media.inverse .bloc-media-texte{order:2}
.bloc-media.inverse .bloc-media-image{order:1}
.bloc-media-image{margin:0; border-radius:var(--r-l); overflow:hidden; border:1px solid var(--bord); box-shadow:var(--ombre); position:relative}
.bloc-media-image::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 80px rgba(3,5,12,.55); pointer-events:none}
.bloc-media-image img{display:block; width:100%; height:100%; aspect-ratio:16/10; object-fit:cover}
.bloc-media h2{font-size:clamp(1.7rem,3vw,2.5rem); margin-bottom:1rem}
.points{list-style:none; padding:0; margin:1.6rem 0 1.4rem; display:grid; gap:.55rem}
.points li{padding:.6rem .9rem .6rem 1.1rem; border-left:2px solid var(--or); background:rgba(255,255,255,.02); border-radius:0 8px 8px 0;
  color:var(--txt-doux); font-size:.95rem; line-height:1.5}
.points li b{color:var(--txt)}
.lien-fleche{font-family:'Oxanium',sans-serif; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--or); font-weight:700}
.lien-fleche::after{content:" →"; transition:margin .2s}
.lien-fleche:hover::after{margin-left:.3rem}
.bande-vaisseaux{grid-column:1/-1; margin-top:1rem; display:grid; grid-template-columns:repeat(9,1fr); gap:.6rem}
.mini-vaisseau{display:flex; flex-direction:column; align-items:center; gap:.15rem; padding:.7rem .3rem .6rem; border:1px solid var(--bord); border-radius:var(--r);
  background:var(--fond-2); text-align:center; transition:border-color .2s,transform .2s}
.mini-vaisseau:hover{border-color:var(--or); transform:translateY(-3px)}
.mini-vaisseau img{width:100%; max-width:96px; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.mini-vaisseau b{font-family:'Oxanium',sans-serif; font-size:.8rem; color:var(--txt); margin-top:.3rem}
.mini-vaisseau span{font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-faible)}

.adversaires{background:linear-gradient(180deg,transparent,rgba(255,80,60,.035) 40%,transparent); padding-bottom:clamp(3rem,6vw,5rem)}
.defile-npc{display:flex; gap:1rem; overflow-x:auto; padding:.4rem clamp(1rem,4vw,2.4rem) 1.2rem; scroll-snap-type:x mandatory; scrollbar-width:thin}
.defile-npc::-webkit-scrollbar{height:6px}.defile-npc::-webkit-scrollbar-thumb{background:rgba(139,170,214,.25); border-radius:3px}
.npc-vignette{flex:0 0 200px; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:1rem .8rem .9rem;
  border:1px solid var(--bord); border-radius:var(--r-l); background:radial-gradient(ellipse at 50% 55%,rgba(91,168,232,.12),transparent 65%),var(--fond-2);
  transition:border-color .2s,transform .2s}
.npc-vignette.grand{flex-basis:250px; background:radial-gradient(ellipse at 50% 55%,rgba(255,110,80,.14),transparent 65%),var(--fond-2)}
.npc-vignette:hover{border-color:var(--bord-fort); transform:translateY(-3px)}
.npc-vignette img{width:100%; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 12px 18px rgba(0,0,0,.6))}
.npc-vignette b{font-family:'Oxanium',sans-serif; font-size:.95rem; color:var(--txt); margin-top:.3rem}
.npc-vignette .puce{font-size:.62rem}

.carte-lien{display:block; color:inherit}
.carte-lien .carte-ico{width:56px; height:56px; object-fit:contain; margin-bottom:.9rem; filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.carte-lien h3{font-size:1.08rem}

.f2p{border-top:1px solid var(--bord); border-bottom:1px solid var(--bord);
  background:radial-gradient(ellipse at 15% 30%,rgba(226,178,92,.08),transparent 55%),rgba(255,255,255,.012)}
.f2p-grille{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(1.6rem,4vw,4rem); align-items:start}
.f2p-grille h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.f2p-points{display:grid; gap:1.2rem}
.f2p-points p{margin:0; padding:1.1rem 1.2rem; border:1px solid var(--bord); border-radius:var(--r-l); background:var(--fond-2); color:var(--txt-doux); line-height:1.6}
.f2p-points b{display:block; color:var(--txt); font-family:'Oxanium',sans-serif; font-size:.98rem; margin-bottom:.3rem}

.appel-final{position:relative; text-align:center; padding:clamp(2.6rem,6vw,4.4rem) 2rem; border:1px solid var(--bord); border-radius:var(--r-l); overflow:hidden;
  background:radial-gradient(ellipse at 50% 120%,rgba(226,178,92,.16),transparent 60%),var(--fond-2)}
.appel-final h2{margin-bottom:1rem}
.appel-final .hero-note{margin-top:1.3rem}

@media(max-width:900px){
  .bloc-media,.f2p-grille{grid-template-columns:1fr}
  .bloc-media.inverse .bloc-media-texte{order:1}.bloc-media.inverse .bloc-media-image{order:2}
  .bande-vaisseaux{grid-template-columns:repeat(3,1fr)}
  .hero-v3 h1{font-size:clamp(2rem,9vw,3rem)}
}

/* ── Sommaire du wiki : accès rapides + cartes de section ───────────────── */
.acces-rapide{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.7rem; margin-top:2rem}
.acces{display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:.9rem .6rem .8rem; border:1px solid var(--bord); border-radius:var(--r-l);
  background:radial-gradient(circle at 50% 35%,rgba(91,168,232,.1),transparent 70%),var(--fond-2); transition:border-color .2s,transform .2s}
.acces:hover{border-color:var(--or); transform:translateY(-3px)}
.acces img{width:84px; height:84px; object-fit:contain; filter:drop-shadow(0 6px 12px rgba(0,0,0,.6))}
.acces span{font-family:'Oxanium',sans-serif; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--txt-doux); font-weight:600}
.acces:hover span{color:var(--or)}
.carte-section{padding:0; overflow:hidden; display:flex; flex-direction:column}
.carte-section-tete{display:flex; gap:1.1rem; align-items:center; padding:1.2rem 1.3rem 1rem;
  background:linear-gradient(90deg,rgba(226,178,92,.07),transparent 70%); border-bottom:1px solid var(--bord)}
.carte-section-tete img{width:72px; height:72px; object-fit:contain; flex:none; filter:drop-shadow(0 6px 12px rgba(0,0,0,.6))}
.carte-section-tete h3{margin:0 0 .3rem; font-size:1.15rem}
.carte-section-tete p{margin:0; font-size:.86rem; color:var(--txt-faible); line-height:1.45}
.carte-section-pages{display:grid; grid-template-columns:1fr 1fr; gap:.15rem .8rem; padding:.9rem 1.3rem 1.2rem}
.carte-section-pages a{display:block; padding:.42rem .2rem; font-size:.9rem; color:var(--txt-doux); border-bottom:1px dashed var(--bord)}
.carte-section-pages a::before{content:"› "; color:var(--or)}
.carte-section-pages a:hover{color:var(--txt)}
@media(max-width:600px){.carte-section-pages{grid-template-columns:1fr}}
.defile-npc{display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:.7rem; overflow:visible; max-width:var(--max); margin:0 auto; scroll-snap-type:none}
.npc-vignette,.npc-vignette.grand{flex:initial; padding:.7rem .4rem .7rem}
.npc-vignette b{font-size:.82rem}
@media(max-width:1000px){.defile-npc{grid-template-columns:repeat(3,1fr)}}

/* ══ PLEINE LARGEUR (toutes les pages) ═══════════════════════════════════ */
:root{--max:none; --gouttiere:clamp(1rem,2.4vw,2.8rem)}
main > :where(:not(.section):not(.hero):not(.wiki):not(.plein)){max-width:none; padding-left:var(--gouttiere); padding-right:var(--gouttiere)}
.section,.hero-dedans,.pied,.pied-bas,.chiffres-dedans,.bande .dedans,.flash{max-width:none; padding-left:var(--gouttiere); padding-right:var(--gouttiere)}
.nav{padding-left:var(--gouttiere); padding-right:var(--gouttiere)}
.bloc-media{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
.grille.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.grille.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.grille.g4{grid-template-columns:1fr}}
.defile-npc{max-width:none; padding-left:var(--gouttiere); padding-right:var(--gouttiere)}

/* wiki : trois colonnes, sidebar | article | sur cette page */
.wiki{grid-template-columns:270px minmax(0,1fr) 240px; max-width:none}
.wiki-corps{padding:2.2rem clamp(1.4rem,3vw,3.4rem) 6rem}
.wiki-toc{position:sticky; top:4.6rem; height:calc(100vh - 4.6rem); overflow:auto; padding:2.4rem 1.2rem 2rem 0}
.wiki-toc .md-toc{display:block; margin:0; padding:0 0 0 1rem; border:0; border-left:1px solid var(--bord); border-radius:0; background:none}
.wiki-toc .md-toc span{display:block; margin:0 0 .7rem}
.wiki-toc .md-toc a{display:block; padding:.3rem 0; font-size:.86rem; line-height:1.35; margin-left:-1rem; padding-left:calc(1rem - 2px); border-left:2px solid transparent; border-radius:0}
.wiki-toc .md-toc a:hover,.wiki-toc .md-toc a.actif{color:var(--or); background:none; border-left-color:var(--or)}
.wiki .h1,.wiki h1{font-size:clamp(2rem,3.4vw,3rem)}
@media(max-width:1280px){.wiki{grid-template-columns:270px minmax(0,1fr)} .wiki-toc{display:none}}
@media(max-width:1000px){.wiki{grid-template-columns:1fr}}

/* ══ FICHES « objet » façon catalogue ════════════════════════════════════ */
.md-fiches-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.md-fiches-4{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.md-fiches-5{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.md-fiche{padding:0; gap:0; overflow:hidden}
.md-fiche::before{display:none}
.md-fiche-img{min-height:180px; margin:0; border-radius:0; padding:1rem;
  background:radial-gradient(circle at 50% 50%,rgba(226,178,92,.10),rgba(91,168,232,.05) 45%,transparent 72%)}
.md-fiche-img img{max-height:150px; max-width:80%}
.md-fiches-4 .md-fiche-img{min-height:140px}.md-fiches-4 .md-fiche-img img{max-height:112px}
.md-fiches-5 .md-fiche-img{min-height:120px}.md-fiches-5 .md-fiche-img img{max-height:96px}
.md-fiche h4{justify-content:center; text-align:center; padding:.3rem 1rem .2rem; font-size:1.02rem; letter-spacing:.04em}
.md-fiche h4 .puce{width:100%; justify-content:center; background:none; border:0; color:var(--txt-faible); font-size:.62rem; padding:0; margin-top:-.1rem}
.md-fiche p{padding:0 1rem .7rem; font-size:.84rem; text-align:center}
.md-fiche ul{padding:.4rem 1rem 1rem; margin:0}
.md-fiche ul li{display:block; border-top:1px solid var(--bord); padding:.42rem 0; font-size:.86rem}
.md-fiche ul li:first-child{border-top:1px solid var(--bord)}
.md-fiche ul li.kv{display:flex; justify-content:space-between; align-items:center; gap:.8rem}
.md-fiche ul li.kv span{color:var(--txt-faible)}
.md-fiche ul li.kv b{color:var(--or); font-family:'Oxanium',sans-serif; font-weight:700; text-align:right; font-variant-numeric:tabular-nums}
.md-fiche ul li.kv b strong{color:inherit}
.md-fiche ul li.kv b .md-ico{max-height:18px; margin-right:.3rem; vertical-align:-4px}
.md-fiche .prix{color:var(--or)}
.md-fiche.coffre{padding:0}
.md-fiche.coffre h4{justify-content:space-between; text-align:left; padding:1rem 1.2rem 0 0}
.md-fiche.coffre h4 .puce{width:auto; border:1px solid rgba(226,178,92,.32); background:rgba(226,178,92,.12); color:var(--or); padding:.18rem .5rem}
.md-fiche.coffre p{text-align:left; padding:0 1.2rem 0 0}
.md-fiche.coffre .md-fiche-img{min-height:0; padding:1rem}
.md-fiche.coffre .md-table{margin:.6rem 1.2rem 1.2rem 0}

/* ══ RÉCAPITULATIFS repliés ═══════════════════════════════════════════════ */
.md-recap{margin:1.2rem 0 2rem; border:1px solid var(--bord); border-radius:var(--r)}
.md-recap>summary{cursor:pointer; list-style:none; padding:.75rem 1rem; font-family:'Oxanium',sans-serif; font-size:.74rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--txt-faible); display:flex; align-items:center; gap:.6rem}
.md-recap>summary::-webkit-details-marker{display:none}
.md-recap>summary::before{content:"▸"; color:var(--or); transition:transform .2s}
.md-recap[open]>summary::before{transform:rotate(90deg)}
.md-recap>summary:hover{color:var(--txt)}
.md-recap-corps{padding:0 1rem .4rem}
.md-recap-corps .md-table{margin:.4rem 0 .8rem}
.wiki{grid-template-columns:250px minmax(0,1fr) 220px}
.wiki-corps{padding:2rem clamp(1rem,2vw,2.2rem) 5rem}
.article{padding:clamp(1rem,2vw,1.6rem)}
.md-fiche ul li.kv{flex-wrap:wrap}
.md-fiche ul li.kv span{flex:0 0 auto}
.md-fiche ul li.kv b{flex:1 1 auto; max-width:100%; font-size:.84rem; line-height:1.35}
.md-fiche ul li.kv.long b{text-align:left; flex-basis:100%; font-family:inherit; font-weight:600; color:var(--txt)}
.md-fiche-img{min-height:190px}
.md-fiche-img img{max-height:170px; max-width:88%}
.md-fiches-4 .md-fiche-img{min-height:170px}.md-fiches-4 .md-fiche-img img{max-height:150px}
.md-fiches-5 .md-fiche-img{min-height:140px}.md-fiches-5 .md-fiche-img img{max-height:120px}
.md-fiches-6 .md-fiche-img{min-height:110px}.md-fiches-6 .md-fiche-img img{max-height:90px}
.md-fiche ul li{padding:.32rem 0; font-size:.84rem}
.md-fiche ul li.kv b{font-size:.82rem}
.md-fiche h4 .puce{white-space:normal; line-height:1.3}
/* fiches dont l'image est un fond de carte : bord à bord */
.md-fiche-img img[src*="/fonds/"]{max-width:100%; width:100%; height:100%; max-height:none; object-fit:cover; border-radius:0}
.md-fiche-img:has(img[src*="/fonds/"]){padding:0; min-height:150px; height:150px; overflow:hidden}

/* ── Objets en rotation (planches 6×6 de 36 cases) ─────────────────────── */
.md-rot{min-height:190px}
.md-rot .rot{width:160px; height:160px; background-repeat:no-repeat; background-size:600% 600%; background-position:0 0;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.55)); image-rendering:auto}
.md-fiches-4 .md-rot{min-height:170px}
.md-fiches-5 .md-rot{min-height:150px}.md-fiches-5 .md-rot .rot{width:128px; height:128px}
.md-fiches-6 .md-rot{min-height:120px}.md-fiches-6 .md-rot .rot{width:104px; height:104px}
@media(prefers-reduced-motion:reduce){.md-rot .rot{animation:none}}

/* ── Colonnes côte à côte (deux classes de vaisseaux par ligne, etc.) ───── */
.md-colonnes{display:grid; gap:1.4rem 2rem; align-items:start; margin:1rem 0}
.md-colonnes-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md-colonnes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md-colonnes>*{min-width:0}
.md-colonnes h3{margin-top:.4rem}
.md-colonnes .md-fiches{margin-top:.8rem}
@media(max-width:1100px){.md-colonnes-2,.md-colonnes-3{grid-template-columns:1fr}}
/* fiches : largeur mini pour que les lignes clé/valeur tiennent sur une ligne */
.md-fiches-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.md-fiches-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.md-fiches-5{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.md-fiches-6{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.md-fiches.quatre{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.md-fiches.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}}
.md-fiche ul li.kv b{white-space:nowrap}
.md-fiche ul li.kv.long b{white-space:normal}
.md-fiche>p{margin-top:.2rem}
.md-table th .md-ico,.md-table td .md-ico{max-height:20px; vertical-align:-5px; margin-right:.25rem}
.article ul li .md-ico{max-height:22px; vertical-align:-6px; margin-right:.3rem}

/* ── Colonnes côte à côte (deux classes de vaisseaux par ligne, etc.) ───── */
.md-colonnes{display:grid; gap:1.4rem 2rem; align-items:start; margin:1rem 0}
.md-colonnes-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md-colonnes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md-colonnes>*{min-width:0}
.md-colonnes h3{margin-top:.4rem}
.md-colonnes .md-fiches{margin-top:.8rem}
@media(max-width:1100px){.md-colonnes-2,.md-colonnes-3{grid-template-columns:1fr}}
/* fiches : largeur mini pour que les lignes clé/valeur tiennent sur une ligne */
.md-fiches-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.md-fiches-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.md-fiches-5{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.md-fiches-6{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.md-fiches.quatre{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.md-fiches.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}}
.md-fiche ul li.kv b{white-space:nowrap}
.md-fiche ul li.kv.long b{white-space:normal}
.md-fiche>p{margin-top:.2rem}
.md-table th .md-ico,.md-table td .md-ico{max-height:20px; vertical-align:-5px; margin-right:.25rem}
.article ul li .md-ico{max-height:22px; vertical-align:-6px; margin-right:.3rem}
.md-col{min-width:0}
.md-colonnes .md-fiches-3{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}
.md-colonnes .md-table{margin-top:.6rem}
.wiki{grid-template-columns:250px minmax(0,1fr) auto}
.wiki-toc{width:220px}
.wiki-toc:empty{display:none}
.article>.md-fig img{max-height:720px}

/* ── Pleine largeur : plus de colonne « Sur cette page », TOC en tête ─────── */
.wiki{grid-template-columns:250px minmax(0,1fr)}
.wiki-toc{display:none}
.md-toc{display:flex; flex-wrap:wrap; gap:.3rem .5rem; align-items:center; margin:0 0 1.6rem; padding:.7rem 1rem;
  border:1px solid var(--bord); border-radius:var(--r); background:var(--plaque)}
.md-toc span{display:inline; margin:0 .5rem 0 0}
.md-toc a{display:inline; padding:.18rem .55rem; border-radius:6px; border-left:0; margin:0}
.md-toc a:hover{background:var(--plaque-fort); color:var(--or-clair)}
/* valeurs longues : toujours à droite, toujours en or */
.md-fiche ul li.kv.long b{text-align:right; color:var(--or); font-family:'Oxanium',sans-serif; font-weight:700; flex-basis:100%}
.md-fiche ul li.kv.long b strong{color:inherit}
/* fiches : même hauteur sur une ligne */
.md-fiches{align-items:stretch}
.md-fiche{height:100%}
/* tableaux : première colonne avec icône jamais coupée */
.md-table td:has(.md-ico){white-space:nowrap}
.md-table td:first-child:has(.md-ico){width:auto; padding-right:.6rem}
/* listes de récompenses dans les fiches */
.md-fiche>p strong{color:var(--txt)}
.md-fiche ul+p:has(>strong:only-child){padding-top:.6rem; margin:.4rem 1rem 0; border-top:1px solid var(--bord); text-align:left; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--txt-faible)}
.md-fiche ul+p:has(>strong:only-child) strong{color:var(--txt-faible); font-weight:600}
.md-fiche p:has(>strong:only-child)+ul{padding-top:0}
.md-fiche p:has(>strong:only-child)+ul li{border-top:0; padding:.22rem 0; color:var(--txt)}
.md-fiche ul+p:not(:has(>strong:only-child)){padding-top:.6rem; margin-top:.2rem; border-top:1px solid var(--bord)}
.md-fiche ul li:not(.kv) .md-ico{max-height:20px; vertical-align:-5px; margin-right:.35rem}
/* fiches : les colonnes vides se replient, les fiches prennent la largeur */
.md-fiches-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.md-fiches-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.md-fiches-5{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.md-fiches-6{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.md-fiches-1{grid-template-columns:1fr}
.md-colonnes .md-fiches-3{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}
.md-fiche-img img{max-width:70%}

/* ══ LISIBILITÉ : polices plus grandes, couleurs plus franches ═══════════ */
:root{--txt:#eef2f8; --txt-doux:#c3cddd; --txt-faible:#8d9bb3; --or:#f0bd5e; --or-clair:#ffd98a}
.article{font-size:1.06rem}
.article>p,.article li{font-size:1.06rem; line-height:1.65}
.article h2{font-size:1.9rem}
.article h3{font-size:1.25rem}
.md-table table{font-size:.98rem}
.md-table th{font-size:.78rem}
.md-fiche h4{font-size:1.12rem}
.md-fiche h4 .puce{font-size:.7rem; color:var(--txt-faible)}
.md-fiche p{font-size:.95rem; color:var(--txt-doux)}
.md-fiche ul li{font-size:.98rem; padding:0}
/* lignes clé/valeur : même hauteur partout, valeur à droite tant qu'elle tient */
.md-fiche ul li.kv{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; min-height:2.5rem; gap:.2rem .8rem; padding:.2rem 0}
.md-fiche ul li.kv span{flex:0 0 auto; color:var(--txt-doux)}
.md-fiche ul li.kv b{flex:1 0 auto; max-width:100%; min-width:0; text-align:right; white-space:normal; overflow-wrap:anywhere; font-size:.98rem; color:var(--or)}
.md-fiche ul li.kv.long b{flex-basis:100%}
.md-fiche ul li:not(.kv){min-height:2.1rem; display:flex; align-items:center; color:var(--txt)}
.md-fiche p:has(>strong:only-child)+ul li{min-height:1.9rem}
.md-rot .rot{width:176px; height:176px; background-size:1200% 600%}
.md-rot{min-height:200px}
.md-fiches-4 .md-rot .rot,.md-fiches-5 .md-rot .rot{width:150px; height:150px}
.md-fiches-6 .md-rot .rot{width:110px; height:110px}
/* designs : icônes 30 % plus grandes */
.md-fiche-img img[src*="/designs/"]{max-height:200px; max-width:92%}
.md-fiche-img:has(img[src*="/designs/"]){min-height:220px}
.wiki-cote .sous a,.wiki-cote summary,.wiki-cote>a.seul{font-size:.98rem}
.chapo{font-size:1.12rem}

/* ── lot 30/09 soir ──────────────────────────────────────────────────────── */
.md-fiches.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.md-fiches.deux{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.md-fiches.trois{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.md-fiches.trois,.md-fiches.deux,.md-fiches.quatre{grid-template-columns:1fr}}
.md-tfixe table{table-layout:fixed; width:100%}
.md-tfixe th:nth-child(1),.md-tfixe td:nth-child(1){width:28%}
.md-tfixe th:nth-child(2),.md-tfixe td:nth-child(2){width:14%}
.rar{font-weight:700; letter-spacing:.02em}
.rar-commun{color:#c3cddd}
.rar-rare{color:#4fa3ff}
.rar-epique{color:#c07cff}
.rar-legendaire{color:#f0bd5e}
.md-fiches.offensif .md-fiche{border-color:rgba(255,110,90,.35); background:linear-gradient(180deg,rgba(255,90,70,.08),transparent 60%)}
.md-fiches.defensif .md-fiche{border-color:rgba(80,170,255,.35); background:linear-gradient(180deg,rgba(70,150,255,.08),transparent 60%)}
.md-fiches.offensif .md-fiche .md-badge,.md-fiches.offensif .md-fiche h4+small{color:#ff8a70}
.md-fiches.defensif .md-fiche .md-badge,.md-fiches.defensif .md-fiche h4+small{color:#6fb6ff}
.md-col>h3 .md-ico{max-height:28px; vertical-align:-7px; margin-right:.4rem}

/* 06/10 : étiquettes de sanction du règlement du jeu (@sanc dans rendu_md) */
.sanc{display:inline-block;padding:.12rem .5rem;border-radius:4px;font-size:.78rem;font-weight:600;white-space:nowrap;border:1px solid transparent}
.sanc-chat{color:#7FC8FF;background:rgba(80,160,255,.10);border-color:rgba(80,160,255,.35)}
.sanc-susp{color:#FFB25C;background:rgba(255,150,40,.10);border-color:rgba(255,150,40,.38)}
.sanc-def{color:#FF6B5E;background:rgba(255,64,64,.12);border-color:rgba(255,80,70,.45)}
.sanc-autre{color:#E8D8A8;background:rgba(232,200,120,.08);border-color:rgba(232,200,120,.30)}
.sanc-vide{color:var(--txt-faded);font-weight:400;border:none;background:none}
