/* Lanternox: Noche Eterna — estilos propios de /lanternox
   Paleta "Lanternox 32" (guía de estilo del juego). Regla de oro:
   los tonos cálidos solo aparecen donde hay luz o recompensa. */

@font-face{
  font-family:'Pixelify Sans';
  src:url('/assets/fonts/pixelify-sans.ttf') format('truetype');
  font-weight:400 700;font-display:swap;
}

.lnx{
  --night:#0B0A12;
  --abyss:#141225;
  --ink:#1E1B33;
  --slate:#2A2545;
  --violet:#3B3358;
  --lantern:#F4A93B;
  --flame:#FFF8E7;
  --candle:#FFE9A8;
  --amber:#FFD166;
  --ember:#E07A2E;
  --eyes:#FF3B4E;
  --parchment:#E8E3D9;
  --bone:#C2BCC4;
  --moon:#8196B5;
  --dawn:#9FE3FF;
  --arcane:#B46BFF;
  --pixel:'Pixelify Sans','Rajdhani',monospace;
  background:var(--night);color:var(--parchment);
}
.lnx .pix,.lnx img.pix{image-rendering:pixelated;image-rendering:crisp-edges}
.lnx h2,.lnx h3,.lnx .lnx-eyebrow,.lnx .btn{font-family:var(--pixel);letter-spacing:0;text-transform:none}
.lnx section{padding:84px 0;position:relative}
.lnx .section-head h2{font-size:clamp(30px,4.6vw,48px);color:var(--candle);font-weight:600}
.lnx .section-head h2::after{background:linear-gradient(90deg,transparent,var(--lantern),transparent);height:3px;border-radius:0}
.lnx .section-head p{color:var(--bone)}
.lnx-eyebrow{font-size:15px;color:var(--lantern);letter-spacing:1px}

/* botones: faroles, no neón */
.lnx .btn{border-radius:4px;font-weight:600;font-size:18px;padding:13px 24px}
.lnx .btn-primary{background:linear-gradient(180deg,var(--amber),var(--lantern) 60%,var(--ember));
  color:var(--night);box-shadow:0 0 0 2px var(--night),0 0 0 4px rgba(244,169,59,.45),0 14px 36px rgba(244,169,59,.28)}
.lnx .btn-primary:hover{box-shadow:0 0 0 2px var(--night),0 0 0 4px var(--lantern),0 18px 46px rgba(244,169,59,.45)}
.lnx .btn-ghost{background:rgba(30,27,51,.7);color:var(--candle);border:2px solid var(--violet);box-shadow:none}
.lnx .btn-ghost:hover{border-color:var(--lantern);color:var(--amber)}

/* ---------- HERO: la noche y el farol ---------- */
.lnx-hero{position:relative;overflow:hidden;min-height:min(88vh,860px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:60px 0 120px !important;isolation:isolate;touch-action:pan-y;
  --lx:50%;--ly:38%;--r:min(46vh,340px)}
.lnx-layer{position:absolute;inset:-2% -4% 0;z-index:-4;background-repeat:repeat-x;
  background-position:center bottom;background-size:auto 100%;
  image-rendering:pixelated;will-change:transform}
.lnx-layer.sky{background-image:url('/assets/lanternox/title/sky.webp');z-index:-6}
.lnx-layer.far{background-image:url('/assets/lanternox/title/far.webp');z-index:-5}
.lnx-layer.backdrop{background-image:url('/assets/lanternox/title/backdrop.webp')}
.lnx-layer.near{background-image:url('/assets/lanternox/title/near.webp');z-index:-3}
/* oscuridad con un círculo de luz posterizado (anillos, como en el juego) */
.lnx-dark{position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(circle at var(--lx) var(--ly),
    rgba(11,10,18,0) 0, rgba(11,10,18,0) calc(var(--r)*.42),
    rgba(11,10,18,.30) calc(var(--r)*.42), rgba(11,10,18,.30) calc(var(--r)*.62),
    rgba(11,10,18,.58) calc(var(--r)*.62), rgba(11,10,18,.58) calc(var(--r)*.82),
    rgba(11,10,18,.72) calc(var(--r)*.82), rgba(11,10,18,.72) var(--r),
    rgba(11,10,18,.80) var(--r))}
.lnx-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle at var(--lx) var(--ly),
    rgba(244,169,59,.30) 0, rgba(244,169,59,.30) calc(var(--r)*.22),
    rgba(244,169,59,.16) calc(var(--r)*.22), rgba(244,169,59,.16) calc(var(--r)*.42),
    rgba(224,122,46,.07) calc(var(--r)*.42), rgba(224,122,46,.07) calc(var(--r)*.62),
    transparent calc(var(--r)*.62));
  animation:lnx-flicker 3.2s steps(1) infinite}
