
/*
 Impulsa Quest V69 · Visual Pack
 Capa visual compartida. No modifica la lógica de juego.
*/
:root{
  --v69-accent:#46e5ff;
  --v69-accent2:#9a7cff;
  --v69-warm:#ffd66b;
  --v69-success:#70ffb4;
  --v69-danger:#ff5b7a;
  --v69-deep:#020712;
  --v69-panel:rgba(8,18,36,.76);
  --world-accent:#46e5ff;
}
body[data-iq-campaign]{position:relative;isolation:isolate}
body[data-iq-campaign]::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-8;
  background:
    radial-gradient(circle at 22% 12%,color-mix(in srgb,var(--v69-accent) 15%,transparent),transparent 28%),
    radial-gradient(circle at 82% 72%,color-mix(in srgb,var(--v69-accent2) 12%,transparent),transparent 30%);
}
body[data-iq-campaign="1"]{
  --v69-accent:#4ce8ff;--v69-accent2:#6e8dff;--v69-warm:#ffd972;
  background-color:#06101e;
}
body[data-iq-campaign="2"]{
  --v69-accent:#45f2c3;--v69-accent2:#31bfff;--v69-warm:#ffe16a;
  background-color:#03120f;
}
body[data-iq-campaign="3"]{
  --v69-accent:#67eaff;--v69-accent2:#b57bff;--v69-warm:#ffb35c;
  background-color:#030610;
}

/* atmósfera liviana */
.v69-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-6}
.v69-atmosphere::before,.v69-atmosphere::after{
  content:"";position:absolute;inset:-12%;opacity:.42;will-change:transform;
}
body[data-iq-campaign="1"] .v69-atmosphere::before{
  background:
    linear-gradient(120deg,transparent 0 45%,rgba(76,232,255,.055) 46% 47%,transparent 48% 100%),
    radial-gradient(ellipse at 45% 82%,rgba(52,127,183,.17),transparent 45%);
  animation:v69DriftA 18s ease-in-out infinite alternate;
}
body[data-iq-campaign="1"] .v69-atmosphere::after{
  background-image:linear-gradient(rgba(76,232,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(76,232,255,.035) 1px,transparent 1px);
  background-size:58px 58px;transform:perspective(700px) rotateX(56deg) translateY(38%);
  transform-origin:bottom;opacity:.24;
}
body[data-iq-campaign="2"] .v69-atmosphere::before{
  background:
    repeating-linear-gradient(90deg,transparent 0 79px,rgba(69,242,195,.035) 80px),
    repeating-linear-gradient(0deg,transparent 0 79px,rgba(69,242,195,.025) 80px);
  animation:v69Scan 12s linear infinite;
}
body[data-iq-campaign="2"] .v69-atmosphere::after{
  background:
    radial-gradient(circle at 18% 65%,rgba(69,242,195,.14),transparent 25%),
    radial-gradient(circle at 82% 25%,rgba(49,191,255,.11),transparent 28%);
  animation:v69DriftB 16s ease-in-out infinite alternate;
}
body[data-iq-campaign="3"] .v69-atmosphere::before{
  background:
    radial-gradient(circle at 50% 120%,rgba(181,123,255,.23),transparent 36%),
    linear-gradient(115deg,transparent 0 48%,rgba(103,234,255,.04) 49%,transparent 50%);
  animation:v69DriftA 20s ease-in-out infinite alternate;
}
body[data-iq-campaign="3"] .v69-atmosphere::after{
  background:conic-gradient(from 140deg at 50% 100%,transparent,rgba(103,234,255,.06),transparent 18%,rgba(181,123,255,.05),transparent 38%);
  animation:v69PulseSky 8s ease-in-out infinite alternate;
}
.v69-particle{
  position:absolute;border-radius:999px;background:var(--v69-accent);
  width:3px;height:3px;opacity:.32;box-shadow:0 0 10px color-mix(in srgb,var(--v69-accent) 68%,transparent);
  animation:v69Particle var(--dur,13s) linear infinite;animation-delay:var(--delay,0s);
  left:var(--x,50%);top:110%;
}
body[data-iq-campaign="2"] .v69-particle{border-radius:2px;width:2px;height:8px}
body[data-iq-campaign="3"] .v69-particle:nth-child(3n){background:var(--v69-accent2)}
@keyframes v69Particle{to{transform:translate3d(var(--dx,20px),-125vh,0) scale(.4);opacity:.05}}
@keyframes v69DriftA{to{transform:translate3d(3%,-2%,0) scale(1.05)}}
@keyframes v69DriftB{to{transform:translate3d(-3%,2%,0) scale(1.04)}}
@keyframes v69Scan{to{transform:translateY(80px)}}
@keyframes v69PulseSky{to{opacity:.68;transform:scale(1.06)}}

/* identidad discreta */
.v69-campaign-signature{
  width:min(1180px,calc(100% - 28px));margin:14px auto 0;padding:10px 14px;
  border:1px solid color-mix(in srgb,var(--v69-accent) 24%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--v69-accent) 10%,transparent),rgba(5,12,26,.56),transparent);
  border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(0,0,0,.16);
  color:#eafaff;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
}
.v69-campaign-signature b{color:var(--v69-accent);font-size:13px}
.v69-campaign-signature span:last-child{color:#9db6cb;font-weight:700;letter-spacing:.04em}


body[data-iq-campaign="3"] .v69-campaign-signature{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:25;margin:0;
  width:min(900px,calc(100% - 48px));background:linear-gradient(90deg,rgba(103,234,255,.08),rgba(5,12,26,.48),rgba(181,123,255,.08));
}

/* tarjetas y HUD: profundidad sin cambiar layout */
body[data-iq-campaign] .card,
body[data-iq-campaign] .iq-card,
body[data-iq-campaign] .prime-card,
body[data-iq-campaign] .prime-hub-card,
body[data-iq-campaign] .prime-mission{
  box-shadow:0 24px 64px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055);
}
body[data-iq-campaign="1"] .brand{
  background:
    linear-gradient(115deg,rgba(76,232,255,.12),transparent 42%),
    linear-gradient(180deg,rgba(15,34,60,.96),rgba(6,16,30,.97));
  border-color:rgba(76,232,255,.25);
}
body[data-iq-campaign="1"] .stat{
  background:linear-gradient(180deg,rgba(10,29,49,.94),rgba(5,16,29,.9));
  border-color:rgba(76,232,255,.16);
}
body[data-iq-campaign="1"] .stat b{color:#f7fdff;text-shadow:0 0 18px rgba(76,232,255,.18)}
body[data-iq-campaign="1"] #battleScreen{
  box-shadow:0 28px 78px rgba(0,0,0,.42),0 0 0 1px color-mix(in srgb,var(--world-accent) 24%,transparent),0 0 44px color-mix(in srgb,var(--world-accent) 8%,transparent);
}
body[data-iq-campaign="1"] #worldIntroScreen{
  background:
    radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--world-accent) 13%,transparent),transparent 30%),
    linear-gradient(180deg,rgba(8,26,47,.94),rgba(5,14,28,.96));
}

