/* Discord captcha + redirect confirm */

.discord-gate-root {
  position: fixed;
  inset: 0;
  z-index: 4000;
  pointer-events: none;
  visibility: hidden;
}

.discord-gate-root.is-open {
  pointer-events: auto;
  visibility: visible;
}

.discord-gate-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 12, 6, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.discord-gate-root.is-open .discord-gate-backdrop {
  opacity: 1;
}

.discord-gate-fly {
  position: fixed;
  z-index: 4002;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  font-family: var(--font);
  font-size: 0.875rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(180deg, #ff3333, #c40000);
  border: 3px solid var(--outline);
  box-shadow: var(--shadow-block-lg);
  white-space: nowrap;
  pointer-events: none;
  overflow: hidden;
}

.discord-gate-panel {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 4003;
  width: min(420px, calc(100vw - 32px));
  max-height: min(90vh, 640px);
  overflow-y: auto;
  background: var(--card);
  border: 4px solid var(--outline);
  box-shadow: var(--shadow-block-lg);
  transform: translate(-50%, -50%) scale(0.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}

.discord-gate-panel.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}

.discord-gate-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: repeating-linear-gradient(
    90deg,
    var(--gold) 0px,
    var(--gold) 14px,
    var(--primary) 14px,
    var(--primary) 28px
  );
  border-bottom: 3px solid var(--outline);
}

.discord-gate-body {
  padding: 48px 28px 28px;
  text-align: center;
}

.discord-gate-logo {
  margin: 0 auto 20px;
}

.discord-gate-logo .logo-frame {
  margin: 0 auto;
}

.discord-gate-logo .site-logo {
  width: min(200px, 70vw);
  max-width: min(200px, 70vw);
}

.discord-gate-step-title {
  font-family: var(--font-pixel);
  font-size: 0.5rem;
  line-height: 1.8;
  color: var(--text);
  margin: 0 0 8px;
}

.discord-gate-step-desc {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-muted);
  margin: 0 0 20px;
  line-height: 1.5;
}

.discord-gate-captcha-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.discord-gate-captcha-canvas {
  border: 3px solid var(--outline);
  box-shadow: inset 3px 3px 0 rgba(61, 41, 20, 0.08);
  background: #fff;
  cursor: default;
  max-width: 100%;
}

.discord-gate-captcha-row {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 280px;
}

.discord-gate-captcha-row .form-control {
  flex: 1;
  text-align: center;
  font-family: var(--font-pixel);
  font-size: 0.625rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.discord-gate-captcha-refresh {
  flex-shrink: 0;
  width: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.discord-gate-error {
  color: var(--primary);
  font-size: 0.8125rem;
  font-weight: 700;
  min-height: 1.25rem;
  margin: 8px 0 0;
}

.discord-gate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 22px;
}

.discord-gate-actions .btn {
  min-width: 120px;
}

.discord-gate-actions .btn-take-me {
  background: linear-gradient(180deg, #5865f2, #4752c4) !important;
  color: #fff !important;
  border-color: var(--outline) !important;
}

.discord-gate-actions .btn-take-me:hover {
  color: #fff !important;
}

body.discord-gate-active {
  overflow: hidden;
}

/* Nav discord CTA — layout in site-nav.css */