@keyframes lnx-flicker{0%,100%{opacity:1}22%{opacity:.86}24%{opacity:1}61%{opacity:.92}63%{opacity:1}}
.lnx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;z-index:-1;
  background:linear-gradient(180deg,transparent,var(--night));pointer-events:none}

.lnx-eyes{position:absolute;inset:0;z-index:-1;pointer-events:none}
.lnx-eyes i{position:absolute;width:28px;height:12px;transition:opacity .35s;
  background:url('/assets/lanternox/title/eyes.webp') 0 0/200% 100%;image-rendering:pixelated;
  filter:drop-shadow(0 0 6px rgba(255,59,78,.75));animation:lnx-blink 5s steps(1) infinite}
.lnx-eyes i.lit{opacity:0}
/* sprite de 2 fotogramas: ojos abiertos / entornados */
@keyframes lnx-blink{0%,100%{background-position:0 0}46%{background-position:100% 0}50%{background-position:0 0}}

.lnx-hero-inner{position:relative;max-width:760px;padding:0 22px}
.lnx-lantern{width:96px;height:144px;margin:0 auto 6px;
  background:url('/assets/lanternox/title/lantern.webp') 0 0/400% 100%;image-rendering:pixelated;
  animation:lnx-lantern .8s steps(4) infinite;filter:drop-shadow(0 0 26px rgba(244,169,59,.55))}
@keyframes lnx-lantern{to{background-position:-400% 0}}
.lnx-hero h1{margin:0}
.lnx-logo{width:min(88vw,690px);height:auto;margin:0 auto;filter:drop-shadow(0 6px 0 rgba(11,10,18,.8))}
.lnx-sub{font-family:var(--pixel);font-size:clamp(22px,3.4vw,30px);color:var(--candle);margin-top:14px}
.lnx-lead{color:var(--parchment);font-size:18px;max-width:600px;margin:12px auto 0;text-shadow:0 2px 12px var(--night)}
.lnx-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}
.lnx-chips span{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:15px;letter-spacing:.5px;color:var(--bone);background:rgba(20,18,37,.82);
  border:2px solid var(--violet);padding:4px 11px;border-radius:3px}
.lnx-chips span.soon{color:var(--night);background:var(--lantern);border-color:var(--lantern)}
.lnx-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.lnx-hint{position:absolute;left:0;right:0;bottom:34px;font-family:var(--pixel);font-size:14px;color:var(--moon);opacity:.85}

/* ---------- Tráiler + capturas ---------- */
.lnx-media{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:start}
.lnx-phone{width:300px;border:4px solid var(--violet);border-radius:22px;padding:8px;background:var(--abyss);
  box-shadow:0 0 0 2px var(--night),0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(244,169,59,.12)}
