:root {
  --benaiah-lock-bg: #ffffff;
  --benaiah-lock-text: #101010;
  --benaiah-lock-muted: #6f6f73;
  --benaiah-lock-line: rgba(16, 16, 16, .14);
  --benaiah-lock-button: #101010;
  --benaiah-lock-button-text: #ffffff;
}

:root[data-theme="dark"] {
  --benaiah-lock-bg: #000000;
  --benaiah-lock-text: #f7f7f5;
  --benaiah-lock-muted: #9b9b9f;
  --benaiah-lock-line: rgba(255, 255, 255, .16);
  --benaiah-lock-button: #f7f7f5;
  --benaiah-lock-button-text: #000000;
}

html.benaiah-lock-bootstrap body > *,
html.benaiah-app-locked body > *,
html.benaiah-privacy-shield body > * {
  visibility: hidden !important;
}

html.benaiah-lock-bootstrap body > .benaiah-app-lock,
html.benaiah-app-locked body > .benaiah-app-lock,
html.benaiah-privacy-shield body > .benaiah-app-lock {
  visibility: visible !important;
}

.benaiah-app-lock {
  position: fixed;
  z-index: 2147483647;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding:
    max(28px, env(safe-area-inset-top))
    max(24px, env(safe-area-inset-right))
    max(28px, env(safe-area-inset-bottom))
    max(24px, env(safe-area-inset-left));
  color: var(--benaiah-lock-text);
  background: var(--benaiah-lock-bg);
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
}

.benaiah-app-lock[hidden] {
  display: none;
}

.benaiah-app-lock__panel {
  display: grid;
  justify-items: center;
  width: min(100%, 420px);
}

.benaiah-app-lock__brand {
  margin: 0 0 52px;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .24em;
}

.benaiah-app-lock__mark {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin-bottom: 30px;
  border: 1px solid var(--benaiah-lock-line);
  border-radius: 50%;
}

.benaiah-app-lock__mark svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.benaiah-app-lock__title {
  margin: 0;
  font-size: clamp(28px, 8vw, 38px);
  font-weight: 720;
  letter-spacing: -.045em;
}

.benaiah-app-lock__copy {
  max-width: 340px;
  margin: 14px 0 0;
  color: var(--benaiah-lock-muted);
  font-size: 16px;
  line-height: 1.48;
}

.benaiah-app-lock__actions {
  display: grid;
  gap: 12px;
  width: min(100%, 340px);
  margin-top: 34px;
}

.benaiah-app-lock__button {
  min-height: 54px;
  border: 1px solid var(--benaiah-lock-line);
  border-radius: 999px;
  color: var(--benaiah-lock-text);
  background: transparent;
  font: inherit;
  font-size: 16px;
  font-weight: 680;
  cursor: pointer;
}

.benaiah-app-lock__button--primary {
  border-color: var(--benaiah-lock-button);
  color: var(--benaiah-lock-button-text);
  background: var(--benaiah-lock-button);
}

.benaiah-app-lock__button:disabled {
  cursor: wait;
  opacity: .6;
}

.benaiah-app-lock__status {
  min-height: 20px;
  margin: 16px 0 0;
  color: var(--benaiah-lock-muted);
  font-size: 13px;
  line-height: 1.45;
}

.benaiah-app-lock.is-privacy .benaiah-app-lock__copy,
.benaiah-app-lock.is-privacy .benaiah-app-lock__actions,
.benaiah-app-lock.is-privacy .benaiah-app-lock__status {
  display: none;
}

.benaiah-app-lock.is-privacy .benaiah-app-lock__title {
  font-size: 20px;
  letter-spacing: -.02em;
}

@media (prefers-reduced-motion: no-preference) {
  .benaiah-app-lock__mark {
    animation: benaiah-lock-breathe 2.8s ease-in-out infinite;
  }
}

@keyframes benaiah-lock-breathe {
  0%, 100% { transform: scale(1); opacity: .82; }
  50% { transform: scale(1.035); opacity: 1; }
}