/* campaña 2: terminal / circuito */
body[data-iq-campaign="2"] .iq-topbar{border-bottom-color:rgba(69,242,195,.16)}
body[data-iq-campaign="2"] .iq-brand-mark{border-color:rgba(69,242,195,.28);box-shadow:0 0 28px rgba(69,242,195,.13)}
body[data-iq-campaign="2"] .attack-hero .iq-card:first-child{
  overflow:hidden;
  background:
    linear-gradient(115deg,rgba(69,242,195,.105),transparent 42%),
    linear-gradient(180deg,rgba(7,25,28,.92),rgba(4,13,20,.95));
  border-color:rgba(69,242,195,.22);
}
body[data-iq-campaign="2"] .attack-hero .iq-card:first-child::after{
  content:"";position:absolute;right:-55px;top:-70px;width:250px;height:250px;border-radius:50%;
  border:1px solid rgba(69,242,195,.12);box-shadow:0 0 60px rgba(69,242,195,.07);
}
body[data-iq-campaign="2"] .mission-signal{
  box-shadow:inset 0 0 28px rgba(69,242,195,.035);
}
body[data-iq-campaign="2"] .attack-fighter{
  border-color:rgba(69,242,195,.16);
}
body[data-iq-campaign="2"] #enemyCard{
  border-color:rgba(255,93,115,.19);
  box-shadow:0 24px 62px rgba(0,0,0,.35),0 0 38px rgba(255,93,115,.035);
}
body[data-iq-campaign="2"] .campaign-rail-bar i{
  box-shadow:0 0 18px rgba(69,242,195,.35);
}