.lnx-phone video{display:block;width:100%;aspect-ratio:9/16;border-radius:14px;background:#000}
.lnx-phone figcaption{font-family:var(--pixel);text-align:center;color:var(--bone);font-size:15px;padding:10px 0 2px}
.lnx-shots{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 18px;
  scrollbar-color:var(--violet) transparent}
.lnx-shots figure{flex:0 0 auto;scroll-snap-align:start;margin:0}
.lnx-shots img{width:270px;height:480px;border:3px solid var(--slate);border-radius:6px;background:var(--night)}
.lnx-shots figcaption{font-family:var(--pixel);color:var(--candle);font-size:17px;margin-top:10px;max-width:270px}
.lnx-shots figcaption small{display:block;color:var(--bone);font-size:14px;opacity:.85}

/* ---------- La luz ---------- */
.lnx-light{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lnx-card{background:linear-gradient(180deg,var(--ink),var(--abyss));border:2px solid var(--violet);
  border-radius:6px;padding:26px 24px}
.lnx-card h3{font-size:22px;color:var(--candle);margin:14px 0 8px;font-weight:600}
.lnx-card p{color:var(--bone);font-size:16px;margin:0}
.lnx-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center}
.lnx-ico.in{background:radial-gradient(circle,var(--candle) 0 22%,var(--lantern) 23% 46%,rgba(244,169,59,.25) 47% 70%,transparent 71%)}
.lnx-ico.out{background:var(--night);box-shadow:inset 0 0 0 2px var(--violet)}
.lnx-ico.out i{width:28px;height:12px;background:url('/assets/lanternox/title/eyes.webp') 0 0/200% 100%;image-rendering:pixelated;
  filter:drop-shadow(0 0 5px rgba(255,59,78,.8))}
.lnx-ico.oil{background:var(--ink);box-shadow:inset 0 0 0 2px var(--violet);position:relative;overflow:hidden}
.lnx-ico.oil::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:var(--ember);
  animation:lnx-oil 4s steps(6) infinite alternate}
@keyframes lnx-oil{from{height:75%}to{height:12%}}

/* ---------- Cifras ---------- */
.lnx-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:46px}
.lnx-stats div{text-align:center;padding:16px 8px;border:2px solid var(--slate);border-radius:6px;background:rgba(20,18,37,.6)}
.lnx-stats b{display:block;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:44px;line-height:1;color:var(--amber)}
.lnx-stats span{display:block;color:var(--bone);font-size:14px;margin-top:6px}

/* ---------- Héroes ---------- */
.lnx-heroes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.lnx-hero-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:2px solid var(--slate);
  border-radius:6px;background:var(--abyss);transition:border-color .2s,transform .2s}
.lnx-hero-card:hover{border-color:var(--lantern);transform:translateY(-2px)}
.lnx-sprite{flex:0 0 auto;width:64px;height:64px;background-size:400% 100%;image-rendering:pixelated;
  animation:lnx-idle .67s steps(4) infinite;
  background-color:var(--ink);border-radius:50%;box-shadow:inset 0 -10px 18px rgba(244,169,59,.18)}
@keyframes lnx-idle{from{background-position:0 0}to{background-position:-400% 0}}
.lnx-hero-card h3{font-size:18px;color:var(--candle);margin:2px 0 4px;font-weight:600;line-height:1.15}
.lnx-hero-card p{color:var(--bone);font-size:14px;line-height:1.5;margin:0}
.lnx-hero-card p b{color:var(--parchment);font-weight:600}

/* ---------- Jefes ---------- */
.lnx-bosses{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.lnx-boss{text-align:center;padding:22px 14px 20px;border-radius:6px;border:2px solid #3a1e2c;
  background:radial-gradient(120% 70% at 50% 100%,rgba(255,59,78,.12),transparent 60%),var(--abyss)}
.lnx-boss .lnx-sprite{width:128px;height:128px;margin:0 auto 10px;background-color:transparent;box-shadow:none;border-radius:0;
  animation-duration:.8s}
.lnx-boss.king .lnx-sprite{width:144px;height:144px;margin-top:-16px}
.lnx-boss h3{font-size:18px;color:var(--parchment);margin:0 0 6px;font-weight:600}
.lnx-boss p{color:var(--bone);font-size:14px;font-style:italic;margin:0}
.lnx-boss.king{border-color:rgba(255,59,78,.55)}
.lnx-boss.king h3{color:var(--eyes)}

/* ---------- Modos ---------- */
.lnx-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lnx-mode{padding:22px;border-left:4px solid var(--lantern);background:linear-gradient(90deg,var(--ink),var(--abyss));border-radius:0 6px 6px 0}
.lnx-mode h3{font-size:20px;color:var(--candle);margin:0 0 6px;font-weight:600}
.lnx-mode p{color:var(--bone);font-size:15px;margin:0}
.lnx-mode.arcane{border-left-color:var(--arcane)}
.lnx-mode.dawn{border-left-color:var(--dawn)}

/* ---------- Santuario ---------- */
.lnx-split{display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center}
.lnx-split img{width:270px;height:480px;border:3px solid var(--slate);border-radius:6px}
.lnx-split h2{font-size:clamp(28px,4vw,42px);color:var(--candle);font-weight:600;margin:8px 0 14px}
.lnx-split p{color:var(--bone);font-size:17px}
.lnx-list{margin-top:18px;display:grid;gap:10px}
.lnx-list li{position:relative;padding-left:26px;color:var(--parchment)}
.lnx-list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--lantern);
  box-shadow:0 0 10px rgba(244,169,59,.7)}

