.verification-overlay{
  position:fixed; inset:0;
  display:grid; place-items:center;
  padding:clamp(12px, 4vw, 32px);
  background:rgba(0,0,0,0.45);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  opacity:0; pointer-events:none;
  transition:opacity 180ms ease;
  z-index:1200;
}
.verification-overlay.visible{ opacity:1; pointer-events:auto; }

.verification-dialog{
  color:var(--fg);
  background:rgba(8,20,16,0.55);
  border:3px solid rgba(255,255,255,0.96);
  border-radius:18px;
  box-shadow:none;
  padding:clamp(28px, 4.5vw, 48px);
  width:min(92vw, 780px);
  max-height:min(90vh, 960px);
  overflow-y:auto;
  overscroll-behavior:contain;
  transform: translateY(6px) scale(0.985);
  transition: transform 180ms ease, opacity 180ms ease, box-shadow 180ms ease;
  opacity: 0.98;
  display:flex; flex-direction:column;
  gap:clamp(12px, 2vh, 16px);
}
.verification-overlay.visible .verification-dialog{
  transform: translateY(0) scale(1);
  opacity: 1;
}

.verification-header{ display:flex; flex-direction:column; gap:clamp(6px, 1vh, 8px); }
.verification-header h3{
  margin:0 0 clamp(6px, 1vh, 10px) 0;
  font-size: clamp(calc(18px * var(--ui-scale)), calc(1.4vw * var(--ui-scale)), calc(24px * var(--ui-scale)));
  letter-spacing:0.3px;
}
.verification-meta{ display:flex; flex-wrap:wrap; gap:12px; font-size:calc(13px * var(--ui-scale)); opacity:0.8; }
.verification-meta span:empty{ display:none; }
.verification-note{ margin:0; font-size:calc(13px * var(--ui-scale)); opacity:0.75; }

.verification-body{
  display:grid;
  grid-template-columns: minmax(160px, 240px) 1fr;
  align-items:start;
  gap:clamp(12px, 2vw, 18px);
}
.verification-options{
  display:grid;
  grid-auto-rows:minmax(40px, auto);
  gap:10px;
  min-width:180px;
}
.verification-option{
  appearance:none;
  border:2px solid rgba(255,255,255,0.95);
  border-radius:14px;
  background:transparent;
  color:var(--fg);
  cursor:pointer;
  padding:10px 14px;
  font-size: calc(clamp(14px, 1.1vw, 16px) * var(--ui-scale));
  transition: transform 120ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.verification-option:hover{ border-color:var(--accent); box-shadow:0 0 10px rgba(102,255,153,0.2); }
.verification-option:active{ transform: translateY(1px) scale(0.99); }
.verification-option.active{ background:rgba(60,120,90,0.35); border-color:var(--accent); }

.verification-preview{ flex:1; min-height:260px; display:flex; flex-direction:column; gap:clamp(10px, 2vh, 14px); }
.verification-frame{
  flex:1; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.06);
  border:3px solid rgba(255,255,255,0.96);
  border-radius:14px;
  padding:12px; min-height:240px;
}
.verification-image{ max-width:100%; max-height:420px; object-fit:contain; }
.verification-instructions{ margin:0; font-size:calc(14px * var(--ui-scale)); opacity:0.8; }
.verification-message{ margin:0; font-size:calc(14px * var(--ui-scale)); min-height:20px; opacity:0.86; }
.verification-message.error{ color:rgba(255,160,160,0.85); }

.verification-actions{ display:flex; justify-content:flex-end; gap:12px; margin-top:clamp(10px, 2vh, 14px); }
.verification-actions button{
  appearance:none;
  border:2px solid rgba(255,255,255,0.95);
  border-radius:14px;
  background:transparent;
  color:var(--fg);
  cursor:pointer;
  padding:10px 16px; min-width:160px;
  font-size: calc(clamp(14px, 1.1vw, 16px) * var(--ui-scale));
  transition: transform 120ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.verification-actions button:hover{ border-color:var(--accent); box-shadow:0 0 10px rgba(102,255,153,0.2); }
.verification-actions button:active{ transform: translateY(1px) scale(0.99); }
.verification-actions .verification-shoot{ border-color:rgba(255,190,190,0.75); }
.verification-actions .verification-release{ border-color:rgba(210,255,230,0.55); }

/* Shotgun overlay - reduced size and right-shifted */
.shotgun-overlay{
  position: fixed;
  left: 60%;
  bottom: -8vh;
  width: min(105vw, 112.5vh);
  max-height: 165vh;
  object-fit: contain;
  opacity: 0;
  transform: translateX(-50%) translate(var(--shake-x, 0px), var(--shake-y, 0px));
  transition: opacity 350ms ease, transform 450ms ease;
  pointer-events: none;
  z-index: 6000;
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.6));
}
.shotgun-overlay.visible{
  opacity: 1;
}
.shotgun-overlay.shaking{
  transition: opacity 350ms ease, transform 75ms ease;
}
.shotgun-overlay.fade-out{
  opacity: 0;
  transition: opacity 3s ease;
}

/* Blood overlay - massive size (covers nearly full screen) */
.blood-overlay{
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(180vw, 180vh);
  height: auto;
  object-fit: contain;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  z-index: 1220;
  transition: opacity .4s ease;
}
.blood-overlay.visible{
  opacity: 1;
}
.blood-overlay.fading{
  opacity: 0;
  transition: opacity 4s ease;
}

@media (max-width:880px){
  .verification-dialog{ width:min(94vw, 720px); padding: clamp(20px, 4vw, 28px); }
  .verification-body{ grid-template-columns: 1fr; }
  .verification-options{ grid-template-columns: 1fr 1fr; }
  .verification-option{ text-align:center; }
  .verification-frame{ min-height:200px; }
}
