
/* ===== CONSOLIDADO DESDE halloween-v2-2.css ===== */
/* GunBound Legacy — Halloween 2026 — Theme V2.2 POLISH
   Rediseño estructural. La UI existente sigue usando los mismos nodos, botones y endpoints. */
:root{
  --h21-orange:#ff6d16;--h21-orange2:#ffad42;--h21-red:#a72d0c;--h21-purple:#b52cff;
  --h21-bg:#070304;--h21-panel:#130607;--h21-panel2:#0b0405;--h21-line:rgba(255,96,22,.52);
  --h21-text:#fff7f1;--h21-muted:#caa392;--h21-green:#36d174;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#050203!important}
body{margin:0!important;background:#050203!important;color:var(--h21-text)!important;overflow-x:hidden!important}
body::before,body::after{content:"";position:fixed;top:300px;bottom:0;width:145px;pointer-events:none;z-index:0;background-repeat:repeat-y;background-size:145px auto;opacity:.78;filter:saturate(1.08) contrast(1.06)}
body::before{left:0;background-image:none}body::after{right:0;background-image:none}
body>*{position:relative;z-index:2}

/* Hide the old injected V2 decorations if stale runtime nodes remain */
.gbl-hw-v2-legacy-hidden{display:none!important}

/* HERO — real DOM, not a screenshot of the whole page */
.gbl-hw-v21-hero{height:315px;position:relative;overflow:visible;background:
  linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.16) 58%,#080304 100%);
  border-bottom:1px solid rgba(255,96,18,.38);box-shadow:0 18px 48px rgba(0,0,0,.72),0 0 40px rgba(255,72,0,.10);z-index:4}
.gbl-hw-v21-hero::after{content:"";position:absolute;inset:auto 0 0;height:118px;background:linear-gradient(180deg,transparent,rgba(5,2,3,.93));pointer-events:none}
.gbl-hw-v21-brand{position:absolute;left:50%;top:5px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;width:min(470px,54vw);z-index:3}
.gbl-hw-v21-brand img{width:150px;height:88px;object-fit:contain;filter:drop-shadow(0 4px 9px #000) drop-shadow(0 0 8px rgba(255,131,36,.32))}
.gbl-hw-v21-brand-title{margin-top:-5px;font:900 clamp(42px,5vw,72px)/.83 Impact,'Arial Black',sans-serif;text-transform:uppercase;color:#ff6a18;-webkit-text-stroke:2px #3d1006;text-shadow:0 4px 0 #681700,0 7px 0 #1e0601,0 0 18px rgba(255,72,0,.86)}
.gbl-hw-v21-brand-title span{display:block;font-size:.63em;color:#fff2e6;-webkit-text-stroke:1px #351006;text-shadow:0 3px 0 #541300,0 0 12px #ff5a00}
.gbl-hw-v21-brand-sub{margin-top:7px;text-transform:uppercase;font:800 10px/1 Arial,sans-serif;letter-spacing:1.7px;color:#ffd2b2}
.gbl-hw-v21-nav{position:absolute;left:50%;top:176px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:5px;border:1px solid rgba(255,108,23,.44);border-radius:12px;background:rgba(11,4,6,.84);backdrop-filter:blur(9px);box-shadow:0 0 22px rgba(255,73,0,.12);z-index:5}
.gbl-hw-v21-nav a{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;text-decoration:none!important;color:#ffd0af!important;font:800 11px Arial,sans-serif;border:1px solid transparent;white-space:nowrap;transition:.16s}
.gbl-hw-v21-nav a:hover{color:#fff!important;background:linear-gradient(180deg,#ff7c1b,#a52e05);border-color:#ff9b48;box-shadow:0 0 14px rgba(255,76,0,.38);transform:translateY(-1px)}

/* Existing V1.9 balance + guide become part of the hero */
.gbl-hw-v21-hero .gbl-hw-v19-shell{position:absolute!important;left:50%!important;bottom:-38px!important;transform:translateX(-50%)!important;width:min(940px,78vw)!important;margin:0!important;display:grid!important;grid-template-columns:300px 1fr!important;gap:12px!important;z-index:7!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.gbl-hw-v21-hero .gbl-hw-v19-balance,.gbl-hw-v21-hero .gbl-hw-v19-guide{min-height:88px!important;margin:0!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(42,9,5,.95),rgba(16,5,7,.96))!important;border:1px solid rgba(255,105,22,.74)!important;box-shadow:0 0 22px rgba(255,64,0,.15),inset 0 0 20px rgba(255,70,0,.035)!important}
.gbl-hw-v21-hero .gbl-hw-v19-guide{border-color:rgba(183,45,255,.46)!important;background:linear-gradient(180deg,rgba(30,8,18,.96),rgba(13,5,12,.97))!important}
.gbl-hw-v21-hero .gbl-hw-v19-guide.gbl-hw-v2-collapsed .gbl-hw-v19-guide__grid,.gbl-hw-v21-hero .gbl-hw-v19-guide.gbl-hw-v2-collapsed .gbl-hw-v19-guide__note{display:none!important}
.gbl-hw-v21-hero .gbl-hw-v2-guide-toggle{position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;padding:9px 13px!important}
.gbl-hw-v19-home{position:fixed!important;top:16px!important;left:18px!important;z-index:10080!important;padding:12px 18px!important;border-radius:10px!important;border:1px solid #ff7a1d!important;background:linear-gradient(180deg,rgba(40,11,5,.96),rgba(14,4,4,.97))!important;color:#ffd3ad!important;box-shadow:0 0 18px rgba(255,78,0,.22)!important;font-weight:900!important}

/* GLOBAL EVENT BOARD */
.gbl-hw-v21-board{width:min(1240px,calc(100% - 56px));margin:62px auto 48px;display:flex;flex-direction:column;gap:12px;position:relative;z-index:3}
.gbl-hw-v21-section{position:relative!important;margin:0!important;width:100%!important;padding:14px 14px 15px!important;border:1px solid rgba(255,88,17,.38)!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(18,6,7,.97),rgba(8,3,5,.97))!important;box-shadow:0 0 0 1px rgba(76,16,9,.22),0 12px 28px rgba(0,0,0,.36),inset 0 0 34px rgba(255,63,0,.025)!important;overflow:hidden}
.gbl-hw-v21-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,77,0,.035),transparent 18%,transparent 80%,rgba(177,36,255,.026))}
.gbl-hw-v21-section-head{position:relative;display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;margin:0 0 12px;padding:0 3px 10px;border-bottom:1px solid rgba(255,83,18,.24);z-index:1}
.gbl-hw-v21-number{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #ff6c17;background:radial-gradient(circle at 45% 35%,rgba(255,121,23,.18),rgba(30,6,4,.94));box-shadow:0 0 18px rgba(255,82,0,.32);font:900 24px Arial,sans-serif;color:#ffae56}
.gbl-hw-v21-head-copy{min-width:0}.gbl-hw-v21-head-copy h1,.gbl-hw-v21-head-copy h2,.gbl-hw-v21-head-copy h3{margin:0!important;color:#ff5f26!important;text-align:left!important;font-size:clamp(27px,3vw,42px)!important;line-height:1!important;text-shadow:0 0 10px rgba(255,69,0,.34)!important}.gbl-hw-v21-head-copy p,.gbl-hw-v21-head-copy>div:not(.gbl-hw-v21-section-tools){margin:5px 0 0!important;text-align:left!important;color:#d2aa99!important;max-width:780px!important;font-size:12px!important;line-height:1.35!important}
.gbl-hw-v21-head-copy [class*="badge"],.gbl-hw-v21-head-copy [class*="eyebrow"]{display:inline-flex!important;margin-bottom:6px!important;font-size:9px!important}
.gbl-hw-v21-section-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}

/* ATTENDANCE — actual dashboard + horizontal milestone track */
.gbl-hw-v21-attendance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:9px;align-items:stretch;margin:0 0 12px;position:relative;z-index:1}
.gbl-hw-v21-attendance-metric{min-height:62px!important;padding:9px 12px!important;border:1px solid rgba(255,90,16,.38)!important;border-radius:9px!important;background:rgba(41,8,7,.56)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.gbl-hw-v21-attendance-metric *{margin-top:0!important;margin-bottom:0!important}.gbl-hw-v21-attendance-metric strong,.gbl-hw-v21-attendance-metric>div:first-child{font-size:21px!important;line-height:1!important;color:#fff!important}
.gbl-hw-v21-attendance-action{align-self:stretch!important;min-width:210px!important;margin:0!important;padding:9px 15px!important;border-radius:9px!important}
.gbl-hw-v21-attendance-track-shell,.gbl-hw-v21-mission-shell,.gbl-hw-v21-bazaar-shell{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;align-items:center;z-index:1}
.gbl-hw-v21-scroll-btn{width:32px;height:68px;border-radius:9px;border:1px solid rgba(255,93,18,.40);background:rgba(21,6,6,.86);color:#ffb05b;font:900 25px/1 Arial;cursor:pointer;box-shadow:0 0 10px rgba(255,64,0,.09);transition:.16s}.gbl-hw-v21-scroll-btn:hover{background:#7b2307;color:#fff;border-color:#ff7e26}
.gbl-hw-v21-attendance-track{display:flex!important;gap:8px!important;overflow-x:auto!important;scrollbar-width:none!important;scroll-behavior:smooth!important;padding:2px!important}.gbl-hw-v21-attendance-track::-webkit-scrollbar{display:none}
.gbl-hw-v21-attendance-card{flex:0 0 214px!important;min-height:106px!important;padding:9px!important;margin:0!important;border:1px solid rgba(255,80,14,.47)!important;border-radius:9px!important;background:linear-gradient(180deg,rgba(35,8,7,.93),rgba(12,4,5,.97))!important;display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;box-shadow:inset 0 0 15px rgba(255,63,0,.025)!important}.gbl-hw-v21-attendance-card img{max-width:54px!important;max-height:54px!important;object-fit:contain!important}.gbl-hw-v21-attendance-card button{grid-column:1/-1!important;min-height:29px!important;padding:5px 8px!important;margin:2px 0 0!important;font-size:10px!important}.gbl-hw-v21-attendance-card [class*="progress"]{min-width:0!important}

/* MISSIONS — real compact card strip */
.gbl-hw-v21-mission-filters{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.gbl-hw-v21-filter{padding:7px 12px;border-radius:7px;border:1px solid rgba(255,91,22,.34);background:#130608;color:#cda89a;font:800 10px Arial;cursor:pointer}.gbl-hw-v21-filter.active,.gbl-hw-v21-filter:hover{background:linear-gradient(180deg,#ff811f,#aa3307);color:#fff;border-color:#ff9b4b;box-shadow:0 0 11px rgba(255,74,0,.24)}
.gbl-hw-v21-mission-grid{display:flex!important;gap:9px!important;overflow-x:auto!important;scrollbar-width:none!important;scroll-behavior:smooth!important;padding:2px!important;align-items:stretch!important}.gbl-hw-v21-mission-grid::-webkit-scrollbar{display:none}.gbl-hw-v21-mission-grid[data-count="1"] .gbl-hw-v21-mission-card{flex-basis:460px!important}.gbl-hw-v21-mission-grid[data-count="2"] .gbl-hw-v21-mission-card{flex-basis:calc(50% - 5px)!important;max-width:none!important}
.gbl-hw-v21-mission-card{flex:0 0 232px!important;max-width:232px!important;min-height:0!important;height:auto!important;padding:10px!important;margin:0!important;border:1px solid rgba(255,74,17,.55)!important;border-radius:9px!important;background:linear-gradient(180deg,rgba(34,7,8,.96),rgba(13,4,6,.98))!important;box-shadow:0 0 14px rgba(255,39,0,.05),inset 0 0 16px rgba(173,34,255,.025)!important;display:flex!important;flex-direction:column!important;gap:6px!important;transition:.16s}.gbl-hw-v21-mission-card:hover{transform:translateY(-2px);border-color:#ff7a27!important;box-shadow:0 7px 20px rgba(255,53,0,.13),0 0 13px rgba(172,42,255,.08)!important}.gbl-hw-v21-mission-card h3,.gbl-hw-v21-mission-card h4,.gbl-hw-v21-mission-card strong{line-height:1.15!important}.gbl-hw-v21-mission-card button{min-height:31px!important;padding:6px 8px!important;margin-top:auto!important;font-size:10px!important}.gbl-hw-v21-mission-card [class*="progress"]{margin:2px 0!important}
.gbl-hw-v21-reward-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:2px 0!important}.gbl-hw-v21-reward-list[data-count="1"]{grid-template-columns:1fr!important}.gbl-hw-v21-reward{min-height:52px!important;padding:6px 7px!important;margin:0!important;border:1px solid rgba(255,87,20,.38)!important;border-radius:8px!important;background:rgba(8,3,5,.82)!important;display:flex!important;align-items:center!important;gap:7px!important;text-align:left!important;overflow:hidden!important}.gbl-hw-v21-reward img{width:auto!important;max-width:58px!important;height:auto!important;max-height:42px!important;object-fit:contain!important}.gbl-hw-v21-reward iframe{width:58px!important;height:44px!important;min-height:0!important;flex:0 0 58px!important}.gbl-hw-v21-reward-icon{width:37px;height:37px;flex:0 0 37px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid rgba(255,113,30,.65);background:radial-gradient(circle at 45% 35%,rgba(255,129,30,.28),rgba(62,12,5,.82));box-shadow:0 0 9px rgba(255,72,0,.14);font-size:21px}.gbl-hw-v21-reward-copy{min-width:0;display:flex!important;flex-direction:column!important;gap:1px!important}.gbl-hw-v21-reward-copy>*{margin:0!important}.gbl-hw-v21-hide{display:none!important}

/* BAZAAR — dense six-card shelf */
.gbl-hw-v21-bazaar-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;padding:2px!important;min-width:0!important}.gbl-hw-v21-bazaar-card{min-height:0!important;height:auto!important;padding:7px!important;margin:0!important;border:1px solid rgba(255,83,17,.56)!important;border-radius:9px!important;background:linear-gradient(180deg,rgba(29,7,8,.97),rgba(10,3,5,.98))!important;box-shadow:0 0 12px rgba(255,57,0,.05)!important;transition:.16s}.gbl-hw-v21-bazaar-card:hover{transform:translateY(-2px);border-color:#ff8b2f!important;box-shadow:0 7px 18px rgba(255,63,0,.14)!important}.gbl-hw-v21-bazaar-preview{height:86px!important;min-height:86px!important;margin:0 0 4px!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}.gbl-hw-v21-bazaar-preview iframe{height:110px!important;min-height:0!important;width:150%!important}.gbl-hw-v21-bazaar-preview img{max-height:86px!important;max-width:100%!important;object-fit:contain!important}.gbl-hw-v21-bazaar-card button{min-height:31px!important;padding:6px 6px!important;font-size:10px!important;background:linear-gradient(180deg,#ff8d1c,#b63b06)!important;border-color:#ffad55!important;color:#fff!important}.gbl-hw-v21-bazaar-card [class*="name"]{font-size:12px!important;margin:5px 0 2px!important}.gbl-hw-v21-bazaar-card [class*="stock"]{font-size:9px!important;margin-bottom:5px!important}

/* Disable old pseudo number badge: V2.1 has a real header number */
.gbl-hw-v110-section::before{display:none!important}.gbl-hw-v110-section{margin:0!important;width:100%!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.gbl-hw-v2-mission-filters{display:none!important}

@media(max-width:1180px){body::before,body::after{width:95px;background-size:95px auto;opacity:.44}.gbl-hw-v21-bazaar-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gbl-hw-v21-hero .gbl-hw-v19-shell{width:min(900px,88vw)!important}.gbl-hw-v21-board{width:min(1000px,calc(100% - 42px))}}
@media(max-width:820px){body::before,body::after{display:none}.gbl-hw-v21-hero{height:290px;background-size:auto 230px}.gbl-hw-v21-brand{width:62vw}.gbl-hw-v21-brand img{width:118px;height:70px}.gbl-hw-v21-brand-title{font-size:42px}.gbl-hw-v21-nav{top:155px}.gbl-hw-v21-hero .gbl-hw-v19-shell{bottom:-74px!important;grid-template-columns:1fr!important;gap:8px!important}.gbl-hw-v21-board{margin-top:96px;width:min(96%,720px)}.gbl-hw-v21-section-head{grid-template-columns:52px 1fr}.gbl-hw-v21-section-tools{grid-column:1/-1;justify-content:flex-start;margin-left:66px}.gbl-hw-v21-number{width:46px;height:46px;font-size:20px}.gbl-hw-v21-attendance-summary{grid-template-columns:repeat(3,1fr)}.gbl-hw-v21-attendance-action{grid-column:1/-1;min-height:38px}.gbl-hw-v21-mission-grid[data-count="2"] .gbl-hw-v21-mission-card{flex-basis:310px!important;max-width:310px!important}.gbl-hw-v21-bazaar-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.gbl-hw-v21-hero{height:250px;background-size:auto 200px}.gbl-hw-v21-brand{top:3px;width:72vw}.gbl-hw-v21-brand img{width:84px;height:52px}.gbl-hw-v21-brand-title{font-size:31px;-webkit-text-stroke:1px #3d1006}.gbl-hw-v21-nav{top:124px}.gbl-hw-v21-nav a{padding:6px 9px;font-size:0}.gbl-hw-v21-nav a span:first-child{font-size:14px}.gbl-hw-v19-home{top:8px!important;left:8px!important;padding:8px 10px!important;font-size:10px!important}.gbl-hw-v21-hero .gbl-hw-v19-shell{bottom:-88px!important;width:94vw!important}.gbl-hw-v21-board{margin-top:110px;width:96%}.gbl-hw-v21-section{padding:11px 9px 12px!important}.gbl-hw-v21-section-head{grid-template-columns:44px 1fr;gap:9px}.gbl-hw-v21-head-copy h1,.gbl-hw-v21-head-copy h2,.gbl-hw-v21-head-copy h3{font-size:28px!important}.gbl-hw-v21-section-tools{margin-left:53px}.gbl-hw-v21-attendance-summary{grid-template-columns:1fr 1fr}.gbl-hw-v21-attendance-metric:nth-child(3){grid-column:1/-1}.gbl-hw-v21-attendance-track-shell,.gbl-hw-v21-mission-shell{grid-template-columns:1fr}.gbl-hw-v21-scroll-btn{display:none}.gbl-hw-v21-mission-grid[data-count="2"] .gbl-hw-v21-mission-card,.gbl-hw-v21-mission-card{flex:0 0 86vw!important;max-width:86vw!important}.gbl-hw-v21-reward-list{grid-template-columns:1fr!important}.gbl-hw-v21-bazaar-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gbl-hw-v21-bazaar-preview{height:72px!important;min-height:72px!important}}


/* ==============================================================
   V2.2 POLISH — correcciones visuales sobre el layout real
   - Hero a escala natural (sin zoom)
   - Un solo logo: el que viene integrado en hero.png
   - Niebla desactivada
   - Paneles translúcidos
   - Fuente Halloween restaurada
   - Saldo/guía debajo del hero para no tapar el logo
   ============================================================== */
@import url('https://fonts.googleapis.com/css2?family=Creepster&display=swap');

/* Desactivar capas antiguas de niebla/mist del evento */
body .fog,
body .fog-layer,
body .fog-container,
body .fog-overlay,
body #fog,
body [id^="fog"],
body [id*="-fog"],
body [class^="fog-"],
body [class*=" fog-"],
body [class*="-fog"],
body .mist,
body .mist-layer,
body [class^="mist-"],
body [class*=" mist-"],
body [class*="-mist"]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  animation:none!important;
  filter:none!important;
}

/* Fondo lateral más discreto; deja que la interfaz respire */
body::before,body::after{
  top:205px!important;
  width:118px!important;
  background-size:118px auto!important;
  opacity:.34!important;
  filter:saturate(1.04) contrast(1.03)!important;
}

/* HERO: usa la ilustración aprobada a una escala cercana a su tamaño natural.
   El propio hero.png ya contiene el logo correcto; no se superpone otro. */
.gbl-hw-v21-hero{
  height:clamp(178px,13.75vw,220px)!important;
  min-height:178px!important;
  max-height:220px!important;
  overflow:hidden!important;
  background-color:#090306!important;
  background-image:
    linear-gradient(90deg,#090306 0%,rgba(9,3,6,0) 9%,rgba(9,3,6,0) 91%,#090306 100%),
    none!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  background-size:min(1600px,100vw) auto!important;
  border-bottom:1px solid rgba(255,96,18,.44)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.72)!important;
}
.gbl-hw-v21-hero::after{
  height:42px!important;
  background:linear-gradient(180deg,transparent,rgba(6,2,4,.96))!important;
}

/* V2.1 creaba un segundo logo/título. V2.2 lo elimina por completo. */
.gbl-hw-v21-brand,
.gbl-hw-v21-nav{
  display:none!important;
}

/* Botón real de Home sobre el botón dibujado del mockup */
.gbl-hw-v19-home{
  top:14px!important;
  left:18px!important;
  padding:10px 16px!important;
  min-height:40px!important;
  border-radius:9px!important;
  font-size:13px!important;
  background:linear-gradient(180deg,rgba(38,10,5,.985),rgba(13,4,4,.99))!important;
  border:1px solid #ff781d!important;
  box-shadow:0 0 18px rgba(255,78,0,.30)!important;
}

/* Saldo + instrucciones pasan a una banda REAL debajo del hero. */
.gbl-hw-v22-topbar{
  width:min(1040px,calc(100% - 42px));
  margin:-8px auto 16px;
  position:relative;
  z-index:8;
}
.gbl-hw-v22-topbar .gbl-hw-v19-shell{
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:290px minmax(0,1fr)!important;
  gap:12px!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance,
.gbl-hw-v22-topbar .gbl-hw-v19-guide{
  min-height:92px!important;
  margin:0!important;
  border-radius:13px!important;
  backdrop-filter:blur(8px) saturate(1.1)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.1)!important;
  background:linear-gradient(180deg,rgba(44,9,7,.82),rgba(17,4,7,.78))!important;
  border:1px solid rgba(255,104,21,.70)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28),inset 0 0 24px rgba(255,72,0,.035)!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide{
  background:linear-gradient(180deg,rgba(31,7,20,.80),rgba(12,4,12,.80))!important;
  border-color:rgba(183,45,255,.45)!important;
  position:relative!important;
  padding-right:176px!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide.gbl-hw-v2-collapsed .gbl-hw-v19-guide__grid,
.gbl-hw-v22-topbar .gbl-hw-v19-guide.gbl-hw-v2-collapsed .gbl-hw-v19-guide__note{display:none!important}
.gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:148px!important;
  padding:9px 13px!important;
  margin:0!important;
  border-radius:8px!important;
  border:1px solid rgba(255,129,48,.85)!important;
  background:linear-gradient(180deg,#6f2408,#341006)!important;
  color:#ffe4c9!important;
  font:800 12px/1.1 Arial,sans-serif!important;
  box-shadow:0 0 14px rgba(255,76,0,.18)!important;
  cursor:pointer!important;
}
.gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle:hover{
  background:linear-gradient(180deg,#a63a0a,#4b1406)!important;
  color:#fff!important;
}

/* El tablero empieza inmediatamente después de la banda superior. */
.gbl-hw-v21-board{
  width:min(1240px,calc(100% - 52px))!important;
  margin:12px auto 42px!important;
  gap:14px!important;
}

/* Paneles translúcidos, no bloques opacos. */
.gbl-hw-v21-section{
  background:linear-gradient(180deg,rgba(18,5,8,.84),rgba(8,2,5,.78))!important;
  border:1px solid rgba(255,93,18,.48)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.38),inset 0 0 34px rgba(255,66,0,.028)!important;
  backdrop-filter:blur(5px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(5px) saturate(1.06)!important;
}
.gbl-hw-v21-section::before{
  background:linear-gradient(90deg,rgba(255,83,0,.035),transparent 20%,transparent 78%,rgba(156,37,255,.035))!important;
}

/* Restaurar lenguaje visual de Halloween */
.gbl-hw-v21-head-copy h1,
.gbl-hw-v21-head-copy h2,
.gbl-hw-v21-head-copy h3,
.gbl-hw-v19-guide__title,
.gbl-hw-v19-guide h2,
.gbl-hw-v19-guide h3{
  font-family:'Creepster',Impact,'Arial Black',cursive!important;
  font-weight:400!important;
  letter-spacing:.025em!important;
  color:#ff5b20!important;
  text-shadow:0 2px 0 #5d1705,0 0 11px rgba(255,76,0,.42)!important;
}
.gbl-hw-v21-head-copy h1,
.gbl-hw-v21-head-copy h2,
.gbl-hw-v21-head-copy h3{
  font-size:clamp(29px,3.2vw,44px)!important;
  line-height:.95!important;
  text-transform:none!important;
}

/* Métricas con valor visible y panel más ligero */
.gbl-hw-v21-attendance-summary{
  grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
  gap:9px!important;
}
.gbl-hw-v21-attendance-metric{
  min-height:68px!important;
  background:rgba(41,8,7,.48)!important;
  backdrop-filter:blur(4px)!important;
}
.gbl-hw-v21-attendance-metric .gbl-hw-v22-metric-value{
  display:block!important;
  order:-1!important;
  margin-bottom:5px!important;
  color:#fff!important;
  font:900 25px/1 Arial,sans-serif!important;
  text-shadow:0 0 10px rgba(255,96,20,.28)!important;
}

/* Tarjetas: más vidrio/menos caja sólida */
.gbl-hw-v21-attendance-card,
.gbl-hw-v21-mission-card,
.gbl-hw-v21-bazaar-card,
.gbl-hw-v21-reward{
  background:linear-gradient(180deg,rgba(35,7,8,.74),rgba(10,3,5,.70))!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}

/* Botones/filtros mantienen el brillo naranja del mockup */
.gbl-hw-v21-filter.active,
.gbl-hw-v21-filter:hover,
.gbl-hw-v21-bazaar-card button:not([disabled]),
.gbl-hw-v21-attendance-action:not([disabled]){
  background:linear-gradient(180deg,#ff841e,#b63a08)!important;
  border-color:#ff9d4c!important;
  color:#fff!important;
  box-shadow:0 0 14px rgba(255,78,0,.22)!important;
}

@media(max-width:900px){
  body::before,body::after{opacity:.20!important;width:76px!important;background-size:76px auto!important}
  .gbl-hw-v21-hero{height:178px!important;background-size:auto 178px!important}
  .gbl-hw-v22-topbar{width:min(94%,760px);margin:-4px auto 14px}
  .gbl-hw-v22-topbar .gbl-hw-v19-shell{grid-template-columns:1fr!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-guide{padding-right:12px!important}
  .gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{position:static!important;transform:none!important;width:100%!important;margin-top:10px!important}
  .gbl-hw-v21-board{width:94%!important}
  .gbl-hw-v21-attendance-summary{grid-template-columns:1fr 1fr!important}
  .gbl-hw-v21-attendance-action{min-width:0!important}
}
@media(max-width:560px){
  .gbl-hw-v19-home{position:absolute!important;top:10px!important;left:10px!important;padding:8px 11px!important;font-size:11px!important}
  .gbl-hw-v21-hero{height:150px!important;min-height:150px!important;background-size:auto 150px!important}
  .gbl-hw-v22-topbar{width:94%;margin:8px auto 12px}
  .gbl-hw-v21-board{width:95%!important;margin-top:8px!important}
  .gbl-hw-v21-section{padding:11px!important}
  .gbl-hw-v21-section-head{grid-template-columns:48px 1fr!important;gap:10px!important}
  .gbl-hw-v21-number{width:44px!important;height:44px!important;font-size:19px!important}
  .gbl-hw-v21-section-tools{grid-column:1/-1!important;justify-content:flex-start!important}
  .gbl-hw-v21-attendance-summary{grid-template-columns:1fr!important}
}


/* ===== CONSOLIDADO DESDE halloween-v2-3.css ===== */
/* GunBound Legacy — Halloween 2026 — Theme V2.3 BACKGROUND FOUNDATION
   Paso 1: fondo único + logo/cabecera. NO reorganiza Ritual, Desafíos ni Bazar. */
:root{
  --hw23-panel: rgba(15,4,8,.73);
  --hw23-panel-strong: rgba(18,5,7,.80);
  --hw23-border: rgba(255,100,24,.46);
}

html{
  background:#080309!important;
  min-height:100%;
}
body{
  min-height:100vh!important;
  background:
    linear-gradient(180deg,rgba(3,1,5,.05) 0%,rgba(3,1,5,.13) 45%,rgba(3,1,5,.22) 100%),
    url('./background-halloween.png') center top / cover fixed no-repeat!important;
  color:#fff!important;
}

/* V2.2 usaba estas pseudo-capas como laterales. V2.3 las convierte en una sola
   capa de lectura sobre el fondo completo. */
body::before{
  content:""!important;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(0,0,0,0) 0 26%,rgba(4,1,7,.10) 54%,rgba(4,1,7,.26) 100%),
    linear-gradient(180deg,rgba(4,1,7,.02),rgba(4,1,7,.14) 46%,rgba(4,1,7,.24))!important;
  background-image:none!important;
  opacity:1!important;
  filter:none!important;
}
body::after{display:none!important;content:none!important}
body>*{position:relative;z-index:2}

/* Sin niebla artificial: la atmósfera ya viene pintada en la imagen única. */
.fog,.fog-layer,.fog-container,.fog-overlay,#fog,.mist,.mist-layer,
[id^="fog"],[id*="-fog"],[class^="fog-"],[class*=" fog-"],[class*="-fog"],
[class^="mist-"],[class*=" mist-"],[class*="-mist"]{
  display:none!important;opacity:0!important;visibility:hidden!important;
}

/* El antiguo hero deja de ser otro banner. Ahora es solamente el espacio de cabecera
   transparente que sostiene el logo real sobre el fondo único. */
.gbl-hw-v21-hero{
  height:252px!important;
  min-height:252px!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  position:relative!important;
}
.gbl-hw-v21-hero::before,.gbl-hw-v21-hero::after{display:none!important;content:none!important}

.gbl-hw-v23-logo{
  position:absolute;
  z-index:8;
  left:50%;
  top:4px;
  width:min(430px,48vw);
  height:auto;
  transform:translateX(-50%);
  display:block;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.72)) drop-shadow(0 0 12px rgba(255,77,0,.26));
  /* La referencia original tiene escenario alrededor. Este mask suaviza los bordes
     y evita que se vea como un rectángulo pegado encima del fondo. */
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 48%,#000 0 66%,rgba(0,0,0,.96) 76%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 70% at 50% 48%,#000 0 66%,rgba(0,0,0,.96) 76%,transparent 100%);
}

/* El botón Home pertenece a la cabecera, no debe seguir flotando por toda la página. */
.gbl-hw-v19-home{
  position:absolute!important;
  top:18px!important;
  left:20px!important;
  z-index:20!important;
}

/* Balance + instrucciones: transparentes y debajo del logo, sin fondo de banner extra. */
.gbl-hw-v22-topbar{
  width:min(1060px,calc(100% - 44px))!important;
  margin:-46px auto 16px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:10!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-shell,
#gbl-hw-v19-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:none!important;
}
.gbl-hw-v19-balance,.gbl-hw-v19-guide{
  background:linear-gradient(180deg,rgba(31,7,7,.76),rgba(11,3,7,.72))!important;
  border-color:rgba(255,105,20,.54)!important;
  -webkit-backdrop-filter:blur(5px) saturate(1.05)!important;
  backdrop-filter:blur(5px) saturate(1.05)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.26),inset 0 0 22px rgba(255,84,0,.035)!important;
}
.gbl-hw-v19-guide{border-color:rgba(194,51,255,.36)!important}

/* Mantener exactamente la estructura V2.2 actual de las actividades; solo damos
   transparencia para que la nueva ambientación se perciba detrás. */
.gbl-hw-v21-board{
  margin-top:18px!important;
  position:relative!important;
  z-index:4!important;
}
.gbl-hw-v21-section{
  background:linear-gradient(180deg,rgba(17,4,7,.78),rgba(8,2,5,.72))!important;
  border-color:var(--hw23-border)!important;
  -webkit-backdrop-filter:blur(5px) saturate(1.04)!important;
  backdrop-filter:blur(5px) saturate(1.04)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.30),inset 0 0 36px rgba(255,66,0,.025)!important;
}
.gbl-hw-v21-section::before{opacity:.45!important}

/* Que elementos legacy no vuelvan a pintar backgrounds de página encima. */
body>.bg,body>.background,body>.page-bg,.halloween-bg,.event-bg,
[class*="halloween-background"],[class*="event-background"]{
  background-image:none!important;
}

@media(max-width:900px){
  body{background-position:center top!important;background-attachment:fixed!important}
  .gbl-hw-v21-hero{height:220px!important;min-height:220px!important}
  .gbl-hw-v23-logo{width:min(390px,68vw);top:12px}
  .gbl-hw-v22-topbar{margin:-34px auto 14px!important;width:min(94%,1060px)!important}
}
@media(max-width:620px){
  body{background-size:auto 100vh!important;background-position:center top!important}
  .gbl-hw-v21-hero{height:190px!important;min-height:190px!important}
  .gbl-hw-v23-logo{width:min(330px,82vw);top:22px}
  .gbl-hw-v19-home{top:10px!important;left:10px!important;padding:9px 12px!important;font-size:12px!important}
  .gbl-hw-v22-topbar{margin:-18px auto 12px!important;width:94%!important}
}


/* ===== CONSOLIDADO DESDE halloween-v2-4.css ===== */
/* GunBound Legacy — Halloween 2026 — Theme V2.4 TOPBAR APPROVED
   Solo ajusta: Tus Almas + Cómo conseguir Almas. No toca actividades. */
:root{
  --hw24-orange:#ff7a12;
  --hw24-orange2:#ffb13b;
  --hw24-border:rgba(255,113,16,.72);
  --hw24-purple:rgba(187,49,255,.46);
  --hw24-panel:rgba(18,5,6,.82);
  --hw24-panel2:rgba(14,4,12,.82);
}

/* Banda superior: baja, alineada y centrada como en el mockup aprobado. */
.gbl-hw-v22-topbar{
  width:min(1060px,calc(100% - 42px))!important;
  margin:-46px auto 18px!important;
  padding:0!important;
  position:relative!important;
  z-index:12!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-shell,
#gbl-hw-v19-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:330px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  background:transparent!important;
}

/* ===== SALDO ===== */
.gbl-hw-v22-topbar .gbl-hw-v19-balance{
  min-height:84px!important;
  height:84px!important;
  margin:0!important;
  padding:9px 15px 9px 10px!important;
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr)!important;
  align-items:center!important;
  gap:13px!important;
  overflow:hidden!important;
  border:1px solid var(--hw24-border)!important;
  border-radius:8px!important;
  background:
    linear-gradient(100deg,rgba(70,16,6,.88),rgba(23,5,5,.84) 54%,rgba(13,3,6,.82))!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.12)!important;
  backdrop-filter:blur(7px) saturate(1.12)!important;
  box-shadow:
    0 8px 24px rgba(0,0,0,.34),
    0 0 14px rgba(255,82,0,.13),
    inset 0 0 22px rgba(255,93,0,.035)!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance__icon{
  width:62px!important;
  height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border:1px solid rgba(255,151,49,.82)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,rgba(112,31,5,.88),rgba(42,9,3,.88))!important;
  box-shadow:inset 0 0 18px rgba(255,116,0,.15),0 0 10px rgba(255,74,0,.18)!important;
  font-size:34px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 7px rgba(255,93,0,.80))!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance__label{
  margin:0 0 1px!important;
  color:#fff0dd!important;
  font:900 12px/1.1 Arial,sans-serif!important;
  letter-spacing:.65px!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance__value{
  color:#ffb126!important;
  font:900 32px/.98 Arial,sans-serif!important;
  letter-spacing:-.5px!important;
  text-shadow:0 0 12px rgba(255,112,0,.52)!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance__unit{
  color:#ffbd43!important;
  font:900 11px/1 Arial,sans-serif!important;
  margin-left:5px!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-balance__status{
  display:none!important;
}

/* ===== GUÍA ===== */
.gbl-hw-v22-topbar .gbl-hw-v19-guide{
  min-height:84px!important;
  margin:0!important;
  padding:9px 12px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  column-gap:13px!important;
  row-gap:10px!important;
  overflow:visible!important;
  border:1px solid rgba(182,56,255,.48)!important;
  border-radius:8px!important;
  background:
    linear-gradient(100deg,rgba(29,7,17,.86),rgba(14,4,12,.83) 65%,rgba(25,5,18,.84))!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.10)!important;
  backdrop-filter:blur(7px) saturate(1.10)!important;
  box-shadow:
    0 8px 24px rgba(0,0,0,.34),
    0 0 12px rgba(196,43,255,.08),
    inset 0 0 24px rgba(179,44,255,.025)!important;
}
.gbl-hw-v24-guide-icon{
  width:56px!important;
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,137,38,.36)!important;
  border-radius:9px!important;
  background:linear-gradient(145deg,rgba(89,27,6,.44),rgba(28,8,12,.55))!important;
  box-shadow:inset 0 0 14px rgba(255,99,0,.06)!important;
  font-size:29px!important;
  line-height:1!important;
  filter:drop-shadow(0 0 4px rgba(255,118,0,.24))!important;
}
.gbl-hw-v24-guide-copy{
  min-width:0!important;
  align-self:center!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide__title{
  margin:0 0 3px!important;
  padding:0!important;
  text-align:left!important;
  color:#fff1dd!important;
  font:900 15px/1.12 Arial,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.15px!important;
  text-shadow:none!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide__intro{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  color:#e1cfc5!important;
  font:600 11px/1.36 Arial,sans-serif!important;
}
.gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{
  position:static!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  min-width:154px!important;
  height:38px!important;
  margin:0!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,152,33,.86)!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(89,29,5,.95),rgba(43,12,3,.96))!important;
  color:#ffe7b5!important;
  font:900 11px/1 Arial,sans-serif!important;
  white-space:nowrap!important;
  box-shadow:0 0 11px rgba(255,89,0,.12),inset 0 0 9px rgba(255,138,0,.035)!important;
  cursor:pointer!important;
  transition:transform .15s ease,filter .15s ease,background .15s ease!important;
}
.gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.12)!important;
  background:linear-gradient(180deg,rgba(126,42,6,.98),rgba(58,16,3,.98))!important;
}

/* Cuando se abren las instrucciones, conservamos la franja y desplegamos el contenido debajo. */
.gbl-hw-v22-topbar .gbl-hw-v19-guide__grid,
.gbl-hw-v22-topbar .gbl-hw-v19-guide__note{
  grid-column:1/-1!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide:not(.gbl-hw-v2-collapsed){
  min-height:84px!important;
  height:auto!important;
  align-items:start!important;
}
.gbl-hw-v22-topbar .gbl-hw-v19-guide:not(.gbl-hw-v2-collapsed) .gbl-hw-v24-guide-icon,
.gbl-hw-v22-topbar .gbl-hw-v19-guide:not(.gbl-hw-v2-collapsed) .gbl-hw-v24-guide-copy,
.gbl-hw-v22-topbar .gbl-hw-v19-guide:not(.gbl-hw-v2-collapsed) .gbl-hw-v2-guide-toggle{
  align-self:center!important;
}

/* No alteramos Ritual/Desafíos/Bazar en esta versión. */

@media(max-width:900px){
  .gbl-hw-v22-topbar{width:min(94%,1060px)!important;margin:-34px auto 14px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-shell,#gbl-hw-v19-shell{grid-template-columns:280px minmax(0,1fr)!important;gap:8px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-balance{grid-template-columns:54px minmax(0,1fr)!important;height:78px!important;min-height:78px!important;padding:8px 11px 8px 8px!important;gap:10px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-balance__icon{width:50px!important;height:50px!important;font-size:29px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-balance__value{font-size:28px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-guide{min-height:78px!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:9px!important;padding:8px 9px!important}
  .gbl-hw-v24-guide-icon{width:46px!important;height:46px!important;font-size:24px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-guide__title{font-size:13px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-guide__intro{font-size:10px!important}
  .gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{min-width:132px!important;height:34px!important;font-size:10px!important;padding:0 10px!important}
}
@media(max-width:690px){
  .gbl-hw-v22-topbar{margin:-14px auto 12px!important;width:94%!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-shell,#gbl-hw-v19-shell{grid-template-columns:1fr!important;gap:7px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-balance{height:72px!important;min-height:72px!important}
  .gbl-hw-v22-topbar .gbl-hw-v19-guide{min-height:78px!important;grid-template-columns:45px minmax(0,1fr)!important}
  .gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{grid-column:1/-1!important;width:100%!important;height:34px!important}
}


/* ===== CONSOLIDADO DESDE halloween-v2-4-1.css ===== */
/* GunBound Legacy — Halloween 2026 — V2.4.1 TOPBAR COMPACT
   Ajuste exclusivo de ancho/centrado de la franja Almas + Cómo conseguir Almas. */

@media (min-width: 901px){
  .gbl-hw-v22-topbar{
    width:min(920px,calc(100% - 56px))!important;
    max-width:920px!important;
    margin:-46px auto 18px!important;
  }

  .gbl-hw-v22-topbar .gbl-hw-v19-shell,
  #gbl-hw-v19-shell{
    grid-template-columns:292px minmax(0,1fr)!important;
    gap:10px!important;
  }

  .gbl-hw-v22-topbar .gbl-hw-v19-balance{
    padding-right:13px!important;
  }

  .gbl-hw-v22-topbar .gbl-hw-v19-guide{
    grid-template-columns:54px minmax(0,1fr) auto!important;
    column-gap:11px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .gbl-hw-v22-topbar .gbl-hw-v2-guide-toggle{
    min-width:146px!important;
    padding:0 12px!important;
  }
}

/* Mantiene proporción cómoda en portátiles sin volver a estirarse demasiado. */
@media (min-width: 691px) and (max-width: 900px){
  .gbl-hw-v22-topbar{
    width:min(88%,860px)!important;
    margin:-34px auto 14px!important;
  }
  .gbl-hw-v22-topbar .gbl-hw-v19-shell,
  #gbl-hw-v19-shell{
    grid-template-columns:265px minmax(0,1fr)!important;
  }
}


/* ===== CONSOLIDADO DESDE halloween-v2-5-1.css ===== */
/* GunBound Legacy Halloween 2026 - V2.5.1 Ritual Direct DOM
   Solo modifica visualmente #ritual. No toca endpoints ni lógica de reclamo. */

#ritual{
  min-height:0!important;
  padding-bottom:28px!important;
}

/* Ocultamos los bloques grandes originales; sus valores siguen vivos en el DOM. */
#ritual > .att-status,
#ritual > .att-actions{
  display:none!important;
}

#gbl-r251-compact{
  max-width:1120px;
  margin:8px auto 0;
  position:relative;
}

.gbl-r251-summary{
  display:grid;
  grid-template-columns:minmax(190px,240px) minmax(210px,270px) 1fr;
  gap:12px;
  align-items:stretch;
  margin:0 0 16px;
}

.gbl-r251-summary-card{
  min-height:64px;
  border:1px solid rgba(255,99,20,.38);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(20,6,5,.73),rgba(9,3,4,.60));
  box-shadow:inset 0 0 18px rgba(255,70,0,.035);
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  backdrop-filter:blur(5px);
}

.gbl-r251-summary-icon{
  width:42px;height:42px;flex:0 0 42px;
  display:grid;place-items:center;
  border:1px solid rgba(255,105,20,.55);
  border-radius:9px;
  background:rgba(77,20,4,.36);
  font-size:22px;
  filter:drop-shadow(0 0 7px rgba(255,88,0,.35));
}

.gbl-r251-summary-copy{min-width:0}
.gbl-r251-summary-copy small{
  display:block;color:#c7a393;font-size:10px;font-weight:800;
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:1px;
}
.gbl-r251-summary-copy strong{
  display:block;color:#fff;font-size:22px;line-height:1.05;font-weight:900;
}
.gbl-r251-summary-copy strong em{
  color:#ff7a1a;font-style:normal;font-size:13px;margin-left:4px;
}
.gbl-r251-summary-copy .gbl-r251-next-label{
  color:#ffbf86;font-size:14px;font-weight:900;line-height:1.15;
}

.gbl-r251-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}

#gbl-r251-mark-slot{display:flex;align-items:center;min-width:0}
#gbl-r251-mark-slot .action-main{
  min-height:42px!important;
  padding:9px 13px!important;
  border-radius:8px!important;
  font-size:11px!important;
  white-space:nowrap;
  box-shadow:0 0 13px rgba(255,99,0,.10);
}

.gbl-r251-all-btn{
  min-height:42px;
  padding:9px 16px;
  border-radius:8px;
  border:1px solid rgba(255,140,25,.68);
  background:linear-gradient(180deg,rgba(78,28,5,.74),rgba(31,10,3,.82));
  color:#ffd6aa;
  font-weight:900;
  font-size:11px;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 0 14px rgba(255,91,0,.12),inset 0 0 12px rgba(255,101,0,.035);
  transition:.18s ease;
}
.gbl-r251-all-btn:hover{transform:translateY(-1px);border-color:#ff8218;color:#fff;background:rgba(101,34,5,.88)}

.gbl-r251-mini-status{
  display:flex;
  justify-content:center;
  gap:20px;
  margin:-4px 0 11px;
  color:#9f8176;
  font-size:10px;
}
.gbl-r251-mini-status b{color:#e6c5b8}

.gbl-r251-track-shell{
  position:relative;
  padding:10px 34px 4px;
  overflow:hidden;
}

.gbl-r251-milestones{
  --gbl-progress:0%;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(105px,1fr);
  gap:10px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#a43d10 rgba(40,10,3,.4);
  padding:3px 3px 8px;
  position:relative;
}
.gbl-r251-milestones::before{
  content:"";
  position:absolute;
  left:48px;right:48px;top:39px;height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff6417 var(--gbl-progress),rgba(91,35,20,.72) var(--gbl-progress));
  box-shadow:0 0 8px rgba(255,83,0,.15);
  z-index:0;
}

.gbl-r251-milestone{
  min-width:105px;
  text-align:center;
  position:relative;
  z-index:1;
  padding:0 4px;
}

.gbl-r251-node{
  width:66px;height:66px;margin:0 auto 7px;
  border-radius:50%;
  border:2px solid #7f2c10;
  background:radial-gradient(circle at 50% 35%,rgba(69,22,9,.96),rgba(16,5,4,.98) 70%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 0 0 4px rgba(32,8,3,.88),0 0 13px rgba(255,71,0,.12);
}
.gbl-r251-milestone.is-reached .gbl-r251-node,
.gbl-r251-milestone.is-available .gbl-r251-node,
.gbl-r251-milestone.is-claimed .gbl-r251-node{
  border-color:#ff6516;
  box-shadow:0 0 0 4px rgba(38,9,3,.9),0 0 18px rgba(255,86,0,.33);
}
.gbl-r251-node-icon{font-size:22px;line-height:1}
.gbl-r251-node-day{font-size:10px;color:#f6c6a5;font-weight:900;margin-top:2px}
.gbl-r251-milestone.is-claimed .gbl-r251-node::after,
.gbl-r251-milestone.is-available .gbl-r251-node::after{
  content:"✓";position:absolute;top:-5px;right:20px;
  width:20px;height:20px;display:grid;place-items:center;border-radius:50%;
  background:#1c1107;border:1px solid #ff7619;color:#ff991f;font-size:13px;font-weight:900;
}

.gbl-r251-reward-name{
  color:#fff;font-size:10px;font-weight:900;line-height:1.15;
  min-height:23px;display:flex;align-items:flex-start;justify-content:center;
}
.gbl-r251-reward-day{color:#ffb060;font-size:9px;font-weight:800;margin-top:2px}
.gbl-r251-reward-state{font-size:8px;margin-top:3px;color:#8d746b;text-transform:uppercase;font-weight:800;letter-spacing:.04em}
.gbl-r251-milestone.is-available .gbl-r251-reward-state{color:#83ffad}
.gbl-r251-milestone.is-claimed .gbl-r251-reward-state{color:#8ecfff}

/* Modal de premios reales */
#gbl-r251-modal{
  position:fixed;inset:0;z-index:30000;
  display:none;align-items:center;justify-content:center;
  padding:24px;
  background:rgba(3,1,4,.82);
  backdrop-filter:blur(8px);
}
#gbl-r251-modal.is-open{display:flex}
.gbl-r251-modal-card{
  width:min(1080px,96vw);max-height:88vh;overflow:auto;
  border:1px solid rgba(255,92,19,.65);border-radius:16px;
  background:linear-gradient(180deg,rgba(24,7,7,.98),rgba(7,3,4,.98));
  box-shadow:0 0 45px rgba(255,56,0,.22);
}
.gbl-r251-modal-head{
  position:sticky;top:0;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:14px 16px;border-bottom:1px solid rgba(255,92,19,.27);
  background:rgba(15,5,5,.96);backdrop-filter:blur(8px);
}
.gbl-r251-modal-head h3{
  margin:0;color:#ff5d20;font:400 28px/1 Creepster,Impact,fantasy;
  text-shadow:0 0 8px rgba(255,64,0,.45);
}
.gbl-r251-modal-close{
  border:1px solid #813010;background:#210b06;color:#ffd2bc;
  width:34px;height:34px;border-radius:8px;font-size:20px;cursor:pointer;
}
.gbl-r251-modal-body{padding:15px}
body.gbl-r251-modal-open{overflow:hidden!important}

/* Dentro del modal recuperamos la preview REAL y los controles reales. */
#gbl-r251-modal #attRewards{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:12px!important;
}
#gbl-r251-modal #attRewards .att-reward{
  display:grid!important;
  grid-template-columns:78px 120px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px!important;
  margin:0!important;
  min-height:138px!important;
  border:1px solid rgba(140,43,11,.74)!important;
  border-radius:10px!important;
  background:rgba(20,6,5,.82)!important;
}
#gbl-r251-modal #attRewards .att-reward .day-badge{padding:10px 6px!important}
#gbl-r251-modal #attRewards .att-reward .day-badge .num{font-size:25px!important}
#gbl-r251-modal #attRewards .att-reward .preview{height:100px!important;width:120px!important}
#gbl-r251-modal #attRewards .att-reward .preview iframe{width:185%!important;height:185%!important}
#gbl-r251-modal #attRewards .att-reward .reward-name{font-size:15px!important}
#gbl-r251-modal #attRewards .att-reward .att-action{grid-column:1/-1!important}
#gbl-r251-modal #attRewards .att-reward .claim{padding:9px!important;font-size:10px!important}

@media(max-width:920px){
  .gbl-r251-summary{grid-template-columns:1fr 1fr}
  .gbl-r251-actions{grid-column:1/-1;justify-content:center}
  #gbl-r251-modal #attRewards{grid-template-columns:1fr}
}
@media(max-width:640px){
  #gbl-r251-compact{margin-top:4px}
  .gbl-r251-summary{grid-template-columns:1fr}
  .gbl-r251-actions{flex-direction:column;align-items:stretch}
  #gbl-r251-mark-slot{justify-content:center}
  #gbl-r251-mark-slot .action-main,.gbl-r251-all-btn{width:100%}
  .gbl-r251-mini-status{gap:10px;flex-wrap:wrap}
  .gbl-r251-track-shell{padding:8px 6px 3px}
  .gbl-r251-milestones{grid-auto-columns:95px}
  .gbl-r251-milestones::before{left:42px;right:42px}
  #gbl-r251-modal{padding:10px}
  #gbl-r251-modal #attRewards .att-reward{grid-template-columns:65px 100px 1fr!important}
  #gbl-r251-modal #attRewards .att-reward .preview{width:100px!important;height:88px!important}
}


/* ===== CONSOLIDADO DESDE halloween-v2-5-2.css ===== */
/* GunBound Legacy Halloween 2026 - V2.5.2
   Refinamiento visual del Ritual sobre V2.5.1.
   No modifica endpoints ni datos. */

/* V2.2 sigue reagrupando las métricas originales. Las dejamos vivas pero invisibles. */
#ritual .gbl-hw-v21-attendance-summary,
#ritual .att-status,
#ritual .att-actions{
  display:none!important;
}

/* Eliminamos el kicker duplicado: el circulo 01 ya identifica la sección. */
#ritual .gbl-hw-v21-head-copy .section-kicker,
#ritual .section-kicker{
  display:none!important;
}

/* Cabecera mucho más baja, como el mockup aprobado. */
#ritual.gbl-hw-v21-section{
  min-height:0!important;
  padding:11px 14px 14px!important;
}
#ritual > .gbl-hw-v21-section-head{
  grid-template-columns:58px minmax(280px,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 7px!important;
  padding:0 2px 8px!important;
}
#ritual .gbl-hw-v21-number{
  width:50px!important;height:50px!important;
  font-size:22px!important;
}
#ritual .gbl-hw-v21-head-copy h2{
  font-size:clamp(28px,2.7vw,39px)!important;
  line-height:.95!important;
}
#ritual .gbl-hw-v21-head-copy p{
  margin-top:4px!important;
  max-width:570px!important;
  font-size:11px!important;
  line-height:1.32!important;
}

/* V2.5.1 ahora vive dentro del tool slot del header. */
#ritual .gbl-hw-v21-section-tools{
  min-width:0!important;
  align-items:center!important;
}
#ritual .gbl-hw-v21-section-tools > .gbl-r252-headbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}

#ritual .gbl-r251-summary{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
#ritual .gbl-r251-summary-card{
  min-height:50px!important;
  padding:7px 10px!important;
  gap:8px!important;
  border-radius:8px!important;
  background:rgba(27,8,6,.52)!important;
  border:1px solid rgba(255,91,16,.28)!important;
  box-shadow:inset 0 0 12px rgba(255,64,0,.025)!important;
  backdrop-filter:blur(4px)!important;
}
#ritual .gbl-r251-summary-card:nth-child(1){width:144px!important}
#ritual .gbl-r251-summary-card:nth-child(2){width:190px!important}
#ritual .gbl-r251-summary-icon{
  width:34px!important;height:34px!important;flex:0 0 34px!important;
  border-radius:7px!important;font-size:18px!important;
}
#ritual .gbl-r251-summary-copy small{
  font-size:8px!important;line-height:1.05!important;margin-bottom:2px!important;
}
#ritual .gbl-r251-summary-copy strong{
  font-size:20px!important;
}
#ritual .gbl-r251-summary-copy strong em{
  font-size:10px!important;margin-left:3px!important;
}
#ritual .gbl-r251-summary-copy .gbl-r251-next-label{
  font-size:10px!important;line-height:1.15!important;max-width:125px!important;
}
#ritual .gbl-r251-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  margin:0!important;
}
#ritual .gbl-r251-all-btn,
#ritual .gbl-r252-mark-proxy{
  min-height:38px!important;
  padding:7px 12px!important;
  border-radius:7px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}
