/* --- FUNDAMENTAL RESETS & VARIABLES --- */
:root {
  --black: #000000;
  --white: #ffffff;
  color-scheme: dark;
}

body {
  background-color: var(--black);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

::selection {
  background-color: var(--white);
  color: var(--black);
}

/* --- LENIS SMOOTH SCROLLING --- */
html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* --- UTILITIES --- */
.mono {
  font-family: 'JetBrains Mono', monospace;
}

.m-btn {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

/* --- TERMINAL CUSTOM SCROLLBAR --- */
.custom-scroll::-webkit-scrollbar {
  width: 8px;
}
.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.custom-scroll::-webkit-scrollbar-thumb {
  background: var(--white);
}

/* --- ARCADE CRT EFFECT --- */
.crt-overlay {
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.03));
  background-size: 100% 2px, 3px 100%;
  pointer-events: none;
  mix-blend-mode: overlay;
}

.scanlines {
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,0) 50%,
    rgba(0,0,0,0.3) 50%,
    rgba(0,0,0,0.3)
  );
  background-size: 100% 4px;
}

#game-wrap {
  /* Inner shadow to simulate tube curvature */
  box-shadow: inset 0 0 40px rgba(0,0,0,1);
}

#gc {
  /* High contrast, slight bloom */
  filter: contrast(1.5) brightness(1.2) drop-shadow(0 0 4px rgba(255,255,255,0.4));
}

/* Glitch animation for Konami */
@keyframes glitch {
  0% { transform: translate(0) }
  20% { transform: translate(-4px, 4px) }
  40% { transform: translate(-4px, -4px) }
  60% { transform: translate(4px, 4px) }
  80% { transform: translate(4px, -4px) }
  100% { transform: translate(0) }
}
.konami-active {
  animation: glitch 0.1s cubic-bezier(.25, .46, .45, .94) both infinite;
  filter: invert(1);
}