/* ═══════════════════════════════════════════════════════
   Scanner Card Stream v6 — AstroKamya™ 2026
   Glass Floating Cards · Cosmic Starfield · Evervault-style
   ═══════════════════════════════════════════════════════ */

/* ── Container ─────────────────────────────────────────── */
.scanner-stream-container {
  position: absolute;
  top: 52%;
  right: 0;
  transform: translateY(-50%);
  width: 58%;
  height: 480px;
  overflow: visible;
  z-index: 2;
  user-select: none;
  -webkit-user-select: none;
}

/* ── Ambient Nebula Glow — fills dead zone between headline & cards ── */
.scanner-stream-container::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 30%;
  width: 520px;
  height: 420px;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    ellipse 340px 280px at center,
    rgba(124, 58, 237, 0.09) 0%,
    rgba(109, 40, 217, 0.05) 35%,
    rgba(88, 28, 135, 0.025) 60%,
    transparent 85%
  );
  pointer-events: none;
  z-index: 0;
  filter: blur(50px);
}

/* ── Starfield Canvas (extends beyond container to cover hero) ── */
.scs-starfield-canvas {
  position: absolute;
  top: -10%;
  left: -80%;
  width: 240%;
  height: 120%;
  z-index: 1;
  pointer-events: none;
  /* Soft fade-out on the far-left for hero title readability — 5% reduced */
  -webkit-mask-image: linear-gradient(to right,
    rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.22) 12%, rgba(0,0,0,0.50) 20%,
    rgba(0,0,0,0.75) 28%, black 38%, black 100%);
  mask-image: linear-gradient(to right,
    rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.22) 12%, rgba(0,0,0,0.50) 20%,
    rgba(0,0,0,0.75) 28%, black 38%, black 100%);
}

/* ── Beam Particle Canvas (BEHIND cards at z=3, above starfield) ─── */
.scs-scanner-canvas {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 360px;
  z-index: 3;
  pointer-events: none;
}

/* ── Violet Scanner Beam — ULTRA BRIGHT (reference-matched) ── */
.scs-scanner-line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 8px;
  height: 400px;
  border-radius: 9999px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(167,139,250,0.8)  10%,
    rgba(255,255,255,0.9)  25%,
    rgba(255,255,255,1)    40%,
    rgba(255,255,255,1)    60%,
    rgba(255,255,255,0.9)  75%,
    rgba(167,139,250,0.8)  90%,
    transparent 100%
  );
  box-shadow:
    0 0  12px rgba(255,255,255,1),
    0 0  30px rgba(255,255,255,0.9),
    0 0  60px rgba(167,139,250,1),
    0 0 120px rgba(139,92,246,0.95),
    0 0 250px rgba(124,58,237,0.7),
    0 0 400px rgba(109,40,217,0.5),
    0 0 600px rgba(88,28,135,0.25);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 20;
  animation: scs-beam-breathe 1.8s infinite alternate ease-in-out;
  mix-blend-mode: screen;
}

/* ── Volumetric Beam Haze — wide purple atmosphere ──────── */
.scs-scanner-line::after {
  content: '';
  display: none !important;
}

@keyframes scs-beam-breathe {
  0%   { box-shadow: 0 0 10px rgba(255,255,255,1), 0 0 25px rgba(255,255,255,0.8), 0 0 50px rgba(167,139,250,0.9), 0 0 100px rgba(139,92,246,0.85), 0 0 200px rgba(124,58,237,0.6), 0 0 350px rgba(109,40,217,0.4), 0 0 550px rgba(88,28,135,0.2); }
  100% { box-shadow: 0 0 16px rgba(255,255,255,1), 0 0 45px rgba(255,255,255,1), 0 0 80px rgba(167,139,250,1), 0 0 180px rgba(139,92,246,1), 0 0 350px rgba(124,58,237,0.8), 0 0 550px rgba(109,40,217,0.6), 0 0 800px rgba(88,28,135,0.35); }
}

/* ── Card Line Wrap ─────────────────────────────────────── */
.scs-card-line-wrap {
  position: absolute;
  width: 100%;
  height: 420px;
  overflow: visible;
  display: flex;
  align-items: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 5;
  /* Fade cards on left edge only — right edge fully visible */
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,0.10) 6%, rgba(0,0,0,0.30) 12%,
    rgba(0,0,0,0.70) 19%, black 28%, black 100%);
  mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,0.10) 6%, rgba(0,0,0,0.30) 12%,
    rgba(0,0,0,0.70) 19%, black 28%, black 100%);
}