#ritual .gbl-r252-mark-proxy{
  border:1px solid rgba(255,157,66,.50);
  background:linear-gradient(180deg,rgba(124,48,5,.82),rgba(71,24,3,.88));
  color:#ffd1a2;font-weight:900;cursor:pointer;
}
#ritual .gbl-r252-mark-proxy:disabled{opacity:.58;cursor:not-allowed}
#ritual .gbl-r252-mark-proxy.is-done{display:none!important}

/* El contenedor compacto ya solo alberga el track. */
#ritual #gbl-r251-compact{
  max-width:none!important;
  margin:0!important;
}
#ritual .gbl-r251-mini-status{
  display:none!important;
}
#ritual .gbl-r251-track-shell{
  padding:2px 24px 0!important;
  margin:0!important;
}
#ritual .gbl-r251-milestones{
  grid-auto-columns:minmax(92px,1fr)!important;
  gap:6px!important;
  padding:1px 2px 3px!important;
}
#ritual .gbl-r251-milestones::before{
  left:42px!important;right:42px!important;top:31px!important;height:2px!important;
}
#ritual .gbl-r251-node{
  width:54px!important;height:54px!important;
  margin:0 auto 5px!important;
  border-width:1px!important;
  box-shadow:0 0 0 3px rgba(32,8,3,.86),0 0 10px rgba(255,71,0,.10)!important;
}
#ritual .gbl-r251-node-icon{font-size:18px!important}
#ritual .gbl-r251-node-day{font-size:8px!important;margin-top:1px!important}
#ritual .gbl-r251-reward-name{
  font-size:9px!important;line-height:1.1!important;min-height:20px!important;
}
#ritual .gbl-r251-reward-state{
  font-size:7px!important;margin-top:2px!important;
}

