@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

* {
  box-sizing: border-box;
}

body {
  background-color: #0d0505;
  font-family: 'Press Start 2P', monospace;
  color: #ff9999;
  image-rendering: pixelated;
  overflow-x: hidden;
}

.scanlines {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15) 0px,
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 3px
  );
}

.crt-glow {
  text-shadow: 0 0 5px currentColor, 0 0 10px currentColor;
}

.pixel-border {
  border: 3px solid #4a1c1c;
  box-shadow:
    inset 0 0 0 2px #1a0a0a,
    inset 0 0 0 4px #331111,
    0 0 15px rgba(255, 51, 51, 0.1);
}

.pixel-border-bright {
  border: 3px solid #ff3333;
  box-shadow:
    inset 0 0 0 2px #1a0a0a,
    inset 0 0 0 4px #661111,
    0 0 20px rgba(255, 51, 51, 0.2);
}

.retro-btn {
  font-family: 'Press Start 2P', monospace;
  background: linear-gradient(180deg, #ff4444 0%, #cc0000 50%, #990000 100%);
  border: 3px solid #ff6666;
  border-bottom-color: #660000;
  border-right-color: #660000;
  color: #fff;
  text-shadow: 1px 1px 0 #660000;
  cursor: pointer;
  transition: all 0.1s;
  image-rendering: pixelated;
}

.retro-btn:hover {
  background: linear-gradient(180deg, #ff6666 0%, #ee2222 50%, #bb0000 100%);
  box-shadow: 0 0 20px rgba(255, 68, 68, 0.4);
}

.retro-btn:active {
  border: 3px solid #660000;
  border-top-color: #ff6666;
  border-left-color: #ff6666;
  transform: translateY(2px);
}

.retro-select {
  font-family: 'Press Start 2P', monospace;
  background-color: #1a0a0a;
  border: 3px solid #4a1c1c;
  color: #ff9999;
  appearance: none;
  cursor: pointer;
}

.retro-select:focus {
  border-color: #ff3333;
  outline: none;
  box-shadow: 0 0 10px rgba(255, 51, 51, 0.3);
}

.retro-range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  background: #1a0a0a;
  border: 2px solid #4a1c1c;
  outline: none;
}

.retro-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 20px;
  background: #ff3333;
  border: 2px solid #ff6666;
  border-bottom-color: #990000;
  border-right-color: #990000;
  cursor: pointer;
}

.retro-range::-moz-range-thumb {
  width: 16px;
  height: 20px;
  background: #ff3333;
  border: 2px solid #ff6666;
  border-bottom-color: #990000;
  border-right-color: #990000;
  cursor: pointer;
  border-radius: 0;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

@keyframes flicker {
  0% { opacity: 1; }
  3% { opacity: 0.9; }
  6% { opacity: 1; }
  7% { opacity: 0.85; }
  9% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 5px rgba(255, 51, 51, 0.3); }
  50% { box-shadow: 0 0 20px rgba(255, 51, 51, 0.6), 0 0 40px rgba(255, 51, 51, 0.2); }
}

@keyframes scroll-text {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

.blink {
  animation: blink 1s step-start infinite;
}

.flicker {
  animation: flicker 4s infinite;
}

.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

.stat-box {
  background: #1a0a0a;
  border: 3px solid #4a1c1c;
  position: relative;
  overflow: hidden;
}

.stat-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff3333, transparent);
  opacity: 0.5;
}

.stat-box:hover {
  border-color: #ff3333;
  box-shadow: 0 0 15px rgba(255, 51, 51, 0.2);
}

.network-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 8px;
  border: 2px solid #4a1c1c;
  background: #1a0a0a;
  color: #ff9999;
  padding: 4px 10px;
  transition: all 0.2s;
}

.network-tag:hover {
  border-color: #ff3333;
  color: #ff3333;
  box-shadow: 0 0 10px rgba(255, 51, 51, 0.3);
}

.job-card {
  background: #1a0a0a;
  border: 2px solid #331111;
  transition: all 0.2s;
}

.job-card:hover {
  border-color: #ff3333;
  box-shadow: 0 0 10px rgba(255, 51, 51, 0.15);
}

.capacity-card {
  background: #1a0a0a;
  border: 3px solid #331111;
  transition: all 0.2s;
}

.capacity-card.live {
  border-color: #1a4a1a;
}

.capacity-card.error {
  border-color: #4a1a1a;
}

.capacity-card:hover {
  border-color: #ff3333;
  box-shadow: 0 0 15px rgba(255, 51, 51, 0.15);
}

.marquee-container {
  overflow: hidden;
  white-space: nowrap;
}

.marquee-text {
  display: inline-block;
  animation: scroll-text 20s linear infinite;
}

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

::-webkit-scrollbar-track {
  background: #0d0505;
}

::-webkit-scrollbar-thumb {
  background: #4a1c1c;
  border: 1px solid #331111;
}

::-webkit-scrollbar-thumb:hover {
  background: #ff3333;
}
