@font-face {
  font-family: Inter;
  src: url("/fonts/inter-latin-wght.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url("/fonts/manrope-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
}
.auth-bootstrap {
  color-scheme: light dark;
  font-family: Inter, system-ui, sans-serif;
}
.auth-bootstrap,
.auth-bootstrap * {
  box-sizing: border-box;
}
body:has(> #root > .auth-bootstrap) {
  margin: 0;
}
.auth-bootstrap {
  /* #root is a flex row (Expo template): without a flex size this screen
     shrinks to its content and leaves the rest of a wide window blank. */
  flex: 1 1 auto;
  width: 100%;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 48px;
  background: #f5f5f5;
  color: #050505;
  font:
    15px/22px Inter,
    system-ui,
    sans-serif;
}
.auth-bootstrap .frame {
  width: min(100%, 960px);
  display: grid;
  grid-template-columns: minmax(0, 420px) 420px;
  gap: 32px;
  align-items: center;
}
.auth-bootstrap .intro,
.auth-bootstrap section,
.auth-bootstrap form {
  display: grid;
  gap: 24px;
}
.auth-bootstrap .brand img {
  display: block;
  width: 170px;
  height: auto;
}
.auth-bootstrap .brand .dark {
  display: none;
}
.auth-bootstrap .intro h1 {
  font:
    600 24px/30px Manrope,
    Inter,
    sans-serif;
  letter-spacing: -0.7px;
}
.auth-bootstrap .intro .muted {
  font-size: 16px;
  line-height: 24px;
}
.auth-bootstrap section,
.auth-bootstrap form {
  gap: 16px;
}
.auth-bootstrap h1,
.auth-bootstrap p {
  margin: 0;
}
.auth-bootstrap section h1 {
  font:
    600 18px/24px Manrope,
    Inter,
    sans-serif;
  letter-spacing: -0.3px;
}
.auth-bootstrap .muted {
  color: #5e5e66;
}
.auth-bootstrap label {
  display: grid;
  gap: 8px;
  font-size: 13px;
  line-height: 18px;
}
.auth-bootstrap input {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #858585;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  font:
    15px/22px Inter,
    system-ui,
    sans-serif;
}
.auth-bootstrap input[aria-invalid="true"] {
  border-color: #a72d45;
}
.auth-bootstrap .err,
.auth-bootstrap [role="alert"] {
  color: #a72d45;
  font-size: 14px;
  line-height: 20px;
}
.auth-bootstrap button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #858585;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  font:
    600 14px/20px Inter,
    system-ui,
    sans-serif;
  cursor: pointer;
}
.auth-bootstrap button.primary {
  border-color: #17181c;
  background: #ccff00;
  color: #17181c;
}
.auth-bootstrap button.link {
  min-height: 36px;
  width: max-content;
  border: 0;
  background: none;
  padding: 8px 0;
}
.auth-bootstrap button:disabled {
  opacity: 0.6;
  cursor: default;
}
.auth-bootstrap .or {
  display: flex;
  gap: 12px;
  align-items: center;
  color: #5e5e66;
  font-size: 14px;
}
.auth-bootstrap .or:before,
.auth-bootstrap .or:after {
  content: "";
  flex: 1;
  height: 1px;
  background: #dedee4;
}
@media (max-width: 959px) {
  .auth-bootstrap {
    padding: 24px 16px;
  }
  .auth-bootstrap .frame {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .auth-bootstrap .intro,
  .auth-bootstrap section {
    width: 100%;
    max-width: 420px;
    justify-self: center;
  }
}
@media (prefers-color-scheme: dark) {
  .auth-bootstrap {
    background: #000;
    color: #fcfcfc;
  }
  .auth-bootstrap .muted,
  .auth-bootstrap .or {
    color: #a0a0a8;
  }
  .auth-bootstrap .or:before,
  .auth-bootstrap .or:after {
    background: #2e2e34;
  }
  .auth-bootstrap input,
  .auth-bootstrap button {
    border-color: #7c7c7c;
    background: #242424;
  }
  .auth-bootstrap button.link {
    background: none;
  }
  .auth-bootstrap input[aria-invalid="true"] {
    border-color: #ff9baa;
  }
  .auth-bootstrap .err,
  .auth-bootstrap [role="alert"] {
    color: #ff9baa;
  }
  .auth-bootstrap .brand .light {
    display: none;
  }
  .auth-bootstrap .brand .dark {
    display: block;
  }
}