/* Si quedan wrappers vacíos de los layouts previos, no deben consumir altura. */
#ritual .gbl-hw-v21-attendance-track-shell:empty,
#ritual .gbl-hw-v21-attendance-track:empty{
  display:none!important;
}

@media(max-width:1080px){
  #ritual > .gbl-hw-v21-section-head{grid-template-columns:54px 1fr!important}
  #ritual .gbl-hw-v21-section-tools{grid-column:1/-1!important;justify-content:center!important}
  #ritual .gbl-r252-headbar{width:100%;justify-content:center!important}
}
@media(max-width:720px){
  #ritual .gbl-r252-headbar{flex-wrap:wrap!important}
  #ritual .gbl-r251-summary{width:100%!important;justify-content:center!important;flex-wrap:wrap!important}
  #ritual .gbl-r251-summary-card:nth-child(1),
  #ritual .gbl-r251-summary-card:nth-child(2){width:min(230px,48%)!important}
  #ritual .gbl-r251-actions{width:100%!important;justify-content:center!important}
  #ritual .gbl-r251-track-shell{padding:3px 5px 0!important}
  #ritual .gbl-r251-milestones{grid-auto-columns:88px!important}
}
@media(max-width:520px){
  #ritual .gbl-r251-summary-card:nth-child(1),
  #ritual .gbl-r251-summary-card:nth-child(2){width:100%!important}
}


