/* =========================================================
   Variante « Céleste » du style Légende
   Même mise en page et mêmes fonctions que le style Légende : seules les couleurs changent
   (ivoire, parchemin, or et turquoise) et la couverture (Admin → Images → « Couverture Céleste »).
   Choix : Admin → Réglages → Apparence → Style du site. Aperçu : ?style=celeste
   Chargée en dernier, juste avant </head>.
   ========================================================= */

/* ---------- Palette ---------- */
html body.skin-celeste {
  --cz-ivory: #fbf7ee; --cz-parch: #f3ead7; --cz-parch2: #ebdfc5; --cz-card: #fffdf8;
  --cz-ink: #262a36; --cz-ink2: #4f5564; --cz-muted: #6c6658;
  --cz-gold: #b98320; --cz-gold-d: #7c540c; --cz-gold-l: #e2b24a; --cz-gold-xl: #f6dc9a;
  --cz-teal: #1b7f8f; --cz-teal-d: #135f6b; --cz-red: #b8321e;
  --cz-line: rgba(185, 131, 32, .24); --cz-line2: rgba(185, 131, 32, .45);
  --cz-shadow: 0 22px 44px -30px rgba(50, 55, 75, .55);

  /* variables des feuilles du style Légende */
  --bg: var(--cz-ivory); --bg-2: var(--cz-parch); --bg-3: var(--cz-parch2);
  --panel: linear-gradient(180deg, #fffdf8 0%, #f8f1e2 100%);
  --line: var(--cz-line); --line-2: var(--cz-line2); --line-hi: var(--cz-line2);
  --gold: var(--cz-gold); --gold-2: var(--cz-gold-d); --gold-3: var(--cz-gold-d); --gold-hi: var(--cz-gold-d); --gold-lo: #c9a253; --gold-soft: rgba(185, 131, 32, .1);
  --metal: linear-gradient(180deg, #a87418 0%, #c9952e 40%, #7c540c 100%);
  --red: var(--cz-red); --red-2: #d4492c; --blood: var(--cz-red); --blood-hi: #d4492c;
  --text: var(--cz-ink); --fg: var(--cz-ink); --muted: var(--cz-muted);
  --tile: var(--cz-card);
  --k-bg: var(--cz-ivory); --k-bg-2: var(--cz-parch); --k-panel: var(--cz-card); --k-panel-2: #f8f1e2; --k-card: var(--cz-card); --k-card-line: var(--cz-line);
  --k-line: var(--cz-line); --k-line-2: var(--cz-line2); --k-text: var(--cz-ink); --k-text-2: var(--cz-ink2); --k-muted: var(--cz-muted);
  --k-accent: var(--cz-gold); --k-accent-hi: var(--cz-gold-d);
  --lg-gold: var(--cz-gold); --lg-gold-hi: var(--cz-gold-d); --lg-gold-lo: #c9a253; --lg-red: var(--cz-red); --lg-red-hi: #d4492c;
  --lg-ink: var(--cz-ivory); --lg-text: var(--cz-ink); --lg-muted: var(--cz-muted); --lg-line: var(--cz-line); --lg-soft: rgba(60, 50, 30, .08);
  --lg-panel: linear-gradient(180deg, #fffdf8 0%, #f8f1e2 100%); --lg-panel-bg: linear-gradient(180deg, #fffdf8 0%, #f8f1e2 100%);
  --lg-corner: linear-gradient(var(--cz-gold-l), var(--cz-gold-l));
  --ink-1: var(--cz-ink); --ink-2: var(--cz-ink2); --ink-3: var(--cz-muted);
  --edge: var(--cz-line); --edge-hi: var(--cz-line2); --surface: var(--cz-card); --surface-2: #f8f1e2;

  background: linear-gradient(180deg, #fbf7ee 0%, #f6efe0 100%) fixed !important;
  color: var(--cz-ink) !important;
}
html body.skin-celeste ::selection { background: rgba(226, 178, 74, .35); color: var(--cz-ink); }

/* ---------- Textes ---------- */
html body.skin-celeste :is(h1, h2, h3, h4) { color: var(--cz-ink) !important; text-shadow: none !important; -webkit-text-fill-color: currentColor; }
html body.skin-celeste .hx-main h1 { background: none !important; -webkit-text-fill-color: var(--cz-ink) !important; color: var(--cz-ink) !important; }
html body.skin-celeste :is(p, li, td, dd, small, label, .muted, .lead) { text-shadow: none !important; }
html body.skin-celeste :is(.muted, .lead, small) { color: var(--cz-muted); }
html body.skin-celeste .lead { color: var(--cz-ink2) !important; }
html body.skin-celeste a { color: var(--cz-gold-d); }
html body.skin-celeste a:hover { color: #5c3e08; }
html body.skin-celeste :is(.eyebrow, .lg-kicker, .hx-kicker) { color: var(--cz-gold-d) !important; text-shadow: none !important; }
html body.skin-celeste .eyebrow::before { background: linear-gradient(90deg, transparent, var(--cz-gold)) !important; }
html body.skin-celeste .num, html body.skin-celeste b.num { color: inherit; }

/* ---------- Barres du haut ---------- */
html body.skin-celeste .lg-openbar { background: linear-gradient(90deg, #ecd39a 0%, #f7e7bd 50%, #ecd39a 100%) !important; border-bottom: 1px solid var(--cz-line2) !important; box-shadow: none !important; }
html body.skin-celeste .lg-openbar::before { background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .7) 50%, transparent 60%) no-repeat !important; background-size: 250% 100% !important; }
html body.skin-celeste .lg-openbar-t { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-openbar-t b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-openbar-t i { background: var(--cz-teal) !important; box-shadow: 0 0 0 3px rgba(27, 127, 143, .2) !important; }
html body.skin-celeste .lg-openbar-cd > span { background: #fffaf0 !important; border: 1px solid var(--cz-line2) !important; }
html body.skin-celeste .lg-openbar-cd b { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-openbar-cd small { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-openbar-regs { color: var(--cz-ink2) !important; }
html body.skin-celeste .lg-openbar-regs b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-openbar-x { color: var(--cz-ink) !important; border-color: var(--cz-line2) !important; background: rgba(255, 255, 255, .6) !important; }
html body.skin-celeste .lg-openbar.is-open { background: linear-gradient(90deg, #cfeef3, #e6f7f9 50%, #cfeef3) !important; }
html body.skin-celeste .lg-maint { background: linear-gradient(90deg, #f6d9a6, #fbe9c6 50%, #f6d9a6) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .lg-maint-in, html body.skin-celeste .lg-maint a { color: var(--cz-ink) !important; }

html body.skin-celeste .hx-strip { background: rgba(243, 234, 215, .92) !important; border-bottom: 1px solid var(--cz-line) !important; color: var(--cz-ink2) !important; }
html body.skin-celeste .hx-strip a, html body.skin-celeste .hx-strip span { color: var(--cz-ink2) !important; }
html body.skin-celeste .hx-strip a:hover { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-strip a.has, html body.skin-celeste .hx-strip b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-strip-rates { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-top { background: rgba(251, 247, 238, .9) !important; -webkit-backdrop-filter: blur(12px) saturate(1.2); backdrop-filter: blur(12px) saturate(1.2); border-bottom: 1px solid var(--cz-line) !important; box-shadow: 0 10px 30px -24px rgba(60, 50, 30, .6) !important; }
html body.skin-celeste .hx-top::before, html body.skin-celeste .hx-top::after { opacity: .35; }
html body.skin-celeste .hx-nav ul a, html body.skin-celeste .hx-more > button { color: var(--cz-ink) !important; text-shadow: none !important; }
html body.skin-celeste .hx-nav ul a:hover, html body.skin-celeste .hx-more > button:hover { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-nav ul a[aria-current="page"] { color: var(--cz-gold-d) !important; border-color: var(--cz-line2) !important; background: rgba(226, 178, 74, .12) !important; box-shadow: none !important; }
html body.skin-celeste .hx-nav ul a[aria-current="page"]::after { background: var(--cz-gold) !important; }
html body.skin-celeste .hx-burger span, html body.skin-celeste .hx-burger span::before, html body.skin-celeste .hx-burger span::after { background: var(--cz-ink) !important; }
html body.skin-celeste .hx-burger { border-color: var(--cz-line2) !important; background: #fffaf0 !important; }
html body.skin-celeste .hx-brand img { filter: drop-shadow(0 3px 6px rgba(60, 40, 10, .3)); }
html body.skin-celeste .hx-chip { color: var(--cz-ink) !important; background: #fffaf0 !important; border: 1px solid var(--cz-line2) !important; box-shadow: none !important; }
html body.skin-celeste .hx-chip:hover { border-color: var(--cz-gold) !important; }
html body.skin-celeste .hx-chip.is-red, html body.skin-celeste .hx-user .hx-chip.is-red { color: #3a2604 !important; background: linear-gradient(180deg, #f8d374, #e0a238) !important; border-color: #c88a22 !important; box-shadow: 0 10px 22px -12px rgba(185, 131, 32, .9) !important; }
html body.skin-celeste .hx-link { color: var(--cz-ink2) !important; }
html body.skin-celeste .hx-more-menu { background: #fffdf8 !important; border-color: var(--cz-line2) !important; box-shadow: 0 30px 60px -30px rgba(50, 55, 75, .6) !important; }
html body.skin-celeste .hx-more-menu b { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-more-menu small { color: var(--cz-muted) !important; }
html body.skin-celeste .hx-more-menu a:hover, html body.skin-celeste .hx-more-menu a[aria-current] { background: rgba(226, 178, 74, .14) !important; }
html body.skin-celeste .lang-sw { background: #fffaf0 !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .lang-sw a { color: var(--cz-ink2) !important; }
html body.skin-celeste .lang-sw a[aria-current] { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; }
html body.skin-celeste .hx-status i { box-shadow: none !important; }
html body.skin-celeste .hx-herald { background: linear-gradient(90deg, #f3e6c4, #fbf3dd) !important; color: var(--cz-ink) !important; border-bottom: 1px solid var(--cz-line) !important; }
html body.skin-celeste .hx-herald b { color: var(--cz-ink) !important; }
html body.skin-celeste .nb-btn, html body.skin-celeste .notif-bell, html body.skin-celeste [class*="bell"] > button { color: var(--cz-ink) !important; }
html body.skin-celeste .lfx-progress i { background: linear-gradient(90deg, #1b7f8f, #e2b24a 70%, #f6dc9a) !important; }

/* ---------- Boutons ---------- */
html body.skin-celeste :is(.btn:not(.ghost):not(.danger):not(.linkbtn), .hx-btn.is-red, .hx-join, .hx-sbtn.is-red, .lg-btn.is-red, .ch-send) {
  color: #3a2604 !important; background: linear-gradient(180deg, #f8d374 0%, #e0a238 100%) !important; border: 1px solid #c88a22 !important;
  box-shadow: 0 12px 26px -12px rgba(185, 131, 32, .9), inset 0 1px 0 rgba(255, 255, 255, .6) !important; text-shadow: none !important;
}
html body.skin-celeste :is(.btn.ghost, .hx-btn:not(.is-red), .lg-btn:not(.is-red):not(.is-gold), .hx-sbtn:not(.is-red):not(.is-discord), .linkbtn.btn) {
  color: var(--cz-teal-d) !important; background: rgba(255, 255, 255, .78) !important; border: 1px solid rgba(27, 127, 143, .45) !important; box-shadow: none !important; text-shadow: none !important;
}
html body.skin-celeste :is(.btn.ghost, .hx-btn:not(.is-red), .lg-btn:not(.is-red):not(.is-gold)):hover { background: #fff !important; color: #0f4c56 !important; }
html body.skin-celeste .lg-btn.is-gold { color: var(--cz-gold-d) !important; background: linear-gradient(180deg, #fff6dc, #fbe8b4) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .btn.danger { color: #fff !important; }
html body.skin-celeste .linkbtn { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-sbtn.is-discord { color: #fff !important; }

/* ---------- Champs ---------- */
html body.skin-celeste :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea) {
  color: var(--cz-ink) !important; background: #fffaf0 !important; border: 1px solid #e3d3ae !important; box-shadow: none !important;
}
html body.skin-celeste :is(input, select, textarea):focus { border-color: #d9a03a !important; box-shadow: 0 0 0 4px rgba(226, 178, 74, .22) !important; outline: none !important; }
html body.skin-celeste ::placeholder { color: #9b9384 !important; }
html body.skin-celeste .form label, html body.skin-celeste label { color: var(--cz-ink2); }

/* ---------- Cadres, cartes, tableaux (toutes les pages) ---------- */
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join), .lg-rew, .fside-box, .fcard, .prod, .tbl, .post, .kpis, .char, .empty, .wallet, .composer, .reply-locked, .gm-card, .gm-panel,
  .staff-card, .role-card, .team-card, .dash-card, .dash-kpis > div, .side-body, fieldset, .facts, .news article, .topic-row, .rank-row, .status, .systems article, .item, .toplist li, .dl-row,
  .castle, .bonus-card, .set-tier, .fme, .empty-state, .board, .tlist, .fstats > div, .ad-tile, .cx-card, .dlx-card, .vt-card, .st-card, .lg-col, .trow, .hx-top5, .ref-card, .rw-card, .vip-card, .ss-card, .sx-card, .hi-list, .nw-card, .nw-box, .gb-public .tbl, .board-stats, .gx-card, .shop-trust, .acc-side, .tk-card, .ticket, .msg, .alert, .hx-alert) {
  background: linear-gradient(180deg, #fffdf8 0%, #faf3e4 100%) !important; border-color: var(--cz-line) !important; color: var(--cz-ink) !important; box-shadow: var(--cz-shadow) !important;
}
html body.skin-celeste :is(.bx, .fside-box, .fcard, .prod, .post, .board, .dash-card, .ad-tile, .cx-card, .dlx-card, .lg-rew)::after { opacity: .25; }
html body.skin-celeste .alert.bad, html body.skin-celeste .hx-alert.bad { background: #fff1ec !important; border-color: #e7a28f !important; color: #7d2412 !important; }
html body.skin-celeste .alert.ok, html body.skin-celeste .hx-alert.ok { background: #effaf2 !important; border-color: #9fd3ad !important; color: #1d5a2e !important; }
html body.skin-celeste .alert.warn { background: #fff7e2 !important; border-color: #ecc76e !important; color: #5a3d08 !important; }
html body.skin-celeste :is(.bx-h, .board-h, .lg-h, .fsection-head, .side-h, .shop-h) { border-color: var(--cz-line) !important; }
html body.skin-celeste .board-h { background: linear-gradient(90deg, #f6e7c3, #fbf4e3 70%) !important; }
html body.skin-celeste .board-h h2, html body.skin-celeste .bx-h h2, html body.skin-celeste .lg-h h2 { color: var(--cz-ink) !important; }
html body.skin-celeste .board-cols { background: #f6eedc !important; color: var(--cz-muted) !important; }
html body.skin-celeste :is(.board-row, .trow, .topic-row, .rank-row, .board-online, .board-numbers > div) { border-color: var(--cz-line) !important; }
html body.skin-celeste .board-row:hover, html body.skin-celeste .trow:hover { background: rgba(226, 178, 74, .08) !important; }
html body.skin-celeste .board-main h3 a, html body.skin-celeste .board-last a, html body.skin-celeste .board-numbers dd { color: var(--cz-ink) !important; }
html body.skin-celeste .board-main p { color: var(--cz-ink2) !important; }
html body.skin-celeste .tbl table th { background: #f3e8cf !important; color: var(--cz-gold-d) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .tbl table td { border-color: var(--cz-line) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .tbl table tbody tr:hover td { background: rgba(226, 178, 74, .07) !important; }
html body.skin-celeste .chip, html body.skin-celeste .tflag, html body.skin-celeste .state { background: #fbf0d2 !important; color: var(--cz-gold-d) !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste hr { border-color: var(--cz-line) !important; }

/* ---------- Pied de page ---------- */
html body.skin-celeste .hx-foot { background: linear-gradient(180deg, #f3ead7, #ebdfc5) !important; color: var(--cz-ink2) !important; border-top: 1px solid var(--cz-line) !important; }
html body.skin-celeste .hx-foot::before, html body.skin-celeste .hx-foot::after { display: none !important; }
html body.skin-celeste .hx-foot h3 { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-foot a, html body.skin-celeste .hx-foot p, html body.skin-celeste .hx-foot span { color: var(--cz-ink2) !important; }
html body.skin-celeste .hx-foot a:hover { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-foot-bottom { border-color: var(--cz-line) !important; background: transparent !important; }
html body.skin-celeste .hx-totop { background: #fffaf0 !important; color: var(--cz-gold-d) !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .hx-rule i, html body.skin-celeste .hx-rule::before, html body.skin-celeste .hx-rule::after { filter: none; }

/* ---------- Boutons flottants ---------- */
html body.skin-celeste .lg-fab { color: #fff !important; background: linear-gradient(180deg, #23909f, #156a77) !important; border-color: #4fb3c0 !important; box-shadow: 0 16px 34px -14px rgba(19, 95, 107, .9) !important; }
html body.skin-celeste .lg-fab.is-help { color: var(--cz-teal-d) !important; background: #fffdf8 !important; border-color: rgba(27, 127, 143, .5) !important; }

/* ---------- Bannières des pages (forum, classement, génération…) : image claire ---------- */
html body.skin-celeste :is(.forum-hero, .fcat-hero, .topic-hero, .rank-hero, .shop-hero, .gen-hero, .guide-hero, .char-hero, .rw-hero, .ref-hero, .dlx-hero, .nw-hero, .cx-hero)::before {
  background-image: var(--sk-cover) !important; background-size: cover !important; background-position: 70% 40% !important; filter: saturate(1.05) !important; opacity: 1 !important;
}
html body.skin-celeste .hx-main > .hx-embers + section.band, html body.skin-celeste .hx-main > section.band:first-of-type:not(.forum-band) {
  background-image: linear-gradient(180deg, rgba(251, 247, 238, .1) 0, rgba(251, 247, 238, .55) 200px, rgba(251, 247, 238, .92) 330px, var(--cz-ivory) 440px),
                    linear-gradient(90deg, rgba(251, 247, 238, .95) 0%, rgba(251, 247, 238, .72) 45%, rgba(251, 247, 238, .15) 100%), var(--sk-cover) !important;
  background-size: auto, auto, 100% auto !important; background-position: 0 0, 0 0, center 30% !important; background-repeat: no-repeat !important; background-color: var(--cz-ivory) !important;
}
html body.skin-celeste :is(.forum-hero, .fcat-hero, .topic-hero, .rank-hero, .shop-hero, .gen-hero, .guide-hero, .char-hero, .rw-hero, .ref-hero, .dlx-hero, .nw-hero, .cx-hero)::after {
  background: linear-gradient(90deg, rgba(251, 247, 238, .97) 0%, rgba(251, 247, 238, .88) 42%, rgba(251, 247, 238, .3) 100%), linear-gradient(0deg, var(--cz-ivory) 0%, rgba(251, 247, 238, 0) 45%) !important;
}
html body.skin-celeste :is(.forum-hero, .fcat-hero, .topic-hero, .rank-hero, .shop-hero, .gen-hero, .guide-hero, .char-hero) { background-color: var(--cz-ivory) !important; border-image: linear-gradient(90deg, rgba(185, 131, 32, .1), var(--cz-gold-l), rgba(185, 131, 32, .1)) 1 !important; }
html body.skin-celeste .gen-hero .gen-hero-art { filter: drop-shadow(0 20px 30px rgba(50, 55, 75, .35)) !important; }
html body.skin-celeste .fstats > div dd, html body.skin-celeste .fstats dt { color: var(--cz-ink) !important; }

/* =========================================================
   Accueil
   ========================================================= */
html body.skin-celeste .bx-hero { background-image: var(--sk-cover) !important; background-position: 62% 40% !important; background-color: #cfe6f2 !important; }
html body.skin-celeste .bx-hero::before {
  background: radial-gradient(ellipse 40% 46% at 50% 40%, rgba(255, 252, 240, .72), rgba(255, 252, 240, 0) 72%),
              linear-gradient(180deg, rgba(251, 247, 238, 0) 0%, rgba(251, 247, 238, 0) 52%, rgba(251, 247, 238, .72) 82%, var(--cz-ivory) 100%) !important;
}
html body.skin-celeste .bx-hero .hx-logo { filter: drop-shadow(0 18px 30px rgba(40, 30, 20, .45)) drop-shadow(0 0 30px rgba(255, 250, 230, .8)) !important; }
html body.skin-celeste .bx-tag { color: var(--cz-ink) !important; text-shadow: 0 1px 12px rgba(255, 252, 240, .95), 0 0 2px rgba(255, 252, 240, .9) !important; }
html body.skin-celeste .bx-tag span { color: #fff !important; background: linear-gradient(180deg, #23909f, #156a77) !important; border-color: #4fb3c0 !important; }
html body.skin-celeste .bx-pitch { color: var(--cz-ink) !important; text-shadow: 0 1px 10px rgba(255, 252, 240, .95) !important; }
html body.skin-celeste .bx-stats { background: rgba(255, 253, 247, .82) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .95) !important; box-shadow: 0 24px 50px -30px rgba(40, 60, 90, .6) !important; }
html body.skin-celeste .bx-stats > div { border-color: rgba(185, 131, 32, .2) !important; }
html body.skin-celeste .bx-stats b { color: var(--cz-gold-d) !important; text-shadow: none !important; }
html body.skin-celeste .bx-stats small { color: var(--cz-ink2) !important; }
html body.skin-celeste .bx-stats .ic { color: var(--cz-teal) !important; }
html body.skin-celeste .bx-soon { background: #fbf0d2 !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .bx-offer { color: var(--cz-ink) !important; background: rgba(255, 253, 247, .86) !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .bx-offer b, html body.skin-celeste .bx-offer .ic { color: var(--cz-gold-d) !important; }
html body.skin-celeste .bx-offer.is-hot { background: linear-gradient(180deg, #fff4d6, #fde6ad) !important; border-color: var(--cz-gold-l) !important; box-shadow: 0 10px 24px -12px rgba(185, 131, 32, .8) !important; }
@keyframes cz-offer { 50% { box-shadow: 0 0 0 5px rgba(226, 178, 74, .2), 0 10px 24px -12px rgba(185, 131, 32, .9); } }
html body.skin-celeste.lfx-on .bx-offer.is-hot { animation: cz-offer 2.8s ease-in-out infinite !important; }
/* effets de la couverture : lumière de jour au lieu des braises rouges */
html body.skin-celeste .lfx-glow { background: radial-gradient(ellipse, rgba(255, 250, 225, .55), rgba(255, 250, 225, 0) 65%) !important; }
html body.skin-celeste .lfx-fog { background: radial-gradient(ellipse 30% 45% at 25% 70%, rgba(255, 255, 255, .7), transparent 70%), radial-gradient(ellipse 35% 40% at 70% 80%, rgba(230, 244, 250, .6), transparent 70%) !important; opacity: .7; }
html body.skin-celeste .lfx-flash { display: none !important; }
html body.skin-celeste .lfx-vignette { background: radial-gradient(ellipse 80% 75% at 50% 45%, transparent 60%, rgba(120, 100, 60, .18) 100%) !important; }
html body.skin-celeste .lfx-grain { opacity: .05 !important; }

/* titres de section */
html body.skin-celeste .lgb-sec h2 {
  background: linear-gradient(100deg, #2b2f3b 0%, #2b2f3b 38%, #9a6b12 46%, #e2b24a 50%, #9a6b12 54%, #2b2f3b 62%, #2b2f3b 100%) !important;
  background-size: 250% 100% !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important;
  filter: none !important;
}
html body.skin-celeste .lgb-sec .lg-kicker { color: var(--cz-teal-d) !important; }

/* bannières (Classement, Génération…) : cartes blanches */
html body.skin-celeste .bx-lgtiles a { border-color: var(--cz-line2) !important; box-shadow: 0 20px 40px -26px rgba(50, 55, 75, .7) !important; }
html body.skin-celeste .bx-lgtiles a::after { background: linear-gradient(180deg, rgba(20, 24, 34, 0) 35%, rgba(20, 24, 34, .78) 100%) !important; }
html body.skin-celeste .bx-lgtiles b { color: #fff !important; }
html body.skin-celeste .bx-lgtiles a:hover b { color: #ffe9b4 !important; }

/* cadres de l'accueil */
html body.skin-celeste.is-lgb .bx:not(.bx-siege):not(.bx-join), html body.skin-celeste.is-lgb .bx-lgdaily {
  background:
    var(--lg-corner) left top / 18px 1px no-repeat, var(--lg-corner) left top / 1px 18px no-repeat,
    var(--lg-corner) right top / 18px 1px no-repeat, var(--lg-corner) right top / 1px 18px no-repeat,
    var(--lg-corner) left bottom / 18px 1px no-repeat, var(--lg-corner) left bottom / 1px 18px no-repeat,
    var(--lg-corner) right bottom / 18px 1px no-repeat, var(--lg-corner) right bottom / 1px 18px no-repeat,
    linear-gradient(180deg, #fffdf8 0%, #faf3e4 100%) !important;
  border-color: var(--cz-line) !important; box-shadow: 0 26px 50px -34px rgba(50, 55, 75, .6) !important;
}
html body.skin-celeste .bx-h h2 .ic { color: var(--cz-teal) !important; filter: none !important; }
html body.skin-celeste .hx-empty, html body.skin-celeste .act-empty, html body.skin-celeste .es-sub { color: var(--cz-muted) !important; }
html body.skin-celeste .bx-newslist strong, html body.skin-celeste .bx-lead strong { color: var(--cz-ink) !important; }
html body.skin-celeste .bx-server dl div, html body.skin-celeste .bx-server li { border-color: var(--cz-line) !important; }
html body.skin-celeste .bx-server dt { color: var(--cz-muted) !important; }
html body.skin-celeste .bx-server dd { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-meta time, html body.skin-celeste .hx-excerpt { color: var(--cz-muted) !important; }
html body.skin-celeste .bx-chat .ch-form { background: #f6eedc !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .ch-msg, html body.skin-celeste .ch-list { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-feed .act a, html body.skin-celeste .act a { color: var(--cz-ink) !important; }
html body.skin-celeste .act small, html body.skin-celeste .act time { color: var(--cz-muted) !important; }

/* vitrine des classes : bande claire */
html body.skin-celeste.is-lgb .bx-lgshow::before { background: radial-gradient(ellipse 40% 70% at 32% 58%, rgba(226, 178, 74, .16), transparent 70%), linear-gradient(180deg, #f3ead7, #f8f1e2) !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .lfx-amb.is-on { opacity: .2 !important; }
html body.skin-celeste .lg-show-title, html body.skin-celeste .lg-show-body h3 { color: var(--cz-ink) !important; -webkit-text-fill-color: var(--cz-ink) !important; background: none !important; }
html body.skin-celeste .lg-show-desc { color: var(--cz-ink2) !important; }
html body.skin-celeste .lg-show-evo { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-show-evo li:last-child { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-show-stats span, html body.skin-celeste .lg-show-facts dt { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-show-stats b, html body.skin-celeste .lg-show-facts dd { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-show-stats i { background: #ece2cc !important; }
html body.skin-celeste .lg-show-tag { filter: saturate(.9) brightness(.75); }
html body.skin-celeste .lg-show-pick img { border-color: #e6d6b2 !important; filter: saturate(.7) brightness(1.05) !important; }
html body.skin-celeste .lg-show-pick button:hover img, html body.skin-celeste .lg-show-pick button[aria-selected="true"] img { filter: none !important; }
html body.skin-celeste .lg-show-pick span { color: var(--cz-ink2) !important; }
html body.skin-celeste .lg-show-pick button[aria-selected="true"] span { color: var(--cz-ink) !important; }
html body.skin-celeste .lfx-ghost { -webkit-text-stroke: 1px rgba(185, 131, 32, .35) !important; opacity: .45 !important; }

/* Castle Siege : l'image reste, texte clair sur dégradé sombre (lisible) */
html body.skin-celeste .bx-siege { border-color: var(--cz-line2) !important; }

/* récompenses + votes */
html body.skin-celeste .lg-rew-txt, html body.skin-celeste .lg-streak { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-streak b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-streak i { background: #ece2cc !important; }
html body.skin-celeste .lg-days li { background: #fbf4e3 !important; border-color: #eedfbd !important; }
html body.skin-celeste .lg-days b { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-days small, html body.skin-celeste .lg-days em { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-days .is-big { background: linear-gradient(180deg, #fff0c4, #f6d78a) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .lg-days .is-big b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-days .is-now { border-color: var(--cz-teal) !important; box-shadow: 0 0 0 1px rgba(27, 127, 143, .3), 0 10px 24px -14px rgba(27, 127, 143, .8) !important; }
html body.skin-celeste .lg-days .is-now small { color: var(--cz-teal-d) !important; }
html body.skin-celeste .lg-chest { border-color: var(--cz-line2) !important; }
html body.skin-celeste .lg-rew-vote { border-color: var(--cz-line) !important; }
html body.skin-celeste .lg-votes li + li { border-color: var(--cz-line) !important; }
html body.skin-celeste .lg-vote-n { color: var(--cz-gold-d) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .lg-vote-t b { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-vote-t small, html body.skin-celeste .lg-vote-r small { color: var(--cz-muted) !important; }
html body.skin-celeste .lg-vote-r { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-rew-ok { color: #1d7a3c !important; }

/* héros du royaume */
html body.skin-celeste .hx-top5 a { color: var(--cz-ink) !important; }
html body.skin-celeste .hx-top5 small { color: var(--cz-muted) !important; }

/* appel final : bande d'eau claire (ta couverture, en fondu) */
html body.skin-celeste.is-lgb .bx-join::before {
  background: linear-gradient(90deg, rgba(251, 247, 238, .96) 0%, rgba(251, 247, 238, .82) 50%, rgba(251, 247, 238, .45) 100%), linear-gradient(0deg, rgba(243, 234, 215, .95), transparent 45%), var(--sk-cover) center 60% / cover no-repeat !important;
  border-color: var(--cz-line2) !important;
}
html body.skin-celeste .bx-join h2 { color: var(--cz-ink) !important; }
html body.skin-celeste .bx-join p, html body.skin-celeste .bx-steps a { color: var(--cz-ink2) !important; }
html body.skin-celeste .bx-steps b { color: var(--cz-gold-d) !important; border-color: var(--cz-gold-l) !important; background: #fffaf0 !important; }
html body.skin-celeste .bx-ref { color: var(--cz-ink) !important; background: rgba(255, 253, 247, .85) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .bx-ref b, html body.skin-celeste .bx-ref .ic { color: var(--cz-gold-d) !important; }
html body.skin-celeste .bx-join-txt img { filter: drop-shadow(0 8px 16px rgba(60, 40, 10, .3)) !important; }

/* =========================================================
   Pages intérieures : éléments repris du style Épuré
   ========================================================= */
html body.skin-celeste .board-banners a::before, html body.skin-celeste .shop-secs a::after, html body.skin-celeste .shop-cats2 a::after {
  background: linear-gradient(90deg, rgba(20, 24, 34, .78) 0%, rgba(20, 24, 34, .4) 60%, rgba(20, 24, 34, .1) 100%) !important;
}
html body.skin-celeste .board-banners b, html body.skin-celeste .shop-secs b, html body.skin-celeste .shop-cats2 b { color: #fff !important; }
html body.skin-celeste .board-banners small, html body.skin-celeste .shop-secs small, html body.skin-celeste .shop-cats2 small { color: rgba(255, 255, 255, .85) !important; }
html body.skin-celeste .shop-cats2 a[aria-current="page"] b { color: #ffe9b4 !important; }
html body.skin-celeste .shop-vip, html body.skin-celeste .shop-promo { background: linear-gradient(90deg, #fff6dc, #fbefcf) !important; border-color: var(--cz-gold-l) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .shop-vip b, html body.skin-celeste .shop-vip em, html body.skin-celeste .shop-vip .ic, html body.skin-celeste .shop-promo-cd { color: var(--cz-gold-d) !important; }
html body.skin-celeste .shop-toolbar { border-color: var(--cz-line) !important; }
html body.skin-celeste .shop-count b { color: var(--cz-ink) !important; }
html body.skin-celeste .prod-icon { background: radial-gradient(circle at 50% 45%, #fff7e0, #f1e6cc) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .prod .price, html body.skin-celeste .prod-price, html body.skin-celeste .price b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .gx-node { background: var(--cz-ivory) !important; box-shadow: 0 0 0 4px var(--cz-ivory) !important; }
html body.skin-celeste .gx-cls a { background: #fffaf0 !important; border-color: var(--cz-line2) !important; color: var(--cz-ink2) !important; }
html body.skin-celeste .gx-cls.is-named a[aria-current] { color: var(--cz-ink) !important; }
html body.skin-celeste .gx-legend { color: var(--cz-muted) !important; }
html body.skin-celeste .ad-tile small { color: var(--cz-muted) !important; }
html body.skin-celeste .ad-tile b { color: var(--cz-ink) !important; }
html body.skin-celeste .ad-tile.is-gold b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .ad-go { color: var(--cz-teal-d) !important; }
html body.skin-celeste .ad-links a { color: var(--cz-ink2) !important; background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .ad-chars a { background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .ad-chars b { color: var(--cz-ink) !important; }
html body.skin-celeste .ad-days i { background: #ece2cc !important; }
html body.skin-celeste .post .author { background: linear-gradient(180deg, color-mix(in srgb, var(--c, #e2b24a) 12%, transparent) 0%, transparent 46%), #f8f1e2 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .post .prose { color: var(--cz-ink) !important; }
html body.skin-celeste .post .av { background: #fffaf0 !important; }
html body.skin-celeste .dlx-card h3, html body.skin-celeste .dlx-card b { color: var(--cz-ink) !important; }
html body.skin-celeste .cx-card, html body.skin-celeste .cx-note { color: var(--cz-ink) !important; }
html body.skin-celeste .sx-chart, html body.skin-celeste .sx-base { background: transparent !important; }
html body.skin-celeste .nw-tabs a { color: var(--cz-ink2) !important; background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .nw-tabs a[aria-current] { color: var(--cz-gold-d) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .tabs a { color: var(--cz-ink2) !important; background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .tabs a[aria-current] { color: #3a2604 !important; }
html body.skin-celeste .pager a, html body.skin-celeste .pager span { color: var(--cz-ink) !important; background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .prose { color: var(--cz-ink) !important; }
html body.skin-celeste .prose blockquote { background: #fbf2dc !important; border-color: var(--cz-gold) !important; color: var(--cz-ink2) !important; }
html body.skin-celeste code { background: #f3ead7 !important; color: #6b3f05 !important; }
html body.skin-celeste .es-icon, html body.skin-celeste .empty .ic { color: var(--cz-gold) !important; background: #fbf0d2 !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .hx-main { background: transparent !important; }
html body.skin-celeste .band.alt { background: linear-gradient(180deg, rgba(243, 234, 215, .6), rgba(243, 234, 215, .9)) !important; }
html body.skin-celeste .rg-form .rg-hint { color: var(--cz-muted) !important; }
html body.skin-celeste .ref-invite { background: linear-gradient(180deg, #fff7e2, #fdecc0) !important; border-color: #ecc76e !important; color: #563a07 !important; }
html body.skin-celeste .ref-invite strong, html body.skin-celeste .ref-invite b { color: #563a07 !important; }

/* fenêtre de bienvenue, pop-up d'inscription */
html body.skin-celeste :is(.su-card, .wl-card, .mg-modal-box) { background: linear-gradient(180deg, #fffdf8, #f8f1e2) !important; border-color: var(--cz-gold-l) !important; color: var(--cz-ink) !important; box-shadow: 0 40px 80px -30px rgba(40, 50, 70, .6) !important; }
html body.skin-celeste :is(.su-card, .wl-card) :is(h2, p, li, span, small) { color: var(--cz-ink) !important; }
html body.skin-celeste :is(.su-card, .wl-card) .su-k { color: var(--cz-teal-d) !important; }
html body.skin-celeste .su-bg { background: rgba(240, 232, 214, .7) !important; }
html body.skin-celeste .su-x { color: var(--cz-ink) !important; }

/* ---------- Corrections relevées par la vérification de contraste ---------- */
html body.skin-celeste .hx-status.is-off { color: #8a2a1a !important; }
html body.skin-celeste .hx-status.is-soon { color: var(--cz-gold-d) !important; }
html body.skin-celeste .hx-status.is-soon i { background: #d9a03a !important; box-shadow: 0 0 0 3px rgba(217, 160, 58, .2) !important; }
html body.skin-celeste .hx-live-dot { color: #a3261a !important; background: #fdecea !important; border-color: #f0b9b0 !important; }
html body.skin-celeste .hx-live-dot i { background: #d33a2a !important; box-shadow: none !important; }
/* liste « Le serveur » et prochains events */
html body.skin-celeste .bx-server :is(li, div) > b, html body.skin-celeste .bx-server b { color: var(--cz-ink) !important; }
html body.skin-celeste .bx-server :is(li, div) > span, html body.skin-celeste .bx-server small { color: var(--cz-muted) !important; }
html body.skin-celeste .bx-server time, html body.skin-celeste .bx-agenda time { color: var(--cz-gold-d) !important; background: #fbf0d2 !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .bx-server li + li, html body.skin-celeste .bx-server :is(dl, ul) > * { border-color: var(--cz-line) !important; }
/* fil en direct */
html body.skin-celeste .act-filters :is(a, button) { color: var(--cz-ink2) !important; background: #fffaf0 !important; border: 1px solid var(--cz-line) !important; }
html body.skin-celeste .act-filters :is(a, button):hover { color: var(--cz-ink) !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .act-filters :is([aria-current="true"], [aria-pressed="true"]) { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; border-color: #c88a22 !important; }
html body.skin-celeste .act-filters.is-mini { border-color: var(--cz-line) !important; }
html body.skin-celeste .act-txt { color: var(--cz-ink2) !important; }
html body.skin-celeste .act-txt b { color: var(--cz-ink) !important; }
html body.skin-celeste .act-txt strong { color: color-mix(in srgb, var(--a, #b98320) 55%, #2a2010) !important; }
html body.skin-celeste .act time, html body.skin-celeste .act-list time { color: var(--cz-muted) !important; }
html body.skin-celeste .act + .act, html body.skin-celeste .act-list > li { border-color: var(--cz-line) !important; }
/* taverne */
html body.skin-celeste .ch-form { background: #f6eedc !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .ch-form input { background: #fffaf0 !important; }
html body.skin-celeste :is(.ch-empty, .ch-locked) { color: var(--cz-muted) !important; background: transparent !important; }
html body.skin-celeste .ch-locked { background: #f6eedc !important; }
html body.skin-celeste .ch-msg b, html body.skin-celeste .ch-name { color: var(--cz-ink) !important; }
html body.skin-celeste .ch-txt, html body.skin-celeste .ch-msg p { color: var(--cz-ink2) !important; }
/* classes : étiquette à la couleur de la classe, assombrie pour rester lisible */
html body.skin-celeste .lg-show-tag { color: color-mix(in srgb, var(--c) 55%, #1d2230) !important; filter: none !important; }
html body.skin-celeste .lg-show-stats i::after { background: linear-gradient(90deg, color-mix(in srgb, var(--c) 70%, #fff), color-mix(in srgb, var(--c) 80%, #000)) !important; }
/* Castle Siege et cadres sur image : textes clairs */
html body.skin-celeste .bx-siege-txt small { color: #ff9a7c !important; }
html body.skin-celeste .bx-siege-txt > span, html body.skin-celeste .bx-siege-txt p { color: #f1ead9 !important; }
html body.skin-celeste .bx-siege-facts em { color: #ffe3a3 !important; background: rgba(10, 10, 12, .65) !important; border-color: rgba(226, 178, 74, .5) !important; }
html body.skin-celeste .bx-siege-facts em .cd, html body.skin-celeste .bx-siege-facts em span { color: #ffe3a3 !important; }
html body.skin-celeste .lg-chest small { color: #ffe3a3 !important; }
html body.skin-celeste .lg-chest b { color: #fff !important; }
html body.skin-celeste .lg-chest em { color: rgba(255, 248, 230, .9) !important; }
html body.skin-celeste .bx-lgtiles small { color: rgba(255, 255, 255, .88) !important; }
html body.skin-celeste .bx-tag span { color: #fff !important; text-shadow: none !important; }
/* textes secondaires : un peu plus foncés partout */
html body.skin-celeste { --cz-muted: #5f594c; }

/* ---------- Blocs sombres restants des pages intérieures ---------- */
html body.skin-celeste :is(.vt-stats li, .vt-site, .vt-top, .cal-day, .cal-next, .st-steps li, .st-reward, .lg-cdown > span, .ss-rw li, .cx-big li, .rj-cls a, .rj-card, .tm-row,
  .act-list-big, .calc-card, .calc-classes button, .wh-odds li, .gsec-ico, .gmcmd, .guide-tools a, .class-filter a, .toast, .fstats > div, .cx-ring, .sx-records li, .vt-card, .lg-cdown span) {
  background: linear-gradient(180deg, #fffdf8 0%, #f8f0de 100%) !important; border-color: var(--cz-line) !important; color: var(--cz-ink) !important; box-shadow: 0 14px 30px -24px rgba(50, 55, 75, .5) !important;
}
html body.skin-celeste :is(.vt-stats li, .vt-site, .cal-day, .st-steps li, .tm-row, .calc-card, .rj-cls a, .cx-big li, .wh-odds li) :is(b, strong, time, h3, dd) { color: var(--cz-ink) !important; }
html body.skin-celeste :is(.vt-stats li, .vt-site, .cal-day, .st-steps li, .tm-row, .calc-card, .rj-cls a, .cx-big li, .wh-odds li, .lg-cdown) :is(small, em, span:not(.btn)) { color: var(--cz-muted) !important; }
html body.skin-celeste .cal-day.is-today, html body.skin-celeste .st-steps .is-next, html body.skin-celeste .wh-odds .is-jackpot, html body.skin-celeste .cx-big .is-gen { border-color: var(--cz-gold-l) !important; background: linear-gradient(180deg, #fff7e0, #fbe9bd) !important; }
html body.skin-celeste .cal-day header b, html body.skin-celeste .cal-day.is-today header b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .cal-day li.is-past { opacity: .55; }
html body.skin-celeste .cal-next b { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-cdown b, html body.skin-celeste .lg-cdown strong { color: var(--cz-gold-d) !important; }
html body.skin-celeste .ss-rw .r1 { background: linear-gradient(180deg, #fff3cf, #f3d98c) !important; }
html body.skin-celeste .ss-rw .r2 { background: linear-gradient(180deg, #f8f8fb, #dfe2ea) !important; }
html body.skin-celeste .ss-rw .r3 { background: linear-gradient(180deg, #fbeee2, #ebcaa9) !important; }
html body.skin-celeste .ss-rw b, html body.skin-celeste .ss-rw span { color: var(--cz-ink) !important; }
html body.skin-celeste .tm-row b, html body.skin-celeste .tm-name b { color: var(--cz-ink) !important; }
html body.skin-celeste .tm-filter button { color: var(--cz-ink2) !important; background: #fffaf0 !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .tm-filter button[aria-pressed="true"], html body.skin-celeste .tm-filter button.is-on { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; }
html body.skin-celeste .calc-classes button[aria-pressed="true"], html body.skin-celeste .calc-classes button.is-on, html body.skin-celeste .class-filter a[aria-current] { border-color: var(--cz-gold-l) !important; background: linear-gradient(180deg, #fff3cf, #f6dc9a) !important; color: var(--cz-gold-d) !important; }
html body.skin-celeste .class-filter a { color: var(--cz-ink2) !important; }
html body.skin-celeste .guide-tools b { color: var(--cz-ink) !important; }
html body.skin-celeste .guide-tools small { color: var(--cz-muted) !important; }
html body.skin-celeste .gsec-ico { color: var(--cz-gold-d) !important; }
html body.skin-celeste .gmcmd { color: #6b3f05 !important; font-weight: 600; }
html body.skin-celeste .gtip { background: #eaf6fb !important; border-color: #9fd0e2 !important; color: #154b59 !important; }
html body.skin-celeste .gwarn { background: #fff0ec !important; border-color: #e7a28f !important; color: #7d2412 !important; }
html body.skin-celeste .gtip *, html body.skin-celeste .gwarn * { color: inherit !important; }
html body.skin-celeste .toast { color: var(--cz-ink) !important; }
html body.skin-celeste .toast.is-bad { background: #fff1ec !important; border-color: #e7a28f !important; color: #7d2412 !important; }
html body.skin-celeste .act-list-big { border-color: var(--cz-line) !important; }
html body.skin-celeste .act-ava.is-team, html body.skin-celeste .fav.is-staff { background: #fbf0d2 !important; }

/* ---------- Textes encore trop pâles ---------- */
html body.skin-celeste :is(.facts strong, .guide-toc strong, .dlx-kick, .reveal > strong) { color: var(--cz-gold-d) !important; }
html body.skin-celeste .facts span, html body.skin-celeste .facts li span { color: var(--cz-ink2) !important; }
html body.skin-celeste .ref-invite span, html body.skin-celeste .ref-invite div, html body.skin-celeste :is(.alert, .gift-box, .lg-note) span { color: inherit !important; }
html body.skin-celeste .prod-cat { color: var(--cz-gold-d) !important; }
html body.skin-celeste .prod-items li, html body.skin-celeste .prod-body p { color: var(--cz-ink2) !important; }
html body.skin-celeste .prod-body h3, html body.skin-celeste .prod-body strong { color: var(--cz-ink) !important; }
html body.skin-celeste .prod-sale { background: #b8321e !important; color: #fff !important; }
html body.skin-celeste .set-deliv { color: var(--cz-teal-d) !important; background: #e5f4f7 !important; border-color: #9fd0e2 !important; }
html body.skin-celeste .gx-node { color: var(--cz-gold-d) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .gx-frise .is-sel .gx-node { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; }
html body.skin-celeste .gx-frise .is-last .gx-node { color: #fff !important; background: radial-gradient(circle, #d4492c, #8f1b0f) !important; }
html body.skin-celeste .gx-card b { color: #fff !important; }
html body.skin-celeste .gbadge { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; border-color: #c88a22 !important; }
html body.skin-celeste .cx-class, html body.skin-celeste .team-char b { color: color-mix(in srgb, var(--c, #5cb8ff) 55%, #1d2230) !important; }
html body.skin-celeste .team-char { color: var(--cz-muted) !important; }
html body.skin-celeste .cx-cmp { color: var(--cz-teal-d) !important; background: #fffaf0 !important; border-color: rgba(27, 127, 143, .45) !important; }
html body.skin-celeste .author-tags i { color: var(--cz-ink2) !important; background: #f3ead7 !important; }
html body.skin-celeste .rg-eye { color: var(--cz-ink) !important; }
html body.skin-celeste .nw-tag { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; }
html body.skin-celeste .hx-tag { color: #3a2604 !important; background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; border-color: #c88a22 !important; }
html body.skin-celeste .board-legend span { filter: brightness(.75) saturate(1.2); }
html body.skin-celeste .hx-meta time, html body.skin-celeste .hx-excerpt, html body.skin-celeste .bx-server span, html body.skin-celeste :is(.hx-empty, .ch-empty, .act time) { color: #554f43 !important; }
html body.skin-celeste .vt-rew { color: var(--cz-gold-d) !important; }
html body.skin-celeste strong[style*="color"], html body.skin-celeste a[style*="color"] { filter: brightness(.7) saturate(1.3); }
html body.skin-celeste input[type=range] { accent-color: #c9952e; background: transparent !important; }
html body.skin-celeste .gmedal { background: radial-gradient(circle, #fff7df, #f3dca0) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .gmedal small { color: var(--cz-muted) !important; }
html body.skin-celeste .guide-rates > * { background: rgba(255, 253, 247, .9) !important; border: 1px solid var(--cz-line2) !important; color: var(--cz-ink) !important; box-shadow: 0 10px 22px -16px rgba(50, 55, 75, .5) !important; }
html body.skin-celeste .guide-rates :is(b, strong, dd) { color: var(--cz-gold-d) !important; }
html body.skin-celeste .guide-rates :is(small, dt, span) { color: var(--cz-muted) !important; }
html body.skin-celeste .cx-ring { background: conic-gradient(var(--cz-gold-l) calc(var(--p, 0) * 1%), #ece2cc 0) !important; box-shadow: none !important; }
html body.skin-celeste .cx-ring::before { background: #fffaf0 !important; }
html body.skin-celeste .cx-ring b { color: var(--cz-gold-d) !important; }

/* ---------- Pop-up d'inscription ---------- */
html body.skin-celeste .su-card { background: radial-gradient(ellipse at 50% 0%, rgba(226, 178, 74, .22), transparent 60%), linear-gradient(180deg, #fffdf8, #f6eedc) !important; color: var(--cz-ink) !important; border-color: var(--cz-gold-l) !important; box-shadow: 0 30px 80px -20px rgba(40, 50, 70, .55) !important; }
html body.skin-celeste .su-x { background: #fffaf0 !important; border-color: var(--cz-line2) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .su-logo { filter: drop-shadow(0 8px 16px rgba(60, 40, 10, .35)) !important; }
html body.skin-celeste .su h2 { color: var(--cz-ink) !important; }
html body.skin-celeste .su-k { color: var(--cz-teal-d) !important; }
html body.skin-celeste .su-sub, html body.skin-celeste .su-rw small, html body.skin-celeste .su-foot { color: var(--cz-ink2) !important; }
html body.skin-celeste .su-rw { background: linear-gradient(135deg, #fff4d6, #fdebbf) !important; border-color: var(--cz-gold-l) !important; }
html body.skin-celeste .su-rw b { color: var(--cz-gold-d) !important; }
html body.skin-celeste .su-cd span { background: #fffaf0 !important; border-color: var(--cz-line2) !important; }
html body.skin-celeste .su-cd b { color: var(--cz-ink) !important; }
html body.skin-celeste .su-cd small { color: var(--cz-muted) !important; }
html body.skin-celeste .su-go { color: #3a2604 !important; background: linear-gradient(180deg, #f8d374, #e0a238) !important; box-shadow: 0 12px 26px -12px rgba(185, 131, 32, .95) !important; }
html body.skin-celeste .su-later { color: var(--cz-muted) !important; }
html body.skin-celeste .su-foot a { color: var(--cz-gold-d) !important; }

/* ---------- Récompenses, votes, espace joueur ---------- */
html body.skin-celeste .daily-track li { background: linear-gradient(180deg, #fffdf8, #f6eedc) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .daily-track b { color: var(--cz-ink) !important; }
html body.skin-celeste .daily-track small { color: var(--cz-muted) !important; }
html body.skin-celeste .daily-track li.today { border-color: var(--cz-gold-l) !important; background: radial-gradient(circle at 50% 40%, rgba(246, 220, 154, .7), #fffaf0 75%) !important; }
html body.skin-celeste .daily-track li.today :is(b, small) { color: var(--cz-gold-d) !important; }
html body.skin-celeste :is(.daily, .vote, .daily-nudge) { background: linear-gradient(180deg, #fffdf8, #faf3e4) !important; border-color: var(--cz-line) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .vote-ico { background: #fbf0d2 !important; color: var(--cz-gold-d) !important; }
html body.skin-celeste .vote b, html body.skin-celeste .daily-head h2 { color: var(--cz-ink) !important; }
html body.skin-celeste .meter { background: #ece2cc !important; border-color: #e0d3b5 !important; }
html body.skin-celeste .char { background: linear-gradient(180deg, #fffdf8, #f6eedc) !important; }
html body.skin-celeste .char > header { background: linear-gradient(90deg, color-mix(in srgb, var(--c, #e2b24a) 14%, #fffaf0), #fffaf0 70%) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .char :is(h2, h3, b, strong) { color: var(--cz-ink) !important; }
html body.skin-celeste .char :is(table, .stats) th, html body.skin-celeste .char .st-head { background: #f3e8cf !important; color: var(--cz-gold-d) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .char :is(td, .st-row) { color: var(--cz-ink) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste .char-art { opacity: .35 !important; }

/* ---------- Fonds noirs translucides du thème sombre → parchemin ---------- */
html body.skin-celeste :is(.char .stats > div, .stats > div, .prod-buy, .dslot, .gclass, .gevents > div, .guide-search, .svc-card, .svc-bank, .svc-play, .composer-who, .pay-trust li, label > span.opt, .mini, .deliv) {
  background: rgba(243, 234, 215, .7) !important; border-color: var(--cz-line) !important; color: var(--cz-ink) !important;
}
html body.skin-celeste :is(.stats > div, .svc-card, .gclass, .gevents > div) :is(b, strong, h3) { color: var(--cz-ink) !important; }
html body.skin-celeste :is(.stats > div, .svc-card, .gclass, .gevents > div, .prod-buy) :is(small, span:not(.btn):not(.chip)) { color: var(--cz-ink2) !important; }
html body.skin-celeste .dslot { box-shadow: inset 0 0 0 1px var(--cz-line) !important; }
html body.skin-celeste .doll { background: radial-gradient(ellipse at 50% 40%, #fff7e0, #efe3c6 75%) !important; border-color: var(--cz-line) !important; }
html body.skin-celeste :is(.sec-card, .ref-steps li, .ref-link-card, .notifs .is-live a, a.is-live, .tagpick legend, .tagpick label > span) {
  background: linear-gradient(180deg, #fffdf8 0%, #f8f0de 100%) !important; border-color: var(--cz-line) !important; color: var(--cz-ink) !important;
}
html body.skin-celeste :is(.sec-card, .ref-steps li, .ref-link-card) :is(b, strong, h2, h3) { color: var(--cz-ink) !important; }
html body.skin-celeste :is(.sec-card, .ref-steps li, .ref-link-card) :is(p, small) { color: var(--cz-ink2) !important; }
html body.skin-celeste .tagpick input:checked + span { background: linear-gradient(180deg, #f6d27c, #d9a03a) !important; color: #3a2604 !important; }
html body.skin-celeste .is-live > a { background: linear-gradient(90deg, #fff4d6, #fdecc0) !important; border-color: var(--cz-gold-l) !important; color: var(--cz-ink) !important; }
html body.skin-celeste .is-live > a * { color: var(--cz-ink) !important; }
html body.skin-celeste .pack { border-color: var(--cz-line2) !important; background: linear-gradient(180deg, #fffdf8, #f6eedc) !important; }
html body.skin-celeste .pack.is-best, html body.skin-celeste .pack.best { border-color: var(--cz-gold-l) !important; box-shadow: 0 20px 40px -24px rgba(185, 131, 32, .8) !important; }
html body.skin-celeste .pack :is(b, strong, h3) { color: var(--cz-ink) !important; }

/* =========================================================
   Céleste v2 : modules fondus dans le décor
   - fond de page : ta bannière très délavée, fixe, pour que tout « flotte » dans le même ciel
   - cadres en verre dépoli (on devine le décor derrière), bordures et ombres adoucies
   - transitions entre sections en fondu, sans traits durs
   ========================================================= */

/* verre dépoli */
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join), .lg-rew, .fside-box, .fcard, .prod, .tbl, .post, .kpis, .char, .empty, .wallet, .composer, .dash-card, .board, .tlist,
  .ad-tile, .cx-card, .dlx-card, .vt-site, .vt-top, .cal-day, .st-steps li, .st-reward, .tm-row, .calc-card, .sec-card, .ref-link-card, .daily, .vote, .svc-card, .pack, .team-card, .fme, .facts, .alert:not(.bad):not(.ok):not(.warn)) {
  background: linear-gradient(180deg, rgba(255, 254, 250, .74) 0%, rgba(253, 248, 236, .66) 100%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.25); backdrop-filter: blur(14px) saturate(1.25);
  border-color: rgba(255, 255, 255, .85) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 0 0 1px rgba(185, 131, 32, .14), 0 28px 50px -38px rgba(40, 60, 90, .55) !important;
}
html body.skin-celeste.is-lgb .bx:not(.bx-siege):not(.bx-join), html body.skin-celeste.is-lgb .bx-lgdaily {
  background:
    var(--lg-corner) left top / 16px 1px no-repeat, var(--lg-corner) left top / 1px 16px no-repeat,
    var(--lg-corner) right bottom / 16px 1px no-repeat, var(--lg-corner) right bottom / 1px 16px no-repeat,
    linear-gradient(180deg, rgba(255, 254, 250, .72) 0%, rgba(253, 248, 236, .62) 100%) !important;
  border-color: rgba(255, 255, 255, .85) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 0 0 1px rgba(185, 131, 32, .14), 0 30px 54px -40px rgba(40, 60, 90, .55) !important;
}
html body.skin-celeste :is(.bx, .fside-box, .fcard, .prod, .post, .board, .char, .wallet)::after { opacity: .12 !important; }
html body.skin-celeste :is(.bx-h, .board-h, .lg-h) { border-color: rgba(185, 131, 32, .14) !important; }
html body.skin-celeste .board-h { background: linear-gradient(90deg, rgba(246, 231, 195, .7), rgba(251, 244, 227, 0) 70%) !important; }
html body.skin-celeste .board-cols { background: rgba(246, 238, 220, .55) !important; }

/* accueil : la couverture se fond dans la page */
html body.skin-celeste .bx-hero { min-height: 720px; }
html body.skin-celeste .bx-hero::before {
  background: radial-gradient(ellipse 34% 40% at 50% 36%, rgba(255, 252, 240, .55), rgba(255, 252, 240, 0) 72%),
              linear-gradient(180deg, rgba(251, 247, 238, 0) 0%, rgba(251, 247, 238, 0) 58%, rgba(251, 247, 238, .55) 80%, rgba(250, 245, 234, .96) 100%) !important;
}
html body.skin-celeste .bx-hero .hx-logo { width: min(500px, 74vw) !important; height: auto !important; filter: drop-shadow(0 18px 30px rgba(20, 40, 80, .45)) drop-shadow(0 0 40px rgba(255, 255, 255, .8)) !important; }
html body.skin-celeste .bx-stats { background: rgba(255, 254, 250, .62) !important; -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); border-color: rgba(255, 255, 255, .9) !important; }
/* sections : plus de traits ni de bandes opaques */
html body.skin-celeste.is-lgb .bx-lgshow::before {
  background: radial-gradient(ellipse 45% 70% at 32% 55%, rgba(120, 190, 230, .14), transparent 70%), radial-gradient(ellipse 35% 60% at 78% 45%, rgba(226, 178, 74, .12), transparent 70%) !important;
  border: 0 !important;
}
html body.skin-celeste.is-lgb .bx-join::before {
  border: 0 !important;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
}
html body.skin-celeste.is-lgb .bx-join::after { display: none !important; }
html body.skin-celeste .hx-foot { background: linear-gradient(180deg, rgba(243, 234, 215, 0) 0%, rgba(243, 234, 215, .9) 120px, #ebdfc5 100%) !important; border-top: 0 !important; }
html body.skin-celeste .hx-foot .hx-rule { opacity: .5; }
/* bannières : légende en verre au lieu du noir */
html body.skin-celeste .bx-lgtiles a { border-color: rgba(255, 255, 255, .9) !important; }
html body.skin-celeste .bx-lgtiles a::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0) 45%, rgba(20, 40, 70, .55) 100%) !important; }
/* pages intérieures : haut de page fondu */
html body.skin-celeste :is(.forum-hero, .fcat-hero, .topic-hero, .rank-hero, .shop-hero, .gen-hero, .guide-hero, .char-hero) { border-bottom: 0 !important; border-image: none !important; background-color: transparent !important; }
html body.skin-celeste :is(.forum-hero, .fcat-hero, .topic-hero, .rank-hero, .shop-hero, .gen-hero, .guide-hero, .char-hero)::after {
  background: linear-gradient(90deg, rgba(251, 247, 238, .95) 0%, rgba(251, 247, 238, .8) 40%, rgba(251, 247, 238, .15) 100%), linear-gradient(0deg, rgba(250, 245, 234, 1) 0%, rgba(251, 247, 238, 0) 50%) !important;
}
html body.skin-celeste .hx-main > .hx-embers + section.band, html body.skin-celeste .hx-main > section.band:first-of-type:not(.forum-band) { background-color: transparent !important; }
html body.skin-celeste .sec-rule, html body.skin-celeste .hx-rule.is-ornate { opacity: .45; }
html body.skin-celeste .band { background-color: transparent !important; }
html body.skin-celeste .hx-main { background: transparent !important; }

/* =========================================================
   Cascade, lac et brume animés sur la bannière (voir legende-fx.js)
   ========================================================= */
.lfx-img { position: absolute; pointer-events: none; }
.lfx-water { position: absolute; overflow: hidden; mix-blend-mode: screen; filter: blur(1.2px);
  -webkit-mask-image: radial-gradient(ellipse 50% 58% at 50% 46%, #000 30%, rgba(0, 0, 0, .55) 62%, transparent 100%);
          mask-image: radial-gradient(ellipse 50% 58% at 50% 46%, #000 30%, rgba(0, 0, 0, .55) 62%, transparent 100%); }
/* filets d'eau irréguliers (largeurs et vitesses différentes) qui descendent */
.lfx-water i { position: absolute; top: 0; bottom: 0; left: 0; right: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 18%, rgba(240, 250, 255, .35) 34%, rgba(255, 255, 255, .85) 52%, rgba(255, 255, 255, .15) 70%, rgba(255, 255, 255, .8) 86%, rgba(255, 255, 255, 0) 100%) 12% 0 / 14% 90px repeat-y,
    linear-gradient(180deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, .95) 30%, rgba(255, 255, 255, .1) 55%, rgba(255, 255, 255, .7) 80%, rgba(255, 255, 255, .2) 100%) 38% 0 / 10% 70px repeat-y,
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .85) 25%, rgba(255, 255, 255, .25) 50%, rgba(255, 255, 255, .9) 75%, rgba(255, 255, 255, 0) 100%) 64% 0 / 16% 110px repeat-y,
    linear-gradient(180deg, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, .9) 40%, rgba(255, 255, 255, .05) 70%, rgba(255, 255, 255, .6) 100%) 88% 0 / 9% 80px repeat-y;
  animation: lfx-fall 1.1s linear infinite; }
.lfx-water i + i { opacity: .7; filter: blur(2px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .8) 30%, rgba(255, 255, 255, 0) 60%) 25% 0 / 12% 130px repeat-y,
    linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .75) 45%, rgba(255, 255, 255, 0) 80%) 52% 0 / 14% 95px repeat-y,
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .7) 40%, rgba(255, 255, 255, .05) 75%) 78% 0 / 12% 150px repeat-y;
  animation: lfx-fall2 1.6s linear infinite; }
@keyframes lfx-fall { from { background-position: 12% 0, 38% 0, 64% 0, 88% 0; } to { background-position: 12% 90px, 38% 140px, 64% 110px, 88% 160px; } }
@keyframes lfx-fall2 { from { background-position: 25% 0, 52% 0, 78% 0; } to { background-position: 25% 130px, 52% 190px, 78% 150px; } }
.lfx-spray { position: absolute; border-radius: 50%; background: radial-gradient(ellipse, rgba(255, 255, 255, 1), rgba(255, 255, 255, .5) 40%, rgba(255, 255, 255, 0) 70%); filter: blur(4px); mix-blend-mode: screen; animation: lfx-spray 3s ease-in-out infinite; }
.lfx-spray.b { animation-delay: -1.5s; animation-duration: 3.8s; }
@keyframes lfx-spray { 0%, 100% { transform: scale(.9) translateY(0); opacity: .7; } 50% { transform: scale(1.18) translateY(-6%); opacity: 1; } }
.lfx-lake { position: absolute; overflow: hidden; mix-blend-mode: screen; opacity: .8;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 40%, transparent 100%); mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 40%, transparent 100%); }
.lfx-lake i { position: absolute; inset: -30% -40%; filter: blur(1.5px);
  background: radial-gradient(ellipse 6% 1.2% at 20% 30%, rgba(255, 255, 255, .95), transparent), radial-gradient(ellipse 8% 1% at 55% 45%, rgba(255, 255, 255, .9), transparent),
              radial-gradient(ellipse 5% 1% at 80% 25%, rgba(255, 255, 255, .9), transparent), radial-gradient(ellipse 7% 1.2% at 35% 70%, rgba(255, 255, 255, .85), transparent),
              radial-gradient(ellipse 6% 1% at 70% 80%, rgba(255, 255, 255, .9), transparent), radial-gradient(ellipse 4% .9% at 10% 60%, rgba(255, 255, 255, .8), transparent);
  animation: lfx-ripples 6s ease-in-out infinite alternate; }
.lfx-lake i + i { filter: blur(3px); opacity: .7; transform: scaleX(-1); animation: lfx-glints 8s ease-in-out infinite alternate; }
@keyframes lfx-ripples { 0% { transform: translate(-3%, 0); opacity: .5; } 50% { opacity: 1; } 100% { transform: translate(3%, 4%); opacity: .6; } }
@keyframes lfx-glints { 0% { transform: scaleX(-1) translate(2%, 2%); opacity: .3; } 50% { opacity: .9; } 100% { transform: scaleX(-1) translate(-4%, -2%); opacity: .4; } }
.lfx-cloudbank { position: absolute; border-radius: 50%; background: radial-gradient(ellipse, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%); filter: blur(10px); animation: lfx-bank 18s ease-in-out infinite alternate; }
@keyframes lfx-bank { from { transform: translateX(-4%); opacity: .55; } to { transform: translateX(4%); opacity: .9; } }
@media (prefers-reduced-motion: reduce) { .lfx-water i, .lfx-spray, .lfx-lake i, .lfx-cloudbank { animation: none !important; } }
/* logo du pied de page (le nouveau logo est plus haut) */
html body.skin-celeste .hx-foot-brand img { width: 200px !important; height: auto !important; filter: drop-shadow(0 8px 16px rgba(20, 40, 80, .3)) !important; }
html body.skin-celeste .hx-brand img { height: 52px !important; width: auto !important; filter: drop-shadow(0 3px 6px rgba(20, 40, 80, .35)) !important; }
/* appel final : la bannière plus visible derrière le texte */
html body.skin-celeste.is-lgb .bx-join::before { background: linear-gradient(90deg, rgba(251, 247, 238, .94) 0%, rgba(251, 247, 238, .7) 45%, rgba(251, 247, 238, .2) 100%), var(--sk-cover) 30% 55% / cover no-repeat !important; }

/* =========================================================
   Céleste v3 : couleur unie, la bannière seulement dans la couverture de l'accueil
   Modules fondus : pas de bordures dures, surfaces à peine plus claires que le fond,
   ombres très douces et longues, liseré doré qui s'allume au survol.
   ========================================================= */
html body.skin-celeste {
  --cz-bg: #f6f0e3;          /* fond uni du site */
  --cz-surface: #fcf8f0;     /* modules */
  --cz-surface-2: #f2ead9;   /* zones en retrait (en-têtes de tableaux, champs) */
  --cz-sky: #e6f1f4;         /* touche de bleu ciel pour les en-têtes de page */
  background: var(--cz-bg) !important;
}
html body.skin-celeste .hx-main, html body.skin-celeste main, html body.skin-celeste .band, html body.skin-celeste .band.alt { background: transparent !important; }

/* ---------- Modules : surfaces douces, sans contour ---------- */
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join), .lg-rew, .fside-box, .fcard, .prod, .tbl, .post, .kpis, .char, .empty, .wallet, .composer, .dash-card, .board, .tlist,
  .ad-tile, .cx-card, .dlx-card, .vt-site, .vt-top, .cal-day, .st-steps li, .st-reward, .tm-row, .calc-card, .sec-card, .ref-link-card, .daily, .vote, .svc-card, .pack, .team-card, .fme, .facts,
  .gm-card, .gm-panel, .staff-card, .role-card, .side-body, .status, .toplist li, .dl-row, .castle, .bonus-card, .set-tier, .empty-state, .fstats > div, .vt-card, .hx-top5, .ref-card, .rw-card, .vip-card, .ss-card, .sx-card, .hi-list, .nw-card, .nw-box, .shop-trust, .acc-side, .ticket, .msg, .alert:not(.bad):not(.ok):not(.warn)) {
  background: var(--cz-surface) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(120, 95, 50, .06), 0 14px 34px -18px rgba(120, 95, 50, .22), 0 40px 70px -50px rgba(60, 80, 110, .25) !important;
  transition: box-shadow .35s, transform .35s !important;
}
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join), .lg-rew, .fside-box, .fcard, .prod, .post, .board, .dash-card, .ad-tile, .cx-card, .dlx-card, .vt-site, .svc-card, .pack, .team-card):hover {
  box-shadow: 0 1px 2px rgba(120, 95, 50, .06), 0 0 0 1px rgba(226, 178, 74, .35), 0 22px 44px -20px rgba(120, 95, 50, .3), 0 50px 80px -50px rgba(60, 80, 110, .3) !important;
}
/* plus d'anneau animé ni de coins (trop « cadre ») : un simple filet doré en haut, au centre */
html body.skin-celeste :is(.bx, .fside-box, .fcard, .prod, .post, .board, .char, .wallet, .tbl, .kpis, .empty, .team-card, .role-card)::after { display: none !important; }
html body.skin-celeste.is-lgb .bx:not(.bx-siege):not(.bx-join), html body.skin-celeste.is-lgb .bx-lgdaily { background: var(--cz-surface) !important; border-color: transparent !important; }
html body.skin-celeste.is-lgb .bx:not(.bx-siege):not(.bx-join)::before, html body.skin-celeste.is-lgb .bx-lgdaily::before {
  left: 38% !important; right: 38% !important; height: 2px !important; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--cz-gold-l), transparent) !important; opacity: .7;
}
html body.skin-celeste :is(.bx-h, .board-h, .lg-h, .fsection-head, .side-h) { border-color: rgba(185, 131, 32, .1) !important; }
html body.skin-celeste .board-h, html body.skin-celeste .board-cols, html body.skin-celeste .tbl table th { background: var(--cz-surface-2) !important; }
html body.skin-celeste :is(.board-row, .trow, .topic-row, .rank-row) { border-color: rgba(185, 131, 32, .1) !important; }
html body.skin-celeste :is(.lg-days li, .daily-track li, .gx-cls a, .ad-links a, .ad-chars a, .act-filters :is(a, button), .tabs a, .nw-tabs a, .cal-day li) { border-color: rgba(185, 131, 32, .14) !important; }
html body.skin-celeste :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea) { background: #fffdf8 !important; border-color: rgba(185, 131, 32, .22) !important; }
html body.skin-celeste .bx-chat .ch-form, html body.skin-celeste .ch-locked { background: var(--cz-surface-2) !important; }

/* ---------- Couverture de l'accueil : la seule image de fond ---------- */
html body.skin-celeste .bx-hero::before {
  background: radial-gradient(ellipse 34% 40% at 50% 36%, rgba(255, 252, 240, .5), rgba(255, 252, 240, 0) 72%),
              linear-gradient(180deg, rgba(246, 240, 227, 0) 0%, rgba(246, 240, 227, 0) 60%, rgba(246, 240, 227, .7) 84%, var(--cz-bg) 100%) !important;
}
html body.skin-celeste .bx-stats { background: rgba(252, 248, 240, .78) !important; -webkit-backdrop-filter: blur(16px) saturate(1.3) !important; backdrop-filter: blur(16px) saturate(1.3) !important; box-shadow: 0 30px 60px -34px rgba(60, 80, 110, .5) !important; border-color: rgba(255, 255, 255, .8) !important; }

/* ---------- Bandes de section : alternance très douce, sans traits ---------- */
html body.skin-celeste.is-lgb .bx-lgshow::before {
  background: linear-gradient(180deg, rgba(230, 241, 244, 0) 0%, rgba(230, 241, 244, .75) 18%, rgba(230, 241, 244, .75) 82%, rgba(230, 241, 244, 0) 100%) !important;
  border: 0 !important;
}
html body.skin-celeste .lfx-amb.is-on { opacity: .14 !important; }
/* ---------- Pied de page ---------- */
html body.skin-celeste .hx-foot { background: linear-gradient(180deg, var(--cz-bg) 0%, #ece3cf 100%) !important; }

/* modules : légère lumière en haut de chaque surface */
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join), .lg-rew, .fside-box, .fcard, .prod, .post, .board, .dash-card, .ad-tile, .cx-card, .dlx-card, .vt-site, .svc-card, .pack, .team-card, .char, .tbl) {
  background: linear-gradient(180deg, #fffcf6 0%, var(--cz-surface) 120px) !important;
}
html body.skin-celeste.is-lgb .bx:not(.bx-siege):not(.bx-join), html body.skin-celeste.is-lgb .bx-lgdaily { background: linear-gradient(180deg, #fffcf6 0%, var(--cz-surface) 120px) !important; }

/* ---------- Design poussé sur fond uni ---------- */
/* titres de section plus présents, ornement doré qui s'élargit */
html body.skin-celeste .lgb-sec { margin-top: 64px !important; }
html body.skin-celeste .lgb-sec h2 { font-size: clamp(28px, 3vw, 40px) !important; letter-spacing: .07em !important; }
html body.skin-celeste .lgb-sec .lg-kicker { letter-spacing: .4em !important; }
/* titres des modules : pastille d'icône dorée */
html body.skin-celeste .bx-h h2 .ic, html body.skin-celeste .lg-h h2::before { color: var(--cz-gold-d) !important; }
html body.skin-celeste .bx-h h2 > .ic:first-child { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: radial-gradient(circle, #fff6dc, #f3dfa8) !important; box-shadow: 0 4px 10px -4px rgba(185, 131, 32, .6); }
/* modules qui se soulèvent au survol */
html body.skin-celeste :is(.bx:not(.bx-siege):not(.bx-join):not(.bx-chat), .fcard, .prod, .dlx-card, .vt-site, .svc-card, .pack, .team-card, .ad-tile):hover { transform: translateY(-4px); }
/* images des actualités et bannières : coins arrondis et ombre douce */
html body.skin-celeste :is(.bx-lead-img, .board-thumb, .bx-lgtiles a) { border-radius: 14px !important; box-shadow: 0 18px 34px -20px rgba(60, 50, 30, .55) !important; }
/* boutons : relief doré plus fin */
html body.skin-celeste :is(.btn:not(.ghost):not(.danger):not(.linkbtn), .hx-btn.is-red) { border-radius: 10px !important; letter-spacing: .06em; }
html body.skin-celeste :is(.btn:not(.ghost):not(.danger):not(.linkbtn), .hx-btn.is-red):hover { transform: translateY(-2px); box-shadow: 0 18px 32px -14px rgba(185, 131, 32, 1), inset 0 1px 0 rgba(255, 255, 255, .6) !important; }
/* séparateurs ornés : discrets */
html body.skin-celeste .hx-rule i, html body.skin-celeste .sec-rule { opacity: .6; }

/* =========================================================
   Céleste v4 : modules ouverts, fondus dans la page (comme la vitrine des personnages)
   Accueil : plus de boîtes. Le contenu est posé directement sur le fond,
   séparé par des filets dorés verticaux et des nappes de lumière derrière chaque section.
   ========================================================= */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-news, .bx-server, .bx-feed, .bx-heroes, .bx-agenda),
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lgdaily {
  background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
  padding-top: 6px !important; padding-bottom: 6px !important; transform: none !important;
}
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-news, .bx-server, .bx-feed, .bx-heroes, .bx-agenda, .bx-lgdaily)::before,
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-news, .bx-server, .bx-feed, .bx-heroes, .bx-agenda, .bx-lgdaily)::after { display: none !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-news, .bx-server, .bx-feed, .bx-heroes):hover { box-shadow: none !important; transform: none !important; }
/* filets dorés verticaux entre deux modules côte à côte */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-server, .bx-feed, .bx-heroes) { border-left: 1px solid transparent !important;
  border-image: linear-gradient(180deg, rgba(226, 178, 74, 0), rgba(226, 178, 74, .55) 30%, rgba(226, 178, 74, .55) 70%, rgba(226, 178, 74, 0)) 1 !important; padding-left: 34px !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lgdaily .lg-rew-vote { border-left: 1px solid transparent !important;
  border-image: linear-gradient(180deg, rgba(226, 178, 74, 0), rgba(226, 178, 74, .55) 30%, rgba(226, 178, 74, .55) 70%, rgba(226, 178, 74, 0)) 1 !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lgdaily > div { padding: 10px 34px 14px !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lgdaily > div:first-child { padding-left: 0 !important; }
/* titres des modules : sans trait, juste un petit filet doré */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-h, .lg-h) { border-bottom: 0 !important; padding-bottom: 6px !important; margin-bottom: 18px !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-h, .lg-h)::after { content: "" !important; display: block !important; position: absolute; left: 0; bottom: -2px; width: 56px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--cz-gold-l), transparent) !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-h { position: relative; }
/* lignes de listes : séparateurs très légers */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb :is(.bx-server li, .bx-server dl > div, .lg-votes li, .hx-top5 li, .act) { border-color: rgba(185, 131, 32, .12) !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .hx-top5, html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .hx-empty { background: none !important; box-shadow: none !important; border: 0 !important; }
/* actualité : l'image porte seule le relief */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lead-img { box-shadow: 0 24px 40px -22px rgba(60, 50, 30, .55) !important; }
/* jours de récompense et votes : pastilles légères */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lg-days li { background: rgba(255, 255, 255, .55) !important; border-color: rgba(185, 131, 32, .16) !important; }
/* taverne : seule zone qui garde un fond (zone de discussion), très douce et sans ombre */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat { background: rgba(255, 255, 255, .42) !important; box-shadow: none !important; border: 0 !important; border-radius: 18px !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat::before, html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat::after { display: none !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat .ch-form, html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat .ch-locked { background: rgba(242, 234, 217, .6) !important; border-top: 0 !important; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-chat .bx-h { padding: 18px 22px 6px !important; }
/* nappes de lumière derrière chaque section (fondues, pas de bord) */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lgb-sec { position: relative; isolation: isolate; }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lgb-sec::before {
  content: ""; position: absolute; left: 50%; top: -60px; width: 100vw; height: 900px; transform: translateX(-50%); z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 46% 360px at 50% 280px, rgba(255, 253, 246, .95), rgba(255, 253, 246, 0) 100%);
}
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lgb-sec.s-rew::before { background: radial-gradient(ellipse 50% 360px at 50% 300px, rgba(225, 240, 245, .9), rgba(225, 240, 245, 0) 100%); }
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lgb-sec.s-glory::before { background: radial-gradient(ellipse 50% 380px at 50% 300px, rgba(250, 236, 205, .85), rgba(250, 236, 205, 0) 100%); }
/* Castle Siege : image fondue sur ses bords au lieu d'un bloc à angle droit */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-siege { border: 0 !important; border-radius: 22px !important; box-shadow: 0 30px 60px -36px rgba(60, 50, 30, .6) !important; }

/* =========================================================
   Pages intérieures : cadres allégés (fond presque invisible, sans ombre)
   ========================================================= */
html body.skin-celeste.skin-celeste.skin-celeste:not(.is-lgb) :is(.fside-box, .fcard, .prod, .tbl, .post, .kpis, .char, .empty, .wallet, .composer, .dash-card, .board, .tlist,
  .ad-tile, .cx-card, .dlx-card, .vt-site, .vt-top, .cal-day, .st-steps li, .st-reward, .tm-row, .calc-card, .sec-card, .ref-link-card, .daily, .vote, .svc-card, .pack, .team-card, .fme, .facts,
  .gm-card, .gm-panel, .staff-card, .side-body, .status, .dl-row, .bonus-card, .set-tier, .empty-state, .fstats > div, .vt-card, .hi-list, .nw-card, .nw-box, .shop-trust) {
  background: linear-gradient(180deg, rgba(255, 255, 255, .62) 0%, rgba(255, 255, 255, .32) 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 18px 40px -34px rgba(120, 95, 50, .45) !important;
  border-color: transparent !important; border-radius: 18px !important;
}
html body.skin-celeste.skin-celeste.skin-celeste:not(.is-lgb) :is(.fcard, .prod, .dlx-card, .vt-site, .svc-card, .pack, .team-card, .ad-tile, .tm-row, .st-steps li):hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .5) 100%) !important;
  box-shadow: 0 1px 0 #fff inset, 0 0 0 1px rgba(226, 178, 74, .3), 0 24px 44px -30px rgba(120, 95, 50, .55) !important;
}
html body.skin-celeste.skin-celeste.skin-celeste:not(.is-lgb) :is(.board-h, .board-cols, .tbl table th) { background: rgba(242, 234, 217, .55) !important; }

/* =========================================================
   Céleste v5 : vitrine des classes et récompenses sans fond coloré
   ========================================================= */
/* plus de bande bleue, plus de nappes colorées : fond uni partout */
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .bx-lgshow::before,
html body.skin-celeste.skin-celeste.is-lgb.is-lgb.is-lgb .lgb-sec::before { display: none !important; }
html body.skin-celeste .lfx-amb, html body.skin-celeste .lfx-ghost { display: none !important; }

/* portrait : médaillon rond entier, cerclé d'or (plus d'image coupée en carré) */
html body.skin-celeste .lg-show-art {
  position: relative; width: min(340px, 80vw) !important; max-width: 340px !important; max-height: none !important; aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important; padding: 10px; border-radius: 50%;
  background: conic-gradient(from 210deg, #f6dc9a, #c9952e, #fbeec9, #b98320, #f6dc9a) !important;
  box-shadow: 0 34px 60px -34px rgba(60, 50, 30, .6), 0 0 0 1px rgba(185, 131, 32, .25) !important;
}
html body.skin-celeste .lg-show-art::before { display: none !important; }
html body.skin-celeste .lg-show-art img {
  display: block; width: 100% !important; height: 100% !important; border-radius: 50%; object-fit: cover !important; object-position: center 22% !important;
  border: 6px solid #fffaf0; background: #eef4f6;
  -webkit-mask-image: none !important; mask-image: none !important;
}
html body.skin-celeste .lfx-ring { width: 118% !important; top: 50% !important; border-color: rgba(185, 131, 32, .35) !important; box-shadow: none !important; }
html body.skin-celeste .lfx-ring.is-in { width: 108% !important; border-color: rgba(185, 131, 32, .25) !important; }
html body.skin-celeste .lg-show-panel { gap: 64px !important; align-items: center; }
html body.skin-celeste.is-compact .lg-show-panel { grid-template-columns: 360px minmax(0, 1fr) !important; }
@media (max-width: 900px) { html body.skin-celeste.is-compact .lg-show-panel { grid-template-columns: 1fr !important; gap: 30px !important; } html body.skin-celeste .lg-show-art { width: min(280px, 72vw) !important; } }
/* médaillons de sélection : même cerclage doré */
html body.skin-celeste .lg-show-pick img { border: 2px solid #ecd9ae !important; box-shadow: 0 6px 12px -8px rgba(60, 50, 30, .5) !important; }
html body.skin-celeste .lg-show-pick button[aria-selected="true"] img { border-color: var(--cz-gold-l) !important; box-shadow: 0 0 0 4px rgba(226, 178, 74, .22), 0 10px 20px -10px rgba(185, 131, 32, .8) !important; }
/* barres de stats : dorées (au lieu de la couleur de classe sur fond beige) */
html body.skin-celeste .lg-show-stats i { background: #ece2cc !important; }
html body.skin-celeste .lg-show-stats i::after { background: linear-gradient(90deg, #ecc56f, #b98320) !important; }

/* récompenses : jours en pastilles claires, coffre du jour 7 en clair */
html body.skin-celeste .lg-days li { background: #fffdf8 !important; border: 1px solid rgba(185, 131, 32, .18) !important; box-shadow: none !important; }
html body.skin-celeste .lg-days .is-done { opacity: .55; }
html body.skin-celeste .lg-days .is-now { border-color: var(--cz-gold-l) !important; box-shadow: 0 0 0 3px rgba(226, 178, 74, .2) !important; background: #fff7e2 !important; }
html body.skin-celeste .lg-days .is-now small { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-streak i::after { background: linear-gradient(90deg, #ecc56f, #b98320) !important; }
html body.skin-celeste .lg-chest { border: 1px solid rgba(185, 131, 32, .3) !important; }
html body.skin-celeste .lg-chest::before { filter: saturate(.9) brightness(1.15) !important; }
html body.skin-celeste .lg-chest::after { background: linear-gradient(90deg, rgba(255, 250, 238, .96) 25%, rgba(255, 250, 238, .75) 65%, rgba(255, 250, 238, .35)) !important; }
html body.skin-celeste .lg-chest small { color: var(--cz-gold-d) !important; }
html body.skin-celeste .lg-chest b { color: var(--cz-ink) !important; }
html body.skin-celeste .lg-chest em { color: var(--cz-ink2) !important; }
