:root {
    --page: #eef4f1;
    --white: #ffffff;
    --paper: #f8fbf9;
  
    --ink: #172820;
    --ink-soft: #60736a;
  
    --dark: #0b1c15;
    --dark-soft: #122d21;
    --dark-panel: #193a2b;
  
    --green: #38c77a;
    --green-dark: #169654;
    --green-soft: #e2f7eb;
  
    --mint: #76ddaa;
    --blue: #5296e8;
    --purple: #846ddf;
    --orange: #e4a34c;
  
    --line: #d4e3da;
    --line-dark: rgba(160, 201, 177, 0.22);
  
    --text: #f4faf6;
    --muted: #acc1b5;
  
    --container: 1180px;
  
    --radius-large: 30px;
    --radius-medium: 18px;
  
    --shadow:
      0 28px 80px rgba(16, 55, 35, 0.14);
  }
  
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  html {
    scroll-behavior: smooth;
  }
  
  body {
    margin: 0;
    overflow-x: hidden;
  
    color: var(--ink);
    background: var(--page);
  
    font-family:
      Inter,
      "PingFang SC",
      "Microsoft YaHei",
      system-ui,
      -apple-system,
      sans-serif;
  
    line-height: 1.7;
    text-rendering: optimizeLegibility;
  }
  
  img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  
  a {
    color: inherit;
    text-decoration: none;
  }
  
  button,
  a {
    -webkit-tap-highlight-color: transparent;
  }
  
  :focus-visible {
    outline: 3px solid rgba(56, 199, 122, 0.46);
    outline-offset: 4px;
  }
  
  .container {
    width: min(
      calc(100% - 40px),
      var(--container)
    );
  
    margin-inline: auto;
  }
  
  .skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 999;
  
    padding: 10px 14px;
  
    color: var(--ink);
    background: var(--white);
  
    border-radius: 10px;
  
    transform: translateY(-160%);
  }
  
  .skip-link:focus {
    transform: translateY(0);
  }
  
  /* Header */
  
  .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
  
    color: var(--text);
  
    background: rgba(11, 28, 21, 0.91);
    border-bottom: 1px solid transparent;
  
    backdrop-filter: blur(20px);
  
    transition:
      background 180ms ease,
      border-color 180ms ease;
  }
  
  .site-header.is-scrolled {
    background: rgba(11, 28, 21, 0.98);
    border-color: var(--line-dark);
  }
  
  .header-inner {
    display: grid;
    grid-template-columns:
      auto
      1fr
      auto;
  
    align-items: center;
  
    gap: 30px;
  
    min-height: 72px;
  }
  
  .brand img {
    width: 132px;
    object-fit: contain;
  }
  
  .main-nav {
    justify-self: center;
  
    display: flex;
    gap: 28px;
  }
  
  .main-nav a {
    color: #c7d9cf;
    font-size: 14px;
  }
  
  .main-nav a:hover {
    color: var(--white);
  }
  
  .header-button,
  .primary-button {
    display: inline-flex;
  
    min-height: 46px;
  
    align-items: center;
    justify-content: center;
  
    padding: 0 22px;
  
    color: #06170e;
  
    background:
      linear-gradient(
        135deg,
        var(--mint),
        var(--green)
      );
  
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 12px;
  
    font-weight: 850;
  
    box-shadow:
      0 14px 34px rgba(22, 150, 84, 0.24);
  
    transition:
      transform 180ms ease,
      box-shadow 180ms ease;
  }
  
  .header-button {
    min-height: 40px;
    padding-inline: 16px;
    font-size: 13px;
  }
  
  .header-button:hover,
  .primary-button:hover {
    transform: translateY(-2px);
  
    box-shadow:
      0 19px 42px rgba(22, 150, 84, 0.33);
  }
  
  .secondary-button {
    display: inline-flex;
  
    min-height: 46px;
  
    align-items: center;
    justify-content: center;
  
    padding: 0 21px;
  
    color: var(--text);
  
    border: 1px solid rgba(206, 228, 215, 0.28);
    border-radius: 12px;
  
    font-weight: 800;
  }
  
  .secondary-button:hover {
    border-color: rgba(56, 199, 122, 0.8);
  }
  
  .text-link {
    color: var(--green-dark);
    font-weight: 850;
  }
  
  .text-link:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  
  /* Typography */
  
  h1,
  h2,
  h3,
  p {
    margin-top: 0;
  }
  
  h1 {
    max-width: 800px;
  
    margin-bottom: 23px;
  
    font-size: clamp(
      42px,
      5.1vw,
      71px
    );
  
    line-height: 1.07;
    letter-spacing: -0.05em;
  }
  
  h2 {
    margin-bottom: 14px;
  
    font-size: clamp(
      30px,
      3.35vw,
      47px
    );
  
    line-height: 1.17;
    letter-spacing: -0.038em;
  }
  
  h3 {
    line-height: 1.35;
  }
  
  .eyebrow {
    margin: 0 0 10px;
  
    color: var(--green-dark);
  
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }
  
  /* Hero */
  
  .hero {
    position: relative;
    overflow: hidden;
  
    padding: 78px 0 78px;
  
    color: var(--text);
  
    background:
      radial-gradient(
        circle at 80% 16%,
        rgba(56, 199, 122, 0.23),
        transparent 31%
      ),
      radial-gradient(
        circle at 12% 88%,
        rgba(82, 150, 232, 0.1),
        transparent 30%
      ),
      linear-gradient(
        145deg,
        #081811,
        #143725
      );
  }
  
  .hero::before {
    content: "";
  
    position: absolute;
    inset: 0;
  
    opacity: 0.12;
  
    background-image:
      linear-gradient(
        rgba(114, 178, 141, 0.22) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(114, 178, 141, 0.22) 1px,
        transparent 1px
      );
  
    background-size: 46px 46px;
  }
  
  .hero-layout {
    position: relative;
    z-index: 2;
  
    display: grid;
    grid-template-columns:
      minmax(0, 0.92fr)
      minmax(430px, 1.08fr);
  
    align-items: center;
  
    gap: 62px;
  }
  
  .hero-label {
    display: inline-flex;
  
    margin-bottom: 18px;
    padding: 8px 13px;
  
    color: #c0efd3;
    background: rgba(56, 199, 122, 0.1);
  
    border: 1px solid rgba(78, 208, 139, 0.27);
    border-radius: 999px;
  
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.08em;
  }
  
  .hero-description {
    max-width: 700px;
  
    margin-bottom: 29px;
  
    color: #c6d7ce;
    font-size: 18px;
  }
  
  .hero-actions {
    display: flex;
    flex-wrap: wrap;
  
    gap: 14px;
  }
  
  .hero-stats {
    display: grid;
    grid-template-columns:
      repeat(3, 1fr);
  
    gap: 18px;
  
    margin-top: 36px;
    padding-top: 23px;
  
    border-top: 1px solid var(--line-dark);
  }
  
  .hero-stats span,
  .hero-stats strong {
    display: block;
  }
  
  .hero-stats span {
    color: #8ca69a;
    font-size: 10px;
    font-weight: 800;
  }
  
  .hero-stats strong {
    margin-top: 3px;
    font-size: 12px;
  }
  
  .hero-media {
    position: relative;
  }
  
  .hero-image {
    overflow: hidden;
  
    padding: 14px;
  
    background: rgba(255, 255, 255, 0.055);
  
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-large);
  
    box-shadow:
      0 38px 90px rgba(0, 0, 0, 0.35);
  }
  
  .hero-image img {
    width: 100%;
    min-height: 450px;
    max-height: 560px;
  
    object-fit: cover;
    object-position: center;
  
    border-radius: 20px;
  }
  
  .floating-card {
    position: absolute;
    z-index: 3;
  
    display: flex;
    align-items: center;
  
    gap: 12px;
  
    min-width: 190px;
  
    padding: 14px 16px;
  
    color: var(--ink);
    background: rgba(255, 255, 255, 0.94);
  
    border: 1px solid var(--white);
    border-radius: 14px;
  
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.22);
  
    backdrop-filter: blur(14px);
  }
  
  .floating-card small,
  .floating-card strong {
    display: block;
  }
  
  .floating-card small {
    color: var(--green-dark);
  }
  
  .floating-android {
    top: 35px;
    left: -35px;
  }
  
  .floating-ios {
    right: -27px;
    bottom: 38px;
  }
  
  .platform-icon {
    position: relative;
  
    display: block;
  
    width: 36px;
    height: 36px;
  }
  
  .android-icon {
    background: var(--green);
    border-radius: 13px 13px 8px 8px;
  }
  
  .android-icon::before,
  .android-icon::after {
    content: "";
  
    position: absolute;
    top: -6px;
  
    width: 2px;
    height: 9px;
  
    background: var(--green);
  }
  
  .android-icon::before {
    left: 8px;
    transform: rotate(-27deg);
  }
  
  .android-icon::after {
    right: 8px;
    transform: rotate(27deg);
  }
  
  .ios-icon {
    border: 3px solid var(--ink);
    border-radius: 50%;
  }
  
  .ios-icon::before {
    content: "";
  
    position: absolute;
    top: -8px;
    right: 4px;
  
    width: 10px;
    height: 14px;
  
    background: var(--ink);
    border-radius: 10px 0 10px 0;
  
    transform: rotate(28deg);
  }
  
  /* Quick strip */
  
  .quick-strip {
    background: var(--white);
    border-bottom: 1px solid var(--line);
  }
  
  .quick-grid {
    display: grid;
    grid-template-columns:
      repeat(4, 1fr);
  }
  
  .quick-grid > div {
    display: flex;
    min-height: 82px;
  
    align-items: center;
  
    gap: 13px;
  
    padding: 0 22px;
  
    border-right: 1px solid var(--line);
  }
  
  .quick-grid > div:last-child {
    border-right: 0;
  }
  
  .quick-grid > div > span {
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 950;
  }
  
  .quick-grid strong,
  .quick-grid small {
    display: block;
  }
  
  .quick-grid strong {
    font-size: 13px;
  }
  
  .quick-grid small {
    color: var(--ink-soft);
  }
  
  /* General */
  
  .section {
    padding: 96px 0;
  }
  
  .section-heading {
    max-width: 800px;
    margin-bottom: 47px;
  }
  
  .section-heading > p:last-child {
    color: var(--ink-soft);
  }
  
  .section-heading.centered {
    margin-inline: auto;
    text-align: center;
  }
  
  .section-heading-light > p:last-child {
    color: var(--muted);
  }
  
  .device-entry-section,
  .device-showcase-section,
  .gameplay-section,
  .network-section,
  .security-section,
  .related-section {
    background: var(--page);
  }
  
  .mobile-interface-section {
    background: var(--white);
  }
  
  .mobile-features-section,
  .mobile-help-section {
    color: var(--text);
    background: var(--dark);
  }
  
  .faq-section {
    background: #e4ece7;
  }
  
  /* Device entry */
  
  .device-entry-grid {
    display: grid;
    grid-template-columns:
      repeat(3, 1fr);
  
    gap: 20px;
  }
  
  .device-entry {
    overflow: hidden;
  
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
  
    box-shadow:
      0 15px 45px rgba(16, 55, 35, 0.07);
  }
  
  .entry-visual {
    position: relative;
  
    display: grid;
    min-height: 310px;
  
    place-items: center;
  
    background:
      radial-gradient(
        circle at center,
        rgba(56, 199, 122, 0.18),
        transparent 53%
      ),
      #e9f5ee;
  }
  
  .iphone-entry .entry-visual {
    background:
      radial-gradient(
        circle at center,
        rgba(82, 150, 232, 0.18),
        transparent 53%
      ),
      #ecf2fa;
  }
  
  .ipad-entry .entry-visual {
    background:
      radial-gradient(
        circle at center,
        rgba(132, 109, 223, 0.17),
        transparent 53%
      ),
      #f0edfa;
  }
  
  .large-platform {
    position: absolute;
    top: 22px;
    right: 24px;
  
    width: 48px;
    height: 48px;
  
    opacity: 0.27;
  }
  
  .android-large {
    background: var(--green);
    border-radius: 15px 15px 9px 9px;
  }
  
  .ios-large {
    border: 4px solid var(--blue);
    border-radius: 50%;
  }
  
  .tablet-large {
    border: 4px solid var(--purple);
    border-radius: 10px;
  }
  
  .device-mockup {
    padding: 7px;
  
    background: #141a17;
  
    box-shadow:
      0 24px 48px rgba(15, 47, 31, 0.22);
  }
  
  .phone-mockup {
    width: 120px;
    height: 240px;
  
    border-radius: 27px;
  }
  
  .phone-mockup > span {
    display: block;
  
    width: 38px;
    height: 7px;
  
    margin: 5px auto;
  
    background: #050806;
    border-radius: 999px;
  }
  
  .phone-mockup > div {
    display: grid;
    height: calc(100% - 17px);
  
    place-items: center;
  
    background: linear-gradient(
      145deg,
      #d8eee0,
      #9bcaae
    );
  
    border-radius: 20px;
  }
  
  .apple-phone > div {
    background: linear-gradient(
      145deg,
      #e1ecfa,
      #a9c4e9
    );
  }
  
  .tablet-mockup {
    position: relative;
  
    width: 205px;
    height: 150px;
  
    border-radius: 20px;
  }
  
  .tablet-mockup > span {
    position: absolute;
    top: 50%;
    left: 3px;
  
    width: 4px;
    height: 4px;
  
    background: #050806;
    border-radius: 50%;
  }
  
  .tablet-mockup > div {
    display: grid;
    height: 100%;
  
    place-items: center;
  
    background: linear-gradient(
      145deg,
      #e5e0f7,
      #b9afe5
    );
  
    border-radius: 13px;
  }
  
  .device-mockup b {
    display: grid;
  
    width: 50px;
    height: 50px;
  
    place-items: center;
  
    color: var(--white);
  
    background: linear-gradient(
      145deg,
      var(--green),
      var(--blue)
    );
  
    border-radius: 14px;
  
    font-size: 15px;
  }
  
  .entry-copy {
    padding: 30px 27px;
  }
  
  .entry-copy > small {
    color: var(--green-dark);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.11em;
  }
  
  .iphone-entry .entry-copy > small {
    color: var(--blue);
  }
  
  .ipad-entry .entry-copy > small {
    color: var(--purple);
  }
  
  .entry-copy h3 {
    margin: 7px 0 10px;
    font-size: 24px;
  }
  
  .entry-copy > p {
    color: var(--ink-soft);
  }
  
  .entry-copy ul {
    margin: 23px 0;
    padding: 0;
  
    list-style: none;
  }
  
  .entry-copy li {
    position: relative;
  
    padding: 8px 0 8px 20px;
  
    border-bottom: 1px solid var(--line);
  }
  
  .entry-copy li::before {
    content: "";
  
    position: absolute;
    top: 17px;
    left: 0;
  
    width: 6px;
    height: 6px;
  
    background: var(--green);
    border-radius: 50%;
  }
  
  .entry-copy a {
    color: var(--green-dark);
    font-weight: 850;
  }
  
  /* Image copy layouts */
  
  .image-copy-layout,
  .gameplay-layout,
  .network-layout,
  .security-layout {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(420px, 1fr);
  
    align-items: center;
  
    gap: 68px;
  }
  
  .showcase-copy > p:not(.eyebrow),
  .gameplay-copy > p:not(.eyebrow),
  .network-copy > p:not(.eyebrow),
  .security-copy > p:not(.eyebrow) {
    color: var(--ink-soft);
  }
  
  .showcase-image,
  .gameplay-image,
  .security-image {
    overflow: hidden;
  
    padding: 16px;
  
    background: var(--white);
  
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
  
    box-shadow: var(--shadow);
  }
  
  .showcase-image img,
  .gameplay-image img,
  .security-image img {
    width: 100%;
    min-height: 420px;
    max-height: 570px;
  
    object-fit: cover;
    object-position: center;
  
    border-radius: 20px;
  }
  
  .showcase-list,
  .security-list {
    margin-top: 28px;
    border-top: 1px solid var(--line);
  }
  
  .showcase-list > div,
  .security-list > div {
    display: grid;
    grid-template-columns:
      42px
      1fr;
  
    gap: 17px;
  
    padding: 17px 0;
  
    border-bottom: 1px solid var(--line);
  }
  
  .showcase-list > div > span,
  .security-list > div > span {
    display: grid;
  
    width: 35px;
    height: 35px;
  
    place-items: center;
  
    color: var(--green-dark);
    background: var(--green-soft);
  
    border-radius: 10px;
  
    font-size: 10px;
    font-weight: 950;
  }
  
  .showcase-list strong,
  .security-list strong {
    display: block;
  }
  
  .showcase-list p,
  .security-list p {
    margin: 3px 0 0;
    color: var(--ink-soft);
  }
  
  /* Interface */
  
  .mobile-interface-showcase {
    overflow: hidden;
  
    border: 1px solid var(--line);
    border-radius: var(--radius-large);
  
    box-shadow: var(--shadow);
  }
  
  .interface-topbar {
    display: grid;
    grid-template-columns:
      1fr
      auto
      1fr;
  
    align-items: center;
  
    min-height: 58px;
  
    padding: 0 22px;
  
    color: #cfe1d7;
    background: var(--dark);
  }
  
  .interface-topbar span,
  .interface-topbar small {
    font-size: 10px;
  }
  
  .interface-topbar strong {
    font-size: 12px;
  }
  
  .interface-topbar small {
    justify-self: end;
  }
  
  .interface-image {
    padding: 22px;
    background: #e3ede7;
  }
  
  .interface-image img {
    width: 100%;
    max-height: 680px;
  
    object-fit: contain;
  
    border-radius: 18px;
  }
  
  .interface-navigation {
    display: grid;
    grid-template-columns:
      repeat(4, 1fr);
  
    margin-top: 24px;
  }
  
  .interface-navigation > div {
    padding: 23px;
  
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  
  .interface-navigation > div:last-child {
    border-right: 0;
  }
  
  .interface-navigation span {
    color: var(--green-dark);
    font-size: 10px;
    font-weight: 950;
  }
  
  .interface-navigation strong {
    display: block;
    margin-top: 5px;
  }
  
  .interface-navigation p {
    margin: 5px 0 0;
    color: var(--ink-soft);
  }
  
  /* Touch features */
  
  .touch-features {
    display: grid;
    grid-template-columns:
      repeat(2, 1fr);
  
    gap: 14px;
  
    margin-top: 28px;
  }
  
  .touch-features > div {
    display: grid;
    grid-template-columns:
      48px
      1fr;
  
    gap: 15px;
  
    padding: 18px;
  
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 14px;
  }
  
  .touch-icon {
    position: relative;
  
    display: block;
  
    width: 44px;
    height: 44px;
  
    background: var(--green-soft);
    border-radius: 12px;
  }
  
  .tap-icon::before {
    content: "";
  
    position: absolute;
    top: 8px;
    left: 16px;
  
    width: 10px;
    height: 24px;
  
    border: 3px solid var(--green-dark);
    border-radius: 8px;
  }
  
  .swipe-icon::before {
    content: "→";
  
    position: absolute;
    inset: 0;
  
    display: grid;
    place-items: center;
  
    color: var(--green-dark);
    font-size: 24px;
    font-weight: 900;
  }
  
  .rotate-icon::before {
    content: "↻";
  
    position: absolute;
    inset: 0;
  
    display: grid;
    place-items: center;
  
    color: var(--green-dark);
    font-size: 25px;
  }
  
  .lock-icon::before {
    content: "";
  
    position: absolute;
    top: 18px;
    left: 12px;
  
    width: 20px;
    height: 17px;
  
    background: var(--green-dark);
    border-radius: 4px;
  }
  
  .lock-icon::after {
    content: "";
  
    position: absolute;
    top: 8px;
    left: 16px;
  
    width: 12px;
    height: 14px;
  
    border: 3px solid var(--green-dark);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
  }
  
  .touch-features strong {
    display: block;
  }
  
  .touch-features p {
    margin: 3px 0 0;
    color: var(--ink-soft);
  }
  
  /* Mobile features */
  
  .mobile-features-layout {
    display: grid;
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(440px, 1.1fr);
  
    align-items: center;
  
    gap: 65px;
  }
  
  .features-list {
    border-top: 1px solid var(--line-dark);
  }
  
  .features-list article {
    display: grid;
    grid-template-columns:
      48px
      1fr;
  
    gap: 18px;
  
    padding: 18px 0;
  
    border-bottom: 1px solid var(--line-dark);
  }
  
  .features-list article > span {
    display: grid;
  
    width: 38px;
    height: 38px;
  
    place-items: center;
  
    color: #06170e;
    background: var(--green);
  
    border-radius: 11px;
  
    font-size: 10px;
    font-weight: 950;
  }
  
  .features-list small {
    color: var(--green);
    font-size: 9px;
    font-weight: 900;
  }
  
  .features-list h3 {
    margin: 3px 0 5px;
  }
  
  .features-list p {
    margin: 0;
    color: var(--muted);
  }
  
  .features-image {
    overflow: hidden;
  
    padding: 15px;
  
    background: var(--dark-soft);
  
    border: 1px solid var(--line-dark);
    border-radius: var(--radius-large);
  
    box-shadow:
      0 30px 70px rgba(0, 0, 0, 0.26);
  }
  
  .features-image img {
    width: 100%;
    min-height: 440px;
    max-height: 580px;
  
    object-fit: cover;
  
    border-radius: 20px;
  }
  
  /* Network */
  
  .network-advice {
    margin-top: 28px;
    border-top: 1px solid var(--line);
  }
  
  .network-advice > div {
    display: grid;
    grid-template-columns:
      115px
      1fr;
  
    gap: 20px;
  
    padding: 15px 0;
  
    border-bottom: 1px solid var(--line);
  }
  
  .network-advice span {
    color: var(--green-dark);
    font-weight: 850;
  }
  
  .network-advice p {
    margin: 0;
    color: var(--ink-soft);
  }
  
  .network-console {
    overflow: hidden;
  
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 24px;
  
    box-shadow: var(--shadow);
  }
  
  .console-head {
    display: flex;
    align-items: center;
  
    gap: 15px;
  
    min-height: 85px;
  
    padding: 0 24px;
  
    background: #edf8f1;
    border-bottom: 1px solid var(--line);
  }
  
  .signal-icon {
    display: flex;
    height: 37px;
  
    align-items: flex-end;
  
    gap: 3px;
  }
  
  .signal-icon i {
    display: block;
  
    width: 6px;
  
    background: var(--green);
    border-radius: 3px 3px 0 0;
  }
  
  .signal-icon i:nth-child(1) {
    height: 10px;
  }
  
  .signal-icon i:nth-child(2) {
    height: 18px;
  }
  
  .signal-icon i:nth-child(3) {
    height: 27px;
  }
  
  .signal-icon i:nth-child(4) {
    height: 36px;
  }
  
  .console-head small,
  .console-head strong {
    display: block;
  }
  
  .console-head small {
    color: var(--green-dark);
    font-size: 9px;
    font-weight: 900;
  }
  
  .console-list {
    padding: 10px 22px 20px;
  }
  
  .console-list > div {
    display: grid;
    grid-template-columns:
      0.8fr
      1fr
      auto;
  
    align-items: center;
  
    gap: 18px;
  
    min-height: 68px;
  
    border-bottom: 1px solid var(--line);
  }
  
  .console-list span {
    color: var(--ink-soft);
    font-size: 12px;
  }
  
  .console-list strong {
    font-size: 12px;
  }
  
  .console-list b {
    color: var(--green-dark);
    font-size: 9px;
  }
  
  /* Help */
  
  .help-layout {
    display: grid;
    grid-template-columns:
      minmax(220px, 0.62fr)
      minmax(0, 1.38fr);
  
    gap: 34px;
  }
  
  .help-nav {
    align-self: start;
  
    overflow: hidden;
  
    border: 1px solid var(--line-dark);
    border-radius: 17px;
  }
  
  .help-nav a {
    display: grid;
    grid-template-columns:
      43px
      1fr;
  
    align-items: center;
  
    min-height: 66px;
  
    color: #cad9d0;
    border-bottom: 1px solid var(--line-dark);
  
    font-size: 13px;
  }
  
  .help-nav a:last-child {
    border-bottom: 0;
  }
  
  .help-nav a:hover {
    background: rgba(56, 199, 122, 0.08);
  }
  
  .help-nav span {
    display: grid;
  
    height: 100%;
  
    place-items: center;
  
    color: var(--green);
  
    border-right: 1px solid var(--line-dark);
  
    font-size: 11px;
    font-weight: 950;
  }
  
  .help-list {
    border-top: 1px solid var(--line-dark);
  }
  
  .help-list details {
    border-bottom: 1px solid var(--line-dark);
  }
  
  .help-list summary {
    position: relative;
  
    padding: 22px 50px 22px 0;
  
    color: var(--white);
  
    cursor: pointer;
    list-style: none;
  
    font-weight: 850;
  }
  
  .help-list summary::-webkit-details-marker {
    display: none;
  }
  
  .help-list summary::after {
    content: "+";
  
    position: absolute;
    top: 18px;
    right: 4px;
  
    color: var(--green);
  
    font-size: 26px;
  }
  
  .help-list details[open] summary::after {
    content: "−";
  }
  
  .help-list details > div {
    padding: 0 25px 23px 0;
  }
  
  .help-list details p {
    color: var(--muted);
  }
  
  .help-list ul {
    display: grid;
    grid-template-columns:
      repeat(2, 1fr);
  
    gap: 9px 26px;
  
    margin: 18px 0 0;
    padding: 0;
  
    list-style: none;
  }
  
  .help-list li {
    position: relative;
  
    padding-left: 18px;
  
    color: var(--muted);
    font-size: 13px;
  }
  
  .help-list li::before {
    content: "";
  
    position: absolute;
    top: 10px;
    left: 0;
  
    width: 6px;
    height: 6px;
  
    background: var(--green);
    border-radius: 50%;
  }
  
  /* Update */
  
  .update-section {
    padding: 72px 0;
  
    background: var(--green-soft);
    border-top: 1px solid #bfdfcb;
    border-bottom: 1px solid #bfdfcb;
  }
  
  .update-layout {
    display: grid;
    grid-template-columns:
      auto
      minmax(0, 1fr)
      auto;
  
    align-items: center;
  
    gap: 30px;
  }
  
  .update-icon {
    display: grid;
  
    width: 70px;
    height: 70px;
  
    place-items: center;
  
    color: #06170e;
    background: var(--green);
  
    border-radius: 20px;
  
    font-size: 31px;
  }
  
  .update-copy h2 {
    margin-bottom: 8px;
  }
  
  .update-copy p:not(.eyebrow) {
    max-width: 750px;
  
    margin-bottom: 0;
    color: var(--ink-soft);
  }
  
  .update-actions {
    display: flex;
    align-items: center;
  
    gap: 15px;
  }
  
  /* FAQ */
  
  .faq-layout {
    display: grid;
    grid-template-columns:
      minmax(260px, 0.72fr)
      minmax(0, 1.28fr);
  
    gap: 58px;
  }
  
  .faq-list {
    border-top: 1px solid #c3d3c9;
  }
  
  .faq-list details {
    border-bottom: 1px solid #c3d3c9;
  }
  
  .faq-list summary {
    position: relative;
  
    padding: 22px 48px 22px 0;
  
    cursor: pointer;
    list-style: none;
  
    font-weight: 850;
  }
  
  .faq-list summary::-webkit-details-marker {
    display: none;
  }
  
  .faq-list summary::after {
    content: "+";
  
    position: absolute;
    top: 19px;
    right: 4px;
  
    color: var(--green-dark);
  
    font-size: 25px;
  }
  
  .faq-list details[open] summary::after {
    content: "−";
  }
  
  .faq-list details p {
    margin: 0;
  
    padding: 0 42px 22px 0;
  
    color: var(--ink-soft);
  }
  
  /* Related */
  
  .related-section {
    padding: 92px 0;
  }
  
  .related-grid {
    display: grid;
    grid-template-columns:
      repeat(2, 1fr);
  
    gap: 13px;
  }
  
  .related-grid a {
    display: grid;
    grid-template-columns:
      50px
      1fr;
  
    align-items: center;
  
    gap: 16px;
  
    min-height: 92px;
  
    padding: 16px 20px;
  
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 15px;
  
    transition:
      transform 160ms ease,
      border-color 160ms ease,
      box-shadow 160ms ease;
  }
  
  .related-grid a:hover {
    transform: translateY(-3px);
  
    border-color: #93d1ac;
  
    box-shadow:
      0 14px 32px rgba(21, 67, 42, 0.08);
  }
  
  .related-grid > a > span {
    display: grid;
  
    width: 42px;
    height: 42px;
  
    place-items: center;
  
    color: var(--green-dark);
    background: var(--green-soft);
  
    border-radius: 12px;
  
    font-size: 11px;
    font-weight: 950;
  }
  
  .related-grid small,
  .related-grid strong {
    display: block;
  }
  
  .related-grid small {
    color: var(--green-dark);
    font-weight: 800;
  }
  
  /* CTA */
  
  .bottom-cta {
    color: var(--text);
  
    background:
      radial-gradient(
        circle at 84% 20%,
        rgba(56, 199, 122, 0.23),
        transparent 31%
      ),
      var(--dark);
  }
  
  .bottom-cta-layout {
    display: flex;
    min-height: 250px;
  
    align-items: center;
    justify-content: space-between;
  
    gap: 46px;
  }
  
  .bottom-label {
    margin-bottom: 10px;
  
    color: var(--green);
  
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.14em;
  }
  
  .bottom-cta h2 {
    max-width: 790px;
    margin-bottom: 8px;
  }
  
  .bottom-cta p:not(.bottom-label) {
    margin-bottom: 0;
    color: var(--muted);
  }
  
  .bottom-actions {
    display: flex;
    align-items: center;
  
    gap: 17px;
  
    flex-shrink: 0;
  }
  
  .bottom-cta .text-link {
    color: var(--green);
  }
  
  /* Footer */
  
  .site-footer {
    padding: 34px 0;
  
    color: #a7b9af;
    background: #07130e;
  
    border-top: 1px solid var(--line-dark);
  }
  
  .footer-layout {
    display: grid;
    grid-template-columns:
      0.75fr
      1.55fr
      0.7fr;
  
    align-items: center;
  
    gap: 32px;
  }
  
  .footer-layout img {
    width: 120px;
    margin-bottom: 10px;
  }
  
  .footer-layout p {
    margin: 0;
    font-size: 13px;
  }
  
  .footer-layout p:last-child {
    text-align: right;
  }
  
  /* Back top */
  
  .back-to-top {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 50;
  
    width: 44px;
    height: 44px;
  
    color: #06170e;
    background: var(--green);
  
    border: 0;
    border-radius: 50%;
  
    box-shadow:
      0 14px 34px rgba(20, 104, 59, 0.28);
  
    cursor: pointer;
  
    opacity: 0;
    pointer-events: none;
  
    transform: translateY(10px);
  
    transition:
      opacity 160ms ease,
      transform 160ms ease;
  }
  
  .back-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
  
    transform: translateY(0);
  }
  
  /* Tablet */
  
  @media (max-width: 980px) {
  
    .main-nav {
      display: none;
    }
  
    .hero-layout,
    .image-copy-layout,
    .gameplay-layout,
    .mobile-features-layout,
    .network-layout,
    .security-layout,
    .help-layout,
    .faq-layout {
      grid-template-columns: 1fr;
    }
  
    .hero-copy {
      max-width: 800px;
    }
  
    .hero-media,
    .showcase-image,
    .gameplay-image,
    .features-image,
    .security-image {
      max-width: 760px;
    }
  
    .device-entry-grid {
      grid-template-columns: 1fr;
    }
  
    .device-entry {
      display: grid;
      grid-template-columns:
        minmax(250px, 0.85fr)
        minmax(0, 1.15fr);
  
      max-width: 850px;
    }
  
    .interface-navigation {
      grid-template-columns:
        repeat(2, 1fr);
    }
  
    .help-nav {
      display: grid;
      grid-template-columns:
        repeat(2, 1fr);
    }
  
    .update-layout {
      grid-template-columns:
        auto
        1fr;
    }
  
    .update-actions {
      grid-column: 2;
      flex-wrap: wrap;
    }
  
    .bottom-cta-layout {
      min-height: 0;
  
      align-items: flex-start;
      flex-direction: column;
  
      padding-block: 50px;
    }
  
    .footer-layout {
      grid-template-columns: 1fr;
    }
  
    .footer-layout p:last-child {
      text-align: left;
    }
  }
  
  /* Mobile */
  
  @media (max-width: 780px) {
  
    .container {
      width: min(
        calc(100% - 32px),
        var(--container)
      );
    }
  
    .header-inner {
      min-height: 64px;
      gap: 14px;
    }
  
    .brand img {
      width: 108px;
    }
  
    .header-button {
      min-height: 38px;
      padding-inline: 11px;
      font-size: 11px;
    }
  
    .hero {
      padding: 55px 0 50px;
    }
  
    h1 {
      font-size: clamp(
        38px,
        12vw,
        55px
      );
    }
  
    .hero-stats {
      grid-template-columns: 1fr;
    }
  
    .floating-android {
      left: 10px;
    }
  
    .floating-ios {
      right: 10px;
    }
  
    .quick-grid {
      grid-template-columns:
        repeat(2, 1fr);
    }
  
    .quick-grid > div {
      border-bottom: 1px solid var(--line);
    }
  
    .section {
      padding: 72px 0;
    }
  
    .device-entry {
      display: block;
    }
  
    .entry-visual {
      min-height: 270px;
    }
  
    .interface-navigation,
    .touch-features {
      grid-template-columns: 1fr;
    }
  
    .help-nav {
      grid-template-columns: 1fr;
    }
  
    .help-list ul {
      grid-template-columns: 1fr;
    }
  
    .related-grid {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 520px) {
  
    .container {
      width: min(
        calc(100% - 24px),
        var(--container)
      );
    }
  
    .header-inner {
      grid-template-columns:
        1fr
        auto;
    }
  
    .hero-description {
      font-size: 16px;
    }
  
    .hero-actions {
      align-items: stretch;
      flex-direction: column;
    }
  
    .hero-actions a {
      width: 100%;
    }
  
    .hero-image {
      padding: 8px;
    }
  
    .hero-image img {
      min-height: 320px;
    }
  
    .floating-card {
      position: static;
  
      margin-top: 12px;
    }
  
    .quick-grid {
      grid-template-columns: 1fr;
    }
  
    .quick-grid > div {
      border-right: 0;
    }
  
    .showcase-image,
    .gameplay-image,
    .security-image,
    .features-image {
      padding: 9px;
    }
  
    .showcase-image img,
    .gameplay-image img,
    .security-image img,
    .features-image img {
      min-height: 300px;
    }
  
    .network-advice > div {
      grid-template-columns: 1fr;
      gap: 4px;
    }
  
    .console-list > div {
      grid-template-columns: 1fr;
      gap: 5px;
  
      padding: 13px 0;
    }
  
    .update-layout {
      grid-template-columns: 1fr;
    }
  
    .update-actions {
      grid-column: 1;
  
      align-items: stretch;
      flex-direction: column;
    }
  
    .bottom-actions {
      align-items: stretch;
      flex-direction: column;
    }
  
    .faq-list summary,
    .help-list summary {
      padding-right: 36px;
    }
  
    .faq-list details p,
    .help-list details > div {
      padding-right: 0;
    }
  }
  
  @media (prefers-reduced-motion: reduce) {
  
    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }