.vault-cinematic {
  font-family: 'Courier New', 'SF Mono', Monaco, monospace;
}

.vault-cinematic.security-camera::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  pointer-events: none;
  z-index: 10;
  animation: scanline-move 8s linear infinite;
}

@keyframes scanline-move {
  0% { background-position: 0 0; }
  100% { background-position: 0 100%; }
}

.vault-cinematic.security-active::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255, 255, 255, 0.02);
  pointer-events: none;
  z-index: 11;
  animation: flicker 0.15s infinite;
}

@keyframes flicker {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
  92%, 98% { opacity: 0.8; }
}

@keyframes flash-fade {
  0% { opacity: 0.8; }
  100% { opacity: 0; }
}

.security-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 100;
  color: #00ff00;
  text-shadow: 0 0 10px #00ff00;
}

.rec-indicator {
  position: absolute;
  top: 20px; left: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ff0000;
  font-size: 16px;
  font-weight: bold;
  text-shadow: 0 0 10px #ff0000;
}

.rec-dot {
  width: 12px; height: 12px;
  background: #ff0000;
  border-radius: 50%;
  animation: rec-blink 1s infinite;
}

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

.camera-label {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  letter-spacing: 2px;
  opacity: 0.8;
}

.live-badge {
  position: absolute;
  top: 20px; right: 20px;
  font-size: 14px;
  font-weight: bold;
  color: #ff0000;
  animation: live-pulse 2s infinite;
}

@keyframes live-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.corner-bracket {
  position: absolute;
  width: 60px; height: 60px;
  border-color: rgba(0, 255, 0, 0.7);
  border-style: solid;
  z-index: 15;
}

.corner-tl { top: 40px; left: 40px; border-width: 3px 0 0 3px; }
.corner-tr { top: 40px; right: 40px; border-width: 3px 3px 0 0; }
.corner-bl { bottom: 100px; left: 40px; border-width: 0 0 3px 3px; }
.corner-br { bottom: 100px; right: 40px; border-width: 0 3px 3px 0; }

.vault-banner {
  position: absolute;
  bottom: 140px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 20px;
}

.banner-line {
  width: 100px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #00ff00, transparent);
}

.banner-text {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 4px;
  color: #00ff00;
  text-shadow: 0 0 20px #00ff00, 0 0 40px #00ff00;
  animation: banner-glow 2s ease-in-out infinite;
}

@keyframes banner-glow {
  0%, 100% { text-shadow: 0 0 20px #00ff00, 0 0 40px #00ff00; }
  50% { text-shadow: 0 0 30px #00ff00, 0 0 60px #00ff00, 0 0 80px #00ff00; }
}

.hunter-info {
  position: absolute;
  bottom: 60px;
  left: 20px;
  font-size: 14px;
}

.hunter-label {
  margin-bottom: 5px;
  font-weight: bold;
}

.timestamp {
  opacity: 0.8;
  font-family: 'SF Mono', Monaco, monospace;
}

.continue-prompt {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  opacity: 0.7;
  animation: prompt-blink 1.5s infinite;
}

@keyframes prompt-blink {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 0.3; }
}

.video-wrapper {
  position: relative;
  background: #000;
}

.video-wrapper iframe,
.video-wrapper video {
  display: block;
}
