:root {
    --user-ui-accent: #d9a441;
    --user-ui-page-accent: var(--user-ui-accent);
    --user-ui-font-scale: 1;
}

body.user-ui-ready { font-size: calc(1em * var(--user-ui-font-scale)); }
body.user-ui-ready button:focus-visible,
body.user-ui-ready a:focus-visible,
body.user-ui-ready select:focus-visible,
body.user-ui-ready input:focus-visible { outline-color: var(--user-ui-page-accent, var(--user-ui-accent)); }

body[data-ui-density="compact"] .panel,
body[data-ui-density="compact"] .panel-shell,
body[data-ui-density="compact"] .academy-panel,
body[data-ui-density="compact"] .forge-panel,
body[data-ui-density="compact"] .caserne-panel,
body[data-ui-density="compact"] .kingdom-panel { padding-top: .82em; padding-bottom: .82em; }
body[data-ui-density="dense"] .panel,
body[data-ui-density="dense"] .panel-shell,
body[data-ui-density="dense"] .academy-panel,
body[data-ui-density="dense"] .forge-panel,
body[data-ui-density="dense"] .caserne-panel,
body[data-ui-density="dense"] .kingdom-panel { padding-top: .58em; padding-bottom: .58em; }

body[data-ui-panel-shape="square"] .panel,
body[data-ui-panel-shape="square"] .panel-shell,
body[data-ui-panel-shape="square"] .academy-panel,
body[data-ui-panel-shape="square"] .forge-panel,
body[data-ui-panel-shape="square"] .caserne-panel,
body[data-ui-panel-shape="square"] .kingdom-panel,
body[data-ui-panel-shape="square"] .market-hero { border-radius: 4px !important; }
body[data-ui-panel-shape="round"] .panel,
body[data-ui-panel-shape="round"] .panel-shell,
body[data-ui-panel-shape="round"] .academy-panel,
body[data-ui-panel-shape="round"] .forge-panel,
body[data-ui-panel-shape="round"] .caserne-panel,
body[data-ui-panel-shape="round"] .kingdom-panel,
body[data-ui-panel-shape="round"] .market-hero { border-radius: 26px !important; }

body[data-ui-panel-style="solid"] .panel,
body[data-ui-panel-style="solid"] .panel-shell,
body[data-ui-panel-style="solid"] .academy-panel,
body[data-ui-panel-style="solid"] .forge-panel,
body[data-ui-panel-style="solid"] .caserne-panel,
body[data-ui-panel-style="solid"] .kingdom-panel { backdrop-filter: none !important; box-shadow: none !important; }
body[data-ui-panel-style="flat"] .panel,
body[data-ui-panel-style="flat"] .panel-shell,
body[data-ui-panel-style="flat"] .academy-panel,
body[data-ui-panel-style="flat"] .forge-panel,
body[data-ui-panel-style="flat"] .caserne-panel,
body[data-ui-panel-style="flat"] .kingdom-panel { backdrop-filter: none !important; box-shadow: none !important; border-color: rgba(255,255,255,.08) !important; }

body.user-ui-ready .top-bar .active,
body.user-ui-ready .top-bar .is-active,
body.user-ui-ready .building-quick-rail-btn.is-active { box-shadow: inset 0 -2px 0 var(--user-ui-page-accent, var(--user-ui-accent)); }

body[data-ui-hud-mode="compact"] .global-village-resource-label { display: none !important; }
body[data-ui-hud-mode="compact"] .global-village-hud-resources { gap: 6px !important; }
body[data-ui-hud-mode="minimal"] .global-village-hud-resources { display: none !important; }
body[data-ui-hud-mode="minimal"] .global-village-title-wrap small,
body[data-ui-hud-mode="minimal"] .global-village-title-wrap span { display: none !important; }
body[data-ui-hud-mode="hidden"] .global-village-hud { display: none !important; }

body.user-ui-hide-quick-rail .building-quick-rail { display: none !important; }
body[data-ui-rail-position="right"] .building-quick-rail { left: auto !important; right: 14px !important; }
body[data-ui-rail-style="compact"] .building-quick-rail-title { display: none !important; }
body[data-ui-rail-style="compact"] .building-quick-rail-btn { min-width: 54px !important; }
body[data-ui-rail-style="icons"] .building-quick-rail-title,
body[data-ui-rail-style="icons"] .building-quick-rail-btn > span:not(.building-quick-rail-icon) { display: none !important; }
body[data-ui-rail-style="icons"] .building-quick-rail-btn { width: 46px !important; min-width: 46px !important; justify-content: center !important; }

body.user-ui-no-animations *,
body.user-ui-no-animations *::before,
body.user-ui-no-animations *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }

.user-ui-custom-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: clamp(12px, 1.2vw, 22px) !important;
}
.user-ui-custom-grid > [data-ui-module] {
    grid-column: span var(--user-ui-span, 12) !important;
    min-width: 0 !important;
    grid-area: auto !important;
}