/* ===== CONSOLIDADO DESDE halloween-v2-5-3.css ===== */
/* GunBound Legacy Halloween 2026 - V2.5.3
   Solo refina tipografia e iconografia del track compacto del Ritual.
   No modifica endpoints, recompensas ni reclamos. */

/* Más legible sin aumentar casi nada la altura del Ritual. */
#ritual .gbl-r251-reward-name{
  font-size:11.5px!important;
  line-height:1.14!important;
  font-weight:900!important;
  min-height:26px!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 8px rgba(255,79,16,.14)!important;
  padding:0 2px!important;
}
#ritual .gbl-r251-reward-state{
  font-size:8.5px!important;
  line-height:1.1!important;
  margin-top:2px!important;
  letter-spacing:.02em!important;
}
#ritual .gbl-r251-node-day{
  font-size:8.5px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}

/* Nodo levemente más rico visualmente, manteniendo la misma huella. */
#ritual .gbl-r251-node{
  overflow:visible!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,107,20,.12),transparent 52%),
    rgba(26,7,4,.92)!important;
}
#ritual .gbl-r251-node-icon{
  width:38px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  line-height:1!important;
  margin:-2px auto 0!important;
  overflow:visible!important;
}

/* Base común para iconos temáticos */
.gbl-r253-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  position:relative;
  filter:drop-shadow(0 0 7px rgba(255,84,10,.36));
}
.gbl-r253-icon svg{
  width:28px;
  height:28px;
  display:block;
  overflow:visible;
}

