html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Cyberpunk Custom Styles */
@keyframes scanline {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}

.scanline-effect {
  position: relative;
}

.scanline-effect::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(0, 255, 255, 0.05) 50%);
  background-size: 100% 4px;
  pointer-events: none;
  z-index: 50;
}

.glitch-text:hover {
  text-shadow: 2px 0 #ff00ff, -2px 0 #00ffff;
}

.scrolling-data {
  white-space: nowrap;
  animation: scroll-vertical 20s linear infinite;
}

@keyframes scroll-vertical {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

.border-neon-pink { border-color: #ff00ff; }
.border-neon-cyan { border-color: #00ffff; }
.shadow-neon { box-shadow: 0 0 10px rgba(255, 0, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3); }

/* Selection Styles */
::selection {
  background: #ff00ff;
  color: white;
}
