body {
  background: #050505;
  color: #00ff00;
  font-family: "Courier New", monospace;
  margin: 0;
}

header {
  padding: 20px;
  border-bottom: 1px solid #00ff00;
}

.logo {
  font-size: 18px;
  letter-spacing: 2px;
}

.staff {
  max-width: 900px;
  margin: 40px auto;
  padding: 20px;
}

h2 {
  margin-top: 40px;
  border-bottom: 1px solid #00ff00;
  padding-bottom: 5px;
  font-size: 18px;
}

/* group layout */
.group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
  margin-top: 15px;
}

/* cards */
.card {
  border: 1px solid #00ff00;
  padding: 10px 15px;
  font-size: 14px;
  flex: 1 1 250px;
}

/* === SNOWSY HIGHLIGHT === */

.snowsy.highlight {
  border-color: #e6f7ff;
  background: rgba(200, 240, 255, 0.08);

  box-shadow:
    0 0 10px rgba(200,240,255,0.4),
    0 0 20px rgba(200,240,255,0.2),
    inset 0 0 10px rgba(200,240,255,0.15);

  text-shadow:
    0 0 6px #d6f5ff,
    0 0 12px rgba(200,240,255,0.5);
}

.card {
  position: relative;
  border: 1px solid #00ff00;
  padding: 10px 15px;
  font-size: 14px;
  cursor: pointer;
}

/* hover box */
.hover-info {
  position: absolute;
  bottom: 110%;
  left: 0;
  background: #050505;
  border: 1px solid #00ff80;
  padding: 8px;
  font-size: 12px;
  width: 200px;

  color: #00ff80;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.card:hover .hover-info {
  opacity: 1;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #050505;
}

::-webkit-scrollbar-thumb {
  background: #00ff00;
  border-radius: 5px;
  box-shadow: 0 0 5px #00ff00;
}

::-webkit-scrollbar-thumb:hover {
  background: #00cc00;
}

/* === SCANLINES OVERLAY === */

body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  pointer-events: none;

  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 255, 0, 0.05),
    rgba(0, 255, 0, 0.05) 1px,
    transparent 1px,
    transparent 3px
  );

  z-index: 999;
}

/* === V UNIT COLORS (BRIGHTER) === */

.vunit {
  position: relative;
}