.scs-card-line {
  display: flex;
  align-items: center;
  white-space: nowrap;
  will-change: transform;
  cursor: grab;
  flex-shrink: 0;
}
.scs-card-line:active { cursor: grabbing; }

/* ── Card Wrapper ───────────────────────────────────────── */
.scs-wrapper {
  position: relative;
  flex-shrink: 0;
  transition: transform 0.25s ease, filter 0.25s ease;
}
/* Drag feedback — subtle lift + glow when grabbed */
.scs-card-line:active .scs-wrapper {
  transform: scale(1.018);
  filter: drop-shadow(0 6px 18px rgba(139,92,246,0.18));
}

/* ── Normal Layer (clip from left as beam passes) ────────── */
.scs-normal {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  overflow: hidden;
  z-index: 2;
  clip-path: inset(0 0 0 var(--cr, 0%));
  will-change: clip-path;
}

/* ── ASCII Overlay Layer ─────────────────────────────────── */
.scs-ascii {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  overflow: hidden;
  z-index: 1;
  clip-path: inset(0 calc(100% - var(--cl, 0%)) 0 0);
  will-change: clip-path;
  /* NO background — transparent like everything else */
}

.scs-ascii pre,
.scs-glitch {
  position: absolute;
  inset: 0;
  /* violet-tinted ASCII text — boosted visibility */
  color: rgba(196, 181, 253, 0.72);
  font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
  font-size: 9px;
  line-height: 11px;
  overflow: hidden;
  white-space: pre;
  margin: 0;
  padding: 6px;
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 35%, rgba(0,0,0,0.25) 65%, rgba(0,0,0,0.06) 100%);
  mask-image: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 35%, rgba(0,0,0,0.25) 65%, rgba(0,0,0,0.06) 100%);
}

@keyframes scs-glitch {
  0%, 16%, 50%, 100% { opacity: 1; }
  15%, 99%           { opacity: 0.82; }
  49%                { opacity: 0.62; }
}
.scs-glitch { animation: scs-glitch 0.15s infinite linear alternate-reverse; }

/* ════════════════════════════════════════════════════════
   PLANET CARD — UNIFIED GLASS SYSTEM
   All 8 cards share the SAME glass base.
   Themes only define: overlay tint, accent, glow, border.
   ════════════════════════════════════════════════════════ */

/* ── Glass base — prominent, color-rich ────────────────── */
.scs-planet-card {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 24px 16px;
  overflow: hidden;
  /* Premium 3D volumetric glass */
  background: linear-gradient(165deg, rgba(20, 14, 40, 0.55) 0%, rgba(6, 4, 18, 0.85) 100%);
  backdrop-filter: blur(34px) saturate(220%);
  -webkit-backdrop-filter: blur(34px) saturate(220%);
  box-shadow: 
    inset 0 1px 1.5px rgba(255,255,255,0.15),
    inset 0 -1px 2px rgba(0,0,0,0.6),
    0 25px 50px -12px rgba(0,0,0,0.9),
    0 0 40px var(--pc-glow-soft);
}

/* ── Theme gradient overlay (very subtle tint on top of glass) */
.pc-bg {
  position: absolute;
  inset: 0;
  background: var(--pc-overlay);
  z-index: 0;
  opacity: 1;
}
.pc-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.01) 25%, transparent 50%);
  border-radius: 18px;
  pointer-events: none;
}

/* ── Unified border + outer glow — NO border-image tricks ─── */
.pc-holo-border {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  padding: 1.5px;
  background: linear-gradient(145deg, rgba(255,255,255,0.5) 0%, var(--pc-accent) 25%, rgba(0,0,0,0) 65%, var(--pc-accent) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 9;
}

/* ── Nebula glow blob ───────────────────────────────────── */
.pc-nebula {
  position: absolute;
  width: 300px;
  height: 300px;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, var(--pc-nebula) 0%, transparent 65%);
  z-index: 0;
  pointer-events: none;
}

/* ── Symbol column ──────────────────────────────────────── */
.pc-symbol-col {
  position: relative;
  width: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  margin-bottom: 12px;
}

.pc-sanskrit-title {
  font-family: serif;
  font-size: 24px;
  color: var(--pc-accent);
  opacity: 0.9;
  margin-bottom: 16px;
  text-align: center;
  text-shadow: 0 0 10px var(--pc-glow);
}

