.sc-fp-hide-submit {
  display: none !important;
}

.sc-fp {
  --sc-accent: #8a734a;
  --sc-ink: #161616;
  --sc-muted: #6b655c;
  --sc-line: #d9d2c6;
  --sc-track: #ebe6dc;
  --sc-ok: #2f6b3c;
  --sc-err: #b42318;
  max-width: 28rem;
  margin: 0 auto 2rem;
  text-align: left;
  color: var(--sc-ink);
}

body.sc-fp-signin .sc-fp {
  margin-top: 1.35rem;
}

body.sc-fp-signin form.sc-fp-login-locked {
  display: none !important;
}

body.sc-fp-signin .sc-fp.is-verified .sc-fp-hint,
body.sc-fp-signin .sc-fp.is-verified [data-sc-result] {
  display: none;
}

html.dark .sc-fp,
.dark .sc-fp {
  --sc-ink: #f3f1ec;
  --sc-muted: #b7b1a6;
  --sc-line: #3a3834;
  --sc-track: #2a2926;
}

.sc-fp-hint,
.sc-fp-msg,
.sc-fp-result p,
.sc-fp-gen-note {
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--sc-muted);
  margin: 0 0 0.85rem;
}

.sc-fp-swipe {
  margin: 0.4rem 0 0.75rem;
  user-select: none;
}

.sc-fp-track {
  position: relative;
  height: 52px;
  border-radius: 999px;
  background: var(--sc-track);
  border: 1px solid var(--sc-line);
  overflow: hidden;
}

.sc-fp-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 52px;
  background: linear-gradient(90deg, #d9c9a8, var(--sc-accent));
  border-radius: 999px;
}

.sc-fp-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sc-muted);
  pointer-events: none;
}

.sc-fp-handle {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sc-ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  z-index: 2;
  font-size: 1.1rem;
}

html.dark .sc-fp-handle,
.dark .sc-fp-handle {
  background: #f3f1ec;
  color: #161616;
}

.sc-fp-handle:active {
  cursor: grabbing;
}

.sc-fp-swipe.is-done .sc-fp-label {
  color: #fff;
}

.sc-fp-swipe.is-done .sc-fp-fill {
  width: 100% !important;
}

.sc-fp-fallback {
  display: none;
  margin-top: 0.65rem;
  appearance: none;
  border: 1px solid var(--sc-ink);
  background: transparent;
  color: var(--sc-ink);
  padding: 0.45rem 0.8rem;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
}

@media (pointer: coarse) {
  .sc-fp-fallback:not(.is-hidden) {
    display: inline-block;
  }
}

.sc-fp-otp-label {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.sc-fp-otp-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}

.sc-fp-otp input {
  flex: 1;
  letter-spacing: 0.4em;
  font-size: 1.25rem;
  text-align: center;
  border: 1px solid var(--sc-line);
  border-bottom: 1px solid var(--sc-ink);
  background: transparent;
  color: inherit;
  padding: 0.5rem;
  border-radius: 0.5rem;
}

.sc-fp-verify,
.sc-fp-reset-link {
  appearance: none;
  border: 1px solid var(--sc-ink);
  background: var(--sc-ink);
  color: #fff;
  padding: 0.55rem 0.95rem;
  font: inherit;
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  border-radius: 0.5rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

html.dark .sc-fp-verify,
html.dark .sc-fp-reset-link,
.dark .sc-fp-verify,
.dark .sc-fp-reset-link {
  background: #f3f1ec;
  color: #161616;
  border-color: #f3f1ec;
}

.sc-fp-verify:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.sc-fp-msg.is-err {
  color: var(--sc-err);
}

.sc-fp-msg.is-ok {
  color: var(--sc-ok);
}

.sc-fp-result {
  margin-top: 0.75rem;
}

.is-hidden {
  display: none !important;
}

.sc-fp-pw-parent {
  position: relative;
}

.sc-fp-pw-parent input[type='password'],
.sc-fp-pw-parent input[type='text'] {
  padding-right: 3.1rem !important;
}

.sc-fp-gen {
  position: absolute;
  right: 0.45rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  border: 1px solid #8a734a;
  background: #161616;
  color: #f3f1ec;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  z-index: 3;
}

html.dark .sc-fp-gen,
.dark .sc-fp-gen {
  background: #f3f1ec;
  color: #161616;
}

.sc-fp-gen:disabled {
  opacity: 0.5;
  cursor: wait;
}

.sc-fp-gen-note {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
}