.user-ui-module-hidden { display: none !important; }

body.user-ui-ready .panel-kicker,
body.user-ui-ready .academy-kicker,
body.user-ui-ready .forge-kicker,
body.user-ui-ready .forge-section-kicker,
body.user-ui-ready .caserne-kicker,
body.user-ui-ready .caserne-section-kicker,
body.user-ui-ready .kingdom-kicker,
body.user-ui-ready .market-kicker,
body.user-ui-ready .market-section-kicker { color: var(--user-ui-page-accent, var(--user-ui-accent)) !important; }
body.user-ui-ready .btn-primary,
body.user-ui-ready .kingdom-btn.primary,
body.user-ui-ready .market-main-btn { border-color: color-mix(in srgb, var(--user-ui-page-accent, var(--user-ui-accent)) 70%, white 10%) !important; }
@media (max-width: 980px) {
    .user-ui-custom-grid > [data-ui-module] { grid-column: 1 / -1 !important; }
    body[data-ui-rail-position="right"] .building-quick-rail { right: 8px !important; }
}

/* Le rail personnalisable ne doit jamais laisser un espace vide. Quand le joueur
   le masque, on restaure la navigation native du bâtiment. */
body.user-ui-hide-quick-rail .building-switcher.building-switcher-replaced { display: flex !important; }
@media (min-width: 1051px) {
    body.has-building-quick-rail.user-ui-hide-quick-rail { padding-left: 0 !important; padding-right: 0 !important; }
    body.has-building-quick-rail[data-ui-rail-position="right"] { padding-left: 0 !important; padding-right: 142px !important; }
    body.has-building-quick-rail[data-ui-rail-position="left"] { padding-right: 0 !important; }
    body.has-building-quick-rail[data-ui-rail-style="icons"][data-ui-rail-position="left"] { padding-left: 72px !important; }
    body.has-building-quick-rail[data-ui-rail-style="icons"][data-ui-rail-position="right"] { padding-left: 0 !important; padding-right: 72px !important; }
}
@media (max-width: 1050px) {
    body.has-building-quick-rail.user-ui-hide-quick-rail { padding-bottom: 0 !important; }
    body[data-ui-rail-position="right"] .building-quick-rail { left: 10px !important; right: 10px !important; }
}

/* Les enfants techniques non déclarés restent pleine largeur quand une page passe en grille libre. */
.user-ui-custom-grid > .user-ui-static-grid-child {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    grid-area: auto !important;
    order: 5000 !important;
}

