/* ============================================================
   MondialMt2 — thème commun (repris de l'identité du site mobile)
   ============================================================ */
:root{
  --ink:#0f0c07;--ink2:#171108;--paper:#f4e8cc;--muted:#c2ad84;
  --gold:#d8b25a;--gold-br:#f2d588;--gold-dp:#9a7528;
  --red:#bd2c2b;--red-dp:#7d1b1c;--jade:#3f9d79;
  --line:rgba(216,178,90,.32);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Noto Sans',system-ui,sans-serif;color:var(--paper);line-height:1.7;min-height:100vh;
  display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background:
    radial-gradient(circle at 20% 0%,rgba(216,178,90,.08),transparent 40%),
    radial-gradient(circle at 90% 100%,rgba(189,42,43,.08),transparent 45%),
    var(--ink)}
a{color:var(--jade);font-weight:600;text-decoration:none}
a:hover{color:var(--gold-br)}
img{max-width:100%}

/* ---------- Effets de fond (braises dorées, brume, kanji, cadre) ---------- */
#fx{position:fixed;inset:0;z-index:0;pointer-events:none}
.mist{position:fixed;z-index:0;pointer-events:none;width:130vw;height:60vh;left:-15vw;filter:blur(64px);mix-blend-mode:screen}
.mist.m1{top:-14vh;background:radial-gradient(ellipse 55% 50% at 30% 50%,rgba(216,178,90,.10),transparent 70%);animation:drift1 46s ease-in-out infinite alternate}
.mist.m2{bottom:-20vh;background:radial-gradient(ellipse 50% 45% at 70% 50%,rgba(189,44,43,.08),transparent 70%);animation:drift2 58s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate3d(-6vw,0,0)}to{transform:translate3d(7vw,3vh,0)}}
@keyframes drift2{from{transform:translate3d(5vw,0,0)}to{transform:translate3d(-7vw,-3vh,0)}}
.kanji-bg{position:fixed;z-index:0;pointer-events:none;user-select:none;font-family:'Noto Serif JP',serif;font-weight:900;
  line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(216,178,90,.11);animation:kfloat 24s ease-in-out infinite}
.kanji-bg.k1{font-size:clamp(220px,30vw,480px);bottom:-6%;right:-4%}
.kanji-bg.k2{font-size:clamp(110px,14vw,220px);top:10%;left:2%;animation-delay:-11s}
@keyframes kfloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-24px) rotate(1.2deg)}}
.gframe{position:fixed;inset:14px;border:1px solid rgba(216,178,90,.28);pointer-events:none;z-index:1}
.gframe::before{content:"";position:absolute;inset:6px;border:.6px solid rgba(216,178,90,.14)}
@media(prefers-reduced-motion:reduce){#fx,.mist{display:none}.kanji-bg{animation:none}}

/* ---------- Barre de navigation ----------
   Le CSS du topbar est désormais dans partials/topbar-css.php
   (source UNIQUE, incluse par header.php et les pages autonomes). */

/* ---------- Contenu ---------- */
main{position:relative;z-index:2;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:clamp(26px,4.5vw,52px) clamp(18px,4vw,40px)}
.kick{font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:12px}
h1{font-family:'Noto Serif JP',serif;font-weight:900;font-size:clamp(1.8rem,4.4vw,2.6rem);color:var(--gold-br);line-height:1.12}
h2.sec{font-family:'Cinzel',serif;font-weight:700;font-size:1.3rem;color:var(--gold-br);margin:30px 0 14px;
  display:flex;align-items:center;gap:10px}
h2.sec::before{content:"❖";color:var(--gold);font-size:.72em;text-shadow:0 0 12px rgba(242,213,136,.5)}
h2.sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:22px 24px;
  transition:border-color .25s,box-shadow .25s}
.card:hover{border-color:rgba(216,178,90,.5);box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 0 1px rgba(216,178,90,.12)}
.divider{height:1px;margin:24px 0;background:linear-gradient(90deg,var(--line),transparent)}
.note{border-left:2px solid var(--gold);background:rgba(216,178,90,.06);padding:12px 16px;
  border-radius:0 8px 8px 0;font-size:.9rem;color:var(--muted);margin:16px 0}