/* Avatar/Set: personaje Halloween entregado por el usuario. */
.gbl-r253-icon--avatar{
  width:42px;
  height:42px;
  margin-top:-5px;
  background:radial-gradient(circle,rgba(255,94,12,.18),transparent 70%);
  filter:drop-shadow(0 0 6px rgba(255,75,0,.48));
}
.gbl-r253-icon--avatar img{
  width:39px;
  height:39px;
  object-fit:cover;
  object-position:50% 18%;
  border-radius:50%;
  border:1px solid rgba(255,120,24,.52);
  box-shadow:0 0 0 2px rgba(31,7,3,.76),0 0 8px rgba(255,70,0,.24);
}

/* Almas */
.gbl-r253-icon--souls{
  background:radial-gradient(circle at 50% 62%,rgba(255,72,0,.30),transparent 68%);
  color:#ff7a18;
}
.gbl-r253-icon--souls svg{filter:drop-shadow(0 0 5px #ff4b00)}

/* Cash */
.gbl-r253-icon--cash{
  color:#57ef79;
  background:radial-gradient(circle,rgba(29,189,71,.16),transparent 70%);
}
.gbl-r253-icon--cash svg{filter:drop-shadow(0 0 4px rgba(70,255,114,.45))}

/* Gold */
.gbl-r253-icon--gold{
  color:#ffc33e;
  background:radial-gradient(circle,rgba(255,183,30,.16),transparent 70%);
}
.gbl-r253-icon--gold svg{filter:drop-shadow(0 0 4px rgba(255,180,20,.42))}

/* GP / GPS */
.gbl-r253-icon--gps{
  color:#ffd15a;
  background:radial-gradient(circle,rgba(255,118,0,.15),transparent 70%);
}
.gbl-r253-icon--gps svg{filter:drop-shadow(0 0 4px rgba(255,136,16,.42))}

/* Corneta */
.gbl-r253-icon--horn{
  color:#f5c45f;
  background:radial-gradient(circle,rgba(255,170,30,.14),transparent 70%);
}

/* VIP */
.gbl-r253-icon--vip{
  color:#ffe36f;
  background:radial-gradient(circle,rgba(255,205,40,.16),transparent 70%);
}

/* Power User */
.gbl-r253-icon--power{
  color:#9fd8ff;
  background:radial-gradient(circle,rgba(67,153,255,.18),transparent 70%);
}

/* Fallback/cofre */
.gbl-r253-icon--gift{
  color:#ff9242;
  background:radial-gradient(circle,rgba(255,96,20,.16),transparent 70%);
}

/* Estados del hito también afectan al icono, sin volverlo gris por completo. */
#ritual .gbl-r251-milestone.is-claimed .gbl-r253-icon,
#ritual .gbl-r251-milestone.is-available .gbl-r253-icon{
  filter:drop-shadow(0 0 8px rgba(255,111,19,.62));
}
#ritual .gbl-r251-milestone:not(.is-claimed):not(.is-available) .gbl-r253-icon{
  opacity:.88;
}