/* ---------- Juego justo ---------- */
.lnx-fair{max-width:960px;margin:0 auto;padding:40px;border:2px solid var(--violet);border-radius:8px;
  background:radial-gradient(90% 120% at 0 0,rgba(159,227,255,.07),transparent 55%),var(--abyss)}
.lnx-fair ul{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;margin-top:22px}
.lnx-fair li{display:flex;gap:12px;align-items:flex-start;color:var(--parchment)}
.lnx-fair li::before{content:"✓";font-family:var(--pixel);color:var(--dawn);font-size:20px;line-height:1.2}
.lnx-fair li span{color:var(--bone);display:block;font-size:14px}

/* ---------- FAQ / CTA ---------- */
.lnx .faq details{background:var(--abyss);border:2px solid var(--slate);border-radius:6px}
.lnx .faq details[open]{border-color:var(--violet)}
.lnx .faq summary{font-family:var(--pixel);font-size:18px;color:var(--candle)}
.lnx .faq summary:hover{color:var(--amber)}
.lnx .faq details p{color:var(--bone)}
.lnx .faq details p a{color:var(--lantern);border-bottom-color:rgba(244,169,59,.35)}
.lnx-cta{text-align:center;max-width:720px;margin:0 auto;padding:54px 30px;border-radius:8px;position:relative;overflow:hidden;
  background:radial-gradient(circle at 50% 0,rgba(244,169,59,.22),transparent 60%),var(--abyss);border:2px solid var(--violet)}
.lnx-cta h2{font-size:clamp(30px,5vw,46px);color:var(--candle);font-weight:600}
.lnx-cta p{color:var(--bone);margin:12px auto 0;max-width:520px}
.lnx-legal{margin-top:26px;font-size:14px;color:var(--moon)}
.lnx-legal a{color:var(--bone);border-bottom:1px solid var(--violet)}
.lnx-legal a:hover{color:var(--amber)}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .lnx-media{grid-template-columns:1fr}
  .lnx-phone{margin:0 auto}
  .lnx-heroes{grid-template-columns:repeat(2,1fr)}
  .lnx-bosses{grid-template-columns:repeat(3,1fr)}
  .lnx-stats{grid-template-columns:repeat(3,1fr)}
  .lnx-modes{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .lnx section{padding:62px 0}
  .lnx-hero{min-height:84vh;--r:min(36vh,230px)}
  .lnx-lantern{width:64px;height:96px}
  .lnx-light,.lnx-modes,.lnx-heroes{grid-template-columns:1fr}
  .lnx-bosses{grid-template-columns:repeat(2,1fr)}
  .lnx-boss.king{grid-column:1/-1}
  .lnx-split{grid-template-columns:1fr;gap:30px}
  .lnx-split img{margin:0 auto}
  .lnx-fair{padding:26px 20px}
  .lnx-fair ul{grid-template-columns:1fr}
  .lnx-shots img{width:216px;height:384px}
  .lnx-shots figcaption{max-width:216px}
}
@media(prefers-reduced-motion:reduce){
  .lnx-glow,.lnx-eyes i,.lnx-lantern,.lnx-sprite,.lnx-ico.oil::after{animation:none}
}
@media(max-width:700px){.lnx-shots img.pix{image-rendering:auto}}
