:root {
  color-scheme: light;
  background: #fffbf4;
  color: #23352d;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body { min-height: 100%; margin: 0; }

.launch {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 32px 24px;
  background: radial-gradient(circle at 50% 36%, #ddf3e7 0, #fffbf4 52%);
  text-align: center;
}

.launch__content { width: min(100%, 360px); }
.launch__logo { display: block; margin: 0 auto 28px; border-radius: 20px; }
.launch__eyebrow { margin: 0 0 8px; color: #365c48; font-size: 12px; font-weight: 750; letter-spacing: .22em; }
h1 { margin: 0; font-size: clamp(32px, 8vw, 42px); line-height: 1.12; letter-spacing: -.04em; }
.launch__message { margin: 14px 0 32px; color: #5b6a62; font-size: 16px; line-height: 1.5; }
.launch__progress { overflow: hidden; width: min(100%, 208px); height: 4px; margin: 0 auto 16px; border-radius: 999px; background: #ddf3e7; }
.launch__progress span { display: block; width: 35%; height: 100%; border-radius: inherit; background: #365c48; animation: garden-loading 1.8s ease-in-out infinite alternate; }
.launch__status { margin: 0; color: #5b6a62; font-size: 14px; }
.launch__error { margin: 20px 0 0; color: #23352d; font-size: 15px; line-height: 1.5; }
.launch__error a { color: #365c48; font-weight: 700; text-underline-offset: 3px; }
.launch__error a:focus-visible { outline: 3px solid #365c48; outline-offset: 4px; }
.launch--failed .launch__progress, .launch--failed .launch__status { display: none; }
.launch--failed .launch__error { display: block; }

@keyframes garden-loading { from { transform: translateX(-100%); } to { transform: translateX(490%); } }
@media (prefers-reduced-motion: reduce) { .launch__progress span { animation: none; width: 100%; } }