/* ==========================================================================\n   V5 — SKINS DES MODULES NATIFS\n   Le contenu et la structure restent natifs : seule la coque visuelle change.\n   ========================================================================== */
[data-ui-module-skin]{
    --ui-module-skin-accent: var(--user-ui-page-accent,var(--user-ui-accent,#d9a441));
    --ui-module-skin-border: rgba(255,255,255,.10);
    --ui-module-skin-bg-a: rgba(9,20,36,.86);
    --ui-module-skin-bg-b: rgba(4,10,20,.92);
    --ui-module-skin-shadow: rgba(0,0,0,.26);
    --ui-module-skin-glow-color: transparent;
    --ui-module-glow: 1;
}
.user-ui-module-skinned{
    position:relative;
    isolation:isolate;
    border-radius:14px;
    outline:1px solid color-mix(in srgb,var(--ui-module-skin-accent) 12%,transparent);
    outline-offset:2px;
    transition:filter .24s ease,opacity .24s ease,outline-color .24s ease;
}
.user-ui-module-skinned[data-ui-module-skin^="holo-"],
.user-ui-module-skinned[data-ui-module-skin="tactical"],
.user-ui-module-skinned[data-ui-module-skin="terminal"],
.user-ui-module-skinned[data-ui-module-skin="imperial"]{
    outline-color:color-mix(in srgb,var(--ui-module-skin-accent) 24%,transparent);
}
.user-ui-module-skinned[data-ui-module-skin="minimal"]{outline-color:transparent}
.user-ui-module-skinned[data-ui-module-animated="on"]{
    animation:uiNativeModuleBreath 4.6s ease-in-out infinite;
}
.user-ui-module-skinned[data-ui-module-animated="off"]{animation:none!important}

/* On recolore uniquement les panneaux/cartes contenus dans le module. */
.user-ui-module-skinned :is(
    .panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,
    [class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]
){
    border-color:var(--ui-module-skin-border)!important;
    background:
        linear-gradient(145deg,var(--ui-module-skin-bg-a),var(--ui-module-skin-bg-b))!important;
    box-shadow:
        0 15px 36px var(--ui-module-skin-shadow),
        0 0 calc(22px * var(--ui-module-glow)) color-mix(in srgb,var(--ui-module-skin-glow-color) 22%,transparent)!important;
    transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,border-radius .22s ease!important;
}
.user-ui-module-skinned :is(h1,h2,h3,h4,.panel-kicker,.academy-kicker,.forge-kicker,.forge-section-kicker,.caserne-kicker,.caserne-section-kicker,.kingdom-kicker,.market-kicker,.market-section-kicker){
    text-shadow:0 0 calc(12px * var(--ui-module-glow)) color-mix(in srgb,var(--ui-module-skin-accent) 36%,transparent);
}
.user-ui-module-skinned :is(.panel-kicker,.academy-kicker,.forge-kicker,.forge-section-kicker,.caserne-kicker,.caserne-section-kicker,.kingdom-kicker,.market-kicker,.market-section-kicker){
    color:var(--ui-module-skin-accent)!important;
}

/* Formes par module */
.user-ui-module-skinned[data-ui-module-shape="soft"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){border-radius:14px!important}
.user-ui-module-skinned[data-ui-module-shape="square"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){border-radius:3px!important}
.user-ui-module-skinned[data-ui-module-shape="round"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){border-radius:25px!important}
.user-ui-module-skinned[data-ui-module-shape="angled"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    border-radius:5px 18px 5px 18px!important;
    border-left-width:2px!important;
    border-right-width:2px!important;
}

/* Densité locale : ne touche qu'au module choisi. */
.user-ui-module-skinned[data-ui-module-density="compact"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    --ui-module-compact-factor:.82;
    padding-top:clamp(8px,.75em,14px)!important;
    padding-bottom:clamp(8px,.75em,14px)!important;
}
.user-ui-module-skinned[data-ui-module-density="compact"] :is(h1,h2,h3,h4,p){margin-top:.45em;margin-bottom:.45em}

/* Verre moderne */
[data-ui-module-skin="glass"]{
    --ui-module-skin-accent:#7ecfff;
    --ui-module-skin-border:rgba(126,207,255,.20);
    --ui-module-skin-bg-a:rgba(20,42,66,.68);
    --ui-module-skin-bg-b:rgba(6,15,29,.76);
    --ui-module-skin-shadow:rgba(0,0,0,.23);
    --ui-module-skin-glow-color:#70cfff;
}
[data-ui-module-skin="glass"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){backdrop-filter:blur(18px) saturate(1.18)!important}

/* Obsidienne */
[data-ui-module-skin="obsidian"]{
    --ui-module-skin-accent:#aab9d6;
    --ui-module-skin-border:rgba(158,177,212,.15);
    --ui-module-skin-bg-a:rgba(14,18,29,.98);
    --ui-module-skin-bg-b:rgba(3,6,12,.98);
    --ui-module-skin-shadow:rgba(0,0,0,.52);
    --ui-module-skin-glow-color:#8094bc;
}
[data-ui-module-skin="obsidian"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 42px rgba(0,0,0,.48)!important}

/* Famille holographique */
[data-ui-module-skin="holo-cyan"]{
    --ui-module-skin-accent:#63e9ff;--ui-module-skin-border:rgba(99,233,255,.34);
    --ui-module-skin-bg-a:rgba(5,38,57,.82);--ui-module-skin-bg-b:rgba(3,12,25,.92);
    --ui-module-skin-shadow:rgba(0,0,0,.30);--ui-module-skin-glow-color:#4ddcff;
}
[data-ui-module-skin="holo-gold"]{
    --ui-module-skin-accent:#ffd56a;--ui-module-skin-border:rgba(255,213,106,.34);
    --ui-module-skin-bg-a:rgba(57,42,11,.79);--ui-module-skin-bg-b:rgba(18,12,3,.94);
    --ui-module-skin-shadow:rgba(0,0,0,.31);--ui-module-skin-glow-color:#ffc64c;
}
[data-ui-module-skin="holo-red"]{
    --ui-module-skin-accent:#ff6c78;--ui-module-skin-border:rgba(255,108,120,.34);
    --ui-module-skin-bg-a:rgba(58,16,25,.80);--ui-module-skin-bg-b:rgba(20,5,10,.94);
    --ui-module-skin-shadow:rgba(0,0,0,.31);--ui-module-skin-glow-color:#ff5364;
}
[data-ui-module-skin="holo-green"]{
    --ui-module-skin-accent:#75f6be;--ui-module-skin-border:rgba(117,246,190,.32);
    --ui-module-skin-bg-a:rgba(8,49,37,.80);--ui-module-skin-bg-b:rgba(3,17,14,.94);
    --ui-module-skin-shadow:rgba(0,0,0,.31);--ui-module-skin-glow-color:#5cebb0;
}
[data-ui-module-skin="holo-violet"]{
    --ui-module-skin-accent:#c28cff;--ui-module-skin-border:rgba(194,140,255,.34);
    --ui-module-skin-bg-a:rgba(42,20,63,.80);--ui-module-skin-bg-b:rgba(12,6,24,.95);
    --ui-module-skin-shadow:rgba(0,0,0,.31);--ui-module-skin-glow-color:#ad68ff;
}
[data-ui-module-skin^="holo-"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    background:
        repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px),
        linear-gradient(145deg,var(--ui-module-skin-bg-a),var(--ui-module-skin-bg-b))!important;
    border-color:var(--ui-module-skin-border)!important;
    box-shadow:
        inset 0 0 32px color-mix(in srgb,var(--ui-module-skin-accent) 5%,transparent),
        0 15px 36px var(--ui-module-skin-shadow),
        0 0 calc(24px * var(--ui-module-glow)) color-mix(in srgb,var(--ui-module-skin-glow-color) 28%,transparent)!important;
}

/* Tactique militaire */
[data-ui-module-skin="tactical"]{
    --ui-module-skin-accent:#a8f07c;
    --ui-module-skin-border:rgba(168,240,124,.24);
    --ui-module-skin-bg-a:rgba(24,39,24,.94);
    --ui-module-skin-bg-b:rgba(8,16,10,.97);
    --ui-module-skin-shadow:rgba(0,0,0,.40);
    --ui-module-skin-glow-color:#83df68;
}
[data-ui-module-skin="tactical"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    background:
        linear-gradient(90deg,transparent 0 96%,rgba(168,240,124,.07) 96% 100%),
        linear-gradient(145deg,var(--ui-module-skin-bg-a),var(--ui-module-skin-bg-b))!important;
}

/* Impérial */
[data-ui-module-skin="imperial"]{
    --ui-module-skin-accent:#e7bb5e;
    --ui-module-skin-border:rgba(231,187,94,.30);
    --ui-module-skin-bg-a:rgba(47,36,18,.93);
    --ui-module-skin-bg-b:rgba(14,10,6,.98);
    --ui-module-skin-shadow:rgba(0,0,0,.42);
    --ui-module-skin-glow-color:#d8a83f;
}
[data-ui-module-skin="imperial"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    border-top-color:rgba(255,219,132,.50)!important;
    box-shadow:inset 0 1px 0 rgba(255,228,159,.12),0 18px 42px rgba(0,0,0,.38),0 0 calc(18px * var(--ui-module-glow)) rgba(217,167,64,.10)!important;
}

/* Terminal */
[data-ui-module-skin="terminal"]{
    --ui-module-skin-accent:#62efb1;
    --ui-module-skin-border:rgba(98,239,177,.28);
    --ui-module-skin-bg-a:rgba(4,33,25,.94);
    --ui-module-skin-bg-b:rgba(2,11,9,.99);
    --ui-module-skin-shadow:rgba(0,0,0,.46);
    --ui-module-skin-glow-color:#56eaa9;
}
[data-ui-module-skin="terminal"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    background:
        repeating-linear-gradient(0deg,rgba(98,239,177,.020) 0 1px,transparent 1px 4px),
        linear-gradient(145deg,var(--ui-module-skin-bg-a),var(--ui-module-skin-bg-b))!important;
}
[data-ui-module-skin="terminal"] :is(h1,h2,h3,h4,.panel-kicker,.academy-kicker,.forge-kicker,.caserne-kicker){font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace!important;letter-spacing:.045em}

/* Minimal : garde totalement le contenu mais retire la coque lourde. */
[data-ui-module-skin="minimal"]{
    --ui-module-skin-accent:#d6e2ec;
    --ui-module-skin-border:transparent;
    --ui-module-skin-bg-a:rgba(5,12,21,.22);
    --ui-module-skin-bg-b:rgba(5,12,21,.08);
    --ui-module-skin-shadow:transparent;
    --ui-module-skin-glow-color:transparent;
}
[data-ui-module-skin="minimal"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){
    border-color:rgba(255,255,255,.045)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
}

@keyframes uiNativeModuleBreath{
    0%,100%{filter:drop-shadow(0 0 0 transparent)}
    50%{filter:drop-shadow(0 0 calc(5px * var(--ui-module-glow)) color-mix(in srgb,var(--ui-module-skin-glow-color) 18%,transparent))}
}
@media(max-width:760px){
    .user-ui-module-skinned[data-ui-module-density="compact"] :is(.panel,.panel-shell,.academy-panel,.forge-panel,.caserne-panel,.kingdom-panel,[class$="-panel"],[class*="-panel "],[class$="-card"],[class*="-card "]){padding-top:8px!important;padding-bottom:8px!important}
}

/* Réaction du module Ressources natif aux gains / dépenses importants. */
[data-ui-module="resources"]{position:relative}
.user-ui-native-resource-gain{animation:uiNativeResourceGain .78s ease-out 1!important}
.user-ui-native-resource-loss{animation:uiNativeResourceLoss .78s ease-out 1!important}
.user-ui-native-resource-delta{
    position:absolute;z-index:1200;right:12px;top:10px;pointer-events:none;
    padding:6px 9px;border-radius:9px;background:rgba(4,13,24,.94);border:1px solid rgba(255,255,255,.10);
    color:#e8f4ff;font:900 11px/1 inherit;letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.35);
    animation:uiNativeDeltaFloat 1.15s ease-out forwards;
}
.user-ui-native-resource-delta.is-gain{color:#85f6bd;border-color:rgba(90,244,176,.32);box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 18px rgba(90,244,176,.14)}
.user-ui-native-resource-delta.is-loss{color:#ff9ca7;border-color:rgba(255,103,119,.32);box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 18px rgba(255,103,119,.14)}
@keyframes uiNativeResourceGain{0%{filter:none}38%{filter:drop-shadow(0 0 13px rgba(91,244,179,.48)) brightness(1.12)}100%{filter:none}}
@keyframes uiNativeResourceLoss{0%{filter:none}38%{filter:drop-shadow(0 0 13px rgba(255,91,107,.42)) brightness(1.06)}100%{filter:none}}
@keyframes uiNativeDeltaFloat{0%{opacity:0;transform:translateY(7px) scale(.94)}15%{opacity:1;transform:translateY(0) scale(1)}78%{opacity:1}100%{opacity:0;transform:translateY(-14px) scale(.98)}}


/* =========================================================
   V6 — Village en cartes simples et indépendantes
   ========================================================= */
.village-native-module-card{min-width:0;box-sizing:border-box}
#command-kpis-module{padding:18px 20px}
#command-kpis-module .command-center-kpis{margin-top:0}
#command-priorities-module,#command-situation-module{padding:18px}
#main-commandement-section .command-center-head{padding-bottom:0;border-bottom:0}
#overview-active-bonuses.village-native-module-card{margin:0;padding:16px}
.village-right-column>#main-commandement-section .command-center-head,
.village-right-column>#command-kpis-module .command-center-kpis{grid-template-columns:1fr}
.village-right-column>#main-commandement-section .command-center-actions{grid-template-columns:1fr}
.village-right-column>#command-priorities-module .command-order-row{grid-template-columns:36px minmax(0,1fr)}
.village-right-column>#command-priorities-module .command-order-data,
.village-right-column>#command-priorities-module .command-order-powers,
.village-right-column>#command-priorities-module .command-order-action{grid-column:2;grid-row:auto;min-width:0;justify-content:flex-start;text-align:left}
.village-right-column>#command-priorities-module .command-order-action{width:100%}
.village-main-column>#command-situation-module .command-situation-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:8px 18px}
.village-main-column>#ressources-panel .resource-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.village-main-column>#production-panel .stats-grid,
.village-main-column>#unites-panel .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Les cartes déplacées utilisent l'ordre sans toucher aux trois colonnes de base. */
.village-main-column>[data-ui-module-zone="main"],
.village-right-column>[data-ui-module-zone="side"]{min-width:0}

@media(max-width:1100px){
  .village-main-column>#command-situation-module .command-situation-list{grid-template-columns:1fr}
}
@media(max-width:720px){
  .village-main-column>#ressources-panel .resource-grid-four,
  .village-main-column>#production-panel .stats-grid,
  .village-main-column>#unites-panel .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   V7 — Modules simples sur toutes les pages
   Un bloc fonctionnel = un module. Le contenu reste intact.
   ========================================================= */
[data-ui-module]{min-width:0;box-sizing:border-box}
.user-ui-module-hidden{display:none!important}

/* Les zones à deux colonnes gardent leurs proportions d'origine. Les cartes déplacées se réadaptent. */
.academy-side>[data-ui-module],.caserne-side-stack>[data-ui-module],.forge-side-stack>[data-ui-module]{min-width:0;max-width:100%}
.academy-side>#academy-overview-workspace .academy-overview-grid,
.academy-side>#academy-specialization-workspace .academy-card-grid,
.academy-side>#academy-technologies-workspace .academy-research-grid{grid-template-columns:1fr!important}
.caserne-side-stack>#ui-caserne-recruit .caserne-summary-grid,
.caserne-side-stack>#ui-caserne-counters .caserne-counter-grid,
.caserne-side-stack>#ui-caserne-synergies .caserne-synergy-grid{grid-template-columns:1fr!important}
.forge-side-stack>#ui-forge-smelting .forge-prod-grid,
.forge-side-stack>#ui-forge-header .forge-stats{grid-template-columns:1fr!important}

/* Messagerie : les sous-modules restent dans leur colonne sûre. */
.side-panel>[data-ui-module],.reader-panel>[data-ui-module]{min-width:0}

/* Classement : les cartes de chaque zone restent propres. */
.ranking-hero-card>[data-ui-module],.ranking-columns>[data-ui-module]{min-width:0}

/* Carte : on personnalise les panneaux sans toucher au moteur WebGL. */
.pixi-insights-grid>[data-ui-module]{min-width:0}
.pixi-map-card>[data-ui-module]{min-width:0}

/* Pages mono-colonne : l'ordre personnalisé ne change pas les largeurs natives. */
.architecte-page>[data-ui-module],
#market-content>[data-ui-module],
.kingdom-layout>[data-ui-module],
#alliance-public-content>[data-ui-module],
.walls-panel>[data-ui-module],
#wiki-content>[data-ui-module],
.account-shell>[data-ui-module],
.account-management-shell>[data-ui-module]{min-width:0}

/* Les modules masqués dans des tabs ne forcent jamais l'ouverture d'un onglet. */
.tab-panel.user-ui-module-hidden,.market-tab-panel.user-ui-module-hidden,.kingdom-tab.user-ui-module-hidden{display:none!important}

@media(max-width:900px){
  .academy-side>#ui-academy-hero,
  .caserne-side-stack>#ui-caserne-header,
  .forge-side-stack>#ui-forge-header{overflow-x:auto}
}

/* =========================================================
   V8 — Fiabilisation éditeur / navigation / HUD global
   ========================================================= */
.user-ui-global-hud-hidden{display:none!important}

/* V8.1 — vrai HUD fixe au viewport.
   Le JS déplace temporairement le bandeau sous <body> et laisse un spacer
   dans son emplacement d'origine. Cela évite les parents transform/overflow
   qui peuvent empêcher position:sticky/fixed de suivre le scroll. */
.user-ui-global-hud-spacer{
  width:min(1180px,calc(100% - 32px));
  max-width:1180px;
  margin:0 auto;
  height:0;
  pointer-events:none;
}
body .global-village-hud[data-ui-global-hud-sticky="on"]{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  width:min(1180px,calc(100vw - 32px))!important;
  max-width:1180px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  z-index:2147482000!important;
  box-sizing:border-box!important;
}
body.ui-live-editing .global-village-hud[data-ui-global-hud-sticky="on"]{top:76px!important}
@media(max-width:640px){
  body .global-village-hud[data-ui-global-hud-sticky="on"]{width:calc(100vw - 16px)!important}
  .user-ui-global-hud-spacer{width:calc(100% - 16px)}
}

/* Skins du bandeau global : mêmes familles visuelles que les modules. */
.global-village-hud{
  --ui-gh-accent:#79c8ff;
  --ui-gh-rgb:121,200,255;
  --ui-gh-glow:var(--ui-global-hud-glow,1);
}
.global-village-hud[data-ui-global-hud-skin="holo-cyan"]{--ui-gh-accent:#63e9ff;--ui-gh-rgb:99,233,255}
.global-village-hud[data-ui-global-hud-skin="holo-gold"],
.global-village-hud[data-ui-global-hud-skin="imperial"]{--ui-gh-accent:#ffd56a;--ui-gh-rgb:255,213,106}
.global-village-hud[data-ui-global-hud-skin="holo-red"]{--ui-gh-accent:#ff6c78;--ui-gh-rgb:255,108,120}
.global-village-hud[data-ui-global-hud-skin="holo-green"],
.global-village-hud[data-ui-global-hud-skin="terminal"]{--ui-gh-accent:#75f6be;--ui-gh-rgb:117,246,190}
.global-village-hud[data-ui-global-hud-skin="holo-violet"]{--ui-gh-accent:#c28cff;--ui-gh-rgb:194,140,255}
.global-village-hud[data-ui-global-hud-skin="tactical"]{--ui-gh-accent:#a8f07c;--ui-gh-rgb:168,240,124}
.global-village-hud[data-ui-global-hud-skin="obsidian"]{--ui-gh-accent:#aab9d6;--ui-gh-rgb:170,185,214}
.global-village-hud[data-ui-global-hud-skin="glass"]{--ui-gh-accent:#7ecfff;--ui-gh-rgb:126,207,255}

.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-hud-inner{
  border-color:rgba(var(--ui-gh-rgb),.26)!important;
  background:
    linear-gradient(145deg,rgba(var(--ui-gh-rgb),.075),rgba(4,10,20,.965))!important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.34),
    0 0 calc(24px * var(--ui-gh-glow)) rgba(var(--ui-gh-rgb),.13),
    inset 0 1px 0 rgba(var(--ui-gh-rgb),.08)!important;
}
.global-village-hud[data-ui-global-hud-skin^="holo-"] .global-village-hud-inner,
.global-village-hud[data-ui-global-hud-skin="terminal"] .global-village-hud-inner,
.global-village-hud[data-ui-global-hud-skin="tactical"] .global-village-hud-inner{
  background:
    repeating-linear-gradient(180deg,rgba(var(--ui-gh-rgb),.018) 0 1px,transparent 1px 5px),
    linear-gradient(145deg,rgba(var(--ui-gh-rgb),.08),rgba(3,10,19,.975))!important;
}
.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-resource,
.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-trigger,
.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-cycle{
  border-color:rgba(var(--ui-gh-rgb),.18)!important;
}
.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-resource strong,
.global-village-hud:not([data-ui-global-hud-skin="native"]) .global-village-title-wrap small{
  text-shadow:0 0 calc(10px * var(--ui-gh-glow)) rgba(var(--ui-gh-rgb),.32)
}
.global-village-hud[data-ui-global-hud-skin="minimal"] .global-village-hud-inner{
  background:rgba(4,10,20,.58)!important;
  box-shadow:none!important;
  border-color:rgba(255,255,255,.06)!important;
}
.global-village-hud[data-ui-global-hud-shape="soft"] .global-village-hud-inner{border-radius:14px!important}
.global-village-hud[data-ui-global-hud-shape="square"] .global-village-hud-inner{border-radius:2px!important}
.global-village-hud[data-ui-global-hud-shape="round"] .global-village-hud-inner{border-radius:22px!important}
.global-village-hud[data-ui-global-hud-shape="angled"] .global-village-hud-inner{border-radius:4px 18px 4px 18px!important}
.global-village-hud[data-ui-global-hud-density="compact"] .global-village-hud-inner{min-height:46px!important;padding:4px 6px!important}
.global-village-hud[data-ui-global-hud-density="compact"] .global-village-switcher{min-width:220px}
.global-village-hud[data-ui-global-hud-density="compact"] .global-village-resource{padding:2px 6px!important;grid-template-rows:12px 17px!important}
.global-village-hud[data-ui-global-hud-density="compact"] .global-village-resource img{width:17px!important;height:17px!important}

/* La navigation Village est un module éditable mais sa position reste sûre : gauche ou droite. */
@media(min-width:1101px){
  body[data-ui-village-nav-position="right"] .village-layout{
    grid-template-areas:
      "summary summary summary"
      "side main nav"!important;
  }
  body[data-ui-village-nav-position="right"] .village-nav-panel{grid-area:nav!important}
  body[data-ui-village-nav-position="right"] .village-main-column{grid-area:main!important}
  body[data-ui-village-nav-position="right"] .village-right-column{grid-area:side!important}
}


/* ============================================================
   V9 — Navigation Village : formats indépendants du skin
   Normal / Compact / Mini / Icônes / Rail Holo
   ============================================================ */
.ui-village-nav-icon{display:none;flex:0 0 auto;line-height:1;font-style:normal}

.village-nav-panel[data-ui-village-nav-display="compact"]{
  padding:14px!important;
}
.village-nav-panel[data-ui-village-nav-display="compact"] .panel-header{margin-bottom:10px!important}
.village-nav-panel[data-ui-village-nav-display="compact"] .commandement-shortcuts{gap:6px!important}
.village-nav-panel[data-ui-village-nav-display="compact"] .commandement-shortcuts .mode-tab{
  min-height:38px!important;padding:8px 10px!important;font-size:.77rem!important;
}
.village-nav-panel[data-ui-village-nav-display="compact"] .nav-helper-card{padding:10px!important}

.village-nav-panel[data-ui-village-nav-display="mini"],
.village-nav-panel[data-ui-village-nav-display="icons"],
.village-nav-panel[data-ui-village-nav-display="holo-rail"]{
  padding:10px!important;
}
.village-nav-panel[data-ui-village-nav-display="mini"] .panel-header,
.village-nav-panel[data-ui-village-nav-display="icons"] .panel-header,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .panel-header{
  margin-bottom:8px!important;text-align:center;
}
.village-nav-panel[data-ui-village-nav-display="mini"] .panel-header .panel-kicker,
.village-nav-panel[data-ui-village-nav-display="icons"] .panel-header .panel-kicker,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .panel-header .panel-kicker{display:none!important}
.village-nav-panel[data-ui-village-nav-display="mini"] .panel-header h2,
.village-nav-panel[data-ui-village-nav-display="icons"] .panel-header h2,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .panel-header h2{font-size:.8rem!important;justify-content:center!important}
.village-nav-panel[data-ui-village-nav-display="mini"] .panel-header h2 span,
.village-nav-panel[data-ui-village-nav-display="icons"] .panel-header h2 span,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .panel-header h2 span{display:none!important}
.village-nav-panel[data-ui-village-nav-display="mini"] .ui-village-nav-icon,
.village-nav-panel[data-ui-village-nav-display="icons"] .ui-village-nav-icon,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .ui-village-nav-icon{display:inline-flex;font-size:1.02rem}
.village-nav-panel[data-ui-village-nav-display="mini"] .commandement-shortcuts,
.village-nav-panel[data-ui-village-nav-display="icons"] .commandement-shortcuts,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .commandement-shortcuts{gap:6px!important}
.village-nav-panel[data-ui-village-nav-display="mini"] .commandement-shortcuts .mode-tab{
  min-height:42px!important;padding:8px!important;gap:7px!important;font-size:.68rem!important;justify-content:flex-start!important;
}
.village-nav-panel[data-ui-village-nav-display="mini"] .nav-helper-card,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .nav-helper-card{display:none!important}

.village-nav-panel[data-ui-village-nav-display="icons"] .commandement-shortcuts .mode-tab{
  width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;margin-inline:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;overflow:visible!important;
}
.village-nav-panel[data-ui-village-nav-display="icons"] .commandement-shortcuts .mode-tab > *:not(.ui-village-nav-icon):not(.nav-pill){display:none!important}
.village-nav-panel[data-ui-village-nav-display="icons"] .ui-village-nav-icon{font-size:1.22rem!important}
.village-nav-panel[data-ui-village-nav-display="icons"] .nav-pill{
  display:inline-flex!important;position:absolute!important;top:-4px!important;right:-5px!important;font-size:.58rem!important;min-width:16px!important;height:16px!important;padding:0 4px!important;
}
.village-nav-panel[data-ui-village-nav-display="icons"] .nav-helper-card{display:none!important}

.village-nav-panel[data-ui-village-nav-display="holo-rail"]{
  border-color:rgba(69,217,255,.28)!important;
  background:linear-gradient(180deg,rgba(3,17,34,.96),rgba(2,8,20,.98))!important;
  box-shadow:0 0 30px rgba(69,217,255,.08),inset 0 0 26px rgba(69,217,255,.035)!important;
}
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .commandement-shortcuts .mode-tab{
  min-height:48px!important;padding:7px 5px!important;display:flex!important;flex-direction:column!important;gap:4px!important;
  align-items:center!important;justify-content:center!important;text-align:center!important;font-size:.62rem!important;line-height:1.05!important;
  border-color:rgba(69,217,255,.16)!important;background:rgba(8,30,55,.54)!important;
}
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .commandement-shortcuts .mode-tab:hover,
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .commandement-shortcuts .mode-tab.active{
  border-color:rgba(69,217,255,.62)!important;box-shadow:0 0 16px rgba(69,217,255,.16),inset 0 0 18px rgba(69,217,255,.08)!important;
}
.village-nav-panel[data-ui-village-nav-display="holo-rail"] .ui-village-nav-icon{font-size:1.15rem!important}

@media (min-width:1381px){
  body[data-ui-village-nav-display="compact"] .village-layout{grid-template-columns:220px minmax(700px,1fr) 360px!important}
  body[data-ui-village-nav-display="mini"] .village-layout{grid-template-columns:150px minmax(700px,1fr) 360px!important}
  body[data-ui-village-nav-display="icons"] .village-layout{grid-template-columns:92px minmax(700px,1fr) 360px!important}
  body[data-ui-village-nav-display="holo-rail"] .village-layout{grid-template-columns:118px minmax(700px,1fr) 360px!important}

  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="normal"] .village-layout{grid-template-columns:360px minmax(760px,1fr) 292px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="compact"] .village-layout{grid-template-columns:360px minmax(700px,1fr) 220px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="mini"] .village-layout{grid-template-columns:360px minmax(700px,1fr) 150px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="icons"] .village-layout{grid-template-columns:360px minmax(700px,1fr) 92px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="holo-rail"] .village-layout{grid-template-columns:360px minmax(700px,1fr) 118px!important}
}

@media (min-width:961px) and (max-width:1380px){
  body[data-ui-village-nav-display="compact"] .village-layout{grid-template-columns:210px minmax(0,1fr)!important}
  body[data-ui-village-nav-display="mini"] .village-layout{grid-template-columns:145px minmax(0,1fr)!important}
  body[data-ui-village-nav-display="icons"] .village-layout{grid-template-columns:88px minmax(0,1fr)!important}
  body[data-ui-village-nav-display="holo-rail"] .village-layout{grid-template-columns:112px minmax(0,1fr)!important}
  body[data-ui-village-nav-position="right"] .village-layout{
    grid-template-areas:"summary summary" "main nav" "side side"!important;
  }
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="normal"] .village-layout{grid-template-columns:minmax(0,1fr) 260px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="compact"] .village-layout{grid-template-columns:minmax(0,1fr) 210px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="mini"] .village-layout{grid-template-columns:minmax(0,1fr) 145px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="icons"] .village-layout{grid-template-columns:minmax(0,1fr) 88px!important}
  body[data-ui-village-nav-position="right"][data-ui-village-nav-display="holo-rail"] .village-layout{grid-template-columns:minmax(0,1fr) 112px!important}
}

@media (max-width:960px){
  .village-nav-panel[data-ui-village-nav-display="mini"],
  .village-nav-panel[data-ui-village-nav-display="icons"],
  .village-nav-panel[data-ui-village-nav-display="holo-rail"]{padding:12px!important}
  .village-nav-panel[data-ui-village-nav-display="icons"] .commandement-shortcuts{
    display:grid!important;grid-template-columns:repeat(auto-fit,minmax(48px,1fr))!important;
  }
}