/* ---------- Boutons (reflet doré au survol) ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  font-family:'Cinzel',serif;font-weight:700;letter-spacing:.04em;font-size:.95rem;border:none;
  color:#1a1206;background:linear-gradient(135deg,var(--gold-br),var(--gold-dp));
  border-radius:11px;padding:13px 26px;transition:.2s}
.btn::before{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-20deg);transition:left .5s ease}
.btn:hover::before{left:135%}
.btn:hover{transform:translateY(-2px);color:#1a1206;box-shadow:0 8px 22px rgba(154,117,40,.35)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--gold-br)}
.btn.ghost:hover{border-color:var(--gold)}
.btn.red{background:linear-gradient(135deg,#d24a49,var(--red-dp));color:#fff}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* ---------- Formulaires ---------- */
label{display:block;font-size:.86rem;font-weight:600;color:var(--gold-br);margin:14px 0 6px}
input[type=text],input[type=password],input[type=email],select,textarea{
  width:100%;background:rgba(15,12,7,.72);border:1px solid var(--line);border-radius:9px;
  color:var(--paper);font-family:inherit;font-size:.95rem;padding:11px 13px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
textarea{min-height:140px;resize:vertical}
.hint{font-size:.78rem;color:var(--muted);margin-top:5px}
.alert{border-radius:10px;padding:12px 16px;margin:14px 0;font-size:.92rem}
.alert.err{background:rgba(189,44,43,.14);border:1px solid rgba(189,44,43,.45);color:#f0b9b3}
.alert.ok{background:rgba(63,157,121,.13);border:1px solid rgba(63,157,121,.45);color:#a9dcc7}

/* ---------- Tableaux (classement) ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--ink2)}
table.rank{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
table.rank th{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(216,178,90,.09),rgba(216,178,90,.02))}
table.rank td{padding:11px 16px;border-bottom:1px solid rgba(216,178,90,.12);color:#e6d7b2}
table.rank tr:last-child td{border-bottom:none}
table.rank tr:hover td{background:rgba(216,178,90,.05)}
.pos{font-family:'Cinzel',serif;font-weight:700;color:var(--muted)}
.pos.p1{color:#ffd76a}.pos.p2{color:#cfd6e3}.pos.p3{color:#d9a06b}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;border-radius:6px;padding:2px 9px}

/* ---------- Pied de page (même style que le site mobile) ---------- */
footer.site{position:relative;z-index:2;margin-top:30px;padding:0 clamp(18px,4vw,44px) 34px;font-size:.8rem;color:var(--muted)}
footer.site .inner{max-width:1100px;margin:0 auto}
footer.site a{color:var(--gold-br);font-weight:600}
footer.site a:hover{color:var(--paper)}
footer.site .legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:18px 0 12px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
footer.site .company{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;text-align:center}
footer.site .company img{height:72px;width:auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.45))}
footer.site b{color:var(--gold-br)}

/* Les media queries de compactage du topbar sont dans partials/topbar-css.php */

/* Le style du pop-up des messages .alert est dans partials/alertpop.php */

/* ===== Pagination des historiques (profil + mes-paiements) ===== */
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin:16px 0;flex-wrap:wrap}
.pager a,.pager span{min-width:36px;padding:8px 11px;text-align:center;border-radius:9px;font-size:.86rem;
  color:var(--muted);border:1px solid var(--line)}
