:root {
  color-scheme: dark;
  --bg: #090b0d;
  --text: #f4f6f8;
  --muted: #a7b0b8;
  --line: rgba(244, 246, 248, 0.14);
  --gold: #f5a400;
  --green: #23b26d;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(35, 178, 109, 0.18), transparent 34rem),
    linear-gradient(180deg, #111518 0%, var(--bg) 62%);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.landing-shell {
  display: grid;
  min-height: 100vh;
  padding: max(32px, env(safe-area-inset-top)) 22px max(32px, env(safe-area-inset-bottom));
  place-items: center;
}

.hero {
  display: grid;
  justify-items: center;
  width: min(100%, 620px);
  gap: 22px;
  text-align: center;
}

.app-logo {
  width: clamp(120px, 22vw, 190px);
  aspect-ratio: 1;
  border-radius: 30px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42);
}

h1,
p {
  margin: 0;
}

h1 {
  font-size: clamp(58px, 13vw, 112px);
  font-weight: 850;
  letter-spacing: 0;
  line-height: 0.9;
}

h1 span {
  display: inline-block;
  color: var(--gold);
  text-shadow: 0 0 24px rgba(245, 164, 0, 0.28);
  transform: translateY(-0.02em) rotate(-7deg) scale(1.04);
  transform-origin: 50% 58%;
}

p {
  max-width: min(100%, 34ch);
  color: var(--text);
  font-size: clamp(21px, 3.7vw, 36px);
  font-weight: 720;
  line-height: 1.12;
}

.store-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: -4px;
}

.store-badge {
  display: grid;
  grid-template-columns: 28px max-content;
  align-items: center;
  gap: 10px;
  width: 174px;
  min-height: 54px;
  padding: 7px 13px 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 8px;
  background: #050505;
  color: #ffffff;
  box-shadow: 0 12px 38px rgba(0, 0, 0, 0.34);
}

.store-badge svg {
  display: block;
  width: 28px;
  height: 32px;
}

.store-badge svg path {
  fill: currentColor;
}

.store-badge > span {
  display: grid;
  justify-items: start;
  gap: 1px;
  min-width: 0;
}

.store-badge small,
.store-badge strong {
  display: block;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}

.store-badge small {
  font-size: 9px;
  font-weight: 500;
}

.store-badge strong {
  font-size: 20px;
  font-weight: 650;
}

.store-badge .play-blue {
  fill: #00a0ff;
}

.store-badge .play-green {
  fill: #00d46a;
}

.store-badge .play-yellow {
  fill: #ffcc32;
}

.store-badge .play-red {
  fill: #ff3d2e;
}

.platform-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: -8px;
  color: rgba(244, 246, 248, 0.84);
  font-size: 15px;
  font-weight: 720;
  letter-spacing: 0;
}

.platform-line span {
  color: rgba(167, 176, 184, 0.7);
  font-weight: 600;
}

@media (max-width: 520px) {
  .hero {
    gap: 18px;
  }

  .app-logo {
    border-radius: 24px;
  }

  .store-row {
    width: min(100%, 360px);
  }

  .store-badge {
    flex: 0 1 174px;
  }
}
