:root {
  --abyss: #020509;
  --deep: #061d25;
  --kelp: #0b3f35;
  --signal: #8fffe0;
  --warning: #ff4b58;
  --paper: #d8cfb5;
}

.arg-abyss-bg {
  background:
    radial-gradient(circle at 50% 32%, rgba(143,255,224,.14), transparent 28rem),
    linear-gradient(180deg, #081f28 0%, var(--abyss) 72%);
  color: var(--signal);
}

.scanline-overlay {
  position: relative;
  overflow: hidden;
}
.scanline-overlay::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, rgba(0,0,0,.18) 2px 4px);
  mix-blend-mode: screen;
}

.redaction {
  background: #050505;
  color: transparent;
  border-radius: 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.sonar-pulse {
  border: 1px solid rgba(143,255,224,.3);
  box-shadow: 0 0 24px rgba(143,255,224,.22), inset 0 0 48px rgba(143,255,224,.08);
  animation: sonarPulse 4.8s linear infinite;
}

@keyframes sonarPulse {
  0% { filter: brightness(.8) contrast(1.1); opacity: .78; }
  50% { filter: brightness(1.25) contrast(1.45); opacity: 1; }
  100% { filter: brightness(.8) contrast(1.1); opacity: .78; }
}

.evidence-card {
  background: color-mix(in srgb, var(--paper) 88%, #000 12%);
  color: #1f211c;
  transform: rotate(var(--tilt, -1deg));
  box-shadow: 0 14px 42px rgba(0,0,0,.55);
}

.warning-rune {
  color: var(--warning);
  text-shadow: 0 0 12px rgba(255,75,88,.7);
  letter-spacing: .18em;
}