.pager a:hover{color:var(--gold-br);border-color:var(--gold)}
.pager span{border:none}
.pager span.on{color:#1a1206;background:linear-gradient(135deg,var(--gold-br),var(--gold-dp));font-weight:700}

/* ---------- Accueil : scène de guerre vivante ----------
   L'illustration fournie reste intacte ; ses déplacements, attaques et braises
   sont animés en temps réel sans GIF. */
.war-scene{--fire:#ff9d30;--fire-hi:#fff0a8;--ice:#58d9ff;--ice-hi:#e8fbff;position:relative;z-index:2;
  min-height:clamp(405px,43vw,635px);isolation:isolate;overflow:hidden;border-bottom:1px solid rgba(255,232,174,.78);
  background:#6c91b1;box-shadow:0 18px 48px rgba(4,11,24,.26)}
.war-scene__world,.war-scene__world::after{position:absolute;inset:0}
.war-scene__world{overflow:hidden;z-index:-5}
.war-scene__world img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%;
  filter:saturate(1.2) contrast(1.01) brightness(1.16);animation:war-world-drift 18s ease-in-out infinite alternate}
.war-scene__world::after{content:"";background:
  linear-gradient(90deg,rgba(255,139,55,.13),transparent 34%,transparent 65%,rgba(31,177,255,.16)),
  linear-gradient(180deg,rgba(255,251,218,.12),transparent 42%,rgba(12,24,42,.2) 100%)}
.war-scene__light{position:absolute;z-index:-2;width:54vw;height:54vw;max-width:850px;max-height:850px;min-width:420px;min-height:420px;
  border-radius:50%;filter:blur(1px);pointer-events:none;mix-blend-mode:screen;opacity:.56}
.war-scene__light--fire{left:-20vw;bottom:-37vw;background:radial-gradient(circle,rgba(255,182,70,.85) 0,rgba(255,111,35,.35) 31%,transparent 68%);animation:war-light-fire 7.8s ease-in-out infinite}
.war-scene__light--ice{right:-20vw;bottom:-36vw;background:radial-gradient(circle,rgba(179,241,255,.9) 0,rgba(43,177,255,.3) 32%,transparent 70%);animation:war-light-ice 8.6s ease-in-out infinite}
.war-scene__heroes{position:absolute;z-index:-1;left:50%;bottom:-24%;width:clamp(560px,67vw,1040px);pointer-events:none;will-change:transform;
  transform-origin:50% 72%;clip-path:circle(48.5% at 50% 50%);filter:drop-shadow(0 16px 20px rgba(7,22,39,.24));animation:war-heroes-group 6.8s cubic-bezier(.4,0,.2,1) infinite}
.war-scene__heroes img{width:100%;height:auto;display:block}
.war-scene__fx{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.war-scene__wash{position:absolute;z-index:1;inset:0;pointer-events:none;background:
  radial-gradient(ellipse 58% 36% at 50% 70%,rgba(6,18,34,.03),rgba(6,18,34,.22) 88%,rgba(6,18,34,.42) 120%),
  linear-gradient(180deg,transparent 52%,rgba(6,13,27,.14) 100%)}
.war-scene__content{position:relative;z-index:2;display:flex;min-height:inherit;align-items:center;justify-content:flex-end;flex-direction:column;
  padding:clamp(84px,12vw,160px) clamp(18px,5vw,70px) clamp(32px,5vw,64px);text-align:center;pointer-events:none}
.war-scene__eyebrow{display:inline-block;margin-bottom:7px;padding:4px 12px;border:1px solid rgba(255,232,174,.78);border-radius:999px;
  background:rgba(15,35,54,.42);box-shadow:0 2px 14px rgba(0,0,0,.26);color:#fff3c5;text-shadow:0 1px 2px #18273a;
  text-transform:uppercase;font-size:clamp(.61rem,1vw,.76rem);letter-spacing:.22em;font-weight:800}
.war-scene__title{display:flex;justify-content:center;align-items:baseline;gap:.08em;font-family:'Cinzel',serif;font-size:clamp(3rem,9.2vw,8.3rem);font-weight:800;line-height:.78;
  letter-spacing:-.065em;filter:drop-shadow(0 8px 6px rgba(4,10,17,.58));white-space:nowrap}
.war-scene__title span{color:#f8f1d5;text-shadow:0 0 2px #fff,0 1px 0 #b0d3e5,0 3px 0 #4d799d,0 5px 0 #213b58,0 8px 14px rgba(6,13,27,.75)}
.war-scene__title b{color:#dff8ff;text-shadow:0 0 2px #fff,0 1px 0 #8adcf9,0 3px 0 #326f9f,0 5px 0 #193956,0 8px 14px rgba(6,13,27,.75)}
.war-scene__lead{margin-top:16px;color:#fff8e4;font-size:clamp(.86rem,1.35vw,1.08rem);font-weight:600;letter-spacing:.07em;text-shadow:0 2px 5px rgba(4,10,17,.8)}
.war-scene__actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px;pointer-events:auto}
.war-scene__play{border:1px solid rgba(255,247,186,.82);box-shadow:0 8px 20px rgba(67,37,5,.28);font-size:.88rem;padding:11px 20px}
.war-scene__play span{font-size:1.2em;line-height:0}.war-scene__discover{padding:9px 3px;border-bottom:1px solid rgba(255,244,195,.75);color:#fff6d2;font-size:.84rem;text-shadow:0 2px 4px rgba(4,12,24,.8)}
.war-scene__discover:hover{color:#fff;border-color:#fff}.war-scene__status{position:absolute;z-index:2;top:15px;right:clamp(15px,3vw,42px);display:inline-flex;align-items:center;gap:8px;color:#fff7d6;
  font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;text-shadow:0 1px 3px #16253a}.war-scene__status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f7a437;box-shadow:0 0 0 0 rgba(247,164,55,.75);animation:war-status 1.8s infinite}
@keyframes war-world-drift{from{transform:scale(1.035) translate3d(-.6%,0,0)}to{transform:scale(1.07) translate3d(.7%,-.35%,0)}}
@keyframes war-light-fire{0%,100%{transform:scale(.94);opacity:.48}53%{transform:scale(1.12);opacity:.7}}
@keyframes war-light-ice{0%,100%{transform:scale(1.04);opacity:.45}50%{transform:scale(.92);opacity:.72}}
@keyframes war-heroes-group{0%,100%{transform:translate3d(-50%,1%,0) rotate(-.6deg) scale(.995)}28%{transform:translate3d(-50%,-1.5%,0) rotate(.25deg) scale(1.015)}48%{transform:translate3d(-50%,-2.8%,0) rotate(0) scale(1.03)}61%{transform:translate3d(-50%,.8%,0) rotate(.7deg) scale(.995)}79%{transform:translate3d(-50%,-.6%,0) rotate(-.2deg) scale(1.012)}}
@keyframes war-status{0%{box-shadow:0 0 0 0 rgba(247,164,55,.8)}70%{box-shadow:0 0 0 7px rgba(247,164,55,0)}100%{box-shadow:0 0 0 0 rgba(247,164,55,0)}}
@media(max-width:700px){.war-scene{min-height:clamp(445px,132vw,600px)}.war-scene__world img{object-position:48% center}.war-scene__heroes{width:clamp(550px,150vw,760px);bottom:-11%}.war-scene__content{padding-bottom:31px}.war-scene__title{font-size:clamp(2.78rem,13.3vw,5.4rem)}.war-scene__lead{margin-top:13px;letter-spacing:.03em}.war-scene__status{top:11px;right:12px;font-size:.57rem}.war-scene__light{min-width:320px;min-height:320px}.war-scene__light--fire{left:-45vw;bottom:-54vw}.war-scene__light--ice{right:-42vw;bottom:-50vw}}
@media(max-width:420px){.war-scene__actions{gap:9px}.war-scene__play{padding:10px 14px;font-size:.78rem}.war-scene__discover{font-size:.76rem}.war-scene__eyebrow{letter-spacing:.16em}.war-scene__heroes{bottom:-4%}}
@media(prefers-reduced-motion:reduce){.war-scene__world img,.war-scene__light,.war-scene__heroes,.war-scene__status i{animation:none}.war-scene__fx{display:none}}

/* ---------- Accueil : diorama de guerre 2.5D ----------
   Les visages sont les pixels originaux des images fournies. Seuls les fonds
   sont retirés et chaque personnage est placé / animé dans son propre plan. */
.war-diorama{--fire:#ff7c36;--fire-br:#ffcb6b;--ice:#38caff;--ice-br:#dcfbff;position:relative;z-index:2;
  isolation:isolate;overflow:hidden;min-height:clamp(430px,44vw,640px);border-bottom:1px solid rgba(255,244,194,.95);
  background:linear-gradient(180deg,#d7efff 0%,#a9d3e8 38%,#e0a677 70%,#5b3f45 100%);box-shadow:0 22px 48px rgba(7,20,37,.22)}
.war-diorama::before,.war-diorama::after{content:"";position:absolute;inset:0;pointer-events:none}
.war-diorama::before{z-index:8;background:linear-gradient(90deg,rgba(255,247,215,.3),transparent 12%,transparent 88%,rgba(208,242,255,.34));mix-blend-mode:soft-light}
.war-diorama::after{z-index:9;box-shadow:inset 0 -46px 56px rgba(19,30,48,.18),inset 0 0 0 1px rgba(255,241,188,.2)}
.war-diorama__sky{position:absolute;z-index:0;inset:0;overflow:hidden;background:
  radial-gradient(ellipse 34% 32% at 50% 17%,rgba(255,249,194,.98) 0,rgba(255,222,151,.56) 22%,transparent 68%),
  linear-gradient(105deg,#dbf0ff 0%,#c6e7fa 31%,#f6d6a7 55%,#b9daf1 100%)}
.war-diorama__sky::before,.war-diorama__sky::after{content:"";position:absolute;inset:auto -6% 46% -6%;height:42%;border-radius:50%;filter:blur(16px);opacity:.44}
.war-diorama__sky::before{background:radial-gradient(ellipse,rgba(255,240,217,.95),rgba(255,190,116,.22) 48%,transparent 72%);animation:war-cloud-a 14s ease-in-out infinite alternate}
.war-diorama__sky::after{left:46%;right:-12%;background:radial-gradient(ellipse,rgba(208,245,255,.9),rgba(88,192,244,.2) 48%,transparent 70%);animation:war-cloud-b 16s ease-in-out infinite alternate}
.war-diorama__sun{position:absolute;z-index:1;top:7%;left:50%;width:clamp(140px,22vw,360px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,231,.98) 0 8%,rgba(255,239,161,.8) 23%,rgba(255,205,113,.24) 48%,transparent 72%);filter:blur(.3px);animation:war-sun 7s ease-in-out infinite}
.war-diorama__mountains{position:absolute;z-index:1;left:-6%;right:-6%;bottom:31%;height:28%;opacity:.52;filter:drop-shadow(0 9px 7px rgba(42,57,74,.16));
  background:linear-gradient(150deg,transparent 0 13%,#6e8794 13.3% 21%,transparent 21.4% 29%,#7f9baa 29.4% 37%,transparent 37.4% 48%,#597584 48.4% 58%,transparent 58.4% 68%,#8299a0 68.4% 78%,transparent 78.4%)}
.war-diorama__battlefield{position:absolute;z-index:10;left:50%;bottom:-2%;width:min(1120px,103vw);transform:translateX(-50%);opacity:.72;background:url('../medias/mondialmt2-warfield-source.jpg') center/100% auto no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 82%,transparent 100%)}
.war-diorama__battlefield img{display:block;width:100%;height:auto;opacity:0}
.war-diorama__rift{position:absolute;z-index:12;left:50%;bottom:7%;width:clamp(220px,32vw,500px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:conic-gradient(from 210deg,rgba(255,117,43,.16),rgba(255,224,101,.78),rgba(239,249,255,.1) 38%,rgba(48,201,255,.73) 65%,rgba(66,131,255,.12) 81%,rgba(255,117,43,.16));
  filter:drop-shadow(0 12px 18px rgba(18,76,127,.22));animation:war-rift-spin 18s linear infinite}
.war-diorama__rift::before,.war-diorama__rift::after{content:"";position:absolute;border-radius:50%;inset:7%;border:1px solid rgba(255,250,220,.68);box-shadow:0 0 28px rgba(98,218,255,.54),inset 0 0 28px rgba(255,168,70,.28)}
.war-diorama__rift::after{inset:21%;border-color:rgba(255,255,244,.78);background:radial-gradient(circle,rgba(242,254,255,.82),rgba(103,214,255,.31) 31%,rgba(255,176,75,.18) 56%,transparent 72%);animation:war-rift-breathe 3.6s ease-in-out infinite}
.war-diorama__rift i,.war-diorama__rift b{position:absolute;z-index:1;display:block;left:50%;top:50%;width:2px;height:84%;transform-origin:center top;opacity:.72;background:linear-gradient(transparent,rgba(255,255,255,.95),transparent)}
.war-diorama__rift i{transform:translate(-50%,-50%) rotate(32deg)}.war-diorama__rift b{transform:translate(-50%,-50%) rotate(-49deg)}
.war-diorama__fighter{--shift-x:0px;--shift-y:0px;position:absolute;z-index:20;bottom:-5%;pointer-events:none;will-change:transform;transform:translate3d(var(--shift-x),var(--shift-y),0)}
.war-diorama__fighter::before{content:"";position:absolute;z-index:-1;width:78%;aspect-ratio:1;top:18%;border-radius:50%;filter:blur(22px);opacity:.65;animation:war-aura 3.4s ease-in-out infinite alternate}
.war-diorama__fighter--left{left:clamp(-18px,4.5vw,98px);width:clamp(290px,29vw,465px)}
.war-diorama__fighter--right{right:clamp(-28px,4.5vw,105px);width:clamp(330px,34vw,530px)}
.war-diorama__fighter--left::before{right:2%;background:radial-gradient(circle,rgba(255,123,48,.9),rgba(255,205,95,.28) 43%,transparent 72%)}
.war-diorama__fighter--right::before{left:5%;background:radial-gradient(circle,rgba(58,209,255,.93),rgba(103,143,255,.28) 43%,transparent 72%);animation-delay:-1.5s}
.war-diorama__fighter-motion{transform-origin:center bottom;will-change:transform;background-position:center bottom;background-repeat:no-repeat;background-size:100% auto}.war-diorama__fighter--left .war-diorama__fighter-motion{background-image:url('../medias/mmt2-fighter-left.png')}.war-diorama__fighter--right .war-diorama__fighter-motion{background-image:url('../medias/mmt2-fighter-right.png')}.war-diorama__fighter-motion img{display:block;width:100%;height:auto;opacity:0}
.war-diorama__fighter--left .war-diorama__fighter-motion{animation:war-fighter-left 5.5s cubic-bezier(.4,0,.2,1) infinite}
.war-diorama__fighter--right .war-diorama__fighter-motion{animation:war-fighter-right 5.9s cubic-bezier(.4,0,.2,1) infinite}
.war-diorama__fx{position:absolute;z-index:30;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.war-diorama__fog{position:absolute;z-index:40;pointer-events:none;left:-10%;bottom:-20%;width:120%;height:43%;background:
  radial-gradient(ellipse at 18% 55%,rgba(255,223,179,.45),transparent 43%),radial-gradient(ellipse at 83% 48%,rgba(176,237,255,.46),transparent 45%),linear-gradient(180deg,transparent,rgba(35,66,83,.2));
  filter:blur(13px);opacity:.78;animation:war-fog 13s ease-in-out infinite alternate}
.war-diorama__content{position:relative;z-index:50;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:inherit;padding:clamp(24px,4.5vw,58px) 18px 24px;pointer-events:none}
.war-diorama__eyebrow{padding:4px 12px;border:1px solid rgba(91,101,91,.36);border-radius:999px;background:rgba(255,252,226,.45);color:#3b5b6e;
  font-size:clamp(.61rem,1vw,.76rem);font-weight:800;text-transform:uppercase;letter-spacing:.18em;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.war-diorama__title{display:flex;align-items:baseline;justify-content:center;gap:.06em;margin-top:8px;font-family:'Cinzel',serif;font-size:clamp(3.15rem,7.6vw,7.4rem);font-weight:800;line-height:.82;letter-spacing:-.07em;white-space:nowrap;filter:drop-shadow(0 8px 5px rgba(39,64,79,.28))}
.war-diorama__title span{color:#fff9df;text-shadow:0 1px 0 #fff,0 3px 0 #d8b85c,0 5px 0 #7a5826,0 8px 13px rgba(42,70,89,.4)}
.war-diorama__title b{color:#e9fbff;text-shadow:0 1px 0 #fff,0 3px 0 #7fc5e5,0 5px 0 #326b94,0 8px 13px rgba(42,70,89,.4)}
.war-diorama__lead{margin-top:12px;color:#294c61;font-weight:800;font-size:clamp(.86rem,1.25vw,1.05rem);letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,255,255,.84)}
.war-diorama__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;margin-top:16px;pointer-events:auto}.war-diorama__play{font-size:.86rem;padding:11px 20px;border:1px solid rgba(255,246,186,.95);box-shadow:0 8px 18px rgba(135,76,22,.22)}
.war-diorama__discover{padding:8px 2px;border-bottom:1px solid rgba(54,90,106,.55);color:#305c72;font-size:.83rem;text-shadow:0 1px 0 rgba(255,255,255,.8)}.war-diorama__discover:hover{color:#153c52;border-color:#153c52}
.war-diorama__status{position:absolute;z-index:60;top:16px;right:clamp(14px,3vw,42px);display:inline-flex;gap:8px;align-items:center;color:#4b6a71;text-transform:uppercase;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.war-diorama__status i{width:8px;height:8px;border-radius:50%;background:#ed6d33;box-shadow:0 0 0 0 rgba(237,109,51,.72);animation:war-status 1.8s infinite}
@keyframes war-cloud-a{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(7%,4%,0) scale(1.11)}}@keyframes war-cloud-b{from{transform:translate3d(3%,1%,0) scale(1.04)}to{transform:translate3d(-7%,-3%,0) scale(.98)}}
@keyframes war-sun{0%,100%{transform:translateX(-50%) scale(.96);opacity:.82}50%{transform:translateX(-50%) scale(1.07);opacity:1}}@keyframes war-rift-spin{to{transform:translateX(-50%) rotate(360deg)}}@keyframes war-rift-breathe{0%,100%{transform:scale(.9);opacity:.62}50%{transform:scale(1.08);opacity:1}}
@keyframes war-aura{from{transform:scale(.9);opacity:.45}to{transform:scale(1.12);opacity:.79}}@keyframes war-fog{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(4%,-4%,0) scale(1.08)}}
@keyframes war-fighter-left{0%,100%{transform:translate3d(0,0,0) rotate(-1deg) scale(1)}24%{transform:translate3d(3px,-11px,0) rotate(.45deg) scale(1.018)}47%{transform:translate3d(-4px,-17px,0) rotate(1.25deg) scale(1.045)}61%{transform:translate3d(7px,2px,0) rotate(-1.5deg) scale(.995)}78%{transform:translate3d(-2px,-6px,0) rotate(-.25deg) scale(1.017)}}
@keyframes war-fighter-right{0%,100%{transform:translate3d(0,0,0) rotate(1deg) scale(1)}26%{transform:translate3d(-4px,-12px,0) rotate(-.4deg) scale(1.02)}49%{transform:translate3d(5px,-18px,0) rotate(-1.15deg) scale(1.045)}63%{transform:translate3d(-8px,2px,0) rotate(1.5deg) scale(.995)}80%{transform:translate3d(2px,-6px,0) rotate(.25deg) scale(1.015)}}
@media(max-width:700px){.war-diorama{min-height:clamp(510px,138vw,650px)}.war-diorama__battlefield{width:155vw;bottom:2%;opacity:.58}.war-diorama__rift{bottom:17%;width:clamp(210px,62vw,340px)}.war-diorama__fighter{bottom:-1%}.war-diorama__fighter--left{left:-14%;width:clamp(290px,73vw,405px)}.war-diorama__fighter--right{right:-19%;width:clamp(310px,82vw,450px)}.war-diorama__content{padding-top:24px}.war-diorama__title{font-size:clamp(2.7rem,13vw,4.9rem)}.war-diorama__lead{font-size:.82rem;letter-spacing:.04em}.war-diorama__actions{margin-top:13px;gap:10px}.war-diorama__play{padding:10px 15px;font-size:.78rem}.war-diorama__discover{font-size:.75rem}.war-diorama__status{top:11px;right:12px;font-size:.55rem}.war-diorama__mountains{bottom:37%}}
@media(max-width:390px){.war-diorama__eyebrow{letter-spacing:.13em}.war-diorama__fighter--left{left:-19%}.war-diorama__fighter--right{right:-24%}.war-diorama__actions{max-width:300px}.war-diorama__discover{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.war-diorama__sky::before,.war-diorama__sky::after,.war-diorama__sun,.war-diorama__rift,.war-diorama__rift::after,.war-diorama__fighter::before,.war-diorama__fighter-motion,.war-diorama__fog,.war-diorama__status i{animation:none}.war-diorama__fx{display:none}}

/* ---------- Accueil : champ de bataille, coups d'armes et impacts ----------
   Cette version ne contient ni medaillon ni rayons : les personnages avancent,
   frappent, puis les monstres encaissent un impact de poussiere et d'etincelles. */
.war-battle{--shift-x:0px;--shift-y:0px;--lean:0deg;position:relative;z-index:2;isolation:isolate;
  overflow:hidden;min-height:clamp(370px,32vw,500px);background:#9bc1d6;border-bottom:1px solid rgba(255,236,175,.82);
  box-shadow:0 20px 42px rgba(17,39,55,.2)}
.war-battle::before,.war-battle::after{content:"";position:absolute;inset:0;pointer-events:none}
.war-battle::before{z-index:3;background:linear-gradient(90deg,rgba(255,187,101,.16),transparent 25%,transparent 74%,rgba(93,216,255,.16));mix-blend-mode:soft-light}
.war-battle::after{z-index:11;box-shadow:inset 0 -28px 42px rgba(24,47,62,.16),inset 0 0 0 1px rgba(255,247,217,.16)}
.war-battle__world{--world-x:0px;--world-y:0px;position:absolute;z-index:0;inset:-1.2%;overflow:hidden;
  background:#91b8ca url('../medias/mondialmt2-monster-battle-v2.png') center 51% / cover no-repeat;
  transform:translate3d(var(--world-x),var(--world-y),0) scale(1.025);will-change:transform;animation:war-battle-world 18s ease-in-out infinite alternate}
.war-battle__world img{display:block;width:100%;height:100%;opacity:0;object-fit:cover}
.war-battle__wash{position:absolute;z-index:1;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(255,252,232,.1),transparent 42%,rgba(66,82,88,.1) 100%),
  linear-gradient(90deg,rgba(255,116,46,.1),transparent 32%,transparent 68%,rgba(43,178,255,.1))}
.war-battle__ground{position:absolute;z-index:2;left:-4%;right:-4%;bottom:-2%;height:32%;pointer-events:none;opacity:.72;
  background:linear-gradient(180deg,transparent 0%,rgba(243,203,145,.12) 38%,rgba(47,67,75,.32) 100%);filter:blur(2px)}
.war-battle__fighter{--shift-x:0px;--shift-y:0px;--lean:0deg;position:absolute;z-index:4;bottom:-18%;pointer-events:none;
  will-change:transform;transform:translate3d(var(--shift-x),var(--shift-y),0) rotate(var(--lean));transform-origin:center bottom;
  filter:drop-shadow(0 12px 11px rgba(13,28,40,.28))}
.war-battle__fighter::before{content:"";position:absolute;z-index:-1;inset:20% 6% 12%;filter:blur(20px);opacity:.5}
.war-battle__fighter--left{left:clamp(-16px,3vw,56px);width:clamp(276px,27vw,415px)}
.war-battle__fighter--right{right:clamp(-26px,3.6vw,64px);width:clamp(305px,29vw,452px)}
.war-battle__fighter--left::before{background:linear-gradient(110deg,transparent 5%,rgba(255,125,55,.55) 67%,transparent 94%)}
.war-battle__fighter--right::before{background:linear-gradient(70deg,transparent 4%,rgba(75,210,255,.58) 37%,transparent 91%)}
.war-battle__fighter-motion{position:relative;transform-origin:center bottom;background-position:center bottom;background-repeat:no-repeat;background-size:100% auto;will-change:transform}
.war-battle__fighter-motion img{display:block;width:100%;height:auto;opacity:0}
.war-battle__fighter--left .war-battle__fighter-motion{background-image:url('../medias/mmt2-fighter-left.png');animation:war-battle-idle-left 5.8s ease-in-out infinite}
.war-battle__fighter--right .war-battle__fighter-motion{background-image:url('../medias/mmt2-fighter-right.png');animation:war-battle-idle-right 6.2s ease-in-out infinite}
.war-battle__fx{position:absolute;z-index:7;inset:0;width:100%;height:100%;pointer-events:none}
.war-battle__dust{position:absolute;z-index:8;left:-6%;right:-6%;bottom:-12%;height:37%;pointer-events:none;opacity:.55;filter:blur(13px);
  background:linear-gradient(90deg,transparent 3%,rgba(255,191,107,.34) 23%,rgba(234,224,191,.2) 50%,rgba(137,221,246,.31) 78%,transparent 97%);animation:war-battle-dust 10s ease-in-out infinite alternate}
.war-battle__brand{position:absolute;z-index:9;top:clamp(12px,2.3vw,28px);left:50%;width:min(54vw,610px);transform:translateX(-50%);text-align:center;pointer-events:none}
.war-battle__brand p{margin:0 0 2px;color:#3d5d6d;font-size:clamp(.59rem,.95vw,.78rem);font-weight:900;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.war-battle__brand h1{display:flex;align-items:baseline;justify-content:center;gap:.045em;white-space:nowrap;font-family:'Cinzel',serif;font-size:clamp(2.35rem,5.25vw,5.25rem);font-weight:900;line-height:.9;letter-spacing:-.075em;filter:drop-shadow(0 4px 4px rgba(34,61,78,.32))}
.war-battle__brand h1 span{color:#fffbe7;text-shadow:0 1px 0 #fff,0 2px 0 #c9a85c,0 4px 0 #76562a,0 7px 11px rgba(28,55,73,.38)}
.war-battle__brand h1 b{color:#e7fbff;text-shadow:0 1px 0 #fff,0 2px 0 #78bfdb,0 4px 0 #2f668d,0 7px 11px rgba(28,55,73,.38)}
.war-battle__status{position:absolute;z-index:12;top:16px;right:clamp(14px,3vw,42px);display:inline-flex;align-items:center;gap:7px;color:#385967;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.86)}
.war-battle__status i{display:block;width:7px;height:7px;border-radius:50%;background:#e67036;box-shadow:0 0 0 0 rgba(230,112,54,.62);animation:war-status 1.8s infinite}
@keyframes war-battle-world{from{background-position:49.6% 51.2%}to{background-position:50.4% 50.7%}}
@keyframes war-battle-idle-left{0%,100%{transform:translate3d(0,0,0) rotate(-.7deg)}50%{transform:translate3d(-2px,-6px,0) rotate(.25deg)}}
@keyframes war-battle-idle-right{0%,100%{transform:translate3d(0,0,0) rotate(.7deg)}50%{transform:translate3d(2px,-7px,0) rotate(-.3deg)}}
@keyframes war-battle-dust{from{transform:translate3d(-2%,2%,0) scale(1)}to{transform:translate3d(3%,-4%,0) scale(1.07)}}
@media(max-width:700px){
  .war-battle{min-height:clamp(455px,116vw,570px)}
  .war-battle__world{background-position:center 48%}
  .war-battle__fighter{bottom:-10%}
  .war-battle__fighter--left{left:-27%;width:min(83vw,365px)}
  .war-battle__fighter--right{right:-33%;width:min(89vw,390px)}
  .war-battle__brand{top:14px;width:74vw}
  .war-battle__brand h1{font-size:clamp(2.55rem,12vw,4.45rem)}
  .war-battle__brand p{font-size:.57rem;letter-spacing:.14em}
  .war-battle__status{top:12px;right:12px;font-size:.54rem}
  .war-battle__ground{height:38%}
}
@media(max-width:390px){.war-battle__fighter--left{left:-31%}.war-battle__fighter--right{right:-37%}.war-battle__brand p{letter-spacing:.11em}}
@media(prefers-reduced-motion:reduce){.war-battle__world,.war-battle__fighter-motion,.war-battle__dust,.war-battle__status i{animation:none}.war-battle__fx{display:none}}