@media(max-width:720px){
  #ritual .gbl-r251-reward-name{font-size:10.5px!important;min-height:24px!important}
  .gbl-r253-icon--avatar{width:39px;height:39px}
  .gbl-r253-icon--avatar img{width:36px;height:36px}
}


/* ===== CONSOLIDADO DESDE halloween-v2-5-4.css ===== */
/* GunBound Legacy Halloween 2026 - V2.5.4 Ritual Progress Glow
   Solo refina la linea de progreso del Ritual compacto V2.5.3.
   No modifica estructura, endpoints, premios ni reclamos. */

/* Línea base: futuro tenue + tramo recorrido más vivo. */
#ritual .gbl-r251-milestones::before{
  height:3px!important;
  top:31px!important;
  background:linear-gradient(
    90deg,
    #ff4d0a 0%,
    #ff8a18 var(--gbl-progress),
    rgba(82,28,18,.72) var(--gbl-progress),
    rgba(61,24,18,.64) 100%
  )!important;
  box-shadow:
    0 0 5px rgba(255,81,8,.26),
    0 0 11px rgba(255,54,0,.10)!important;
}

/* Partícula de energía que recorre únicamente el progreso alcanzado. */
#ritual .gbl-r251-milestones::after{
  content:"";
  position:absolute;
  top:28px;
  left:42px;
  width:9px;
  height:9px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  background:#ffd36a;
  box-shadow:
    0 0 4px #fff0a0,
    0 0 9px #ff8a00,
    0 0 18px rgba(255,67,0,.82),
    0 0 28px rgba(255,48,0,.38);
  animation:gbl-r254-energy-travel 3.1s ease-in-out infinite;
}

@keyframes gbl-r254-energy-travel{
  0%{
    left:42px;
    opacity:0;
    transform:scale(.55);
  }
  13%{opacity:.95}
  70%{opacity:.95}
  100%{
    left:clamp(42px,var(--gbl-progress),calc(100% - 42px));
    opacity:0;
    transform:scale(1.15);
  }
}

/* Los hitos ya recorridos tienen un resplandor sutil, sin aumentar su tamaño. */
#ritual .gbl-r251-milestone.is-reached .gbl-r251-node,
#ritual .gbl-r251-milestone.is-available .gbl-r251-node,
#ritual .gbl-r251-milestone.is-claimed .gbl-r251-node{
  box-shadow:
    0 0 0 3px rgba(38,9,3,.90),
    0 0 9px rgba(255,121,28,.52),
    0 0 18px rgba(255,62,0,.20)!important;
}

/* Próximo objetivo: pulso muy suave para guiar la vista. */
#ritual .gbl-r251-milestone.gbl-r254-current .gbl-r251-node{
  border-color:#d85a19!important;
  animation:gbl-r254-next-pulse 2.4s ease-in-out infinite;
}
#ritual .gbl-r251-milestone.gbl-r254-current .gbl-r251-reward-name{
  color:#ffe3cc!important;
}

@keyframes gbl-r254-next-pulse{
  0%,100%{
    box-shadow:0 0 0 3px rgba(32,8,3,.86),0 0 7px rgba(255,78,0,.12);
  }
  50%{
    box-shadow:0 0 0 3px rgba(42,10,3,.88),0 0 11px rgba(255,116,28,.36),0 0 18px rgba(255,58,0,.15);
  }
}

/* Punto luminoso fijo donde termina el progreso actual. */
#ritual .gbl-r254-progress-head{
  position:absolute;
  top:27px;
  left:clamp(42px,var(--gbl-progress),calc(100% - 42px));
  width:11px;
  height:11px;
  margin-left:-5px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:#ffb129;
  border:1px solid rgba(255,238,174,.88);
  box-shadow:0 0 5px #ffd56c,0 0 12px #ff6a00,0 0 22px rgba(255,62,0,.45);
  animation:gbl-r254-head-pulse 1.8s ease-in-out infinite;
}
@keyframes gbl-r254-head-pulse{
  0%,100%{transform:scale(.85);opacity:.78}
  50%{transform:scale(1.18);opacity:1}
}