/* campaña 3: épica espacial */
body[data-iq-campaign="3"] .prime-shell{
  background:
    radial-gradient(circle at 50% 10%,rgba(103,234,255,.18),transparent 29%),
    radial-gradient(circle at 86% 76%,rgba(181,123,255,.18),transparent 31%),
    radial-gradient(circle at 8% 82%,rgba(255,179,92,.07),transparent 26%),
    linear-gradient(135deg,#01040d,#071326 48%,#03050d);
}
body[data-iq-campaign="3"] .prime-hub-card{
  border-color:rgba(103,234,255,.24);
}
body[data-iq-campaign="3"] .prime-mission{
  box-shadow:0 32px 90px rgba(0,0,0,.50),0 0 46px rgba(103,234,255,.055),inset 0 1px 0 rgba(255,255,255,.08);
}
body[data-iq-campaign="3"] #xenonCanvas{
  filter:saturate(1.08) contrast(1.035);
  box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 36px rgba(103,234,255,.055);
}
body[data-iq-campaign="3"] .xenon-badge{
  backdrop-filter:blur(10px);
}
body[data-iq-campaign="3"] #xenonBossInfo:not(.hidden){
  animation:v69BossAura 1.5s ease-in-out infinite alternate;
}
@keyframes v69BossAura{to{filter:drop-shadow(0 0 14px rgba(255,91,122,.28))}}

/* feedback visual */
.v69-feedback-correct{animation:v69Correct .5s ease-out}
.v69-feedback-wrong{animation:v69Wrong .42s ease-out}
.v69-feedback-repair{animation:v69Repair .7s ease-out}
@keyframes v69Correct{
  0%{box-shadow:0 0 0 rgba(112,255,180,0)}
  45%{box-shadow:0 0 0 4px rgba(112,255,180,.14),0 0 38px rgba(112,255,180,.16)}
}
@keyframes v69Wrong{
  20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}
}
@keyframes v69Repair{
  50%{box-shadow:0 0 0 4px rgba(112,255,180,.15),0 0 52px rgba(112,255,180,.22)}
}

/* transición cinematográfica */
.v69-cinematic{
  position:fixed;inset:0;z-index:9997;display:grid;place-items:center;pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;
  background:radial-gradient(circle at 50% 50%,rgba(10,24,48,.62),rgba(0,3,9,.86));
  backdrop-filter:blur(2px);
}
.v69-cinematic.show{opacity:1;visibility:visible}
.v69-cinematic-inner{text-align:center;padding:24px;transform:scale(.92);transition:transform .26s ease}
.v69-cinematic.show .v69-cinematic-inner{transform:scale(1)}
.v69-cinematic-line{
  width:160px;height:2px;margin:0 auto 17px;
  background:linear-gradient(90deg,transparent,var(--v69-accent),transparent);
  box-shadow:0 0 18px var(--v69-accent);
}
.v69-cinematic strong{
  display:block;font-size:clamp(28px,6vw,68px);font-weight:1000;letter-spacing:-.035em;
  color:#fff;text-shadow:0 0 30px color-mix(in srgb,var(--v69-accent) 44%,transparent);
}
.v69-cinematic span{display:block;margin-top:8px;color:#c2d6eb;font-size:clamp(12px,2vw,17px);font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.v69-cinematic[data-tone="boss"] .v69-cinematic-line{background:linear-gradient(90deg,transparent,var(--v69-danger),transparent);box-shadow:0 0 20px var(--v69-danger)}
.v69-cinematic[data-tone="boss"] strong{text-shadow:0 0 34px rgba(255,91,122,.42)}
.v69-cinematic[data-tone="repair"] .v69-cinematic-line{background:linear-gradient(90deg,transparent,var(--v69-success),transparent);box-shadow:0 0 20px var(--v69-success)}
.v69-cinematic[data-tone="victory"] .v69-cinematic-line{background:linear-gradient(90deg,transparent,var(--v69-warm),transparent);box-shadow:0 0 22px var(--v69-warm)}
.v69-cinematic[data-tone="victory"] strong{text-shadow:0 0 38px rgba(255,214,107,.42)}

/* estado de impacto global */
body.v69-hit::before{animation:v69HitFlash .24s ease-out!important}
@keyframes v69HitFlash{0%{opacity:.22}35%{opacity:.55}100%{opacity:.13}}

/* pequeños detalles */
body[data-iq-campaign] button,
body[data-iq-campaign] .btn,
body[data-iq-campaign] .iq-btn{
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease;
}
body[data-iq-campaign] button:hover,
body[data-iq-campaign] .btn:hover,
body[data-iq-campaign] .iq-btn:hover{
  transform:translateY(-2px);
}
body[data-iq-campaign] :focus-visible{outline:3px solid color-mix(in srgb,var(--v69-accent) 74%,white);outline-offset:3px}

/* ahorro de movimiento */
@media (prefers-reduced-motion:reduce){
  .v69-atmosphere::before,.v69-atmosphere::after,.v69-particle,.v69-feedback-correct,.v69-feedback-wrong,.v69-feedback-repair,
  body[data-iq-campaign="3"] #xenonBossInfo:not(.hidden){animation:none!important}
  .v69-cinematic,.v69-cinematic-inner{transition:none!important}
}
@media (max-width:760px){
  .v69-campaign-signature{margin-top:8px;padding:9px 11px;border-radius:13px}
  .v69-campaign-signature span:last-child{display:none}
  .v69-cinematic strong{font-size:clamp(28px,10vw,48px)}
  body[data-iq-campaign="1"] .stats{gap:6px}
  body[data-iq-campaign="1"] .stat{padding:8px 5px}
}


/* =========================================================
   V69.2 · Pulido visual final
   - HUD de peligro
   - celebración de recompensa
   - fases de jefe más teatrales
========================================================= */
.v692-low-health{
  position:relative;
}
.v692-low-health::after{
  content:"INTEGRIDAD BAJA";
  position:absolute;
  top:10px;
  left:50%;
  z-index:20;
  transform:translateX(-50%);
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(255,91,122,.42);
  background:rgba(40,4,14,.78);
  color:#ffdce4;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  box-shadow:0 0 24px rgba(255,91,122,.18);
  animation:v692DangerPill 1.15s ease-in-out infinite alternate;
}
body.v692-player-danger::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9990;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(255,36,83,.12);
  animation:v692DangerFrame 1.25s ease-in-out infinite alternate;
}

