/* The Night Drop — Main Stylesheet */
/* Global resets, variables, typography, CRT effects */

@import url('https://fonts.googleapis.com/css2?family=VT323&family=Space+Mono:wght@400;700&display=swap');

/* ============================================
   CSS Custom Properties
   ============================================ */
:root {
  --night-black:    #0A0A0F;
  --store-dark:     #12121A;
  --store-mid:      #1C1C2E;
  --neon-cyan:      #00F5FF;
  --neon-pink:      #FF2D78;
  --neon-purple:    #9B59FF;
  --tape-gold:      #FFD700;
  --text-main:      #E0E0FF;
  --text-dim:       #8888AA;
  --scanline:       rgba(0,0,0,0.15);

  --font-retro:     'VT323', monospace;
  --font-body:      'Space Mono', monospace;
}

/* ============================================
   Reset & Base
   ============================================ */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--night-black);
  color: var(--text-main);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Scrollable pages override */
html:has(body.page-mode),
body.page-mode {
  overflow-y: auto;
  overflow-x: hidden;
  height: auto;
}

/* No CRT effects on flat pages */
body.page-mode::before,
body.page-mode::after {
  display: none;
}

a {
  color: var(--neon-cyan);
  text-decoration: none;
  transition: color 0.2s;
}

a:hover {
  color: var(--neon-pink);
  text-shadow: 0 0 8px var(--neon-pink);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-retro);
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--text-main);
}

/* ============================================
   CRT Scanline Overlay (global)
   ============================================ */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent, transparent 2px,
    rgba(0,0,0,0.06) 2px, rgba(0,0,0,0.06) 4px
  );
  pointer-events: none;
  z-index: 9999;
}

/* Vignette */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 60%,
    rgba(0,0,0,0.4) 100%
  );
  pointer-events: none;
  z-index: 9998;
}

/* ============================================
   Utility: Panel Style
   ============================================ */
.panel {
  background: rgba(10, 10, 15, 0.92);
  border: 1px solid var(--neon-cyan);
  box-shadow:
    0 0 20px rgba(0, 245, 255, 0.15),
    inset 0 0 10px rgba(0, 0, 0, 0.5);
  position: relative;
}

.panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent, transparent 2px,
    var(--scanline) 2px, var(--scanline) 4px
  );
  pointer-events: none;
  border-radius: inherit;
}

/* ============================================
   Scrollbar
   ============================================ */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--night-black);
}

::-webkit-scrollbar-thumb {
  background: var(--store-mid);
  border: 1px solid var(--neon-cyan);
  border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--neon-cyan);
}

/* ============================================
   Selection
   ============================================ */
::selection {
  background: var(--neon-cyan);
  color: var(--night-black);
}

/* ============================================
   Buttons
   ============================================ */
.btn {
  font-family: var(--font-retro);
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 10px 24px;
  border: 1px solid var(--neon-cyan);
  background: transparent;
  color: var(--neon-cyan);
  cursor: pointer;
  transition: all 0.2s;
}

.btn:hover {
  background: var(--neon-cyan);
  color: var(--night-black);
  box-shadow: 0 0 20px rgba(0, 245, 255, 0.4);
}

.btn--pink {
  border-color: var(--neon-pink);
  color: var(--neon-pink);
}

.btn--pink:hover {
  background: var(--neon-pink);
  color: var(--night-black);
  box-shadow: 0 0 20px rgba(255, 45, 120, 0.4);
}
