/* ShieldAds Anti-AdBlock Gate — frontend. No external fonts or assets. */
html.shieldads-gate-locked, body.shieldads-gate-locked { overflow: hidden !important; user-select: none !important; -webkit-user-select: none !important; }
/* While the gate is up, underlying page text cannot be selected, even
   in the brief moment after an Inspect delete before the watchdog
   rebuilds the overlay (see frontend.js). Selection returns when the
   gate is removed, because the locked classes are removed with it. */

.shieldads-gate-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  animation: shieldads-fade-in 0.3s ease-out both;
}

.shieldads-gate-card {
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  color: #111827;
  border-radius: 16px;
  padding: 36px 32px;
  text-align: center;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
  animation: shieldads-rise 0.35s ease-out both;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

.shieldads-gate-icon { color: #2563eb; margin-bottom: 8px; }
.shieldads-gate-logo { max-width: 180px; max-height: 64px; height: auto; margin: 0 auto 12px; display: block; }
.shieldads-gate-card h2 { margin: 8px 0 12px; font-size: 1.6em; line-height: 1.25; font-weight: 700; }
.shieldads-gate-desc { white-space: pre-line; line-height: 1.65; margin: 0 0 20px; opacity: 0.92; }
.shieldads-gate-button {
  display: inline-block;
  background: #2563eb;
  color: #ffffff;
  border: 0;
  border-radius: 10px;
  padding: 14px 24px;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.4;
}
.shieldads-gate-button:hover, .shieldads-gate-button:focus-visible { filter: brightness(1.08); outline: 3px solid rgba(37, 99, 235, 0.35); outline-offset: 2px; }
.shieldads-gate-button:disabled { opacity: 0.6; cursor: wait; }
.shieldads-gate-additional { margin: 16px 0 0; font-size: 0.92em; line-height: 1.6; opacity: 0.8; white-space: pre-line; }
.shieldads-gate-status { margin: 12px 0 0; font-size: 0.92em; font-weight: 600; min-height: 1.4em; }

@keyframes shieldads-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes shieldads-rise { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 560px) {
  .shieldads-gate-card { padding: 28px 20px; }
  .shieldads-gate-card h2 { font-size: 1.35em; }
}

@media (prefers-reduced-motion: reduce) {
  .shieldads-gate-overlay, .shieldads-gate-card { animation: none; }
}