/* ── Orbital ring wrapper ───────────────────────────────── */
.pc-orbital-wrap {
  position: relative;
  width: 122px;
  height: 122px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Orbital rings ──────────────────────────────────────── */
.pc-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid var(--pc-accent);
  pointer-events: none;
}
.pc-ring-a {
  width: 120px; height: 120px;
  opacity: 0.09;
  animation: pc-spin-slow 34s linear infinite;
  border-style: dashed;
}
.pc-ring-b {
  width: 84px; height: 84px;
  opacity: 0.18;
  animation: pc-spin-rev 22s linear infinite;
}
.pc-ring-c {
  width: 52px; height: 52px;
  opacity: 0.36;
  animation: pc-spin-slow 14s linear infinite;
}

@keyframes pc-spin-slow { from { transform: rotate(0deg);   } to { transform: rotate(360deg);  } }
@keyframes pc-spin-rev  { from { transform: rotate(360deg); } to { transform: rotate(0deg);    } }

/* ── Glyph ──────────────────────────────────────────────── */
.pc-glyph-char {
  position: relative;
  font-size: 52px;
  color: var(--pc-accent);
  text-shadow:
    0 0 18px var(--pc-glow),
    0 0 40px var(--pc-glow),
    0 0 75px var(--pc-glow);
  line-height: 1;
  z-index: 2;
  animation: pc-glyph-pulse 3.5s ease-in-out infinite;
  font-family: 'Segoe UI Symbol', 'Apple Symbols', 'Noto Sans Symbols', serif;
}
@keyframes pc-glyph-pulse {
  0%,100% { text-shadow: 0 0 18px var(--pc-glow), 0 0 38px var(--pc-glow); transform: scale(1);    }
  50%     { text-shadow: 0 0 28px var(--pc-glow), 0 0 65px var(--pc-glow), 0 0 110px var(--pc-glow); transform: scale(1.05); }
}

/* ── Kundali SVG ────────────────────────────────────────── */
.pc-kundali-svg { position: absolute; width: 122px; height: 122px; z-index: 2; }

/* ── Saturn rings ───────────────────────────────────────── */
.pc-saturn-rings {
  position: absolute;
  bottom: -12px; left: -12px;
  width: 144px; height: 50px;
  z-index: 3;
  pointer-events: none;
}

/* ── Info column ────────────────────────────────────────── */
.pc-info-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 6px;
  position: relative;
  z-index: 2;
  text-align: center;
}

/* ── Planet name ────────────────────────────────────────── */
.pc-planet-name {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--pc-accent);
  line-height: 1;
  text-shadow: 0 0 28px var(--pc-glow), 0 0 60px var(--pc-glow);
  text-transform: uppercase;
}

/* ── Ornate Divider ─────────────────────────────────────── */
.pc-divider-ornate {
  color: var(--pc-accent);
  opacity: 0.5;
  font-size: 16px;
  margin: 6px 0;
}

/* ── Vedic Grid ─────────────────────────────────────────── */
.pc-vedic-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 16px;
  column-gap: 20px;
  width: 95%;
  margin-top: 8px;
  padding: 16px 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.06), 0 6px 12px rgba(0,0,0,0.25);
}
.pc-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.pc-label {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(220, 210, 255, 0.55);
}
.pc-val {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 13px;
  color: rgba(245, 240, 255, 0.95);
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── Meta badge ─────────────────────────────────────────── */
.pc-meta-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: 2px;
  padding: 6px 18px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 4px 10px rgba(0,0,0,0.3);
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--pc-accent);
  opacity: 1;
  text-shadow: 0 0 10px var(--pc-glow);
}

/* ── Shimmer overlay ────────────────────────────────────── */
.pc-shimmer-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(108deg,
    transparent 30%,
    rgba(255,255,255,0.022) 44%,
    rgba(255,255,255,0.065) 50%,
    rgba(255,255,255,0.022) 56%,
    transparent 70%
  );
  transform: translateX(-100%);
  animation: pc-shimmer 10s ease-in-out infinite;
  pointer-events: none;
  z-index: 8;
}
@keyframes pc-shimmer {
  0%, 58% { transform: translateX(-100%); }
  100%    { transform: translateX(220%); }
}