@media(max-width:720px){
  #ritual .gbl-r251-milestones::after{display:none!important}
  #ritual .gbl-r254-progress-head{width:9px;height:9px;margin-left:-4px;top:28px}
}

@media(prefers-reduced-motion:reduce){
  #ritual .gbl-r251-milestones::after,
  #ritual .gbl-r254-progress-head,
  #ritual .gbl-r251-milestone.gbl-r254-current .gbl-r251-node{
    animation:none!important;
  }
}


/* ==========================================================
   V3 — DESAFÍOS SANGRIENTOS
   Render directo desde m.rewards. Sin parches V2.6.x.
   ========================================================== */
#misiones .gbl-hw-v21-section-head{
  grid-template-columns:62px minmax(0,1fr) auto!important;
}
#misiones .gbl-v3-mission-tools,
#misiones .gbl-hw-v21-section-tools{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
}
#misiones .gbl-v3-mission-filters{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;
}
#misiones .gbl-v3-filter{
  min-width:72px;padding:9px 13px;border-radius:7px;
  border:1px solid rgba(116,48,43,.7);
  background:rgba(14,8,10,.82);color:#cbb8b1;
  font:800 11px/1 Arial,sans-serif;cursor:pointer;transition:.16s ease;
}
#misiones .gbl-v3-filter:hover,
#misiones .gbl-v3-filter.active{
  color:#15100c;
  background:linear-gradient(180deg,#ff8b2b,#ff5d0c);
  border-color:#ff9e51;
  box-shadow:0 0 15px rgba(255,91,15,.34);
}
#misiones .gbl-v3-mission-carousel{
  position:relative;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:7px;align-items:center;width:100%;z-index:1;
}
#misiones #missionGrid{
  display:flex!important;
  grid-template-columns:none!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  padding:5px 2px 10px!important;
  margin:0!important;
}
#misiones #missionGrid::-webkit-scrollbar{display:none}
#misiones .gbl-v3-carousel-btn{
  width:34px;height:66px;border-radius:9px;
  border:1px solid rgba(255,99,23,.56);
  background:linear-gradient(180deg,rgba(45,13,7,.96),rgba(14,5,5,.96));
  color:#ffad55;font:900 28px/1 Arial,sans-serif;
  cursor:pointer;box-shadow:0 0 13px rgba(255,65,0,.15);
}
#misiones .gbl-v3-carousel-btn:hover:not(:disabled){
  color:#fff;background:#7c2608;
}
#misiones .gbl-v3-carousel-btn:disabled{opacity:.2;cursor:default}
#misiones .gbl-v3-carousel-btn[hidden]{display:flex!important}
#misiones .gbl-v3-carousel-btn.is-unused{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#misiones .gbl-v3-mission-card{
  flex:0 0 calc((100% - 36px)/4)!important;
  min-width:0!important;max-width:none!important;
  height:382px!important;
  scroll-snap-align:start;
  display:flex!important;flex-direction:column!important;
  padding:10px!important;border-radius:10px!important;
  border:1px solid rgba(255,100,29,.55)!important;
  background:linear-gradient(180deg,rgba(7,22,31,.94),rgba(18,5,8,.96))!important;
  box-shadow:inset 0 0 22px rgba(255,72,0,.025),0 8px 22px rgba(0,0,0,.24)!important;
}
#misiones .gbl-v3-mission-card:nth-child(even){
  border-color:rgba(192,49,204,.50)!important;
}

#misiones .gbl-v3-card-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:7px;min-height:25px;margin-bottom:6px;
}
#misiones .gbl-v3-mission-id{
  padding:4px 8px;border-radius:7px;
  background:#0f2633;border:1px solid rgba(88,137,167,.16);
  color:#8ca8ba;font:900 10px/1 Arial,sans-serif;
}
#misiones .gbl-v3-type-badge{
  padding:5px 10px;border-radius:8px;
  border:1px solid rgba(255,91,24,.68);
  color:#ffd0a8;background:rgba(81,23,7,.88);
  font:900 10px/1 Arial,sans-serif;
}

#misiones .gbl-v3-mission-preview{
  height:132px;flex:0 0 132px;width:100%;
  overflow:hidden;border-radius:8px;
  border:1px solid rgba(73,113,137,.42);
  background:
    radial-gradient(circle at 50% 45%,rgba(39,91,120,.18),transparent 62%),
    rgba(7,24,34,.72);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:7px;position:relative;
}

/* Escala muy similar a la preview del Bazar */
#misiones .gbl-v3-mission-preview iframe{
  border:0;background:transparent;pointer-events:none;display:block;
  flex:0 0 auto!important;
  width:150%!important;height:150%!important;
  min-width:150%!important;min-height:150%!important;
  margin:auto!important;
  transform:none!important;
  transform-origin:center center!important;
}
/* V3.1.1:
   Los avatar_item (banderas/accesorios) conservan un poco más de zoom,
   pero SIN translate negativo. El flex del contenedor los centra igual
   que el sistema de Misiones GM. */
#misiones .gbl-v3-mission-preview.is-item iframe{
  width:175%!important;height:175%!important;
  min-width:175%!important;min-height:175%!important;
  margin:auto!important;
  transform:none!important;
}

#misiones .gbl-v3-reward-icon{
  width:104px;max-height:90px;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(255,99,23,.16));
}
#misiones .gbl-v3-preview-generic{
  font-size:48px;
  filter:drop-shadow(0 0 12px rgba(255,88,0,.28));
}
#misiones .gbl-v3-preview-fallback{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:3px;color:#bd9a8b;font-size:9px;
}
#misiones .gbl-v3-preview-fallback img{
  width:74px;height:74px;object-fit:contain;
  filter:drop-shadow(0 0 9px rgba(255,80,0,.25));
}

#misiones .gbl-v3-mission-title{
  min-height:38px;max-height:38px;overflow:hidden;
  margin:0 0 7px;text-align:center;color:#fff;
  font:900 13px/1.24 Arial,sans-serif;
}
#misiones .gbl-v3-info-row{
  min-height:29px;margin-bottom:5px;padding:6px 7px;
  border-radius:6px;
  border:1px solid rgba(64,101,124,.46);
  background:rgba(7,24,34,.54);
  display:flex;align-items:center;gap:7px;overflow:hidden;
}
#misiones .gbl-v3-info-row>span{
  flex:0 0 auto;color:#89a5b6;
  font:900 9px/1 Arial,sans-serif;white-space:nowrap;
}
#misiones .gbl-v3-info-row>strong{
  min-width:0;color:#f7f7f7;
  font:800 10px/1.15 Arial,sans-serif;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#misiones .gbl-v3-progress{
  margin-top:2px;padding-top:6px;
  border-top:1px dashed rgba(88,123,143,.25);
}
#misiones .gbl-v3-progress-head{
  display:flex;justify-content:space-between;
  gap:8px;margin-bottom:5px;
  color:#8fa7b6;font-size:10px;
}
#misiones .gbl-v3-progress-head strong{
  color:#fff;font-size:10px;
}
#misiones .gbl-v3-progress-track{
  height:7px;border-radius:999px;overflow:hidden;
  background:#142b39;border:1px solid rgba(68,102,123,.28);
}
#misiones .gbl-v3-progress-track i{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#ff840b,#ffd04a);
  box-shadow:0 0 7px rgba(255,118,8,.34);
}
#misiones .gbl-v3-mission-claim{
  margin-top:auto!important;
  height:31px!important;min-height:31px!important;
  padding:6px 8px!important;border-radius:6px!important;
  font-size:10px!important;line-height:1!important;
}
#misiones .gbl-v3-mission-empty{
  flex:1 0 100%;width:100%;
}

@media(max-width:1080px){
  #misiones .gbl-v3-mission-card{
    flex-basis:calc((100% - 24px)/3)!important;
  }
}
@media(max-width:760px){
  #misiones .gbl-hw-v21-section-head{
    grid-template-columns:54px 1fr!important;
  }
  #misiones .gbl-hw-v21-section-tools{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
  }
  #misiones .gbl-v3-mission-filters{
    justify-content:flex-start!important;
  }
  #misiones .gbl-v3-mission-card{
    flex-basis:calc((100% - 12px)/2)!important;
  }
}
@media(max-width:520px){
  #misiones .gbl-v3-mission-carousel{
    grid-template-columns:30px minmax(0,1fr) 30px;
  }
  #misiones .gbl-v3-carousel-btn{
    width:29px;height:58px;font-size:24px;
  }
  #misiones .gbl-v3-mission-card{
    flex-basis:100%!important;height:382px!important;
  }
}


/* ==========================================================
   V3.1 CAROUSEL GRID FIX
   Las flechas siempre conservan sus columnas.
   ========================================================== */
#misiones .gbl-v3-mission-carousel > .gbl-v3-prev{
  grid-column:1!important;
  grid-row:1!important;
}
#misiones .gbl-v3-mission-carousel > #missionGrid{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
#misiones .gbl-v3-mission-carousel > .gbl-v3-next{
  grid-column:3!important;
  grid-row:1!important;
}
/* Aunque un filtro deje 1 sola tarjeta, el carrusel conserva el ancho central completo. */
#misiones #missionGrid > .gbl-v3-mission-card{
  min-width:260px!important;
}
@media(max-width:760px){
  #misiones #missionGrid > .gbl-v3-mission-card{
    min-width:240px!important;
  }
}
@media(max-width:520px){
  #misiones #missionGrid > .gbl-v3-mission-card{
    min-width:0!important;
  }
}


/* ==========================================================
   V3.1.1 — PREVIEW CENTER FIX
   ========================================================== */
#misiones .gbl-v3-mission-preview{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#misiones .gbl-v3-mission-preview > iframe{
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
}


/* ==========================================================
   V3.1.2 — FLAG (slot f) CENTER FIX
   El renderer coloca las banderas en su anclaje natural del avatar,
   más abajo/derecha del canvas. Este ajuste afecta SOLO ?f=...
   ========================================================== */
#misiones .gbl-v3-mission-preview.slot-f iframe{
  width:175%!important;
  height:175%!important;
  min-width:175%!important;
  min-height:175%!important;
  transform:translate(-8%, -16%)!important;
  transform-origin:center center!important;
}


/* ==========================================================
   V3.1.4 — LAUNCH POLISH
   - Sin banner legacy al final
   - Música arriba a la derecha
   - Subtítulo del logo corregido
   ========================================================== */

