/* GONZOWIRE OS - base palette and reset */
:root {
  /* Mojave + Vegas neon + Steadman ink */
  --sand:        #d9b16c;
  --sand-deep:   #8a5a2b;
  --asphalt:     #1a120b;
  --asphalt-2:   #0d0907;
  --bone:        #f4e9c1;
  --ink:         #120a05;

  /* Vegas neon */
  --neon-pink:   #ff2b8f;
  --neon-cyan:   #14e3ff;
  --neon-yellow: #ffe21a;
  --neon-acid:   #b6ff00;
  --neon-blood:  #ff2a1f;
  --neon-purple: #7b2bff;

  /* OS chrome */
  --win-bg:      #3a2614;
  --win-border:  #ffe21a;
  --win-title:   #ff2b8f;
  --win-shadow:  0 0 0 2px #120a05, 0 0 32px rgba(255,43,143,.55), 8px 8px 0 #000;

  --mono: "VT323", "IBM Plex Mono", "Courier New", monospace;
  --display: "Special Elite", "Courier New", monospace;
  --psy: "Rubik Mono One", "Special Elite", serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--asphalt-2);
  color: var(--bone);
  font-family: var(--mono);
  font-size: 18px;
  overflow: hidden;
  cursor: url("assets/cursor.svg") 4 4, crosshair;
}

a { color: var(--neon-cyan); text-decoration: none; border-bottom: 1px dashed var(--neon-cyan); }
a:hover { color: var(--neon-yellow); border-color: var(--neon-yellow); }

::selection { background: var(--neon-pink); color: var(--ink); }

/* CRT screen wrap - только scanlines, без затемнения */
.crt {
  position: fixed;
  inset: 0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0px,
      rgba(0,0,0,0) 2px,
      rgba(0,0,0,.10) 3px,
      rgba(0,0,0,0) 4px
    );
  pointer-events: none;
  z-index: 9000;
}

.crt::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("assets/noise.svg");
  opacity: .06;
  animation: noiseShift .25s steps(2) infinite;
}

@keyframes noiseShift {
  0% { transform: translate(0,0); }
  50% { transform: translate(-2px,1px); }
  100% { transform: translate(1px,-1px); }
}

/* Vignette - очень мягкий, только по углам */
.vignette {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 70%, rgba(0,0,0,.45) 100%);
  z-index: 9001;
}

/* Scanline sweep - ярче, заметнее */
.scan {
  position: fixed;
  left: 0; right: 0; top: -10vh;
  height: 14vh;
  background: linear-gradient(180deg, transparent, rgba(255,226,26,.12), transparent);
  pointer-events: none;
  z-index: 9002;
  animation: sweep 9s linear infinite;
}

@keyframes sweep {
  0%   { top: -14vh; }
  100% { top: 110vh; }
}