/* ════════════════════════════════════════════════════════
   8 PLANET THEMES — UNIFIED GLASS SYSTEM
   Only overlay tint, accent, glow-soft, border, nebula differ.
   ════════════════════════════════════════════════════════ */

/* ☉ SUN */
.pc-sun {
  --pc-overlay:   linear-gradient(135deg, rgba(55,22,0,0.5) 0%, rgba(18,8,0,0.28) 55%, transparent 100%);
  --pc-accent:    #FFB800;
  --pc-glow:      rgba(255,155,0,0.9);
  --pc-glow-soft: rgba(255,130,0,0.10);
  --pc-border:    rgba(255,184,0,0.14);
  --pc-nebula:    rgba(255,140,0,0.20);
}

/* ☽ MOON */
.pc-moon {
  --pc-overlay:   linear-gradient(135deg, rgba(6,18,38,0.50) 0%, rgba(3,9,18,0.28) 55%, transparent 100%);
  --pc-accent:    #C8D8F0;
  --pc-glow:      rgba(120,168,240,0.80);
  --pc-glow-soft: rgba(100,148,220,0.08);
  --pc-border:    rgba(180,215,255,0.13);
  --pc-nebula:    rgba(72,122,210,0.16);
}

/* ☊ RAHU */
.pc-rahu {
  --pc-overlay:   linear-gradient(135deg, rgba(24,0,10,0.50) 0%, rgba(10,0,4,0.28) 55%, transparent 100%);
  --pc-accent:    #E8204A;
  --pc-glow:      rgba(232,32,74,0.90);
  --pc-glow-soft: rgba(210,15,50,0.10);
  --pc-border:    rgba(232,40,74,0.16);
  --pc-nebula:    rgba(190,0,42,0.20);
}

/* ♃ JUPITER */
.pc-jupiter {
  --pc-overlay:   linear-gradient(135deg, rgba(14,8,32,0.50) 0%, rgba(5,3,14,0.28) 55%, transparent 100%);
  --pc-accent:    #D4A830;
  --pc-glow:      rgba(212,168,48,0.85);
  --pc-glow-soft: rgba(180,138,28,0.08);
  --pc-border:    rgba(220,188,72,0.14);
  --pc-nebula:    rgba(158,108,28,0.17);
}
/* Remove old rainbow border override */
.pc-jupiter .pc-holo-border { border-image: none; border-width: 1px; }

/* ♀ VENUS */
.pc-venus {
  --pc-overlay:   linear-gradient(135deg, rgba(28,5,22,0.50) 0%, rgba(10,2,8,0.28) 55%, transparent 100%);
  --pc-accent:    #FF6BAE;
  --pc-glow:      rgba(255,75,155,0.85);
  --pc-glow-soft: rgba(225,45,135,0.10);
  --pc-border:    rgba(255,95,172,0.15);
  --pc-nebula:    rgba(225,35,135,0.18);
}

/* ♄ SATURN */
.pc-saturn {
  --pc-overlay:   linear-gradient(135deg, rgba(9,11,20,0.50) 0%, rgba(4,5,9,0.28) 55%, transparent 100%);
  --pc-accent:    #9AAEC8;
  --pc-glow:      rgba(138,168,210,0.75);
  --pc-glow-soft: rgba(115,145,188,0.07);
  --pc-border:    rgba(158,188,220,0.13);
  --pc-nebula:    rgba(75,98,148,0.15);
}

/* ☋ KETU */
.pc-ketu {
  --pc-overlay:   linear-gradient(135deg, rgba(17,14,26,0.50) 0%, rgba(7,5,11,0.28) 55%, transparent 100%);
  --pc-accent:    rgba(218,212,255,0.88);
  --pc-glow:      rgba(198,188,255,0.70);
  --pc-glow-soft: rgba(175,162,240,0.07);
  --pc-border:    rgba(198,188,255,0.14);
  --pc-nebula:    rgba(145,126,196,0.14);
}

/* ◉ KUNDALI */
.pc-kundali {
  --pc-overlay:   linear-gradient(135deg, rgba(9,7,20,0.50) 0%, rgba(3,2,9,0.28) 55%, transparent 100%);
  --pc-accent:    #FFB800;
  --pc-glow:      rgba(255,184,0,0.78);
  --pc-glow-soft: rgba(124,58,237,0.09);
  --pc-border:    rgba(255,184,0,0.13);
  --pc-nebula:    rgba(130,60,240,0.17);
}
/* Remove complex kundali border trick — unified system now */
.pc-kundali .pc-holo-border { background: none; }