@keyframes v692DangerPill{
  to{filter:brightness(1.22);box-shadow:0 0 34px rgba(255,91,122,.30)}
}
@keyframes v692DangerFrame{
  to{box-shadow:inset 0 0 120px rgba(255,36,83,.20)}
}

/* Estallido corto de victoria/recompensa */
.v692-burst{
  position:fixed;
  left:50%;
  top:48%;
  width:1px;
  height:1px;
  z-index:9998;
  pointer-events:none;
}
.v692-burst i{
  position:absolute;
  left:0;
  top:0;
  width:8px;
  height:14px;
  border-radius:3px;
  opacity:0;
  background:var(--v69-warm);
  box-shadow:0 0 14px color-mix(in srgb,var(--v69-warm) 55%,transparent);
  transform:translate(-50%,-50%) scale(.5) rotate(0);
}
.v692-burst i:nth-child(3n){background:var(--v69-accent)}
.v692-burst i:nth-child(4n){background:var(--v69-accent2)}
.v692-burst.go i{
  animation:v692Burst 1.15s cubic-bezier(.2,.72,.25,1) var(--delay,0s) forwards;
}
@keyframes v692Burst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}
  12%{opacity:1}
  75%{opacity:.9}
  100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(.9) rotate(var(--rot))}
}

/* Campaña 2 · las fases de XENON afectan sutilmente el ambiente */
body[data-iq-campaign="2"][data-iq-boss-phase="1"]{
  --v69-accent:#69e5ff;
  --v69-accent2:#9f7dff;
}
body[data-iq-campaign="2"][data-iq-boss-phase="2"]{
  --v69-accent:#ff719c;
  --v69-accent2:#a66dff;
}
body[data-iq-campaign="2"][data-iq-boss-phase="3"]{
  --v69-accent:#ff635f;
  --v69-accent2:#ffb54d;
}
body[data-iq-campaign="2"][data-iq-boss-phase="3"] #enemyCard{
  box-shadow:
    0 24px 62px rgba(0,0,0,.38),
    0 0 54px rgba(255,87,91,.09),
    inset 0 0 38px rgba(255,132,59,.03);
}

@media (prefers-reduced-motion:reduce){
  .v692-low-health::after,
  body.v692-player-danger::before,
  .v692-burst.go i{animation:none!important}
  .v692-burst{display:none!important}
}
@media (max-width:760px){
  .v692-low-health::after{
    top:7px;
    padding:5px 8px;
    font-size:9px;
  }
}