/* Control de música siempre accesible y simétrico al botón Home. */
.gbl-v314-audio-float{
  position:fixed!important;
  top:18px!important;
  right:20px!important;
  z-index:10050!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.gbl-v314-audio-float .audio-btn{
  min-height:38px;
  padding:9px 14px!important;
  border-color:rgba(255,119,28,.72)!important;
  background:linear-gradient(180deg,rgba(48,14,7,.94),rgba(20,7,5,.94))!important;
  color:#ffd5b0!important;
  box-shadow:0 0 16px rgba(255,76,0,.22),inset 0 0 12px rgba(255,115,30,.035)!important;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.gbl-v314-audio-float .audio-btn:hover{
  color:#fff!important;
  border-color:#ff7b21!important;
  background:linear-gradient(180deg,rgba(92,28,7,.97),rgba(35,8,4,.97))!important;
}

/* Wrapper del logo. El PNG original conserva el arte; recortamos únicamente
   la línea inferior con el typo y colocamos el texto correcto encima. */
.gbl-v314-logo-wrap{
  position:absolute!important;
  z-index:8!important;
  left:50%!important;
  top:4px!important;
  width:min(430px,48vw)!important;
  aspect-ratio:420 / 205;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
  user-select:none!important;
}

.gbl-v314-logo-wrap .gbl-hw-v23-logo{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  transform:none!important;
  display:block!important;
  object-fit:contain!important;
  clip-path:inset(0 0 9.5% 0)!important;
  -webkit-clip-path:inset(0 0 9.5% 0)!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.72)) drop-shadow(0 0 12px rgba(255,77,0,.26))!important;
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 48%,#000 0 66%,rgba(0,0,0,.96) 76%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 72% 70% at 50% 48%,#000 0 66%,rgba(0,0,0,.96) 76%,transparent 100%)!important;
}

.gbl-v314-logo-sub{
  position:absolute;
  left:50%;
  bottom:5.5%;
  transform:translateX(-50%);
  z-index:12;
  white-space:nowrap;
  color:#fff;
  font-family:Arial Black,Arial,sans-serif;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.55px;
  text-shadow:
    -1px -1px 0 #3c0904,
     1px -1px 0 #3c0904,
    -1px  1px 0 #3c0904,
     1px  1px 0 #3c0904,
     0 2px 4px rgba(0,0,0,.95);
}

@media(max-width:900px){
  .gbl-v314-logo-wrap{
    width:min(390px,68vw)!important;
    top:12px!important;
  }
}
@media(max-width:620px){
  .gbl-v314-logo-wrap{
    width:min(330px,82vw)!important;
    top:22px!important;
  }
  .gbl-v314-logo-sub{
    font-size:8px;
    letter-spacing:.4px;
  }
  .gbl-v314-audio-float{
    top:12px!important;
    right:10px!important;
  }
  .gbl-v314-audio-float .audio-btn{
    padding:8px 10px!important;
    font-size:10px!important;
  }
}

/* Seguridad: si quedara algún hero antiguo por caché/HTML viejo, no mostrarlo. */
.wrap > .hero{
  display:none!important;
}


/* ==========================================================
   V3.1.5 — BAZAR SINGLE RENDER
   #bazaarGrid es el ÚNICO grid. No existe segunda copia.
   Mantiene la vista compacta/horizontal aprobada.
   ========================================================== */

#bazaarGrid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:2px!important;
}

#bazaarGrid .bazaar-card{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:7px!important;
  border:1px solid rgba(255,83,17,.56)!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,rgba(29,7,8,.97),rgba(10,3,5,.98))!important;
  box-shadow:0 0 12px rgba(255,57,0,.05)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

#bazaarGrid .bazaar-card:hover{
  transform:translateY(-2px)!important;
  border-color:#ff8b2f!important;
  box-shadow:0 7px 18px rgba(255,63,0,.14)!important;
}

#bazaarGrid .bazaar-card .preview{
  height:86px!important;
  min-height:86px!important;
  width:100%!important;
  margin:0 0 4px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
}

#bazaarGrid .bazaar-card .preview iframe{
  border:0!important;
  width:150%!important;
  height:110px!important;
  min-width:150%!important;
  min-height:110px!important;
  flex:0 0 auto!important;
  background:transparent!important;
  pointer-events:none!important;
}

#bazaarGrid .bazaar-name{
  font-size:12px!important;
  line-height:1.15!important;
  margin:5px 0 2px!important;
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

#bazaarGrid .stock{
  font-size:9px!important;
  margin:0 0 5px!important;
}

#bazaarGrid .buy{
  min-height:31px!important;
  padding:6px!important;
  font-size:10px!important;
  line-height:1.05!important;
  background:linear-gradient(180deg,#ff8d1c,#b63b06)!important;
  border-color:#ffad55!important;
  color:#fff!important;
}

#bazaarGrid > .empty,
#bazaarGrid > .error{
  grid-column:1/-1!important;
}

/* El viejo contenedor jamás debe volver a mostrarse. */
#bazar .gbl-hw-v21-bazaar-grid{
  display:none!important;
}

@media(max-width:1180px){
  #bazaarGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  #bazaarGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:540px){
  #bazaarGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #bazaarGrid .bazaar-card .preview{
    height:72px!important;
    min-height:72px!important;
  }
  #bazaarGrid .bazaar-card .preview iframe{
    height:95px!important;
  }
}


/* ==========================================================
   V3.1.6 — ATTENDANCE REAL BUTTON FIX
   El botón real #markBtn siempre permanece visible.
   ========================================================== */
#ritual #gbl-r251-mark-slot{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
}
#ritual #gbl-r251-mark-slot #markBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:7px 12px!important;
  border-radius:7px!important;
  border:1px solid rgba(255,157,66,.50)!important;
  background:linear-gradient(180deg,rgba(124,48,5,.82),rgba(71,24,3,.88))!important;
  color:#ffd1a2!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  opacity:1!important;
  visibility:visible!important;
}
#ritual #gbl-r251-mark-slot #markBtn:not(:disabled){
  cursor:pointer!important;
  box-shadow:0 0 14px rgba(255,92,0,.20)!important;
}
#ritual #gbl-r251-mark-slot #markBtn:disabled{
  display:inline-flex!important;
  opacity:.62!important;
  cursor:not-allowed!important;
  filter:none!important;
}
/* Nunca ocultar el botón al estar ya marcado. */
#ritual #gbl-r251-mark-slot #markBtn[disabled]{visibility:visible!important}
@media(max-width:720px){
  #ritual #gbl-r251-mark-slot{width:100%!important}
  #ritual #gbl-r251-mark-slot #markBtn{width:100%!important}
}


/* ==========================================================
   V3.1.8 — SET PREVIEW CENTER FIX
   Los sets completos del renderer quedan naturalmente más abajo.
   Ajuste EXCLUSIVO para .is-set; no afecta avatar_item/slot-f,
   iconos de GP/Cash ni el Bazar.
   ========================================================== */
#misiones .gbl-v3-mission-preview.is-set iframe{
  width:145%!important;
  height:145%!important;
  min-width:145%!important;
  min-height:145%!important;
  margin:auto!important;
  transform:translateY(-14%)!important;
  transform-origin:center center!important;
}

@media(max-width:620px){
  #misiones .gbl-v3-mission-preview.is-set iframe{
    width:140%!important;
    height:140%!important;
    min-width:140%!important;
    min-height:140%!important;
    transform:translateY(-12%)!important;
  }
}


/* ==========================================================
   V3.1.9 — BAZAAR-STYLE AVATAR PREVIEWS
   Autoridad final para previews de avatar en Desafíos.
   Usa el mismo encuadre que funciona correctamente en el Bazar:
   - iframe de altura fija
   - centrado por flex
   - sin translates por slot/tipo
   - mismo tratamiento para item y set
   ========================================================== */

#misiones .gbl-v3-mission-preview{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

#misiones .gbl-v3-mission-preview iframe,
#misiones .gbl-v3-mission-preview.is-item iframe,
#misiones .gbl-v3-mission-preview.is-set iframe,
#misiones .gbl-v3-mission-preview.slot-f iframe{
  position:static!important;
  width:150%!important;
  min-width:150%!important;
  height:110px!important;
  min-height:110px!important;
  max-height:110px!important;
  flex:0 0 auto!important;
  margin:auto!important;
  border:0!important;
  background:transparent!important;
  pointer-events:none!important;
  transform:none!important;
  transform-origin:center center!important;
}

@media(max-width:620px){
  #misiones .gbl-v3-mission-preview iframe,
  #misiones .gbl-v3-mission-preview.is-item iframe,
  #misiones .gbl-v3-mission-preview.is-set iframe,
  #misiones .gbl-v3-mission-preview.slot-f iframe{
    width:150%!important;
    min-width:150%!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
    transform:none!important;
  }
}


/* ==========================================================
   V3.1.10 — DESKTOP MOTION SYNC
   La página Halloween conserva sus efectos visuales también
   cuando Windows/Chrome reporta prefers-reduced-motion: reduce.
   NO reactiva la niebla.
   ========================================================== */

/* La niebla permanece deshabilitada como fue aprobado. */
body .fog-stage,
body .fog,
body .fog-layer,
body .fog-container,
body .fog-overlay,
body #fog,
body [id^="fog"],
body [id*="-fog"],
body [class^="fog-"],
body [class*=" fog-"],
body [class*="-fog"],
body .mist,
body .mist-layer,
body [class^="mist-"],
body [class*=" mist-"],
body [class*="-mist"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
}

/* Igualar animaciones PC/móvil aunque el SO solicite reduced motion. */
@media(prefers-reduced-motion:reduce){
  body .embers{
    display:block!important;
    visibility:visible!important;
  }

  body .ember{
    display:block!important;
    animation-name:fall!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
  }

  #ritual .gbl-r251-milestones::after{
    animation:gbl-r254-energy-travel 3.1s ease-in-out infinite!important;
  }

  #ritual .gbl-r254-progress-head{
    animation:gbl-r254-head-pulse 1.8s ease-in-out infinite!important;
  }

  #ritual .gbl-r251-milestone.gbl-r254-current .gbl-r251-node{
    animation:gbl-r254-next-pulse 2.4s ease-in-out infinite!important;
  }
}


/* ==========================================================
   V3.1.11 — EMBERS DESKTOP FIX
   El bloqueo legacy animation:none!important fue eliminado
   desde index.php. Esta capa solo asegura visibilidad.
   ========================================================== */
body .embers{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body .ember{
  display:block!important;
  visibility:visible!important;
  opacity:1;
}

/* La animación base conserva duration/delay aleatorios inline. */


/* ==========================================================
   V3.1.12 — BAZAAR OWNERSHIP STATES
   ========================================================== */
#bazaarGrid .buy.is-owned{
  opacity:1!important;
  background:linear-gradient(180deg,#139b52,#08753a)!important;
  border-color:#4fe38c!important;
  color:#fff!important;
  cursor:default!important;
  text-shadow:0 1px 2px rgba(0,0,0,.45)!important;
}
#bazaarGrid .buy.is-partial{
  opacity:1!important;
  background:linear-gradient(180deg,#7d4b12,#4c2c0b)!important;
  border-color:#c88738!important;
  color:#ffd69c!important;
  cursor:default!important;
}
#bazaarGrid .bazaar-owned-note,
#bazaarGrid .bazaar-partial-note{
  min-height:14px;
  margin:2px 0 4px;
  font-size:8.5px;
  font-weight:800;
  line-height:1.15;
}
#bazaarGrid .bazaar-owned-note{color:#73efa3}
#bazaarGrid .bazaar-partial-note{color:#ffc16c}


/* V3.1.13 — PARTIAL SET CAN BE COMPLETED */
#bazaarGrid .buy.is-partial{
  cursor:pointer!important;
  opacity:1!important;
}
#bazaarGrid .buy.is-partial:hover{
  filter:brightness(1.14)!important;
  transform:translateY(-1px)!important;
}