/* ── Body flag ──────────────────────────────────────────── */
.scanner-active .hero-content { position: relative; z-index: 8; user-select: none; pointer-events: auto; }
.scanner-active #hero { user-select: none; -webkit-user-select: none; }
/* Break out of .wrap max-width so scanner reaches viewport right edge */
.scanner-active .hero-wrap {
  max-width: none;
  width: 100%;
  /* Match original centered-1200px position: (100vw - 1200) / 2 + 40px */
  padding-left: max(40px, calc(50vw - 560px));
  padding-right: 0;
  overflow: visible;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1200px) { .scanner-stream-container { width: 50%; height: 420px; } }
@media (max-width: 1024px) { .scanner-stream-container { width: 48%; height: 380px; } }
@media (max-width: 768px) {
  .scanner-stream-container {
    position: relative;
    top: auto; right: auto; transform: none;
    width: 100vw; height: 270px;
    margin-left: -40px; margin-top: 20px;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    mask-image:         linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  }
  .scs-scanner-line { height: 240px; }
  .pc-planet-name   { font-size: 19px; }
  .pc-glyph-char    { font-size: 42px; }
}
@media (max-width: 480px) { .scanner-stream-container { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .scs-glitch, .scs-scanner-line, .pc-ring, .pc-glyph-char, .pc-shimmer-overlay { animation: none !important; }
}

/* ── Legacy hide ────────────────────────────────────────── */
.scanner-card-line, .scanner-tile, .scanner-beam, .scanner-beam-sweep, .scanner-particles, .scanner-cosmos { display: none; }

/* ════════════════════════════════════════════════════════
   V7 Cinematic Feature Extensions
   ════════════════════════════════════════════════════════ */

/* ── 1. Card Glow Reaction (.is-scanning) ──────────────── */
.scs-wrapper.is-scanning .scs-planet-card {
  filter: brightness(1.25) contrast(1.15) saturate(1.2);
  transform: scale(1.03);
  box-shadow: 0 0 90px rgba(167, 139, 250, 0.4), inset 0 2px 3px rgba(255, 255, 255, 0.5);
  transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.scs-wrapper.is-scanning .pc-holo-border {
  background: linear-gradient(145deg, rgba(255,255,255,1) 0%, var(--pc-accent) 25%, rgba(0,0,0,0) 65%, var(--pc-accent) 100%);
  padding: 3px;
  animation: glow-pulse 0.4s infinite alternate;
}

/* ── 2. System Status Terminal ─────────────────────────── */
#scs-status-terminal {
  position: absolute;
  top: auto;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 10px;
  color: rgba(255,255,255,0.4);
  z-index: 40;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  pointer-events: none;
  opacity: 0.5;
  transition: all 0.2s ease;
  text-shadow: 0 0 8px rgba(167, 139, 250, 0.3);
}
#scs-status-terminal.active {
  opacity: 1;
  color: #A78BFA;
  text-shadow: 0 0 12px rgba(167, 139, 250, 0.9);
}
.scs-signal-text { letter-spacing: 0.12em; text-transform: uppercase; }
.scs-bar-text { opacity: 0.9; }
.scs-bar-text .prc { font-weight: 800; color: #FFF; margin-left: 8px; }

/* ── 3. Prediction Text Highlight ──────────────────────── */
.pred-highlight {
  position: relative;
  font-weight: 800;
  color: #FFFFFF;
  text-shadow: 0 0 10px #FFB800, 0 0 20px #FFB800, 0 0 40px #FFB800;
  background: rgba(255, 184, 0, 0.2);
  padding: 0 5px;
  border-radius: 4px;
  z-index: 50;
  animation: glow-pulse 120ms infinite alternate;
}
@keyframes glow-pulse { 0% { filter: brightness(0.8); } 100% { filter: brightness(1.2); } }

/* ── 4. CTA Sync Global Pulse ──────────────────────────── */
.cta-scan-pulse {
  animation: cta-flash 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes cta-flash {
  0%   { filter: brightness(1); transform: scale(1); box-shadow: 0 0 0 rgba(255,184,0,0); }
  30%  { filter: brightness(1.4); transform: scale(1.05); box-shadow: 0 0 40px rgba(255,184,0,0.8); }
  100% { filter: brightness(1); transform: scale(1); box-shadow: 0 0 15px rgba(255,184,0,0.2); }
}
