:root {
      color-scheme: light;
      --bg: #f2f2f7;
      --text: #25201c;
      --subtext: #73665b;
      --shadow: 0 22px 60px rgba(72, 45, 23, 0.16);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      min-height: 100vh;
      color: var(--text);
      font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
      background: var(--bg);
    }

    .page {
      width: min(100%, 980px);
      margin: 0 auto;
      padding: 44px 18px 56px;
      text-align: center;
    }

    .hero {
      padding: 0px 18px 26px;
    }

    h1 {
      margin: 0 0 24px;
      font-size: clamp(42px, 10vw, 78px);
      line-height: 1;
      letter-spacing: -0.055em;
      font-weight: 300;
    }

    .app-icon {
      display: block;
      width: min(100px, 72vw);
      height: auto;
      margin: 0 auto 28px;
      border-radius: 26%;
      box-shadow: var(--shadow);
    }

    .lead {
      width: min(100%, 660px);
      margin: 0 auto 32px;
      color: var(--subtext);
      font-size: clamp(17px, 4vw, 22px);
      line-height: 1.75;
      font-weight: 500;
    }

    .store-link {
      display: inline-block;
      margin-bottom: 42px;
      transition: transform 0.18s ease, opacity 0.18s ease;
    }

    .store-link:hover {
      transform: translateY(-2px);
      opacity: 0.92;
    }

    .store-badge {
      display: block;
      width: min(220px, 58vw);
      height: auto;
    }

    .screenshot-wrap {
      width: 100%;
      margin: 0 auto;
    }

    .main-image {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 24px;
    }

    .main-image + .main-image {
      margin-top: 24px;
    }

    .tips-link {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      margin-top: 22px;
      padding: 18px 20px;
      color: #ffffff;
      background: #007aff;
      border-radius: 24px;
      font-size: clamp(17px, 4vw, 21px);
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 12px 30px rgba(0, 122, 255, 0.2);
      transition: transform 0.18s ease, opacity 0.18s ease;
    }

    .tips-icon {
      width: 24px;
      height: 24px;
      flex: 0 0 auto;
      filter: brightness(0) invert(1);
    }

    .tips-link:hover {
      transform: translateY(-2px);
      opacity: 0.92;
    }

    .top-page-link {
      display: inline-block;
      margin-top: 34px;
      color: #007aff;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
    }

    .top-page-link:hover {
      text-decoration: underline;
    }

    @media (max-width: 520px) {
      .page {
        padding-top: 28px;
      }

      .hero {
        padding-left: 0;
        padding-right: 0;
      }

      .main-image {
        border-radius: 18px;
      }
    }
