/* MHUR Nexus — Saison 18 v9 : correctifs ciblés */

/* NEW fourni par l'utilisateur. */
.s18NewBadgeV9,
.s18NewBadge{
  position:absolute!important;
  top:6px!important;
  left:6px!important;
  z-index:30!important;
  width:88px!important;
  height:44px!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url('../assets/home/icons/new_badge_custom.png') center/contain no-repeat!important;
  color:transparent!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transform-origin:top left!important;
  animation:s18NewPulseV9 1.15s ease-in-out infinite!important;
}
@keyframes s18NewPulseV9{0%,100%{transform:scale(.96)}50%{transform:scale(1.08)}}
.costumeTile .s18NewBadge,.costumeResult .s18NewBadge{width:64px!important;height:34px!important;top:4px!important;left:4px!important}

/* Dernières sorties : la bannière officielle remplit immédiatement toute la carte. */
.releaseBannerCardV9{
  position:relative!important;
  min-height:172px!important;
  overflow:hidden!important;
  border:4px solid #05070b!important;
  border-radius:16px!important;
  background:#080b12!important;
  box-shadow:0 7px 0 #050506!important;
}
.releaseBannerCardV9 .releaseBannerImageV9,
.releaseBannerCardV9 .releaseBannerImgV9,
.releaseBannerCardV9 .releaseBannerImageV9 img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.releaseBannerCardV9 .releaseBannerImageV9 img,
.releaseBannerCardV9 .releaseBannerImgV9{
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.015)!important;
}
.releaseBannerShadeV9{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 52%,rgba(0,0,0,.68) 100%);
}
.releaseBannerCardV9 .releaseBadgeV299{
  z-index:6!important;
  top:10px!important;
  left:10px!important;
  width:36px!important;
  height:36px!important;
}
.releaseNewBadgeV9{
  position:absolute;
  top:7px;
  right:8px;
  z-index:7;
  width:88px;
  height:44px;
  background:url('../assets/home/icons/new_badge_custom.png') center/contain no-repeat;
  filter:drop-shadow(0 3px 0 rgba(0,0,0,.65));
}
.releaseBannerCardV9 .releaseNamesV299{
  position:absolute!important;
  z-index:8!important;
  left:14px!important;
  right:14px!important;
  bottom:11px!important;
  text-align:left!important;
}
.releaseBannerCardV9 .releaseNamesV299 b{
  display:block!important;
  color:#fff!important;
  font-size:clamp(18px,1.8vw,28px)!important;
  line-height:1!important;
  text-shadow:0 3px 0 #000!important;
}
.releaseBannerCardV9 .releaseNamesV299 small{
  display:block!important;
  margin-top:4px!important;
  color:#ffe900!important;
  font-size:clamp(11px,1vw,15px)!important;
  font-weight:900!important;
  text-shadow:0 2px 0 #000!important;
}

/* Cartes personnages : portraits plus grands et réellement centrés. */
.s18CharacterCardV9 .thumb{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.s18CharacterCardV9 .thumb img,
.s18PortraitImgV9{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  transform:scale(1.28)!important;
  transform-origin:center 56%!important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.38))!important;
}
.s18CharacterCardV9 .cardBody{position:relative!important;z-index:4!important}

