html.site-auth-pending {
  background: #1a0508;
}

html.site-auth-pending body {
  visibility: hidden;
}

/* Overlay is inside body — must override inherited visibility or it stays hidden. */
#site-auth-overlay {
  visibility: visible;
}

.site-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  background:
    radial-gradient(circle at top, rgba(200, 138, 52, 0.18), transparent 42%),
    rgba(26, 5, 8, 0.96);
  color: #f6e5b1;
}

.site-auth-overlay[hidden] {
  display: none !important;
}

.site-auth-panel {
  width: min(100%, 24rem);
  padding: 1.35rem 1.35rem 1.5rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(200, 138, 52, 0.35);
  background: rgba(18, 4, 6, 0.92);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.site-auth-panel h1 {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
  color: #f6e5b1;
}

.site-auth-panel p {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(246, 229, 177, 0.86);
}

.site-auth-label {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.site-auth-input {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(200, 138, 52, 0.35);
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.96);
  color: #1a0508;
  font: inherit;
}

.site-auth-input:focus-visible {
  outline: 2px solid rgba(200, 138, 52, 0.75);
  outline-offset: 2px;
}

.site-auth-submit {
  width: 100%;
  border: none;
  border-radius: 999px;
  padding: 0.7rem 1rem;
  background: #ae4f51;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.site-auth-submit:hover,
.site-auth-submit:focus-visible {
  background: #964c4e;
}

.site-auth-error {
  min-height: 1.2rem;
  margin: 0.75rem 0 0;
  color: #f5b0b2;
  font-size: 0.86rem;
}