/* individual colors */
.v1 { border-color: #a00000; color: #a00000; }
.v2 { border-color: #00a000; color: #00a000; }
.v3 { border-color: #8a5a00; color: #8a5a00; }
.v4 { border-color: #a0a000; color: #a0a000; }
.v5 { border-color: #00a07a; color: #00a07a; }
.v6 { border-color: #007aa0; color: #007aa0; }
.v7 { border-color: #0030a0; color: #0030a0; }
.v8 { border-color: #a000a0; color: #a000a0; }
.v9 { border-color: #a00050; color: #a00050; }

/* match hover box */
.v1 .hover-info { border-color: #a00000; color: #a00000; }
.v2 .hover-info { border-color: #00a000; color: #00a000; }
.v3 .hover-info { border-color: #8a5a00; color: #8a5a00; }
.v4 .hover-info { border-color: #a0a000; color: #a0a000; }
.v5 .hover-info { border-color: #00a07a; color: #00a07a; }
.v6 .hover-info { border-color: #007aa0; color: #007aa0; }
.v7 .hover-info { border-color: #0030a0; color: #0030a0; }
.v8 .hover-info { border-color: #a000a0; color: #a000a0; }
.v9 .hover-info { border-color: #a00050; color: #a00050; }

/* === GLOBAL TERMINAL GLOW === */

/* all cards */
.card {
  text-shadow: 0 0 6px currentColor;
  box-shadow: 0 0 6px currentColor;
}

/* hover boxes */
.hover-info {
  text-shadow: 0 0 5px currentColor;
  box-shadow: 0 0 6px currentColor;
}

body {
  position: relative;
}

/* === SNOWSY (WHITE-CODED) === */

.snowsy {
  color: #f0fbff;
  border-color: #cfefff;
  text-shadow:
    0 0 6px #d6f5ff,
    0 0 12px rgba(200,240,255,0.4);
  box-shadow:
    0 0 8px rgba(200,240,255,0.3),
    inset 0 0 8px rgba(200,240,255,0.15);
}

/* hover matches */
.snowsy .hover-info {
  color: #e8faff;
  border-color: #cfefff;
  text-shadow:
    0 0 6px #d6f5ff;
}

/* stronger than normal glow */
.snowsy {
  color: #f0fbff;

  text-shadow:
    0 0 8px #e6f7ff,
    0 0 16px rgba(200,240,255,0.6),
    0 0 24px rgba(200,240,255,0.3);
}

/* hover info matches intensity */
.snowsy .hover-info {
  color: #f0fbff;
  border-color: #e6f7ff;

  text-shadow:
    0 0 6px #d6f5ff,
    0 0 12px rgba(200,240,255,0.4);

  box-shadow:
    0 0 8px rgba(200,240,255,0.3);
}

/* === OVERLAYS === */

/* full screen overlay */
.overlay {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column; /* stack text */
  align-items: center;
  justify-content: center;

  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;

  z-index: 2000;
  font-family: "Courier New", monospace;
  text-align: center;
}

/* Rayshade (main, aggressive) */
.proximity {
  font-size: 32px;
  color: #a00000;

  background: rgba(0, 0, 0, 0.6); /* transparent black */
  padding: 20px 40px;
  border-radius: 4px;

  text-shadow: 0 0 10px #a00000;
}

/* Luna (smaller, below) */
#luna-whisper {
  margin-top: 10px; /* pushes it below Rayshade text */
  font-size: 16px;

  color: #d33fff;
  text-shadow: 0 0 8px #d33fff;
}

#luna-idle {
  position: fixed;
  inset: 0;
}

.logo,
.logo:visited,
.logo:hover,
.logo:active {
  color: #00ff00;
  text-decoration: none;
}

.logo:hover {
  text-shadow: 0 0 10px #00ff00;
  cursor: pointer;
}

* {
  cursor: none !important;
}

.custom-cursor {
  position: fixed;
  width: 16px;
  height: 16px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
}

.custom-cursor {
  filter: drop-shadow(0 0 2px #000) drop-shadow(0 0 4px #00ff00);
}

.warning {
  font-size: 28px;
  color: #a00000;
  text-shadow: 0 0 10px #a00000;
}

/* calm overlay */
#calm-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;

  background: radial-gradient(
    circle at center,
    rgba(255, 245, 230, 0.25) 0%,
    rgba(255, 245, 230, 0.15) 40%,
    rgba(255, 245, 230, 0.05) 70%,
    transparent 100%
  );

  opacity: 0;
  z-index: 1500;

  transition: opacity 1.2s ease;
}

#calm-overlay.active {
  opacity: 1;
}

.luna-card {
  border: 1px solid #d33fff;
  color: #d33fff;

  text-shadow: 0 0 6px #d33fff;
  box-shadow: 0 0 8px #d33fff;

  position: relative;
}

/* reuse existing hover system */
.luna-card .hover-info {
  border-color: #d33fff;
  color: #d33fff;

  text-shadow: 0 0 6px #d33fff;
  box-shadow: 0 0 6px #d33fff;
}

.luna-card:hover .luna-hover-info {
  opacity: 1;
}

.mirage-card {
  color: #b8a9c9;
  border-color: #b8a9c9;

  text-shadow:
    0 0 4px #b8a9c9,
    0 0 12px rgba(184,169,201,0.25);

  box-shadow:
    0 0 6px rgba(184,169,201,0.4);
}

.mirage-card .hover-info {
  border-color: #b8a9c9;
  color: #b8a9c9;

  text-shadow: 0 0 6px #b8a9c9;
}