/* Authentication layout. */

.auth-split {
  block-size: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  font-family: "Geist", system-ui, sans-serif;
  overflow: hidden;
}

@media (width >= 48rem) {
  .auth-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }
}

.auth-split__brand {
  background-color: var(--color-secondary);
  border-block-end-width: var(--border);
  color: var(--color-text);
  display: grid;
  place-items: center;
  padding: var(--size-8) var(--size-6);
}

.auth-split__brand-content {
  inline-size: 100%;
  max-inline-size: 28rem;
}

.auth-split__wordmark {
  block-size: var(--size-12);
  color: inherit;
  contain: layout paint;
  display: block;
  inline-size: 100%;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

.auth-split__wordmark-text {
  display: grid;
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  inset: 0;
  letter-spacing: -0.03em;
  line-height: 1;
  place-items: center;
  position: absolute;
  transition: opacity var(--time-200) var(--ease-out-3);
}

.auth-split__wordmark-canvas {
  block-size: 100%;
  display: none;
  inline-size: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity var(--time-200) var(--ease-out-3);
}

.auth-split__form > h1 {
  font-size: var(--text-3xl);
}

@media (width >= 48rem) {
  .auth-split__form > h1 {
    font-size: var(--text-4xl);
  }
}

.auth-split__tagline {
  color: var(--color-text-subtle);
  font-size: var(--text-base);
  font-weight: var(--font-medium);
  line-height: 1.4;
  margin-block-start: var(--size-3);
  text-align: center;
}

@media (width >= 48rem) {
  .auth-split__brand {
    border-block-end-width: 0;
    border-inline-end-width: var(--border);
    padding: var(--size-16);
  }

  .auth-split__wordmark {
    block-size: clamp(7rem, 18vh, 10rem);
  }

  .auth-split__wordmark-canvas {
    display: block;
  }

  .auth-split__wordmark.is-particles .auth-split__wordmark-text {
    opacity: 0;
  }

  .auth-split__wordmark.is-particles .auth-split__wordmark-canvas {
    cursor: crosshair;
    opacity: 1;
    pointer-events: auto;
  }

  .auth-split__tagline {
    margin-block-start: var(--size-5);
    font-size: var(--text-xl);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-split__wordmark.is-particles .auth-split__wordmark-canvas {
    cursor: default;
  }
}

.auth-split__main {
  min-block-size: 0;
  display: grid;
  align-items: start;
  justify-items: center;
  overflow-y: auto;
  padding: var(--size-8) var(--size-6);
  background-color: var(--color-bg);
}

@media (width >= 48rem) {
  .auth-split__main {
    align-items: safe center;
  }
}

.auth-split__form {
  inline-size: 100%;
  max-inline-size: var(--max-i-md);
}
