@import "/assets/app/shared/styles/page.b7364d55a07a8bf2.css";

.home-main {
  padding: clamp(var(--space-6), 8vh, var(--space-16)) var(--space-8) var(--space-10);
}

.home-hero {
  width: 100%;
  max-width: var(--container-4xl);
}

.home-title {
  margin-block: 0;
  font-size: clamp(2rem, min(11vw, 24vh), var(--text-8xl));
  font-weight: var(--weight-semibold);
  line-height: var(--leading-none);
  letter-spacing: -0.045em;
  /* Large type sits a little right of its box (the glyphs' side bearing),
     so pull it back to line up with the text beneath it. */
  margin-inline-start: -0.03em;
}

.home-accent {
  position: relative;
  display: inline-block;
  padding-inline-end: 0.08em;
  margin-inline-end: -0.08em;
  font-weight: var(--weight-bold);
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent) 38%, var(--accent-deep) 50%, var(--accent) 62%, var(--accent) 100%);
  background-size: 260% 100%;
  background-position: 100% 50%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: home-wave 1900ms ease-in-out 1800ms forwards, home-glimmer 6s ease-in-out 3700ms infinite;
}

@keyframes home-wave {
  from {
    background-position: 100% 50%;
  }

  to {
    background-position: 0% 50%;
  }
}

@keyframes home-glimmer {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 30% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.home-confetti {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

/* Arrives with the headline: the pill and the title are one statement. */
.home-status {
  animation: home-fade 2s ease-out 500ms both;
}

.home-status .pill-dot {
  animation: home-pulse 2.4s ease-in-out infinite;
}

@keyframes home-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 color-mix(in oklab, var(--success) 45%, transparent);
  }

  50% {
    box-shadow: 0 0 0 5px color-mix(in oklab, var(--success) 0%, transparent);
  }
}

.home-title {
  animation: home-fade 2s ease-out 500ms both;
}

@keyframes home-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes home-in {
  from {
    opacity: 0;
    transform: translateY(0.25em);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes home-rise {
  from {
    opacity: 0;
    transform: translateY(0.6em) scale(0.96);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.home-help {
  margin-block: 0;
  font-size: clamp(var(--text-sm), min(1.3vw, 2vh), var(--text-base));
  color: var(--ink-soft);
  animation: home-fade 600ms ease-out 1800ms both;
}

.home-help a {
  color: var(--ink);
  font-weight: var(--weight-medium);
}

@media (prefers-reduced-motion: reduce) {
  .home-status,
  .home-status .pill-dot,
  .home-title,
  .home-help {
    animation: none;
  }

  .home-accent {
    animation: none;
    background: none;
    color: var(--accent);
    -webkit-text-fill-color: currentColor;
  }
}

@media (max-width: 45rem) {
  .home-main {
    padding: var(--space-10) var(--space-5) var(--space-8);
  }
}

/* A pane narrower than a phone, such as the editor's browser beside a chat:
   tighter margins so nothing runs off the side. */
@media (max-width: 24rem) {
  .home-main {
    padding-inline: var(--space-4);
  }
}