/* Choix des styles : portrait officiel, grand, centré et sans anciens décalages. */
.s18StyleCardV9{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
}
.s18StyleCardV9 .styleBanner{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.s18StyleCardV9 .styleBanner img,
.s18StylePortraitV9,
.styleCard[data-style="assault"] .styleBanner img,
.styleCard[data-style="fullbullet"] .styleBanner img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  transform:scale(1.20)!important;
  transform-origin:center 55%!important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.38))!important;
}
.s18StyleCardV9.role-technical .styleBanner{background:radial-gradient(circle at 50% 30%,#b14dde 0%,#7513a4 48%,#35094f 100%)!important}
.s18StyleCardV9.role-attack .styleBanner{background:radial-gradient(circle at 50% 30%,#ff5f70 0%,#cd1933 48%,#690a18 100%)!important}
.s18StyleCardV9.role-assault .styleBanner{background:radial-gradient(circle at 50% 30%,#fff06b 0%,#d6b800 48%,#756100 100%)!important}
.s18StyleCardV9.role-support .styleBanner{background:radial-gradient(circle at 50% 30%,#72ff91 0%,#16bf47 48%,#096026 100%)!important}
.s18StyleCardV9.role-rapid .styleBanner{background:radial-gradient(circle at 50% 30%,#70eaff 0%,#18badb 48%,#07566d 100%)!important}
.s18StyleCardV9 .styleInfo h2{font-weight:1000!important;text-shadow:0 3px 0 #000!important}

/* Fiche personnage : photo et typographie propres. */
.s18CharacterDetailV9 .portrait{
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.s18CharacterDetailV9 .portrait img,
.s18DetailPortraitV9{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  transform:scale(1.08)!important;
  transform-origin:center center!important;
}
.s18CharacterDetailV9 .meta h2{letter-spacing:.2px!important}
.s18HpBadgeV9{font-weight:1000!important;letter-spacing:.2px!important}
.s18QuirkTitleV9{padding:2px 18px 0!important;color:#fff!important;text-shadow:0 3px 0 #000!important;font-style:italic!important;text-transform:uppercase!important}

/* Gentle et nouvelles fiches : tableaux lisibles, pleins et sans Down Power. */
.s18CharacterDetailV9 .skillText .toggle{width:100%!important}
.s18CharacterDetailV9 .skillText .simpleTable{width:100%!important;overflow-x:auto!important}
.s18CharacterDetailV9 .skillText .dataTable{width:100%!important;min-width:max-content!important}
.s18CharacterDetailV9 .skillText .dataTable th,
.s18CharacterDetailV9 .skillText .dataTable td{white-space:nowrap!important;text-align:center!important}
.s18CharacterDetailV9 .skillText .dataTable th:first-child,
.s18CharacterDetailV9 .skillText .dataTable td:first-child{text-align:center!important}

@media(max-width:900px){
  .releaseBannerCardV9{min-height:148px!important}
  .releaseNewBadgeV9{width:70px;height:35px}
  .s18CharacterCardV9 .thumb img,.s18PortraitImgV9{transform:scale(1.20)!important}
  .s18StyleCardV9 .styleBanner img,.s18StylePortraitV9{transform:scale(1.12)!important}
}
/* ========================================================================== */
/* MHUR Nexus — Saison 18 v10                                                */
/* ========================================================================== */

/* NEW n'est plus affiché sur les cartes normales des personnages. */
.card[data-char] > .s18NewBadge,
.s18CharacterCardV10 > .s18NewBadge{display:none!important}

/* Cartes personnages : fond de rôle(s), portrait grand, centré et posé en bas. */
.s18CharacterCardV10 .thumb{
  background:var(--s18-card-bg,radial-gradient(circle at 50% 28%,#b14dde 0%,#7513a4 52%,#35094f 100%))!important;
  min-height:360px!important;
  align-items:flex-end!important;
}
.s18CharacterCardV10 .thumb img,
.s18PortraitImgV10{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:scale(1.38)!important;
  transform-origin:center bottom!important;
  margin:0!important;
  padding:0!important;
}
.s18CharacterCardV10 .cardBody{background:#071526!important}

/* Styles : fond par rôle visible sur tous les formats et portrait officiel en bas. */
.s18StyleCardV10 .styleBanner{min-height:480px!important;align-items:flex-end!important}
.s18StyleCardV10 .styleBanner img,.s18StylePortraitV10{
  object-position:center bottom!important;
  transform:scale(1.28)!important;
  transform-origin:center bottom!important;
}
.s18CharacterDetailV10 .portrait{align-items:flex-end!important}
.s18CharacterDetailV10 .portrait img,.s18DetailPortraitV10{
  object-position:center bottom!important;
  transform:scale(1.22)!important;
  transform-origin:center bottom!important;
}

/* Bouton Patch / Dev Notes dans le header, Modération retirée du header. */
#mhurAdminButton{display:none!important}
.mhurPatchDevButtonV10{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:44px!important;
  padding:0 13px!important;
  border:3px solid #000!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#ff8a00,#ffe000)!important;
  color:#07101d!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  box-shadow:0 3px 0 #000!important;
}
.mhurPatchDevButtonV10:hover{transform:translateY(-1px)}

/* Sorties prévues de la Saison 18. */
.s18SeasonReleaseV10{
  position:relative!important;
  min-height:200px!important;
  overflow:hidden!important;
  border:4px solid #05070b!important;
  border-radius:16px!important;
  background:#05070b!important;
  box-shadow:0 7px 0 #050506!important;
}
.s18SeasonArtV10,.s18SeasonBlackV10{position:absolute;inset:0;z-index:1;display:block;overflow:hidden}
.s18SeasonArtV10{background-size:cover;background-repeat:no-repeat;background-position:center 35%;transform:scale(1.04)}
.s18SeasonBlackV10{display:flex;align-items:flex-end;justify-content:center;background:#000}
.s18SeasonProfileV10{width:100%;height:112%;object-fit:contain;object-position:center bottom;transform:scale(1.18);transform-origin:center bottom}
.s18SeasonShadeV10{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12) 55%,rgba(0,0,0,.82))}
.s18SeasonReleaseV10 .releaseBadgeV299{z-index:6!important;left:10px!important;top:10px!important;width:36px!important;height:36px!important}
.s18SeasonNewV10{position:absolute;z-index:7;right:8px;top:7px;width:88px;height:44px;background:url('../assets/home/icons/new_badge_custom.png') center/contain no-repeat;filter:drop-shadow(0 3px 0 #0009)}
.s18SeasonReleaseV10 .releaseNamesV299{z-index:8!important;left:14px!important;right:14px!important;bottom:10px!important;text-align:left!important}
.s18SeasonReleaseV10 .releaseNamesV299 b{display:block!important;color:#fff!important;font-size:clamp(21px,2vw,31px)!important;line-height:1!important;text-shadow:0 3px 0 #000!important}
.s18SeasonReleaseV10 .releaseNamesV299 small{display:block!important;margin-top:4px!important;color:#ffe900!important;font-size:clamp(12px,1.05vw,16px)!important;font-weight:1000!important;text-shadow:0 2px 0 #000!important}
.s18SeasonReleaseV10 .releaseNamesV299 em{display:block;margin-top:3px;color:#fff;font-size:12px;font-style:normal;font-weight:800;text-shadow:0 2px 0 #000}

/* Fenêtre Patch Notes / Dev Notes. */
.s18NotesOverlayV10,.s18AdminOverlayV10{position:fixed;inset:0;z-index:30000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.88);backdrop-filter:blur(6px)}
.s18NotesOverlayV10.open,.s18AdminOverlayV10.open{display:flex}
.s18NotesPanelV10,.s18AdminPanelV10{width:min(1220px,98vw);max-height:95vh;overflow:hidden;border:4px solid #3f648e;border-radius:20px;background:#081323;color:#fff;box-shadow:0 25px 90px #000}
.s18NotesPanelV10>header,.s18AdminPanelV10>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:3px solid #000;background:linear-gradient(100deg,#173b65,#1f5a8f)}
.s18NotesPanelV10>header span,.s18AdminPanelV10>header span{color:#ffe000;font-weight:1000}
.s18NotesPanelV10>header h2,.s18AdminPanelV10>header h2{margin:3px 0 0;font-size:clamp(25px,3vw,40px)}
.s18NotesPanelV10>header button,.s18AdminPanelV10>header button{width:48px;height:48px;border:4px solid #000;border-radius:50%;background:#ed5055;color:#fff;font-size:28px;font-weight:1000}
.s18NotesPanelV10>nav,.s18AdminPanelV10>nav{display:flex;gap:8px;padding:10px 14px;border-bottom:2px solid #314f76;background:#0b192b;overflow:auto}
.s18NotesPanelV10>nav button,.s18AdminPanelV10>nav button{padding:10px 16px;border:2px solid #365b87;border-radius:10px;background:#101f34;color:#fff;font-weight:1000;white-space:nowrap}
.s18NotesPanelV10>nav button.active,.s18AdminPanelV10>nav button.active{background:#ffe000;color:#000;border-color:#000}
.s18NotesBodyV10{display:grid;grid-template-columns:300px minmax(0,1fr);height:min(74vh,780px)}
.s18NotesBodyV10>aside{padding:12px;border-right:2px solid #2d496e;overflow:auto;background:#07101d}
.s18NotesBodyV10>aside>button{display:grid;gap:4px;width:100%;margin-bottom:8px;padding:12px;border:2px solid #2e4a70;border-radius:11px;background:#0d1b2e;color:#fff;text-align:left}
.s18NotesBodyV10>aside>button.active{border-color:#ffe000;background:#172944}
.s18NotesBodyV10>aside small{color:#9db1cf}
.s18NotesBodyV10>main{padding:18px;overflow:auto}
.s18PatchDetailHeadV10{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.s18PatchDetailHeadV10 h2{margin:0;font-size:clamp(24px,3vw,38px)}
.s18PatchDetailHeadV10>div{display:flex;gap:6px;flex-wrap:wrap}
.s18PatchDetailHeadV10 span,.s18ToneV10{padding:6px 10px;border:2px solid #000;border-radius:999px;color:#fff;font-size:12px;font-weight:1000}
.s18PatchDetailHeadV10 .buff,.s18ToneV10.buff{background:#148a45}
.s18PatchDetailHeadV10 .nerf,.s18ToneV10.nerf{background:#b91e38}
.s18PatchDetailHeadV10 .adjust,.s18ToneV10.adjust{background:#9d7911}
.s18PatchSectionV10{margin:0 0 24px}
.s18PatchSectionV10>h3{margin:0 0 12px;padding:10px 14px;border-left:7px solid #ff8a00;background:#101e31}
.s18PatchSeparatedV10{display:grid;gap:18px}
.s18PatchCharacterV10{overflow:hidden;border:3px solid #304f79;border-radius:17px;background:#0a1627;box-shadow:0 6px 0 #03070d}
.s18PatchCharacterV10>header{display:flex;align-items:center;gap:14px;padding:13px;border-bottom:3px solid #000;background:#15243a}
.s18PatchPortraitV10{width:92px;height:92px;overflow:hidden;border:3px solid #000;border-radius:13px;background:#050b14}
.s18PatchPortraitV10 img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.s18PatchCharacterV10 h4{margin:0;font-size:24px}
.s18PatchCharacterV10 header strong{display:block;margin:3px 0 8px;color:#ffe000}
.s18PatchBadgesV10{display:flex;gap:7px;flex-wrap:wrap}
.s18PatchChangesV10{display:grid;gap:12px;padding:14px}
.s18PatchChangeV10{position:relative;padding:42px 13px 13px;border:2px solid #314c70;border-radius:13px;background:#0e1b2c}
.s18PatchChangeV10.buff{border-color:#25c86d}.s18PatchChangeV10.nerf{border-color:#e4485d}.s18PatchChangeV10.adjust{border-color:#d1a92a}
.s18ToneV10{position:absolute;top:8px;right:9px}
.s18PatchSkillV10{display:grid;grid-template-columns:88px 1fr;gap:13px;align-items:start}
.s18PatchSkillV10>div{width:88px;height:88px;overflow:hidden;border:2px solid #3d5f8d;border-radius:12px;background:#050a12}
.s18PatchSkillV10>div img{width:100%;height:100%;object-fit:cover}
.s18PatchSkillV10 h5{margin:0 0 7px;font-size:21px}
.s18PatchLabelV10{margin:0 0 9px;color:#8fcfff;font-weight:900}
.s18PatchTableWrapV10{overflow:auto;margin-top:9px}
.s18PatchTableV10{width:100%;min-width:max-content;border-collapse:collapse;background:#091323}
.s18PatchTableV10 th,.s18PatchTableV10 td{padding:8px 10px;border:1px solid #2e4a70;text-align:center;white-space:nowrap}
.s18PatchTableV10 thead th{background:#172945}.s18PatchTableV10 .before th,.s18PatchTableV10 .before td{background:#3c171d}.s18PatchTableV10 .after th,.s18PatchTableV10 .after td{background:#153822}.s18PatchTableV10 .after.adjust th,.s18PatchTableV10 .after.adjust td{background:#3b300f}
.s18DevSideV10{display:grid;gap:6px;padding:18px;border:2px solid #62418e;border-radius:13px;background:#241336}.s18DevSideV10 small{color:#d7c0f5}
.s18DevArticleV10{display:grid;gap:14px}.s18DevHeroV10{padding:20px;border:3px solid #7d33b5;border-radius:16px;background:linear-gradient(135deg,#2f0d50,#641296)}.s18DevHeroV10 span{color:#ffe000;font-weight:1000}.s18DevHeroV10 h2{margin:5px 0;font-size:clamp(26px,4vw,45px)}
.s18DevArticleV10 section{padding:16px;border:2px solid #304f78;border-radius:14px;background:#0d1b2d}.s18DevArticleV10 section h3{margin:0 0 7px;color:#ffe000}.s18DevArticleV10 section p{margin:0;color:#d6e2f4;line-height:1.55}
.s18OfficialLinksV10{display:flex;gap:10px;flex-wrap:wrap}.s18OfficialLinksV10 a{padding:11px 14px;border:3px solid #000;border-radius:10px;background:#19c9de;color:#00131a;font-weight:1000;text-decoration:none}

/* Admin depuis le profil. */
.s18ProfileAdminButtonV10{width:100%;padding:14px;border:4px solid #000;border-radius:13px;background:linear-gradient(135deg,#21cf72,#0fa64f);color:#06110a;font-size:18px;font-weight:1000;box-shadow:0 5px 0 #000}
.s18AdminPanelV10>main{height:min(68vh,720px);padding:18px;overflow:auto}
.s18AdminTitleV10{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.s18AdminTitleV10 h3{margin:0;font-size:28px}.s18AdminTitleV10 p{margin:5px 0;color:#b9c9df}.s18AdminTitleV10 button{padding:9px 13px;border:3px solid #000;border-radius:9px;background:#19c9de;font-weight:1000}
.s18DeletionListV10{display:grid;gap:12px}.s18DeletionListV10 article{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:2px solid #36577f;border-radius:14px;background:#0c192b}.s18DeletionUserV10{display:flex;align-items:center;gap:11px}.s18DeletionUserV10>img,.s18DeletionUserV10>span{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#203958;display:grid;place-items:center}.s18DeletionUserV10 small{display:block;color:#91a7c5;word-break:break-all}.s18DeletionListV10 strong{display:block;text-transform:uppercase}.s18DeletionListV10 .status-pending{color:#ffe000}.s18DeletionListV10 .status-processed{color:#45e886}.s18DeletionListV10 .status-rejected{color:#ff7480}.s18DeletionActionsV10{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.s18DeletionActionsV10 button{padding:8px 10px;border:2px solid #000;border-radius:8px;background:#e34d57;color:#fff;font-weight:900}.s18DeletionActionsV10 button:first-child{background:#274466}.s18DeletionActionsV10 button.success{background:#20c96a;color:#00150a}
.s18AdminLauncherV10{display:grid;justify-items:center;gap:10px;padding:45px;text-align:center}.s18AdminLauncherV10>span{font-size:62px}.s18AdminLauncherV10 h3{margin:0;font-size:30px}.s18AdminLauncherV10 p{max-width:620px;color:#bdcce1}.s18AdminLauncherV10 button{padding:12px 18px;border:3px solid #000;border-radius:10px;background:#ffe000;font-weight:1000}.s18AdminLoadingV10,.s18AdminEmptyV10,.s18AdminErrorV10{padding:35px;text-align:center;border:2px dashed #43658f;border-radius:14px}.s18AdminErrorV10{color:#ff8991;border-color:#d34b59}

/* Mods : chevron clair et arrivée en haut de page. */
.modsTutorial summary{display:flex!important;align-items:center!important;gap:12px!important;list-style:none!important}
.modsTutorial summary::-webkit-details-marker{display:none!important}
.modsTutorial summary::after{content:'⌄'!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;margin-left:auto!important;flex:0 0 40px!important;border:3px solid #000!important;border-radius:50%!important;background:#07111f!important;color:#ffe000!important;font-size:28px!important;font-weight:1000!important;line-height:1!important;transition:transform .2s ease!important}
.modsTutorial[open] summary::after{content:'⌄'!important;transform:rotate(180deg)!important}
.s18ModsHintV10{margin-left:auto;font-size:14px;font-weight:1000;opacity:.8}.modsTutorial summary::after{margin-left:0!important}

@media(max-width:900px){
  .s18CharacterCardV10 .thumb{min-height:290px!important}
  .s18CharacterCardV10 .thumb img,.s18PortraitImgV10{transform:scale(1.30)!important}
  .s18StyleCardV10 .styleBanner{min-height:370px!important}
  .s18StyleCardV10 .styleBanner img,.s18StylePortraitV10{transform:scale(1.20)!important}
  .s18NotesBodyV10{grid-template-columns:1fr;height:min(78vh,780px)}
  .s18NotesBodyV10>aside{display:flex;gap:8px;border-right:0;border-bottom:2px solid #2d496e;overflow:auto}.s18NotesBodyV10>aside>button{min-width:230px;margin:0}
  .s18DeletionListV10 article{grid-template-columns:1fr}.s18DeletionActionsV10{justify-content:flex-start}
  .mhurPatchDevButtonV10 span{display:none}.mhurPatchDevButtonV10{min-width:44px!important;padding:0 10px!important}
}
@media(max-width:600px){
  .s18CharacterCardV10 .thumb{min-height:250px!important}
  .s18CharacterCardV10 .thumb img,.s18PortraitImgV10{transform:scale(1.24)!important}
  .s18StyleCardV10 .styleBanner{min-height:320px!important}
  .s18SeasonReleaseV10{min-height:160px!important}
  .s18SeasonNewV10{width:70px;height:35px}.s18SeasonReleaseV10 .releaseNamesV299 b{font-size:20px!important}
  .s18NotesOverlayV10,.s18AdminOverlayV10{padding:5px}.s18NotesPanelV10,.s18AdminPanelV10{max-height:98vh;border-radius:12px}.s18NotesBodyV10{height:82vh}.s18PatchSkillV10{grid-template-columns:1fr}.s18PatchSkillV10>div{width:72px;height:72px}
  .s18ModsHintV10{display:none}
}
/* Évite d'afficher les anciennes cartes rouges avant le remplacement v10. */
.releaseGridV296:not([data-s18-season-v10]){visibility:hidden!important;min-height:200px!important}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v11 : fenêtre notes et portraits                   */
/* ========================================================================== */
body.s18NotesOpenV11{overflow:hidden!important}
.s18NotesOverlayV10{
  align-items:flex-start!important;
  justify-content:center!important;
  padding:88px 18px 16px!important;
  overflow:hidden!important;
}
.s18NotesPanelV10{
  width:min(1220px,calc(100vw - 36px))!important;
  height:calc(100dvh - 104px)!important;
  max-height:calc(100dvh - 104px)!important;
  margin:0 auto!important;
  outline:none!important;
}
.s18NotesBodyV10{
  height:calc(100dvh - 252px)!important;
  min-height:0!important;
}
.s18NotesBodyV10>aside,
.s18NotesBodyV10>main{overscroll-behavior:contain!important;scroll-behavior:auto!important}

/* Les portraits commencent bien au bas de la carte et occupent plus d'espace. */
.s18CharacterCardV10 .thumb{
  position:relative!important;
  height:430px!important;
  min-height:430px!important;
  overflow:hidden!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.s18CharacterCardV10 .thumb img,
.s18PortraitImgV10{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:116%!important;
  height:116%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) scale(1.10)!important;
  transform-origin:center bottom!important;
  margin:0!important;
  padding:0!important;
}
.s18StyleCardV10 .styleBanner{
  position:relative!important;
  height:520px!important;
  min-height:520px!important;
  overflow:hidden!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.s18StyleCardV10 .styleBanner img,
.s18StylePortraitV10{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:118%!important;
  height:118%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) scale(1.08)!important;
  transform-origin:center bottom!important;
  margin:0!important;
  padding:0!important;
}
/* Fonds nets par rôle : plus de halo flou dans la partie haute. */
.s18StyleCardV10.role-technical .styleBanner{background:linear-gradient(180deg,#a532d4 0%,#7411a4 55%,#42075f 100%)!important}
.s18StyleCardV10.role-attack .styleBanner{background:linear-gradient(180deg,#ef354d 0%,#bd102a 55%,#680716 100%)!important}
.s18StyleCardV10.role-assault .styleBanner{background:linear-gradient(180deg,#ffe547 0%,#cba800 55%,#756000 100%)!important}
.s18StyleCardV10.role-support .styleBanner{background:linear-gradient(180deg,#54e978 0%,#13a842 55%,#075a25 100%)!important}
.s18StyleCardV10.role-rapid .styleBanner{background:linear-gradient(180deg,#48daf1 0%,#12a8ca 55%,#07566e 100%)!important}

/* Image officielle dédiée à Full Bullet. */
.s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
.s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img{
  width:128%!important;
  height:112%!important;
  transform:translateX(-50%) scale(1.16)!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.45))!important;
}
/* Gentle : image officielle propre, sans étirement ni zone floue en haut. */
.s18StyleCardV10[data-style*="gentle"] .styleBanner img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:translateX(-50%)!important;
  filter:none!important;
}

@media(max-width:900px){
  .s18NotesOverlayV10{padding:82px 8px 8px!important}
  .s18NotesPanelV10{width:calc(100vw - 16px)!important;height:calc(100dvh - 90px)!important;max-height:calc(100dvh - 90px)!important}
  .s18NotesBodyV10{height:calc(100dvh - 240px)!important}
  .s18CharacterCardV10 .thumb{height:350px!important;min-height:350px!important}
  .s18CharacterCardV10 .thumb img,.s18PortraitImgV10{width:120%!important;height:120%!important;transform:translateX(-50%) scale(1.08)!important}
  .s18StyleCardV10 .styleBanner{height:420px!important;min-height:420px!important}
  .s18StyleCardV10 .styleBanner img,.s18StylePortraitV10{width:122%!important;height:122%!important;transform:translateX(-50%) scale(1.06)!important}
  .s18StyleCardV10[data-style*="gentle"] .styleBanner img{width:100%!important;height:100%!important;transform:translateX(-50%)!important}
}
@media(max-width:600px){
  .s18NotesOverlayV10{padding:72px 4px 4px!important}
  .s18NotesPanelV10{width:calc(100vw - 8px)!important;height:calc(100dvh - 76px)!important;max-height:calc(100dvh - 76px)!important;border-radius:10px!important}
  .s18NotesBodyV10{height:calc(100dvh - 224px)!important}
  .s18NotesPanelV10>header{padding:10px 12px!important}
  .s18NotesPanelV10>header h2{font-size:22px!important}
  .s18NotesPanelV10>nav button{padding:8px 11px!important}
  .s18CharacterCardV10 .thumb{height:300px!important;min-height:300px!important}
  .s18StyleCardV10 .styleBanner{height:360px!important;min-height:360px!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v12 : premier affichage, sorties et portraits      */
/* ========================================================================== */
#mhurAdminButton,
header.top #mhurAdminButton,
header.top .mhurAdminTopButton,
header.top [data-mhur-admin]{display:none!important;visibility:hidden!important;pointer-events:none!important}

.mhurPatchDevButtonV12,
#mhurPatchDevButtonV12{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:48px!important;
  padding:7px 14px!important;
  border:2px solid #49658d!important;
  border-radius:14px!important;
  background:#132139!important;
  color:#fff!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.mhurPatchDevButtonV12:hover{border-color:#ffe100!important}
.mhurPatchDevIconV12{font-size:17px;line-height:1}

/* L'ancienne règle de masquage ne doit plus laisser une grande zone vide. */
.releaseGridV296,
.releaseGridV296:not([data-s18-season-v10]){
  visibility:visible!important;
  min-height:0!important;
}
.s18PlannedGridV12{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.s18PlannedCardV12{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:210px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:4px solid #05070b!important;
  border-radius:16px!important;
  background:#05070b!important;
  box-shadow:0 7px 0 #050506!important;
  color:#fff!important;
  text-align:left!important;
}
.s18PlannedCardV12.is-clickable{cursor:pointer!important}
.s18PlannedCardV12.is-clickable:hover{border-color:#ffe100!important;transform:translateY(-1px)}
.s18PlannedCardV12.is-disabled{cursor:default!important;user-select:none!important}
.s18PlannedArtV12{position:absolute;inset:0;z-index:1;background-position:center;background-size:cover;background-repeat:no-repeat}
.s18PlannedShadeV12{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.34) 100%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78) 100%)}
.s18PlannedTypeV12{position:absolute;z-index:5;left:12px;top:12px;width:38px;height:38px;filter:drop-shadow(0 3px 0 #000)}
.s18PlannedTypeV12 img{width:100%;height:100%;object-fit:contain}
.s18PlannedNewV12{position:absolute;z-index:5;right:12px;top:10px;width:92px;height:46px;background:url('../assets/home/icons/new_badge_custom.png') center/contain no-repeat;filter:drop-shadow(0 3px 0 rgba(0,0,0,.65))}
.s18PlannedTextV12{position:absolute;z-index:6;left:14px;right:14px;bottom:13px;display:block;text-shadow:0 3px 0 #000}
.s18PlannedTextV12 b{display:block;font-size:clamp(25px,2.2vw,35px);line-height:1;font-weight:1000}
.s18PlannedTextV12 small{display:block;margin-top:7px;color:#ffed00;font-size:clamp(14px,1.25vw,18px);font-weight:1000}
.s18PlannedTextV12 em{display:block;margin-top:5px;color:#fff;font-size:13px;font-style:normal;font-weight:850}
.s18PlannedTsuyuV12{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;justify-content:center;background:#000}
.s18PlannedTsuyuV12 img{width:auto;height:112%;max-width:95%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 12px rgba(0,0,0,.5))}

/* Tous les portraits des listes de personnages ont un vrai fond de rôle et
   commencent au bas de la carte. Cela couvre aussi les anciens rendus. */
.card[data-char].s18V12CharacterCard .thumb,
.card[data-char].s18CharacterCardV10 .thumb,
.card[data-char].s18CharacterCardV9 .thumb{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:420px!important;
  min-height:420px!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--s18-v12-role-bg,var(--s18-card-bg,#12afd0))!important;
}
.card[data-char].s18V12CharacterCard .thumb img,
.card[data-char].s18CharacterCardV10 .thumb img,
.card[data-char].s18CharacterCardV9 .thumb img{
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:128%!important;
  height:128%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  filter:drop-shadow(0 10px 13px rgba(0,0,0,.42))!important;
}

/* Choix d'un style : fond propre par rôle et photo exacte de la base. */
.styleCard[data-style].s18V12StyleCard .styleBanner,
.styleCard[data-style].s18StyleCardV10 .styleBanner,
.styleCard[data-style].s18StyleCardV9 .styleBanner{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  height:540px!important;
  min-height:540px!important;
  padding:0!important;
  overflow:hidden!important;
}
.styleCard[data-style].s18V12StyleCard .styleBanner img,
.styleCard[data-style].s18StyleCardV10 .styleBanner img,
.styleCard[data-style].s18StyleCardV9 .styleBanner img{
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:130%!important;
  height:130%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  filter:drop-shadow(0 11px 14px rgba(0,0,0,.42))!important;
}
.styleCard[data-style].role-attack .styleBanner{background:radial-gradient(circle at 50% 24%,#ff6576 0%,#dc1d3b 52%,#710817 100%)!important}
.styleCard[data-style].role-assault .styleBanner{background:radial-gradient(circle at 50% 24%,#fff16b 0%,#dfc000 52%,#746000 100%)!important}
.styleCard[data-style].role-technical .styleBanner{background:radial-gradient(circle at 50% 24%,#c15ce8 0%,#8818b8 52%,#430760 100%)!important}
.styleCard[data-style].role-support .styleBanner{background:radial-gradient(circle at 50% 24%,#78ff98 0%,#19bb50 52%,#075c28 100%)!important}
.styleCard[data-style].role-rapid .styleBanner{background:radial-gradient(circle at 50% 24%,#76efff 0%,#18b9d9 52%,#07576d 100%)!important}

/* Fiche détaillée : la photo remplit réellement le cadre coloré. */
.charPanel.s18V12CharacterDetail .charTop .portrait,
.charPanel.s18CharacterDetailV10 .charTop .portrait,
.charPanel.s18CharacterDetailV9 .charTop .portrait{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  min-height:410px!important;
  padding:0!important;
  overflow:hidden!important;
}
.charPanel.s18V12CharacterDetail .charTop .portrait img,
.charPanel.s18CharacterDetailV10 .charTop .portrait img,
.charPanel.s18CharacterDetailV9 .charTop .portrait img{
  position:absolute!important;
  left:50%!important;
  bottom:-1px!important;
  width:132%!important;
  height:132%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:900px){
  .s18PlannedGridV12{grid-template-columns:1fr!important}
  .s18PlannedCardV12{min-height:190px!important}
  .card[data-char].s18V12CharacterCard .thumb,.card[data-char].s18CharacterCardV10 .thumb,.card[data-char].s18CharacterCardV9 .thumb{height:360px!important;min-height:360px!important}
  .styleCard[data-style].s18V12StyleCard .styleBanner,.styleCard[data-style].s18StyleCardV10 .styleBanner,.styleCard[data-style].s18StyleCardV9 .styleBanner{height:450px!important;min-height:450px!important}
  .charPanel.s18V12CharacterDetail .charTop .portrait,.charPanel.s18CharacterDetailV10 .charTop .portrait,.charPanel.s18CharacterDetailV9 .charTop .portrait{min-height:350px!important}
}
@media(max-width:600px){
  .mhurPatchDevButtonV12 span:last-child{display:none!important}
  .mhurPatchDevButtonV12{min-width:44px!important;padding:6px 10px!important}
  .s18PlannedCardV12{min-height:165px!important}
  .s18PlannedNewV12{width:72px;height:36px}
  .s18PlannedTextV12 b{font-size:22px}
  .s18PlannedTextV12 small{font-size:13px}
  .card[data-char].s18V12CharacterCard .thumb,.card[data-char].s18CharacterCardV10 .thumb,.card[data-char].s18CharacterCardV9 .thumb{height:320px!important;min-height:320px!important}
  .styleCard[data-style].s18V12StyleCard .styleBanner,.styleCard[data-style].s18StyleCardV10 .styleBanner,.styleCard[data-style].s18StyleCardV9 .styleBanner{height:390px!important;min-height:390px!important}
}

/* ===== Saison 18 v13 — stabilité du premier rendu ===== */
#mhurPatchDevButtonV13,.mhurPatchDevButtonV13{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:48px!important;
  padding:7px 14px!important;
  border:2px solid #49658d!important;
  border-radius:14px!important;
  background:#132139!important;
  color:#fff!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
#mhurPatchDevButtonV13:hover,.mhurPatchDevButtonV13:hover{border-color:#ffe100!important}
.s18PlannedGridV13{visibility:visible!important;min-height:0!important}
.s18PlannedCardV13{contain:layout paint;isolation:isolate}
.s18PlannedArtV13{will-change:auto!important}
.card[data-char].s18V13CharacterCard .thumb,
.styleCard[data-style].s18V13StyleCard .styleBanner,
.charPanel.s18V13CharacterDetail .charTop .portrait{isolation:isolate}
@media(max-width:600px){
  #mhurPatchDevButtonV13 span:last-child,.mhurPatchDevButtonV13 span:last-child{display:none!important}
  #mhurPatchDevButtonV13,.mhurPatchDevButtonV13{min-width:44px!important;padding:6px 10px!important}
}

/* ========================================================================== */
/* Saison 18 v14 — cartes plus grandes, fonds d'origine et header idempotent */
/* ========================================================================== */
#mhurPatchDevButtonV14,.mhurPatchDevButtonV14{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:48px!important;
  max-width:min(360px,31vw)!important;
  padding:7px 14px!important;
  border:2px solid #49658d!important;
  border-radius:14px!important;
  background:#132139!important;
  color:#fff!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  cursor:pointer!important;
}
#mhurPatchDevButtonV14:hover,.mhurPatchDevButtonV14:hover{border-color:#ffe100!important}

.s18PlannedGridV14{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.s18PlannedCardV14{
  min-height:278px!important;
  background:transparent!important;
  border:4px solid #05070b!important;
  border-radius:17px!important;
  box-shadow:0 8px 0 #050506!important;
}
.s18PlannedCardV14.wide{grid-column:1/-1!important;min-height:285px!important}
.s18PlannedArtV14{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;background:none!important}
.s18PlannedArtV14 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
}
.s18PlannedTsuyuV14{background:#000!important}
.s18PlannedTsuyuV14 img{height:128%!important;max-width:100%!important;object-position:center bottom!important}
.s18PlannedCardV14 .s18PlannedShadeV12{background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.12) 46%,rgba(0,0,0,.08) 68%,rgba(0,0,0,.38) 100%),linear-gradient(180deg,transparent 42%,rgba(0,0,0,.82) 100%)!important}
.s18PlannedCardV14 .s18PlannedTextV12 b{font-size:clamp(30px,2.5vw,42px)!important}
.s18PlannedCardV14 .s18PlannedTextV12 small{font-size:clamp(16px,1.35vw,20px)!important}
.s18PlannedCardV14 .s18PlannedTextV12 em{font-size:14px!important}

/* Une seule couleur sur la carte personnage : celle du style Original. */
.card[data-char].s18V14CharacterCard .thumb,
.card[data-char].s18V13CharacterCard .thumb,
.card[data-char].s18V12CharacterCard .thumb{
  height:470px!important;
  min-height:470px!important;
  padding:0!important;
}
.card[data-char].s18V14CharacterCard .thumb img,
.card[data-char].s18V13CharacterCard .thumb img,
.card[data-char].s18V12CharacterCard .thumb img{
  width:146%!important;
  height:146%!important;
  max-width:none!important;
  max-height:none!important;
  bottom:-2px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  opacity:1!important;
}

.styleCard[data-style].s18V14StyleCard .styleBanner,
.styleCard[data-style].s18V13StyleCard .styleBanner,
.styleCard[data-style].s18V12StyleCard .styleBanner{
  height:575px!important;
  min-height:575px!important;
}
.styleCard[data-style].s18V14StyleCard .styleBanner img,
.styleCard[data-style].s18V13StyleCard .styleBanner img,
.styleCard[data-style].s18V12StyleCard .styleBanner img{
  width:145%!important;
  height:145%!important;
  bottom:-2px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  opacity:1!important;
}

.charPanel.s18V14CharacterDetail .charTop .portrait,
.charPanel.s18V13CharacterDetail .charTop .portrait,
.charPanel.s18V12CharacterDetail .charTop .portrait{min-height:455px!important}
.charPanel.s18V14CharacterDetail .charTop .portrait img,
.charPanel.s18V13CharacterDetail .charTop .portrait img,
.charPanel.s18V12CharacterDetail .charTop .portrait img{
  width:145%!important;
  height:145%!important;
  bottom:-2px!important;
  opacity:1!important;
}

@media(max-width:1100px){
  #mhurPatchDevButtonV14 span:last-child,.mhurPatchDevButtonV14 span:last-child{max-width:210px;overflow:hidden;text-overflow:ellipsis}
  .s18PlannedCardV14{min-height:245px!important}
  .s18PlannedCardV14.wide{min-height:250px!important}
  .card[data-char].s18V14CharacterCard .thumb,.card[data-char].s18V13CharacterCard .thumb,.card[data-char].s18V12CharacterCard .thumb{height:420px!important;min-height:420px!important}
}
@media(max-width:760px){
  .s18PlannedGridV14{grid-template-columns:1fr!important;gap:16px!important}
  .s18PlannedCardV14,.s18PlannedCardV14.wide{grid-column:auto!important;min-height:220px!important}
  .card[data-char].s18V14CharacterCard .thumb,.card[data-char].s18V13CharacterCard .thumb,.card[data-char].s18V12CharacterCard .thumb{height:365px!important;min-height:365px!important}
  .styleCard[data-style].s18V14StyleCard .styleBanner,.styleCard[data-style].s18V13StyleCard .styleBanner,.styleCard[data-style].s18V12StyleCard .styleBanner{height:470px!important;min-height:470px!important}
}
@media(max-width:600px){
  #mhurPatchDevButtonV14,.mhurPatchDevButtonV14{min-width:44px!important;max-width:48px!important;padding:6px 10px!important}
  #mhurPatchDevButtonV14 span:last-child,.mhurPatchDevButtonV14 span:last-child{display:none!important}
  .s18PlannedCardV14,.s18PlannedCardV14.wide{min-height:190px!important}
  .s18PlannedCardV14 .s18PlannedTextV12 b{font-size:24px!important}
  .s18PlannedCardV14 .s18PlannedTextV12 small{font-size:13px!important}
  .card[data-char].s18V14CharacterCard .thumb,.card[data-char].s18V13CharacterCard .thumb,.card[data-char].s18V12CharacterCard .thumb{height:330px!important;min-height:330px!important}
  .styleCard[data-style].s18V14StyleCard .styleBanner,.styleCard[data-style].s18V13StyleCard .styleBanner,.styleCard[data-style].s18V12StyleCard .styleBanner{height:410px!important;min-height:410px!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v15 : finitions demandées par l'utilisateur        */
/* ========================================================================== */
#mhurPatchDevButtonV14,.mhurPatchDevButtonV14{
  flex:0 0 auto!important;
  max-width:min(420px,35vw)!important;
}

/* Sorties prévues : cartes plus grandes et art moins vide. */
.s18PlannedGridV14{gap:22px!important}
.s18PlannedCardV14{min-height:308px!important}
.s18PlannedCardV14.wide{min-height:330px!important}
.s18PlannedCardV14 .s18PlannedTextV12{left:18px!important;bottom:18px!important}
.s18PlannedCardV14.wide .s18PlannedTextV12{right:52%!important}
.s18PlannedArtV14 img{object-position:center top!important}
.s18PlannedTsuyuV14{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  padding-right:10px!important;
  background:transparent!important;
}
.s18PlannedTsuyuV14 img{
  width:68%!important;
  height:152%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.45))!important;
}

/* Cartes personnages : réduire le vide en agrandissant davantage le portrait. */
.card[data-char].s18V14CharacterCard .thumb,
.card[data-char].s18V13CharacterCard .thumb,
.card[data-char].s18V12CharacterCard .thumb{
  height:438px!important;
  min-height:438px!important;
}
.card[data-char].s18V14CharacterCard .thumb img,
.card[data-char].s18V13CharacterCard .thumb img,
.card[data-char].s18V12CharacterCard .thumb img{
  width:154%!important;
  height:154%!important;
  bottom:-2px!important;
}

/* Styles : on garde le fond de rôle, mais avec un visuel plus grand et propre. */
.styleCard[data-style].s18V14StyleCard .styleBanner,
.styleCard[data-style].s18V13StyleCard .styleBanner,
.styleCard[data-style].s18V12StyleCard .styleBanner{
  height:510px!important;
  min-height:510px!important;
}
.styleCard[data-style].s18V14StyleCard .styleBanner img,
.styleCard[data-style].s18V13StyleCard .styleBanner img,
.styleCard[data-style].s18V12StyleCard .styleBanner img{
  width:140%!important;
  height:140%!important;
  bottom:-2px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.styleCard[data-style="fullbullet"] .styleBanner img,
.styleCard[data-style*="midoriya_attack"] .styleBanner img,
.s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
.s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img{
  width:126%!important;
  height:116%!important;
  transform:translateX(-50%) scale(1.12)!important;
  object-position:center 88%!important;
}

/* Réductions de points personnage : si les images sont présentes, elles remplissent mieux. */
.discountCardV296 img{
  object-position:center center!important;
  background:radial-gradient(circle,#2f3c50 0%,#101218 72%)!important;
}

@media(max-width:1100px){
  #mhurPatchDevButtonV14 span:last-child,.mhurPatchDevButtonV14 span:last-child{max-width:240px!important}
  .s18PlannedCardV14{min-height:270px!important}
  .s18PlannedCardV14.wide{min-height:282px!important}
  .s18PlannedCardV14.wide .s18PlannedTextV12{right:48%!important}
}
@media(max-width:760px){
  .s18PlannedCardV14,.s18PlannedCardV14.wide{min-height:230px!important}
  .s18PlannedCardV14.wide .s18PlannedTextV12{right:40%!important}
  .s18PlannedTsuyuV14{padding-right:8px!important}
  .s18PlannedTsuyuV14 img{width:72%!important;height:138%!important}
  .card[data-char].s18V14CharacterCard .thumb,.card[data-char].s18V13CharacterCard .thumb,.card[data-char].s18V12CharacterCard .thumb{height:360px!important;min-height:360px!important}
  .styleCard[data-style].s18V14StyleCard .styleBanner,.styleCard[data-style].s18V13StyleCard .styleBanner,.styleCard[data-style].s18V12StyleCard .styleBanner{height:435px!important;min-height:435px!important}
}
@media(max-width:600px){
  #mhurPatchDevButtonV14,#mhurPatchDevButtonV14,.mhurPatchDevButtonV14{max-width:48px!important}
  .s18PlannedCardV14,.s18PlannedCardV14.wide{min-height:205px!important}
  .s18PlannedCardV14 .s18PlannedTextV12{left:14px!important;right:14px!important;bottom:14px!important}
  .s18PlannedCardV14.wide .s18PlannedTextV12{right:14px!important}
  .s18PlannedTsuyuV14{justify-content:center!important;padding-right:0!important}
  .s18PlannedTsuyuV14 img{width:74%!important;height:130%!important}
  .card[data-char].s18V14CharacterCard .thumb,.card[data-char].s18V13CharacterCard .thumb,.card[data-char].s18V12CharacterCard .thumb{height:325px!important;min-height:325px!important}
  .styleCard[data-style].s18V14StyleCard .styleBanner,.styleCard[data-style].s18V13StyleCard .styleBanner,.styleCard[data-style].s18V12StyleCard .styleBanner{height:370px!important;min-height:370px!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v17 : styles/costumes + patch notes mobile         */
/* ========================================================================== */
:root{--s18-header-offset:0px}

/* Patch Notes / Dev Notes : position dynamique sous le header sur téléphone. */
.s18NotesOverlayV10{
  align-items:flex-start!important;
  padding:calc(var(--s18-header-offset,0px) + 10px) 10px 10px!important;
}
.s18NotesPanelV10{
  width:min(1220px,98vw)!important;
  max-height:calc(100dvh - var(--s18-header-offset,0px) - 20px)!important;
}
.s18NotesBodyV10{
  height:min(74vh,780px)!important;
  max-height:calc(100dvh - var(--s18-header-offset,0px) - 170px)!important;
}
.s18NotesPanelV10>header,
.s18NotesPanelV10>nav{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
}
.s18NotesPanelV10>nav{z-index:3!important}

/* Personnages : garder les anciennes photos mais plus grandes sur PC. */
.card[data-char].s18CharacterCardV10 .thumb,
.card[data-char].s18V14CharacterCard .thumb,
.card[data-char].s18V13CharacterCard .thumb,
.card[data-char].s18V12CharacterCard .thumb{
  height:472px!important;
  min-height:472px!important;
}
.card[data-char].s18CharacterCardV10 .thumb img,
.card[data-char].s18V14CharacterCard .thumb img,
.card[data-char].s18V13CharacterCard .thumb img,
.card[data-char].s18V12CharacterCard .thumb img,
.s18PortraitImgV10{
  width:158%!important;
  height:158%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) translateY(-2%)!important;
}

/* Styles : photos plus grandes, mieux centrées, rectangle mieux rempli. */
.styleCard[data-style].s18StyleCardV10 .styleBanner,
.styleCard[data-style].s18V14StyleCard .styleBanner,
.styleCard[data-style].s18V13StyleCard .styleBanner,
.styleCard[data-style].s18V12StyleCard .styleBanner{
  height:540px!important;
  min-height:540px!important;
}
.styleCard[data-style].s18StyleCardV10 .styleBanner img,
.styleCard[data-style].s18V14StyleCard .styleBanner img,
.styleCard[data-style].s18V13StyleCard .styleBanner img,
.styleCard[data-style].s18V12StyleCard .styleBanner img,
.s18StylePortraitV10{
  width:146%!important;
  height:146%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) translateY(-4%)!important;
}
.styleCard[data-style="fullbullet"] .styleBanner img,
.styleCard[data-style*="midoriya_attack"] .styleBanner img,
.s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
.s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img,
.s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
.s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img{
  width:118%!important;
  height:118%!important;
  object-position:center top!important;
  transform:translateX(-50%) translateY(0)!important;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.42))!important;
}

/* Costumes : même rendu qu'avant, mais images plus grandes sur PC. */
.costumeTile{
  min-height:372px!important;
  overflow:hidden!important;
}
.costumeTile img{
  width:100%!important;
  height:272px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:radial-gradient(circle at 50% 35%,#2d5a92 0%,#16345b 36%,#0b1930 70%,#06101f 100%)!important;
  padding:4px!important;
  transform:scale(1.08)!important;
  transform-origin:center bottom!important;
}
.costumeTileName{
  bottom:28px!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 10px!important;
}

/* Fiche personnage : garder le fond fait avant mais un peu plus foncé. */
.charPanel.s18CharacterDetailV10 .skillBox,
.charPanel.s18CharacterDetailV9 .skillBox,
.charPanel.s18V14CharacterDetail .skillBox,
.charPanel.s18V13CharacterDetail .skillBox,
.charPanel.s18V12CharacterDetail .skillBox{
  background:#0b1627!important;
  color:#fff!important;
  border:2px solid #2d4d72!important;
}
.charPanel.s18CharacterDetailV10 .skillHead,
.charPanel.s18CharacterDetailV9 .skillHead,
.charPanel.s18V14CharacterDetail .skillHead,
.charPanel.s18V13CharacterDetail .skillHead,
.charPanel.s18V12CharacterDetail .skillHead{
  background:linear-gradient(90deg,#123862,#184d85)!important;
  color:#fff!important;
  text-shadow:0 2px 0 #000!important;
}
.charPanel.s18CharacterDetailV10 .skillDesc,
.charPanel.s18CharacterDetailV9 .skillDesc,
.charPanel.s18V14CharacterDetail .skillDesc,
.charPanel.s18V13CharacterDetail .skillDesc,
.charPanel.s18V12CharacterDetail .skillDesc{
  color:#dbe8f8!important;
}
.charPanel.s18CharacterDetailV10 .toggle,
.charPanel.s18CharacterDetailV9 .toggle,
.charPanel.s18V14CharacterDetail .toggle,
.charPanel.s18V13CharacterDetail .toggle,
.charPanel.s18V12CharacterDetail .toggle{
  background:#0f223c!important;
  color:#86c5ff!important;
}
.charPanel.s18CharacterDetailV10 .simpleTable,
.charPanel.s18CharacterDetailV9 .simpleTable,
.charPanel.s18V14CharacterDetail .simpleTable,
.charPanel.s18V13CharacterDetail .simpleTable,
.charPanel.s18V12CharacterDetail .simpleTable,
.charPanel.s18CharacterDetailV10 .dataTable,
.charPanel.s18CharacterDetailV9 .dataTable,
.charPanel.s18V14CharacterDetail .dataTable,
.charPanel.s18V13CharacterDetail .dataTable,
.charPanel.s18V12CharacterDetail .dataTable{
  background:#091323!important;
}

@media(max-width:1100px){
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{height:432px!important;min-height:432px!important}
  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{height:495px!important;min-height:495px!important}
  .costumeTile{min-height:350px!important}
  .costumeTile img{height:250px!important}
}
@media(max-width:900px){
  .s18NotesOverlayV10{padding:calc(var(--s18-header-offset,0px) + 8px) 8px 8px!important}
  .s18NotesPanelV10{width:calc(100vw - 16px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 16px)!important}
  .s18NotesBodyV10{height:calc(100dvh - var(--s18-header-offset,0px) - 238px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 238px)!important;grid-template-columns:1fr!important}
  .s18NotesBodyV10>aside{max-height:180px!important;border-right:0!important;border-bottom:2px solid #2d496e!important}
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{height:360px!important;min-height:360px!important}
  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{height:430px!important;min-height:430px!important}
  .costumeTile{min-height:324px!important}
  .costumeTile img{height:212px!important;transform:scale(1.04)!important}
  .charPanel.s18CharacterDetailV10 .skillText .dataTable,
  .charPanel.s18CharacterDetailV9 .skillText .dataTable,
  .charPanel.s18V14CharacterDetail .skillText .dataTable,
  .charPanel.s18V13CharacterDetail .skillText .dataTable,
  .charPanel.s18V12CharacterDetail .skillText .dataTable{
    min-width:560px!important;
    font-size:15px!important;
  }
  .charPanel.s18CharacterDetailV10 .skillText .dataTable th,
  .charPanel.s18CharacterDetailV10 .skillText .dataTable td,
  .charPanel.s18CharacterDetailV9 .skillText .dataTable th,
  .charPanel.s18CharacterDetailV9 .skillText .dataTable td,
  .charPanel.s18V14CharacterDetail .skillText .dataTable th,
  .charPanel.s18V14CharacterDetail .skillText .dataTable td,
  .charPanel.s18V13CharacterDetail .skillText .dataTable th,
  .charPanel.s18V13CharacterDetail .skillText .dataTable td,
  .charPanel.s18V12CharacterDetail .skillText .dataTable th,
  .charPanel.s18V12CharacterDetail .skillText .dataTable td{padding:8px 10px!important}
}
@media(max-width:600px){
  .s18NotesOverlayV10{padding:calc(var(--s18-header-offset,0px) + 6px) 4px 4px!important}
  .s18NotesPanelV10{width:calc(100vw - 8px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 8px)!important;border-radius:12px!important}
  .s18NotesBodyV10{height:calc(100dvh - var(--s18-header-offset,0px) - 212px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 212px)!important}
  .s18NotesPanelV10>header{padding:10px 12px!important}
  .s18NotesPanelV10>header h2{font-size:22px!important}
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{height:330px!important;min-height:330px!important}
  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{height:372px!important;min-height:372px!important}
  .costumeTile{min-height:312px!important}
  .costumeTile img{height:200px!important}
  .charPanel.s18CharacterDetailV10 .skillText .dataTable,
  .charPanel.s18CharacterDetailV9 .skillText .dataTable,
  .charPanel.s18V14CharacterDetail .skillText .dataTable,
  .charPanel.s18V13CharacterDetail .skillText .dataTable,
  .charPanel.s18V12CharacterDetail .skillText .dataTable{min-width:520px!important;font-size:14px!important}
}


/* ========================================================================== */
/* MHUR Nexus — Saison 18 v19 : visuels PC + réductions + costumes           */
/* ========================================================================== */
.discountCardV296.s18DiscountCardV19{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.s18DiscountArtV19{
  width:100%!important;
  height:148px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 50% 30%,#334764 0%,#17253a 42%,#0c1421 75%,#090f18 100%)!important;
}
.s18DiscountArtV19 img{
  width:138%!important;
  height:138%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateY(2%)!important;
  background:none!important;
}

@media(min-width:901px){
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{
    height:500px!important;
    min-height:500px!important;
  }
  .card[data-char].s18CharacterCardV10 .thumb img,
  .card[data-char].s18V14CharacterCard .thumb img,
  .card[data-char].s18V13CharacterCard .thumb img,
  .card[data-char].s18V12CharacterCard .thumb img,
  .s18PortraitImgV10{
    width:168%!important;
    height:168%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:translateX(-50%) translateY(-1%)!important;
  }

  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:580px!important;
    min-height:580px!important;
    align-items:flex-end!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner img,
  .styleCard[data-style].s18V14StyleCard .styleBanner img,
  .styleCard[data-style].s18V13StyleCard .styleBanner img,
  .styleCard[data-style].s18V12StyleCard .styleBanner img,
  .s18StylePortraitV10{
    width:154%!important;
    height:154%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:translateX(-50%) translateY(-2%)!important;
  }

  .discountGridV296{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .s18DiscountArtV19{height:170px!important}
  .s18DiscountArtV19 img{width:150%!important;height:150%!important}

  .s18CostumeDesktopGridV19{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
    padding-bottom:0!important;
    align-items:stretch!important;
  }
  .s18CostumeDesktopGridV19 .costumeTile,
  .s18CostumeDesktopGridV19 .costumeCard{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
  }
  .s18UpcomingCostumeGroupV19{
    margin-top:22px!important;
    padding-top:8px!important;
    border-top:3px solid #1f3855!important;
  }
  .s18UpcomingCostumeTitleV19{
    margin:0 0 14px!important;
    padding:10px 14px!important;
    border-left:7px solid #ffe000!important;
    background:#0e1b2d!important;
    color:#fff!important;
    font-size:28px!important;
    font-weight:1000!important;
  }
}

@media(max-width:900px){
  .s18DiscountArtV19{height:132px!important}
  .s18DiscountArtV19 img{width:124%!important;height:124%!important}
}


/* ========================================================================== */
/* MHUR Nexus — Saison 18 v20 : correctifs mobile finaux                     */
/* ========================================================================== */
.mhurPatchDevButtonV20 .mhurPatchDevIconV20{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  line-height:0!important;
}
.mhurPatchDevButtonV20 .mhurPatchDevIconV20 svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
}

.s18PatchTableWrapV10{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
}
.s18PatchTableWrapV10::-webkit-scrollbar{height:8px}
.s18PatchTableV10{min-width:max-content!important}

@media(max-width:900px){
  .homeV296.s18HomeMobileOffsetV20{padding-top:12px!important}

  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{
    height:380px!important;
    min-height:380px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .card[data-char].s18CharacterCardV10 .thumb img,
  .card[data-char].s18V14CharacterCard .thumb img,
  .card[data-char].s18V13CharacterCard .thumb img,
  .card[data-char].s18V12CharacterCard .thumb img,
  .s18PortraitImgV10{
    width:112%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    left:50%!important;
    top:auto!important;
    bottom:0!important;
    transform:translateX(-50%) translateY(0)!important;
  }

  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:430px!important;
    min-height:430px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner img,
  .styleCard[data-style].s18V14StyleCard .styleBanner img,
  .styleCard[data-style].s18V13StyleCard .styleBanner img,
  .styleCard[data-style].s18V12StyleCard .styleBanner img,
  .s18StylePortraitV10{
    width:112%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    left:50%!important;
    top:auto!important;
    bottom:0!important;
    transform:translateX(-50%) translateY(0)!important;
  }
  .styleCard[data-style="fullbullet"] .styleBanner img,
  .styleCard[data-style*="midoriya_attack"] .styleBanner img,
  .s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
  .s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img,
  .s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
  .s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img{
    width:104%!important;
    height:104%!important;
    object-position:center bottom!important;
    top:auto!important;
    bottom:0!important;
    transform:translateX(-50%) translateY(0)!important;
  }

  .s18PatchChangeV10{overflow:visible!important}
  .s18PatchTableWrapV10{padding-bottom:4px!important}
  .s18PatchTableV10{min-width:760px!important}

  .s18NotesBodyV10>main{padding:14px!important}
}

@media(max-width:600px){
  .homeV296.s18HomeMobileOffsetV20{padding-top:16px!important}

  #mhurPatchDevButtonV14,.mhurPatchDevButtonV14{
    min-width:44px!important;
    max-width:48px!important;
    padding:6px 10px!important;
  }

  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V14CharacterCard .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{
    height:340px!important;
    min-height:340px!important;
  }
  .card[data-char].s18CharacterCardV10 .thumb img,
  .card[data-char].s18V14CharacterCard .thumb img,
  .card[data-char].s18V13CharacterCard .thumb img,
  .card[data-char].s18V12CharacterCard .thumb img,
  .s18PortraitImgV10{
    width:108%!important;
    height:108%!important;
  }

  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:398px!important;
    min-height:398px!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner img,
  .styleCard[data-style].s18V14StyleCard .styleBanner img,
  .styleCard[data-style].s18V13StyleCard .styleBanner img,
  .styleCard[data-style].s18V12StyleCard .styleBanner img,
  .s18StylePortraitV10{
    width:108%!important;
    height:108%!important;
  }
  .styleCard[data-style="fullbullet"] .styleBanner img,
  .styleCard[data-style*="midoriya_attack"] .styleBanner img,
  .s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
  .s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img,
  .s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
  .s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img{
    width:102%!important;
    height:102%!important;
  }

  .s18PatchSkillV10{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important}
  .s18PatchSkillV10>div{width:68px!important;height:68px!important}
  .s18PatchSkillV10 h5{font-size:17px!important;line-height:1.18!important}
  .s18PatchTableV10{min-width:720px!important}
  .s18PatchTableV10 th,
  .s18PatchTableV10 td{padding:7px 9px!important;font-size:13px!important}
}


/* ========================================================================== */
/* MHUR Nexus — Saison 18 v22 : icône Patch + portraits PC + patch mobile    */
/* ========================================================================== */
@media(min-width:761px){
  .charPanel.s18V14CharacterDetail .charTop .portrait,
  .charPanel.s18V13CharacterDetail .charTop .portrait,
  .charPanel.s18V12CharacterDetail .charTop .portrait,
  .charPanel.s18CharacterDetailV10 .charTop .portrait,
  .charPanel.s18CharacterDetailV9 .charTop .portrait{
    min-height:520px!important;
  }
  .charPanel.s18V14CharacterDetail .charTop .portrait img,
  .charPanel.s18V13CharacterDetail .charTop .portrait img,
  .charPanel.s18V12CharacterDetail .charTop .portrait img,
  .charPanel.s18CharacterDetailV10 .charTop .portrait img,
  .charPanel.s18CharacterDetailV9 .charTop .portrait img{
    width:112%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    left:50%!important;
    bottom:-2px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:translateX(-50%)!important;
  }

  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:560px!important;
    min-height:560px!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner img,
  .styleCard[data-style].s18V14StyleCard .styleBanner img,
  .styleCard[data-style].s18V13StyleCard .styleBanner img,
  .styleCard[data-style].s18V12StyleCard .styleBanner img,
  .s18StylePortraitV10{
    width:112%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:translateX(-50%) translateY(0)!important;
  }
  .styleCard[data-style="fullbullet"] .styleBanner img,
  .styleCard[data-style*="midoriya_attack"] .styleBanner img,
  .s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
  .s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img,
  .s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
  .s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img{
    width:106%!important;
    height:106%!important;
    object-position:center bottom!important;
    transform:translateX(-50%) translateY(0)!important;
  }
}

@media(max-width:900px){
  #mhurPatchDevButtonV14 .mhurPatchDevIconV20,
  .mhurPatchDevButtonV14 .mhurPatchDevIconV20,
  .mhurPatchDevButtonV20 .mhurPatchDevIconV20,
  #mhurPatchDevButtonV14 span:first-child,
  .mhurPatchDevButtonV14 span:first-child{
    display:grid!important;
    place-items:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }
  #mhurPatchDevButtonV14 .mhurPatchDevIconV20 svg,
  .mhurPatchDevButtonV14 .mhurPatchDevIconV20 svg,
  .mhurPatchDevButtonV20 .mhurPatchDevIconV20 svg,
  #mhurPatchDevButtonV14 span:first-child svg,
  .mhurPatchDevButtonV14 span:first-child svg{
    display:block!important;
    width:22px!important;
    height:22px!important;
  }
}

@media(max-width:600px){
  .s18NotesOverlayV10{padding:calc(var(--s18-header-offset,0px) + 8px) 6px 6px!important}
  .s18NotesPanelV10{width:calc(100vw - 12px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 12px)!important}
  .s18NotesBodyV10{height:calc(100dvh - var(--s18-header-offset,0px) - 156px)!important;max-height:calc(100dvh - var(--s18-header-offset,0px) - 156px)!important}
  .s18NotesBodyV10>main{padding:16px!important}
  .s18PatchCharacterV10>header{gap:16px!important;padding:16px!important}
  .s18PatchPortraitV10{width:112px!important;height:112px!important;flex:0 0 112px!important}
  .s18PatchCharacterV10 h4{font-size:30px!important;line-height:1.03!important}
  .s18PatchCharacterV10 header strong{font-size:18px!important}
  .s18PatchBadgesV10 .badge{font-size:15px!important;padding:8px 12px!important}
  .s18PatchChangesV10{gap:14px!important;padding:16px!important}
  .s18PatchChangeV10{padding:48px 14px 14px!important}
  .s18ToneV10{top:10px!important;right:10px!important}
  .s18PatchSkillV10{grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important}
  .s18PatchSkillV10>div{width:84px!important;height:84px!important}
  .s18PatchSkillV10 h5{font-size:20px!important;line-height:1.12!important}
  .s18PatchLabelV10{font-size:16px!important}
  .s18PatchTableWrapV10{padding-bottom:4px!important}
  .s18PatchTableV10{min-width:760px!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v23 : section Costumes à venir                    */
/* ========================================================================== */
.s18UpcomingCostumeGroupV23{
  margin:0 0 26px!important;
  padding:14px!important;
  border:4px solid #000!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#14233a,#08111f)!important;
  box-shadow:0 7px 0 #02050a!important;
}
.s18UpcomingCostumeTitleV23{
  margin:0 0 14px!important;
  padding:12px 16px!important;
  border-left:8px solid #ffe000!important;
  background:#0c1a2d!important;
  color:#fff!important;
  font-size:clamp(25px,3vw,36px)!important;
  font-weight:1000!important;
  text-shadow:2px 2px 0 #000!important;
}
.s18UpcomingCostumeFamiliesV23{
  display:grid!important;
  gap:18px!important;
}
.s18UpcomingCostumeFamilyV23{
  margin:0!important;
}
.s18UpcomingCostumeGridV23{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(175px,220px))!important;
  gap:14px!important;
  justify-content:start!important;
  overflow:visible!important;
}
.s18UpcomingCostumeGridV23 .costumeTile,
.s18UpcomingCostumeGridV23 .costumeCard{
  width:100%!important;
  max-width:220px!important;
  flex:none!important;
}
@media(max-width:760px){
  .s18UpcomingCostumeGroupV23{padding:10px!important}
  .s18UpcomingCostumeTitleV23{font-size:25px!important}
  .s18UpcomingCostumeGridV23{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .s18UpcomingCostumeGridV23 .costumeTile,
  .s18UpcomingCostumeGridV23 .costumeCard{max-width:none!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v24 : badge NEW automatique                       */
/* ========================================================================== */
.card[data-char],.styleCard[data-style],.costumeTile,.costumeCard{position:relative!important}
.card[data-char] > .s18NewBadge,
.s18CharacterCardV10 > .s18NewBadge,
.card[data-char] > .s18NewBadgeV24{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.s18UpcomingCostumeGroupV19 .s18NewBadge,
.s18UpcomingCostumeGroupV23 .s18NewBadge{display:none!important}


/* ========================================================================== */
/* MHUR Nexus — Saison 18 v25 : dates upcoming + familles pleine largeur     */
/* ========================================================================== */
.s18UpcomingCostumeIntroV25{
  margin:-4px 0 16px!important;
  padding:10px 14px!important;
  border:2px solid #31527b!important;
  border-radius:10px!important;
  background:#091528!important;
  color:#dceaff!important;
  font-size:15px!important;
  font-weight:800!important;
}
.s18UpcomingCostumeFamilyV23{
  overflow:hidden!important;
  border:3px solid #05070b!important;
  border-radius:13px!important;
  background:#08111f!important;
  box-shadow:0 5px 0 #02050a!important;
}
.s18UpcomingCostumeFamilyV23 .costumeGalleryHead{
  margin:0!important;
  border-radius:0!important;
}
.s18UpcomingCostumeGridV23{
  padding:14px!important;
  background:repeating-linear-gradient(135deg,#0b1728 0 22px,#0d1c31 22px 44px)!important;
}
.s18UpcomingCostumeTileV25{
  position:relative!important;
  border-color:#ffdc00!important;
  box-shadow:0 0 0 3px #ffdc0030,0 5px 0 #02050a!important;
}
.s18UpcomingStatusV25,
.s18UpcomingDateV25{
  position:absolute!important;
  z-index:20!important;
  pointer-events:none!important;
  border:2px solid #000!important;
  box-shadow:0 3px 0 #000!important;
  font-weight:1000!important;
  line-height:1!important;
}
.s18UpcomingStatusV25{
  top:8px!important;
  left:8px!important;
  padding:7px 9px!important;
  border-radius:8px!important;
  background:#ffdc00!important;
  color:#05080e!important;
  font-size:12px!important;
}
.s18UpcomingDateV25{
  right:7px!important;
  bottom:7px!important;
  max-width:calc(100% - 14px)!important;
  padding:7px 9px!important;
  border-radius:8px!important;
  background:#0b1c32!important;
  color:#fff!important;
  font-size:12px!important;
  text-align:center!important;
  white-space:nowrap!important;
}

@media(min-width:901px){
  .costumeGalleryGrid.s18FilledCostumeGridV25,
  .costumeGroupRow.s18FilledCostumeGridV25,
  .costumeGrid.s18FilledCostumeGridV25{
    display:grid!important;
    grid-template-columns:repeat(var(--s18-costume-cols,6),minmax(0,1fr))!important;
    gap:14px!important;
    width:100%!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:visible!important;
  }
  .s18FilledCostumeGridV25 > .costumeTile,
  .s18FilledCostumeGridV25 > .costumeCard{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  .s18FilledCostumeGridV25 > .costumeTile img,
  .s18FilledCostumeGridV25 > .costumeCard img{
    width:100%!important;
  }
  /* Un seul costume à venir ne crée plus une immense bande dorée vide. */
  .s18UpcomingCostumeGridV23.s18FilledCostumeGridV25{
    grid-template-columns:repeat(auto-fit,minmax(190px,245px))!important;
    justify-content:start!important;
  }
  .s18UpcomingCostumeGridV23.s18FilledCostumeGridV25 > .costumeTile,
  .s18UpcomingCostumeGridV23.s18FilledCostumeGridV25 > .costumeCard{
    max-width:245px!important;
  }
}

@media(max-width:760px){
  .s18UpcomingCostumeIntroV25{font-size:13px!important}
  .s18UpcomingCostumeGridV23{padding:10px!important}
  .s18UpcomingStatusV25{top:6px!important;left:6px!important;padding:6px 7px!important;font-size:10px!important}
  .s18UpcomingDateV25{right:5px!important;bottom:5px!important;padding:6px 7px!important;font-size:10px!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v26 : carte Tsuyu dans les sorties prévues         */
/* ========================================================================== */
article[data-planned="tsuyu"] .s18PlannedTsuyuV12,
article[data-planned="tsuyu"] .s18PlannedTsuyuV14{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 0 0 18%!important;
  background:#000!important;
}
article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img{
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:92%!important;
  max-width:42%!important;
  max-height:92%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.45))!important;
}
@media(max-width:1100px){
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14{padding-left:12%!important}
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img{max-width:46%!important;height:90%!important}
}
@media(max-width:760px){
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14{padding-left:0!important;justify-content:center!important}
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img{max-width:52%!important;height:88%!important}
}
@media(max-width:600px){
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14{padding-left:0!important}
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img{max-width:54%!important;height:86%!important}
}

/* ========================================================================== */
/* MHUR Nexus — Saison 18 v27 : réductions de points style MHUR Database     */
/* ========================================================================== */
.discountCardV296.s18DiscountCardV19{
  overflow:hidden!important;
}
.s18DiscountArtV19{
  align-items:center!important;
  justify-content:center!important;
  background:radial-gradient(circle at 50% 30%,#334764 0%,#17253a 42%,#0c1421 75%,#090f18 100%)!important;
}
.s18DiscountArtV19 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  display:block!important;
  background:none!important;
}
.discountCardV296.s18DiscountCardV19[data-discount="dj_board"] .s18DiscountArtV19 img,
.discountCardV296.s18DiscountCardV19[data-discount="flow_runner"] .s18DiscountArtV19 img,
.discountCardV296.s18DiscountCardV19[data-discount="gentle_criminal"] .s18DiscountArtV19 img,
.discountCardV296.s18DiscountCardV19[data-discount="factor_fusion"] .s18DiscountArtV19 img,
.discountCardV296.s18DiscountCardV19[data-discount="cluster"] .s18DiscountArtV19 img,
.discountCardV296.s18DiscountCardV19[data-discount="mirko"] .s18DiscountArtV19 img{
  object-position:center center!important;
}
@media(min-width:901px){
  .s18DiscountArtV19{height:172px!important}
  .s18DiscountArtV19 img{width:100%!important;height:100%!important}
}
@media(max-width:900px){
  .s18DiscountArtV19{height:136px!important}
  .s18DiscountArtV19 img{width:100%!important;height:100%!important}
}


/* ========================================================================== */
/* MHUR Nexus — Saison 18 v30 : corrections strictement demandées            */
/* ========================================================================== */

/* 1) Date des costumes à venir : visible sous le badge, sans chevauchement. */
.s18UpcomingCostumeTileV25 .s18UpcomingDateV25{
  top:43px!important;
  left:8px!important;
  right:auto!important;
  bottom:auto!important;
  max-width:calc(100% - 16px)!important;
  transform:none!important;
  z-index:35!important;
  padding:6px 8px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

/* 2) Tsuyu : uniquement le portrait MHUR Database local, entier et centré. */
article[data-planned="tsuyu"] .s18PlannedTsuyuV12,
article[data-planned="tsuyu"] .s18PlannedTsuyuV14,
.releaseCardV299[data-release-char="tsuyu"] .s18SeasonBlackV10,
.releaseCardV299[data-release-char="froppy"] .s18SeasonBlackV10{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  background:#000!important;
  overflow:hidden!important;
}
article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img,
.releaseCardV299[data-release-char="tsuyu"] .s18SeasonProfileV10,
.releaseCardV299[data-release-char="froppy"] .s18SeasonProfileV10{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  height:100%!important;
  max-width:48%!important;
  max-height:100%!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
}

/* 3) Interface des Alters : restauration du fond sombre selon le rôle. */
.charPanel.s18CharacterDetailV10.role-technical,
.charPanel.s18CharacterDetailV9.role-technical,
.charPanel.s18V14CharacterDetail.role-technical,
.charPanel.s18V13CharacterDetail.role-technical,
.charPanel.s18V12CharacterDetail.role-technical{
  background:#21092f!important;
  border-color:#c524eb!important;
}
.charPanel.s18CharacterDetailV10.role-attack,
.charPanel.s18CharacterDetailV9.role-attack,
.charPanel.s18V14CharacterDetail.role-attack,
.charPanel.s18V13CharacterDetail.role-attack,
.charPanel.s18V12CharacterDetail.role-attack{
  background:#300b13!important;
  border-color:#ff304b!important;
}
.charPanel.s18CharacterDetailV10.role-assault,
.charPanel.s18CharacterDetailV9.role-assault,
.charPanel.s18V14CharacterDetail.role-assault,
.charPanel.s18V13CharacterDetail.role-assault,
.charPanel.s18V12CharacterDetail.role-assault{
  background:#302800!important;
  border-color:#ffe000!important;
}
.charPanel.s18CharacterDetailV10.role-support,
.charPanel.s18CharacterDetailV9.role-support,
.charPanel.s18V14CharacterDetail.role-support,
.charPanel.s18V13CharacterDetail.role-support,
.charPanel.s18V12CharacterDetail.role-support{
  background:#082b16!important;
  border-color:#31d56b!important;
}
.charPanel.s18CharacterDetailV10.role-rapid,
.charPanel.s18CharacterDetailV9.role-rapid,
.charPanel.s18V14CharacterDetail.role-rapid,
.charPanel.s18V13CharacterDetail.role-rapid,
.charPanel.s18V12CharacterDetail.role-rapid{
  background:#062c36!important;
  border-color:#24c6dc!important;
}

.charPanel.role-technical .skillBox{background:#170720!important;border-color:#a92bd2!important}
.charPanel.role-technical .skillHead{background:linear-gradient(90deg,#491064,#7c1da0)!important;border-bottom-color:#d44cff!important}
.charPanel.role-technical .toggle{background:#351047!important;color:#e3a2ff!important}

.charPanel.role-attack .skillBox{background:#210810!important;border-color:#d92842!important}
.charPanel.role-attack .skillHead{background:linear-gradient(90deg,#5e101d,#9c172b)!important;border-bottom-color:#ff5369!important}
.charPanel.role-attack .toggle{background:#40101a!important;color:#ff9baa!important}

.charPanel.role-assault .skillBox{background:#211d03!important;border-color:#d5bd00!important}
.charPanel.role-assault .skillHead{background:linear-gradient(90deg,#5a4e00,#8c7800)!important;border-bottom-color:#ffe43d!important}
.charPanel.role-assault .toggle{background:#403700!important;color:#fff17d!important}

.charPanel.role-support .skillBox{background:#071f10!important;border-color:#24b95a!important}
.charPanel.role-support .skillHead{background:linear-gradient(90deg,#0d4a24,#147337)!important;border-bottom-color:#45e881!important}
.charPanel.role-support .toggle{background:#103a20!important;color:#8cf0ae!important}

.charPanel.role-rapid .skillBox{background:#061f27!important;border-color:#21abc0!important}
.charPanel.role-rapid .skillHead{background:linear-gradient(90deg,#075066,#087c96)!important;border-bottom-color:#42def0!important}
.charPanel.role-rapid .toggle{background:#0a3c49!important;color:#92edf7!important}

@media(max-width:760px){
  article[data-planned="tsuyu"] .s18PlannedTsuyuV12 img,
  article[data-planned="tsuyu"] .s18PlannedTsuyuV14 img,
  .releaseCardV299[data-release-char="tsuyu"] .s18SeasonProfileV10,
  .releaseCardV299[data-release-char="froppy"] .s18SeasonProfileV10{
    max-width:58%!important;
    height:100%!important;
  }
}

/* ======================================================================= */
/* MHUR Nexus — Saison 18 v34 : cartes plus compactes (personnages/styles) */
/* ======================================================================= */

/* Vue personnages / tuning / builds / costumes : réduire la hauteur des */
/* cadres portraits pour un rendu plus propre, tout en gardant l'image en bas. */
.card[data-char].s18CharacterCardV9 .thumb,
.card[data-char].s18CharacterCardV10 .thumb,
.card[data-char].s18V13CharacterCard .thumb,
.card[data-char].s18V12CharacterCard .thumb{
  height:clamp(280px,26vw,340px)!important;
  min-height:clamp(280px,26vw,340px)!important;
  align-items:flex-end!important;
}
.card[data-char].s18CharacterCardV9 .thumb img,
.card[data-char].s18CharacterCardV10 .thumb img,
.card[data-char].s18V13CharacterCard .thumb img,
.card[data-char].s18V12CharacterCard .thumb img,
.s18PortraitImgV10,
.s18PortraitImgV9{
  left:50%!important;
  bottom:0!important;
  width:108%!important;
  height:108%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) translateY(0)!important;
  transform-origin:center bottom!important;
}

/* Choix des styles : bannières moins hautes mais même logique visuelle. */
.styleCard[data-style].s18StyleCardV10 .styleBanner,
.styleCard[data-style].s18StyleCardV9 .styleBanner,
.styleCard[data-style].s18V14StyleCard .styleBanner,
.styleCard[data-style].s18V13StyleCard .styleBanner,
.styleCard[data-style].s18V12StyleCard .styleBanner{
  height:clamp(340px,30vw,430px)!important;
  min-height:clamp(340px,30vw,430px)!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.styleCard[data-style].s18StyleCardV10 .styleBanner img,
.styleCard[data-style].s18StyleCardV9 .styleBanner img,
.styleCard[data-style].s18V14StyleCard .styleBanner img,
.styleCard[data-style].s18V13StyleCard .styleBanner img,
.styleCard[data-style].s18V12StyleCard .styleBanner img,
.s18StylePortraitV10,
.s18StylePortraitV9{
  left:50%!important;
  bottom:0!important;
  width:110%!important;
  height:110%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%) translateY(0)!important;
  transform-origin:center bottom!important;
}

/* Full Bullet gardé un peu plus contenu pour éviter la découpe visuelle. */
.styleCard[data-style="fullbullet"] .styleBanner img,
.styleCard[data-style*="midoriya_attack"] .styleBanner img,
.s18StyleCardV10[data-style="fullbullet"] .styleBanner img,
.s18StyleCardV10[data-style*="midoriya_attack"] .styleBanner img,
.s18StyleCardV9[data-style="fullbullet"] .styleBanner img,
.s18StyleCardV9[data-style*="midoriya_attack"] .styleBanner img,
.s18V14StyleCard[data-style="fullbullet"] .styleBanner img,
.s18V14StyleCard[data-style*="midoriya_attack"] .styleBanner img,
.s18V13StyleCard[data-style="fullbullet"] .styleBanner img,
.s18V13StyleCard[data-style*="midoriya_attack"] .styleBanner img,
.s18V12StyleCard[data-style="fullbullet"] .styleBanner img,
.s18V12StyleCard[data-style*="midoriya_attack"] .styleBanner img{
  width:102%!important;
  height:102%!important;
}

/* Costumes : cadres un peu plus compacts, visuels toujours alignés en bas. */
.costumeTile,
.costumeCard{
  min-height:320px!important;
}
.costumeTile img,
.costumeCard img{
  height:228px!important;
  object-position:center bottom!important;
}

@media (min-width: 1440px){
  .card[data-char].s18CharacterCardV9 .thumb,
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{
    height:320px!important;
    min-height:320px!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18StyleCardV9 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:400px!important;
    min-height:400px!important;
  }
}

@media (max-width: 900px){
  .card[data-char].s18CharacterCardV9 .thumb,
  .card[data-char].s18CharacterCardV10 .thumb,
  .card[data-char].s18V13CharacterCard .thumb,
  .card[data-char].s18V12CharacterCard .thumb{
    height:280px!important;
    min-height:280px!important;
  }
  .styleCard[data-style].s18StyleCardV10 .styleBanner,
  .styleCard[data-style].s18StyleCardV9 .styleBanner,
  .styleCard[data-style].s18V14StyleCard .styleBanner,
  .styleCard[data-style].s18V13StyleCard .styleBanner,
  .styleCard[data-style].s18V12StyleCard .styleBanner{
    height:360px!important;
    min-height:360px!important;
  }
  .costumeTile img,
  .costumeCard img{
    height:210px!important;
  }
}

/* ======================================================================= */
/* MHUR Nexus — Saison 18 v35 : réductions + mini portraits communauté     */
/* ======================================================================= */

/* Réductions : reprendre les nouvelles photos locales MHUR Database et */
/* bien les afficher en bas/au centre comme le reste du site. */
.s18DiscountArtV19{
  align-items:flex-end!important;
  justify-content:center!important;
}
.s18DiscountArtV19 img{
  width:112%!important;
  height:112%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
}
.discountCardV296.s18DiscountCardV19[data-discount="gentle_criminal"] .s18DiscountArtV19 img{
  width:102%!important;
  height:102%!important;
}

/* Petite photo en build communauté / listes avec mini portraits : */
/* on remet un vrai fond de rôle derrière l'image. */
.s18MiniPortraitRoleBgV35{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:12px!important;
  border:2px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
  flex:0 0 auto!important;
}
.s18MiniPortraitRoleBgV35.role-assault{
  background:radial-gradient(circle at 50% 28%,#fff29f 0%,#f5de28 38%,#ba9800 100%)!important;
}
.s18MiniPortraitRoleBgV35.role-attack{
  background:radial-gradient(circle at 50% 28%,#ff99a4 0%,#ff3e59 38%,#b0132a 100%)!important;
}
.s18MiniPortraitRoleBgV35.role-rapid{
  background:radial-gradient(circle at 50% 28%,#abf1ff 0%,#35d6ef 38%,#0d86b4 100%)!important;
}
.s18MiniPortraitRoleBgV35.role-technical{
  background:radial-gradient(circle at 50% 28%,#efb8ff 0%,#d33cff 38%,#7a169f 100%)!important;
}
.s18MiniPortraitRoleBgV35.role-support{
  background:radial-gradient(circle at 50% 28%,#9effb2 0%,#34dd57 38%,#17792d 100%)!important;
}
.s18MiniPortraitImgV35{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  display:block!important;
  background:none!important;
}

/* === MHUR V570 START === */
/* Accueil : seul Gentle Criminal garde le badge NEW. */
.s18PlannedCardV12[data-planned="twice"] .s18PlannedNewV12,
.s18PlannedCardV12[data-planned="tsuyu"] .s18PlannedNewV12,
.s18SeasonReleaseV10[data-release-char*="twice" i] .s18SeasonNewV10,
.s18SeasonReleaseV10[data-release-char*="tsuyu" i] .s18SeasonNewV10,
.s18SeasonReleaseV10[data-release-char*="froppy" i] .s18SeasonNewV10 {
  display: none !important;
  visibility: hidden !important;
}

/* Costumes : NEW en haut à droite, mais sous la ligne des étoiles. */
.costumeTile > .s18NewBadge,
.costumeCard > .s18NewBadge,
.costumeResult > .s18NewBadge,
.costumeTile > .s18NewBadgeV24,
.costumeCard > .s18NewBadgeV24,
.costumeResult > .s18NewBadgeV24 {
  top: 38px !important;
  right: 8px !important;
  left: auto !important;
  width: 64px !important;
  height: 34px !important;
  transform-origin: top right !important;
  z-index: 31 !important;
}

/* Les étoiles restent tout en haut et au-dessus du NEW. */
.costumeTile > .costumeTileStars,
.costumeCard > .costumeTileStars,
.costumeResult > .costumeTileStars {
  top: 7px !important;
  right: 8px !important;
  z-index: 32 !important;
}
/* === MHUR V570 END === */


/* MHUR Nexus — V580 : affichage final des NEW et INCOMING */
.s18NewBadgeV580{
  animation:none!important;
  overflow:visible!important;
}

.s18NewPulseInnerV580{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  transform-origin:center!important;
  will-change:transform!important;
}

/* Personnages et T.U.N.I.N.G : NEW en haut à droite. */
.card[data-char] > .s18NewBadgeV580,
.styleCard[data-style] > .s18NewBadgeV580{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  top:7px!important;
  right:7px!important;
  left:auto!important;
  width:88px!important;
  height:44px!important;
  transform:none!important;
  transform-origin:center!important;
  z-index:90!important;
}

/* Costumes : badge plus petit et placé sous les étoiles. */
.costumeTile > .s18NewBadgeV580,
.costumeCard > .s18NewBadgeV580,
.costumeResult > .s18NewBadgeV580,
[data-costume] > .s18NewBadgeV580,
[data-costume-id] > .s18NewBadgeV580{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  top:38px!important;
  right:8px!important;
  left:auto!important;
  width:60px!important;
  height:31px!important;
  transform:none!important;
  transform-origin:center!important;
  z-index:90!important;
}

/* Les étoiles restent au-dessus du badge costume. */
.costumeTile > .costumeTileStars,
.costumeCard > .costumeTileStars,
.costumeResult > .costumeTileStars{
  top:7px!important;
  right:8px!important;
  z-index:91!important;
}

/* INCOMING plus grand sur Twice et Tsuyu. */
.s18PlannedIncomingV580{
  position:absolute!important;
  z-index:7!important;
  top:9px!important;
  right:10px!important;
  min-width:172px!important;
  width:auto!important;
  height:58px!important;
  padding:0 19px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif!important;
  font-size:24px!important;
  font-style:italic!important;
  line-height:1!important;
  letter-spacing:.7px!important;
  white-space:nowrap!important;
  text-shadow:
    -2px -2px 0 #ff2f92,
     2px -2px 0 #ff2f92,
    -2px  2px 0 #ff2f92,
     2px  2px 0 #ff2f92,
     3px  3px 0 #000!important;
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.72))!important;
  animation:mhurIncomingPulseV580 1.05s ease-in-out infinite!important;
  transform-origin:top right!important;
}

@keyframes mhurIncomingPulseV580{
  0%,100%{transform:scale(.96)}
  50%{transform:scale(1.07)}
}

/* Gentle est le seul NEW conservé dans les sorties prévues de l'accueil. */
.s18PlannedCardV12[data-planned="twice"] .s18PlannedNewV12,
.s18PlannedCardV12[data-planned="tsuyu"] .s18PlannedNewV12{
  display:none!important;
  visibility:hidden!important;
}

/* Réductions de points : texte moins gras. */
.discountGridV296 .discountCardV296 > b,
.discountGridV296 .s18DiscountCardV19 > b,
.discountGridV296 .v559DiscountName{
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

.discountGridV296 .discountCardV296 > span,
.discountGridV296 .s18DiscountCardV19 > span,
.discountGridV296 .v559DiscountPoints,
.discountGridV296 .v559RoleBadge{
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

@media(max-width:700px){
  .card[data-char] > .s18NewBadgeV580,
  .styleCard[data-style] > .s18NewBadgeV580{
    width:76px!important;
    height:38px!important;
  }

  .costumeTile > .s18NewBadgeV580,
  .costumeCard > .s18NewBadgeV580,
  .costumeResult > .s18NewBadgeV580,
  [data-costume] > .s18NewBadgeV580,
  [data-costume-id] > .s18NewBadgeV580{
    top:34px!important;
    right:7px!important;
    width:54px!important;
    height:28px!important;
  }

  .s18PlannedIncomingV580{
    min-width:148px!important;
    height:50px!important;
    padding:0 14px!important;
    font-size:20px!important;
  }
}


/* MHUR Nexus — V581 : animation NEW fiable, INCOMING fixe */

/* Les INCOMING restent grands mais ne bougent plus. */
.s18PlannedIncomingV578,
.s18PlannedIncomingV579,
.s18PlannedIncomingV580,
.s18PlannedIncomingV581,
[class*="s18PlannedIncoming"]{
  animation:none!important;
  transform:none!important;
  scale:1!important;
}

/*
  Animation indépendante de transform :
  elle reste active même si les anciens CSS imposent transform avec !important.
*/
@keyframes mhurNewPulseV581{
  0%,100%{scale:.91}
  50%{scale:1.13}
}

.card[data-char] > .s18NewBadgeV581,
.styleCard[data-style] > .s18NewBadgeV581,
.costumeTile > .s18NewBadgeV581,
.costumeCard > .s18NewBadgeV581,
.costumeResult > .s18NewBadgeV581,
[data-costume-id] > .s18NewBadgeV581,
[data-costume] > .s18NewBadgeV581{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  animation:mhurNewPulseV581 .9s ease-in-out infinite!important;
  transform-origin:center!important;
  will-change:scale!important;
}

/* Personnages et T.U.N.I.N.G : haut à droite. */
.card[data-char] > .s18NewBadgeV581,
.styleCard[data-style] > .s18NewBadgeV581{
  top:7px!important;
  right:7px!important;
  left:auto!important;
  width:88px!important;
  height:44px!important;
  z-index:95!important;
}

/* Costumes : petit NEW sous les étoiles. */
.costumeTile > .s18NewBadgeV581,
.costumeCard > .s18NewBadgeV581,
.costumeResult > .s18NewBadgeV581,
[data-costume-id] > .s18NewBadgeV581,
[data-costume] > .s18NewBadgeV581{
  top:38px!important;
  right:8px!important;
  left:auto!important;
  width:60px!important;
  height:31px!important;
  z-index:90!important;
}

/* Les étoiles restent au-dessus. */
.costumeTile > .costumeTileStars,
.costumeCard > .costumeTileStars,
.costumeResult > .costumeTileStars{
  z-index:96!important;
}

/* Le NEW de l'accueil garde sa propre animation existante. */
.s18PlannedCardV12[data-planned="gentle"] .s18PlannedNewV12{
  scale:1!important;
}

@media(max-width:700px){
  .card[data-char] > .s18NewBadgeV581,
  .styleCard[data-style] > .s18NewBadgeV581{
    width:76px!important;
    height:38px!important;
  }

  .costumeTile > .s18NewBadgeV581,
  .costumeCard > .s18NewBadgeV581,
  .costumeResult > .s18NewBadgeV581,
  [data-costume-id] > .s18NewBadgeV581,
  [data-costume] > .s18NewBadgeV581{
    top:34px!important;
    right:7px!important;
    width:54px!important;
    height:28px!important;
  }
}
