/* Effet visuel domaine — hacker (cosmétique uniquement) */

.domain-glitch {
  font-family: 'JetBrains Mono', 'Consolas', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: lowercase;
  display: block;
  line-height: 1.4;
  color: #ff1a1a;
  text-shadow:
    0 0 6px rgba(255, 26, 26, 0.75),
    0 0 14px rgba(255, 26, 26, 0.35);
  animation: domainGlitchPulse 0.08s steps(2) infinite;
  position: relative;
}

.domain-glitch--nav {
  font-size: 9px;
  margin-top: 2px;
  letter-spacing: 0.1em;
}

.domain-glitch--lock {
  color: #ffffff !important;
  text-shadow:
    0 0 10px rgba(255, 255, 255, 0.9),
    0 0 20px rgba(255, 255, 255, 0.4) !important;
}

html[data-site-theme="light"] .domain-glitch,
.dx-body .domain-glitch {
  color: #b80000;
  text-shadow: 0 0 5px rgba(184, 0, 0, 0.4);
}

html[data-site-theme="light"] .domain-glitch--lock,
.dx-body .domain-glitch--lock {
  color: #0a0a0a !important;
  text-shadow: none !important;
}

.domain-glitch::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: rgba(255, 26, 26, 0.25);
  pointer-events: none;
  animation: domainGlitchScan 1.2s linear infinite;
}

@keyframes domainGlitchPulse {
  0%, 100% { opacity: 1; transform: translateX(0); }
  50% { opacity: 0.88; transform: translateX(-0.5px); }
}

@keyframes domainGlitchScan {
  0% { transform: translateY(-8px); opacity: 0; }
  30% { opacity: 0.6; }
  100% { transform: translateY(8px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .domain-glitch {
    animation: none;
  }
  .domain-glitch::after {
    display: none;
  }
}
