/* ═══════════════════════════════════════
   VET Studio Base Styles
   Reset + Background layers + CRT effects
   ═══════════════════════════════════════ */
html { scroll-behavior: smooth }

body, body * {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

body {
  font-family: var(--font-main);
  background: #008080;
  color: #000;
  overflow-x: hidden;
  min-height: 100vh;
}

/* ── Bliss Grassland Background ── */
.bliss-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: url('../bliss-bg.jpg') center/cover no-repeat;
  pointer-events: none;
  filter: saturate(0.7) brightness(0.9) contrast(0.9);
}

/* Dreamcore haze */
.bliss-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at center, rgba(255,255,240,0.1), transparent 70%),
    radial-gradient(ellipse at 20% 80%, rgba(180,200,255,0.08), transparent 50%),
    rgba(0,0,0,0.05);
  animation: dreamPulse 12s ease-in-out infinite;
  pointer-events: none;
}
@keyframes dreamPulse {
  0%,100% { opacity: 0.6; filter: blur(0px) }
  50% { opacity: 1; filter: blur(1px) }
}

/* ── Frosted Glass Overlay ── */
.glass-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: rgba(220,225,230,0.18);
  backdrop-filter: blur(3px) saturate(120%);
  -webkit-backdrop-filter: blur(3px) saturate(120%);
  pointer-events: none;
}

/* ── CRT Scanlines ── */
.scanlines {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.03) 2px,
    rgba(0,0,0,0.03) 4px
  );
}

/* ── CRT Vignette + Chromatic ── */
.crt-effect {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  box-shadow: inset 0 0 120px rgba(0,0,0,0.15);
}
.crt-effect::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,0,0,0.015) 0%, transparent 3%, transparent 97%, rgba(0,0,255,0.015) 100%);
  pointer-events: none;
}

/* ── Holographic Shimmer Animation (shared) ── */
@keyframes holoShimmer {
  0%,100% { background-position: 0% 0% }
  50% { background-position: 100% 100% }
}
