/* Portada v8: orden por prioridad y acabado "de juego" (botones gruesos, tarjetas con marco). */
.home-page{--hv8-gold:#ffd583;--hv8-gold-d:#c98f2e;--hv8-water:#6fe0ef;--hv8-water-d:#2a8fa3;--hv8-card:#35244d;--hv8-edge:#e6ccff38}

/* Botones con volumen, como en el juego */
.home-page .hv8-btn{background:var(--hv8-gold)!important;color:#2d1743!important;font:700 .9rem/1 'Unbounded',sans-serif;letter-spacing:-.01em;padding:.95rem 1.3rem!important;border-radius:14px!important;border:2px solid #fff0c8;box-shadow:0 5px 0 var(--hv8-gold-d),0 14px 28px #13082055;transition:transform .12s,box-shadow .12s}
.home-page .hv8-btn:hover{filter:none;transform:translateY(-2px);box-shadow:0 7px 0 var(--hv8-gold-d),0 18px 32px #13082066}
.home-page .hv8-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--hv8-gold-d),0 6px 14px #13082044}
.home-page .hv8-btn-ghost{font-weight:600;padding:.95rem 1.2rem!important;border-radius:14px!important;border:2px solid #d9b8f570!important;box-shadow:0 5px 0 #1a0d2c66}

/* Héroe más directo */
.home-page .hv8-hero h1{max-width:12ch}
.home-page .hv8-hero .lead{max-width:40ch}
.home-page .hv8-hero .hero-actions{margin-top:1.7rem}

/* Títulos de sección */
.home-page main>section{padding:2.2rem 0!important}
.home-page .sec-cab h2{font-size:clamp(1.45rem,2.6vw,2rem)}
.home-page .section-kicker{color:var(--hv8-gold)}

/* 1. Qué hay hoy: evento(s) + acceso al calendario, sin huecos */
.hv8-now-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:stretch}
.hv8-now-live{min-width:0;display:grid;gap:.8rem;align-content:start}
.home-page .hv8-now .active-opportunities{grid-template-columns:1fr}
.home-page .hv8-now .events-home-grid:has(>.event-now[hidden]){display:none}
.home-page .hv8-now .opportunity{border:2px solid #f0b8ff40;border-radius:18px;padding:1.1rem;box-shadow:inset 0 1px 0 #ffffff1c,0 12px 30px #13082030}
.home-page .hv8-now .opportunity img{width:96px;height:96px;border-radius:14px}
.home-page .hv8-now .opportunity strong{font-family:'Unbounded',sans-serif;font-size:1.05rem;letter-spacing:-.015em}
.hv8-calendar{display:flex;flex-direction:column;gap:.45rem;padding:1.3rem;border:2px solid var(--hv8-edge);border-radius:18px;background:linear-gradient(160deg,#4a2f66,#33224a);text-decoration:none;box-shadow:inset 0 1px 0 #ffffff1c;transition:transform .15s,border-color .15s}
.hv8-calendar:hover{transform:translateY(-3px);border-color:var(--hv8-gold)}
.hv8-calendar-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#ffffff12;font-size:1.6rem;margin-bottom:.3rem}
.hv8-calendar strong{font:700 1.02rem/1.3 'Unbounded',sans-serif}
.hv8-calendar small{color:#d9c8e8;font-size:.88rem;line-height:1.5}
.hv8-link{margin-top:auto;padding-top:.5rem;color:var(--hv8-gold);font-weight:700;font-size:.88rem}

/* 2. Herramientas: cuatro cartas iguales, todas con arte */
.hv8-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.hv8-tool{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:1.2rem 1.2rem 1.3rem;border:2px solid var(--hv8-edge);border-radius:20px;background:var(--hv8-card);text-decoration:none;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff1c,0 5px 0 #1a0d2c66;transition:transform .15s,border-color .15s}
.hv8-tool:hover{transform:translateY(-4px);border-color:var(--hv8-accent,var(--hv8-gold))}
.hv8-tool img{width:78px;height:112px;object-fit:contain;align-self:flex-start;margin:-.1rem 0 .5rem;transform:rotate(-5deg);filter:drop-shadow(0 10px 10px #13082060);transition:transform .2s}
.hv8-tool:hover img{transform:rotate(0) scale(1.05)}
.hv8-tool small{font:700 .64rem/1.3 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--hv8-accent,var(--hv8-gold))}
.hv8-tool h3{font:700 1rem/1.35 'Unbounded',sans-serif;letter-spacing:-.02em}
.hv8-tool p{font-size:.88rem;color:#d9c8e8;line-height:1.5}
.hv8-tool .hv8-link{color:var(--hv8-accent,var(--hv8-gold))}
.hv8-tool.farm{--hv8-accent:#ffd583;background:radial-gradient(ellipse at 100% 0,#86613670,transparent 70%),#382749}
.hv8-tool.lands{--hv8-accent:#b8f08a;background:radial-gradient(ellipse at 100% 0,#4e7a3a66,transparent 70%),#2f2a45}
.hv8-tool.water{--hv8-accent:var(--hv8-water);background:radial-gradient(ellipse at 100% 0,#2f8a9e70,transparent 70%),#2a3150}
.hv8-tool.workshop{--hv8-accent:#ffa9d6;background:radial-gradient(ellipse at 100% 0,#9a4f7f66,transparent 70%),#402642}

/* 3. Minijuego: el pozo de agua */
.hv8-game{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:center;padding:clamp(1.5rem,4vw,2.4rem);border:2px solid #8ae9f555;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 85% 110%,#2fb3c966,transparent 60%),radial-gradient(ellipse at 0 0,#6a3fa855,transparent 60%),linear-gradient(135deg,#1f3a5c,#2a2150);box-shadow:inset 0 1px 0 #ffffff22,0 6px 0 #10284055,0 24px 60px #0a142a55}
.hv8-game::before{content:"";position:absolute;inset:auto -10% -30px;height:90px;background:repeating-radial-gradient(ellipse at 50% 0,#6fe0ef22 0 10px,transparent 10px 22px);opacity:.7;pointer-events:none}
.hv8-game-copy{position:relative;z-index:1}
.hv8-game .section-kicker{color:var(--hv8-water)}
.hv8-game h2{font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:-.035em;margin:.2rem 0 .7rem}
.hv8-game p{color:#d6e9f2;font-size:.98rem;max-width:44ch}
.hv8-soon{display:inline-block;margin-bottom:.9rem;padding:.35rem .7rem;border-radius:999px;background:var(--hv8-water);color:#0c2a36;font:700 .62rem/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 3px 0 var(--hv8-water-d)}
.hv8-game-steps{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;list-style:none}
.hv8-game-steps li{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem .5rem .5rem;border-radius:12px;background:#ffffff10;border:1px solid #9fe9f430;font-size:.85rem;font-weight:600}
.hv8-game-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#6fe0ef30;color:var(--hv8-water);font:700 .75rem/1 'Unbounded',sans-serif}
.hv8-well{position:relative;z-index:1;height:220px;display:grid;place-items:end center;padding-bottom:1.6rem}
.hv8-bucket{position:relative;width:128px;height:118px;border:5px solid #d7f6fb;border-top-width:3px;border-radius:10px 10px 30px 30px;overflow:hidden;background:#ffffff0e;box-shadow:0 8px 0 #0b203455}
.hv8-bucket::before{content:"";position:absolute;left:-14px;right:-14px;top:-40px;height:60px;border:4px solid #d7f6fb99;border-bottom:none;border-radius:60px 60px 0 0}
.hv8-bucket-water{position:absolute;left:0;right:0;bottom:0;height:68%;background:linear-gradient(180deg,#8ff0fb,#2aa6c0)}
.hv8-bucket-water::before{content:"";position:absolute;left:-50%;top:-8px;width:200%;height:16px;background:radial-gradient(ellipse at 25% 100%,#8ff0fb 60%,transparent 62%) 0 0/50% 100% repeat-x;animation:hv8-wave 3s linear infinite}
.hv8-drop{position:absolute;top:10px;width:18px;height:24px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(160deg,#dffbff,#46c3d8);clip-path:path('M9 0C9 0 0 11 0 16a9 8 0 0 0 18 0C18 11 9 0 9 0Z');animation:hv8-fall 2.4s ease-in infinite;opacity:0}
.hv8-drop.d1{left:calc(50% - 30px)}.hv8-drop.d2{left:calc(50% + 4px);animation-delay:.8s}.hv8-drop.d3{left:calc(50% + 26px);animation-delay:1.6s}
.hv8-meter{position:absolute;right:0;top:12px;padding:.55rem .75rem;border-radius:12px;background:#0b1c30cc;border:1px solid #6fe0ef44;text-align:right}
.hv8-meter span{display:block;font:500 .6rem/1.3 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#a9d9e3}
.hv8-meter b{font:700 1.2rem/1.2 'Unbounded',sans-serif;color:var(--hv8-water)}
@keyframes hv8-fall{0%{transform:translateY(0);opacity:0}15%{opacity:1}75%{transform:translateY(110px);opacity:1}100%{transform:translateY(120px);opacity:0}}
@keyframes hv8-wave{to{transform:translateX(25%)}}

/* 5. Cierre: comunidad + empezar a jugar en un solo bloque */
.hv8-closing{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1rem}
.hv8-community,.hv8-start{border:2px solid var(--hv8-edge);border-radius:24px;padding:clamp(1.4rem,3vw,2rem);box-shadow:inset 0 1px 0 #ffffff1c}
.hv8-community{background:linear-gradient(120deg,#583068e0,#322343f0)}
.hv8-community h2{font-size:clamp(1.3rem,2.3vw,1.75rem);letter-spacing:-.03em;margin:.35rem 0 1.1rem}
.hv8-community-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.hv8-community-links a{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border:1px solid #d4b0eb33;border-radius:14px;background:#ffffff08;text-decoration:none;transition:border-color .15s,background .15s}
.hv8-community-links a:hover{border-color:var(--hv8-gold);background:#ffffff10}
.hv8-community-links strong{font-size:.95rem}
.hv8-community-links small{font-size:.82rem;color:#d4c0e2;line-height:1.45}
.hv8-start{position:relative;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 0,#ffd58340,transparent 65%),#3d2a55}
.hv8-start img{width:84px;height:84px;object-fit:contain;margin-bottom:.4rem;filter:drop-shadow(0 10px 12px #13082066)}
.hv8-start h2{font-size:1.3rem;letter-spacing:-.02em}
.hv8-start p{color:#e0d2ec;font-size:.9rem;margin:.5rem 0 1.2rem;max-width:30ch}
.hv8-start .nota{font-size:.7rem;color:#c9b6da;margin:1rem 0 0}
.hv8-closing-section .home-sources{padding-top:1.6rem;padding-bottom:0}

/* Tablet */
@media(max-width:1000px){
  .hv8-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv8-closing{grid-template-columns:1fr}
}
@media(max-width:820px){
  .hv8-now-grid{grid-template-columns:1fr}
  .hv8-calendar{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:.9rem}
  .hv8-calendar-icon{margin:0}
  .hv8-calendar small{flex-basis:100%}
  .hv8-game{grid-template-columns:1fr;gap:.5rem}
  .hv8-well{height:190px}
}
/* Móvil */
@media(max-width:560px){
  .hv8-tools{gap:.7rem}
  .hv8-tool{padding:1rem}
  .hv8-tool img{width:58px;height:84px}
  .hv8-tool h3{font-size:.9rem}
  .hv8-tool p{font-size:.8rem}
  .hv8-community-links{grid-template-columns:1fr}
  .home-page .hv8-now .opportunity img{width:72px;height:72px}
}
@media(prefers-reduced-motion:reduce){.hv8-drop,.hv8-bucket-water::before{animation:none}.hv8-drop{opacity:0}}

/* Ajustes finos: alturas iguales y héroe más corto en móvil */
.hv8-now-live{display:flex;flex-direction:column}
.home-page .hv8-now .active-opportunities{flex:1;grid-auto-rows:1fr}
.hv8-community{display:flex;flex-direction:column;justify-content:center}
@media(max-width:680px){.home-page .home-world{height:220px;max-width:340px;margin:0 auto;width:100%}.home-page .home-world-card.seed{width:64px}.home-page .home-world-card.animal{width:58px}}
/* Columna lateral de «Qué hay hoy»: calculadora + calendario */
.hv8-side{display:grid;gap:.8rem;align-content:start}
.hv8-side .hv8-calendar{padding:1.05rem 1.15rem}
.hv8-calc{background:radial-gradient(ellipse at 100% 0,#86613680,transparent 70%),#3a2749;border-color:#ffd58355}
@media(max-width:820px){.hv8-side{grid-template-columns:1fr}}
/* Cinco herramientas: la rejilla se adapta */
.hv8-tools{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.hv8-tool.pools{--hv8-accent:#8ef0a8;background:radial-gradient(ellipse at 100% 0,#2f6e4a66,transparent 70%),#2c2c45}
.hv8-tool-ico{display:grid;place-items:center;width:78px;height:112px;margin:-.1rem 0 .5rem;border-radius:16px;background:#ffffff0e;border:2px solid #8ef0a855;font-size:2.6rem;transform:rotate(-5deg)}
/* Icono del juego (img/official/game) en la tarjeta de Pools. */
.hv8-ico-pools{background:#ffffff0e url(/img/official/game/icono-reward-pools.webp?v=1) center/72% no-repeat}
/* Reestructura 01/10: rutas de entrada, mapa del hub y ruta de guías */
.home-page nav.hv8-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.5rem;max-width:40rem}
.hv8-routes-title{grid-column:1/-1;color:#d9c8e8;font:700 .66rem/1.2 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.hv8-routes a{display:flex;gap:.55rem;align-items:center;min-width:0;padding:.7rem .75rem;border:2px solid var(--hv8-edge);border-radius:14px;background:#2d1f42cc;text-decoration:none;box-shadow:0 4px 0 #1a0d2c66;transition:transform .15s,border-color .15s}
.hv8-routes a:hover{transform:translateY(-2px);border-color:var(--hv8-gold)}
.hv8-routes i{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffffff10;font-style:normal;font-size:1.05rem}
.hv8-routes b{display:block;font-size:.86rem;line-height:1.2}
.hv8-routes small{display:block;margin-top:.1rem;color:#d4c0e2;font-size:.72rem;line-height:1.3}
.hv8-map-section .sec-cab p{color:#d9c8e8}
.hv8-map-section .hub-map>a{display:block;padding:1rem;border:1px solid var(--hv8-edge);border-radius:14px;color:var(--texto)}
.hv8-guides{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;counter-reset:none}
.hv8-guide{position:relative;height:100%;display:flex;flex-direction:column;gap:.35rem;padding:1.2rem;border:2px solid var(--hv8-edge);border-radius:20px;background:radial-gradient(ellipse at 100% 0,#2f6e4a55,transparent 70%),#2c2442;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff1c,0 5px 0 #1a0d2c66;transition:transform .15s,border-color .15s}
.hv8-guide:hover{transform:translateY(-4px);border-color:#8ef0a8}
.hv8-guide-step{display:grid;place-items:center;width:44px;height:44px;margin-bottom:.4rem;border-radius:14px;background:#8ef0a8;color:#123322;font:700 1.1rem/1 'Unbounded',sans-serif;box-shadow:0 4px 0 #3c9a60}
.hv8-guide small{font:700 .64rem/1.3 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#8ef0a8}
.hv8-guide h3{font:700 1rem/1.35 'Unbounded',sans-serif;letter-spacing:-.02em}
.hv8-guide p{font-size:.88rem;color:#d9c8e8;line-height:1.5}
.hv8-guide .hv8-link{color:#8ef0a8}
.hv8-guide.ama{background:radial-gradient(ellipse at 100% 0,#9a4f7f55,transparent 70%),#3a2445}
.hv8-guide.ama:hover{border-color:#ffa9d6}.hv8-guide.ama small,.hv8-guide.ama .hv8-link{color:#ffa9d6}
.hv8-guide.ama .hv8-guide-step{background:#ffffff14;box-shadow:none;font-size:1.3rem}
@media(max-width:1000px){.hv8-guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home-page nav.hv8-routes{grid-template-columns:1fr}.hv8-routes a{padding:.6rem .7rem}}
@media(max-width:560px){.hv8-guides{grid-template-columns:1fr;gap:.7rem}.hv8-guide{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:.85rem;padding:1rem}.hv8-guide>*:not(.hv8-guide-step){grid-column:2}.hv8-guide-step{grid-row:1/span 4;margin:0}}
/* ChainoorDex: consola de eventos en portada */
.dex{--dx-body:#7a2fb8;--dx-body2:#b8459a;--dx-edge:#2a1240;display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1.05fr);border-radius:28px;background:linear-gradient(150deg,var(--dx-body2),var(--dx-body) 55%,#4b1d7a);border:3px solid var(--dx-edge);box-shadow:inset 0 2px 0 #ffffff40,inset 0 -6px 0 #00000040,0 14px 0 #1a0b2b,0 30px 60px -20px #ff7ad977;padding:1rem;gap:0;position:relative}
.dex-left,.dex-right{min-width:0;display:flex;flex-direction:column;gap:.8rem}
.dex-hinge{background:repeating-linear-gradient(180deg,#3a1660 0 10px,#5a2a8c 10px 14px);border-radius:8px;margin:0 6px;box-shadow:inset 0 0 0 2px var(--dx-edge)}
.dex-top{display:flex;align-items:center;gap:.5rem;padding:.2rem .3rem}
.dex-lens{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 10%,#8ff3ff 18%,#2a8fa3 60%,#0c3a4a);border:5px solid #f3ecfb;box-shadow:0 0 0 3px var(--dx-edge),0 0 22px #6fe0efaa;animation:dex-glow 2.4s ease-in-out infinite}
.dex-led{width:14px;height:14px;border-radius:50%;border:2px solid var(--dx-edge);align-self:flex-start;margin-top:.2rem}
.dex-led.r{background:#ff5c7a;box-shadow:0 0 8px #ff5c7a}.dex-led.y{background:#ffd583;box-shadow:0 0 8px #ffd583}.dex-led.g{background:#8ef0a8;box-shadow:0 0 8px #8ef0a8}
@keyframes dex-glow{50%{box-shadow:0 0 0 3px var(--dx-edge),0 0 36px #6fe0efff}}
.dex-screen{position:relative;aspect-ratio:16/10;border-radius:14px 14px 14px 40px;overflow:hidden;background:#0f0a1c;border:10px solid #e9e0f5;box-shadow:inset 0 0 0 2px #0006,0 0 0 3px var(--dx-edge)}
.dex-screen img{width:100%;height:100%;object-fit:cover;display:block}
.dex-screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#00000022 3px 4px);pointer-events:none}
.dex-scan{position:absolute;left:0;right:0;top:-30%;height:30%;background:linear-gradient(180deg,#0000,#6fe0ef55,#0000);opacity:0;pointer-events:none}
.dex.scanning .dex-scan{animation:dex-scan .7s ease-out}.dex.scanning .dex-screen img{animation:dex-in .5s ease-out}
@keyframes dex-scan{0%{opacity:1;top:-30%}100%{opacity:0;top:100%}}
@keyframes dex-in{0%{filter:brightness(2) saturate(0) blur(2px)}100%{filter:none}}
.dex-no{position:absolute;top:.5rem;left:.6rem;padding:.15rem .5rem;border-radius:8px;background:#0f0a1ccc;color:#6fe0ef;font:700 .8rem 'JetBrains Mono',monospace}
.dex-live{position:absolute;bottom:.5rem;right:.6rem;display:flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border-radius:99px;background:#0f0a1ccc;color:#8ef0a8;font:700 .66rem 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.dex-live i{width:8px;height:8px;border-radius:50%;background:#8ef0a8;animation:dex-blink 1.2s infinite}
@keyframes dex-blink{50%{opacity:.25}}
.dex-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.dex-btn{width:52px;height:44px;border-radius:12px;border:3px solid var(--dx-edge);background:#2a1240;color:#ffd583;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 0 #12061f}
.dex-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #12061f}
.dex-brand{font:700 1rem 'Unbounded',sans-serif;color:#fff;text-shadow:0 2px 0 var(--dx-edge)}.dex-brand b{color:#ffd583}
.dex-display{flex:1;padding:1rem 1.1rem;border-radius:14px;background:linear-gradient(180deg,#1b2a2e,#13201f);border:3px solid var(--dx-edge);box-shadow:inset 0 0 30px #8ef0a81a;color:#d8ffe4;display:flex;flex-direction:column;gap:.45rem;min-height:260px}
.dex-type{align-self:flex-start;padding:.2rem .55rem;border-radius:6px;background:#8ef0a8;color:#10301c;font:700 .62rem 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.dex-type.t-tournament{background:#6fe0ef;color:#0c2a36}.dex-type.t-season-pass{background:#e0a8ff;color:#2d1743}.dex-type.t-progression,.dex-type.t-double{background:#ffd583;color:#2d1743}.dex-type.t-mirror{background:#c9c3d6}
.dex-display h3{font:700 clamp(1.25rem,2.6vw,1.7rem)/1.15 'Unbounded',sans-serif;color:#fff}
.dex-count{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;color:#8ef0a8}
.dex-count small{width:100%;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#9fd9b0}
.dex-count span{font-size:.75rem}.dex-count b{font-size:1.35rem;color:#fff;margin-right:.1rem}
.dex-display p{font-size:.88rem;line-height:1.5;color:#cfeee0}.dex-rw{color:#ffe6b0!important}
.dex-go{margin-top:auto;align-self:flex-start;padding:.6rem 1rem;border-radius:12px;background:#ffd583;color:#2d1743;font:700 .88rem 'Instrument Sans',sans-serif;text-decoration:none;box-shadow:0 4px 0 #c98f2e}
.dex-go:hover{transform:translateY(-2px)}
.dex-keys{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}
.dex-keys button{flex:0 0 auto;max-width:12rem;padding:.45rem .65rem;border-radius:10px;border:2px solid var(--dx-edge);background:#ffffff1f;color:#fff;font:600 .78rem 'Instrument Sans',sans-serif;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.dex-keys button i{font-style:normal;color:#ffd583;font-family:'JetBrains Mono',monospace;margin-right:.35rem}
.dex-keys button.on{background:#ffd583;color:#2d1743}.dex-keys button.on i{color:#7a2fb8}
.dex-foot{display:flex;gap:.5rem;flex-wrap:wrap}.dex-foot a{flex:1;text-align:center;padding:.55rem;border-radius:12px;background:#2a1240;color:#fff;font-weight:700;font-size:.85rem;text-decoration:none;border:2px solid #ffffff22}
.dex-foot a:hover{border-color:#ffd583;color:#ffd583}
.dex:focus-visible{outline:3px solid #ffd583;outline-offset:4px}
@media(max-width:820px){.dex{grid-template-columns:1fr;padding:.8rem;border-radius:24px}.dex-hinge{height:16px;margin:.7rem 0;background:repeating-linear-gradient(90deg,#3a1660 0 10px,#5a2a8c 10px 14px)}.dex-display{min-height:0}.dex-lens{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.dex-lens,.dex-live i{animation:none}}
/* Móvil: herramientas en filas compactas (imagen a la izquierda) */
@media(max-width:560px){
  .hv8-tools{grid-template-columns:1fr;gap:.55rem}
  .hv8-tool{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:.85rem;row-gap:.1rem;padding:.8rem .9rem;align-items:center}
  .hv8-tool img,.hv8-tool .hv8-tool-ico{grid-row:1/4;width:50px;height:72px;margin:0;align-self:center}
  .hv8-tool .hv8-tool-ico{font-size:1.6rem;border-radius:12px}
  .hv8-tool p{display:none}
  .hv8-tool .hv8-link{grid-column:2;padding-top:.15rem;font-size:.8rem}
  .hv8-tool h3{font-size:.92rem}
}
/* Pozo de Waterland en portada (datos reales de la cuenta) */
.hv8-soon.live{background:#8ef0a8;color:#10301c}
.hv8-bucket-water{transition:height 1s ease}
.hv8-pozo-cta{display:grid;gap:.6rem;margin-top:1rem;justify-items:start}
.hv8-pozo-me{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-size:.92rem}
.hv8-pozo-me img{width:30px;height:30px;border-radius:50%;border:2px solid var(--hv8-gold)}
.hv8-pozo-note{font-size:.78rem;color:#cfeef2}
.hv8-mini-rank{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.25rem;width:100%;max-width:340px}
.hv8-mini-rank li{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;gap:.4rem;align-items:center;padding:.35rem .6rem;border-radius:10px;background:#0c2a3699;font-size:.85rem}
.hv8-mini-rank span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.hv8-mini-rank em{font-style:normal;font:700 .8rem 'JetBrains Mono',monospace;color:#8ef0a8}

/* Cuarta ruta: el Pozo, con un toque dorado */
.hv8-routes a.hv8-route-pozo{border-color:#ffd58399;background:linear-gradient(135deg,#ffd5831f,#2d1f42cc)}

/* Registro directo en Chainers: en el móvil va en su propia fila bajo los dos botones */
@media(max-width:680px){.home-page .hero-actions{flex-wrap:wrap}.home-page .hero-actions .hv8-btn-signup{flex:1 1 100%}}

/* Fase 2 (19/10): portada más corta. Mapa plegado (sigue en /#mapa), cierre a una columna y, en el móvil, sin el cubo decorativo del Pozo. */
.hv8-map-fold>summary{list-style:none;cursor:pointer;margin-bottom:0}
.hv8-map-fold>summary::-webkit-details-marker{display:none}
.hv8-map-fold>summary h2::after{content:" ▾";color:var(--hv8-gold,#ffd583);font-size:.7em}
.hv8-map-fold[open]>summary h2::after{content:" ▴"}
.hv8-map-fold[open]>summary{margin-bottom:1.2rem}
.hv8-closing-solo{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}
@media(max-width:700px){.hv8-well{display:none}.hv8-game{grid-template-columns:minmax(0,1fr)}}
/* Escena de la portada (20/10): isla flotante en vóxeles con los Chainers, renderizada con tools/iconos/portada.py.
   La imagen ya trae el resplandor y se desvanece en los bordes: sin fondo, órbita ni cartas por código. */
.home-page .home-world.home-world-v2{height:auto;max-width:none;width:auto;margin:0 -6%;background:none;box-shadow:none;border-radius:0;isolation:auto}
.home-world-v2 .home-escena{display:block;width:100%;height:auto;animation:hv8-flota 7s ease-in-out infinite}
@keyframes hv8-flota{50%{transform:translateY(-8px)}}
@media(max-width:680px){.home-page .home-world.home-world-v2{margin:-.8rem -16px -2.2rem;max-width:none;width:auto}}
@media(prefers-reduced-motion:reduce){.home-world-v2 .home-escena{animation:none}}
/* Islotes flotantes (tools/iconos/islotes.py): pocos y como adorno, nunca tapando texto. */
.islote{pointer-events:none;height:auto;animation:hv8-flota 8s ease-in-out infinite;filter:drop-shadow(0 18px 22px #12062466)}
.home-tools .sec-cab{position:relative}
.islote-cab{position:absolute;right:0;top:-1.6rem;width:clamp(96px,13vw,160px);animation-delay:-2s}
.hv8-closing{position:relative}
.hv8-start .islote-izq,.hv8-start .islote-der{position:absolute;z-index:0;width:clamp(110px,12vw,160px);height:auto;margin:0}
.hv8-start .islote-izq{left:5%;top:12%;animation-delay:-4s}
.hv8-start .islote-der{right:5%;bottom:10%;animation-delay:-1s}
.hv8-start>*:not(.islote){position:relative;z-index:1}
@media(max-width:900px){.islote-izq,.islote-der{display:none}}
@media(max-width:680px){.home-tools .sec-cab h2{max-width:calc(100% - 96px)}.islote-cab{width:88px;top:-.6rem}}
@media(prefers-reduced-motion:reduce){.islote{animation:none}}

/* Directo de los domingos (magenta, para no confundirlo con el Pozo) */
.hv8-live-section{padding-top:clamp(1.2rem,3vw,2rem)}
.hv8-live{position:relative;padding:clamp(1.4rem,4vw,2.2rem);border:2px solid #ff7ad955;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#c2459a66,transparent 60%),linear-gradient(135deg,#3a1f52,#2a2150)}
.hv8-live .section-kicker{color:#ffa9d6}
.hv8-live h2{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.035em;margin:.2rem 0 .7rem}
.hv8-live p{color:#eadcf5;font-size:.98rem;max-width:56ch}
.hv8-live-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}
@media(max-width:700px){.hv8-live-cta .btn{flex:1 1 100%;text-align:center}}
/* «Lo nuevo hoy» (propietario 04/11): noticias justo bajo el saludo; una grande y tres en fila, cada una abre su página. */
#noticias.home-news{padding-top:1.2rem}
#news-grid-home.hn-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-auto-rows:auto;gap:.7rem}
#news-grid-home.hn-grid .hn-lead{position:relative;grid-row:span 3;flex-direction:column;min-height:0}
#news-grid-home.hn-grid .hn-lead .news-card-image{height:auto;aspect-ratio:16/9;width:100%;object-fit:cover}
#news-grid-home.hn-grid .hn-lead h3{font:700 1.15rem/1.3 'Unbounded',sans-serif}
#news-grid-home.hn-grid .hn-new{position:absolute;top:.7rem;right:.7rem;background:#ffc95a;color:#22142f;font:800 .7rem 'JetBrains Mono',monospace;letter-spacing:.08em;padding:.3rem .55rem;border-radius:8px}
#news-grid-home.hn-grid .hn-row{flex-direction:row;align-items:center;gap:.8rem;padding:.55rem;min-height:0}
#news-grid-home.hn-grid .hn-row .news-card-image{width:78px;height:78px;flex:none;border-radius:12px;border:0}
#news-grid-home.hn-grid .hn-row .news-card-body{padding:0;gap:.3rem}
#news-grid-home.hn-grid .hn-row h3{font:600 .95rem/1.3 'Instrument Sans',sans-serif;letter-spacing:0;margin:0}
#news-grid-home.hn-grid .hn-row .chip{align-self:flex-start;font-size:.62rem;padding:.2rem .5rem}
@media(max-width:900px){#news-grid-home.hn-grid{grid-template-columns:1fr}#news-grid-home.hn-grid .hn-lead{grid-row:auto}}
#news-grid-home.hn-grid .art.hn-lead{display:flex;flex-direction:column;padding:0}
#news-grid-home.hn-grid .art.hn-lead .news-card-image{min-height:0;height:auto}
#news-grid-home.hn-grid .art.hn-row{display:flex;flex-direction:row}
#news-grid-home.hn-grid .art.hn-row .news-card-image{min-height:0;height:78px}
#news-grid-home.hn-grid .hn-lead .news-card-summary{-webkit-line-clamp:2}
