[data-page="home"] {
  display: flex;
  flex-direction: column;
  border-inline: 1px solid var(--color-border);

  /* Hero */
  .hero {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: center;
    height: 60vh;
    padding-block: calc(var(--spacing) * 20);
    border-block-end: 1px solid var(--color-border);

    .hero-box {
      display: grid;
      position: relative;
      z-index: 2;
      justify-content: center;
      text-align: center;
      gap: calc(var(--spacing) * 4);

      .title {
        font-size: var(--text-5xl);
        letter-spacing: var(--tracking-tighter);
        line-height: var(--text-5xl--line-height);
      }

      .description {
        max-width: var(--container-3xl);
        font-size: var(--text-lg);
        line-height: var(--text-lg--line-height);
        text-wrap: balance;

        small {
          display: inline-flex;
          position: relative;
          align-items: center;
          height: 26px;
          padding: var(--spacing) calc(var(--spacing) * 3);
          background-color: color-mix(in srgb, currentcolor 15%, transparent);
          border-inline: 1.5px solid;
          gap: var(--spacing);

          &::before,
          &::after {
            content: "";
            position: absolute;
            width: 5px;
            height: 5px;
            border-radius: var(--radius-rounded);
            background-color: currentcolor;
          }

          &::before {
            inset-block-start: 0;
            inset-inline-start: -3.3px;
          }

          &::after {
            inset-inline-end: -3.3px;
            inset-block-end: -3.3px;
          }

          img {
            inset-block-end: 0;
            position: absolute;
            width: 25px;
            height: 25px;
            object-fit: cover;
          }

          &.tailwind {
            padding-inline-start: 35px;
            color: var(--color-sky-600);
            text-decoration: line-through;

            img {
              inset-inline-start: var(--spacing);
            }
          }

          &.css-modules {
            padding-inline-end: 35px;
            color: var(--color-purple-600);

            img {
              inset-inline-end: var(--spacing);
            }
          }
        }
      }

      .actions {
        display: flex;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        padding-block-start: calc(var(--spacing) * 2);
      }
    }

    .playground-box {
      position: absolute;
      inset: calc(var(--spacing) * 12);

      .demo {
        position: absolute;
        width: fit-content;
        padding: calc(var(--spacing) * 8);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background-color: var(--color-background);
        box-shadow: var(--shadow-xs);
        scale: 0.8;

        &:first-child {
          rotate: -15deg;
          inset-inline-start: 10%;
        }

        &:nth-child(2) {
          rotate: 15deg;
          inset-inline-end: 10%;
        }

        &:nth-child(3) {
          rotate: -30deg;
          inset-block-end: 0;
        }

        &:nth-child(4) {
          rotate: 30deg;
          inset-block-end: 0;
          inset-inline-end: 0;
        }
      }
    }
  }

  /* Inspiration */
  .inspiration {
    display: grid;
    gap: calc(var(--spacing) * 8);
    padding: calc(var(--spacing) * 12);
    border-block-end: 1px solid var(--color-border);

    & > .head {
      display: grid;
      gap: calc(var(--spacing) * 2);

      .heading {
        font-size: var(--text-3xl);
        font-weight: var(--font-weight-semibold);
        line-height: var(--text-3xl--line-height);
      }

      .subheading {
        grid-column: 1 / 3;
        color: var(--color-muted-foreground);
        font-size: var(--text-base);
        line-height: var(--text-base--line-height);
        text-wrap: balance;
      }
    }

    .cards {
      display: grid;
      gap: calc(var(--spacing) * 8);
      grid-template-columns: repeat(3, 1fr);

      .inspiration-box {
        display: grid;
        padding: calc(var(--spacing) * 6);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background-color: var(--color-background);
        gap: calc(var(--spacing) * 4);

        .info {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 5);

          .icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: fit-content;
            padding: calc(var(--spacing) * 3);
            background-color: var(--color-purple-500);
            color: var(--color-background);
            clip-path: circle();

            svg {
              width: calc(var(--spacing) * 5);
              height: calc(var(--spacing) * 5);
            }
          }

          .content {
            text-align: center;

            .title {
              font-weight: var(--font-weight-semibold);
              line-height: var(--leading-none);
            }

            .description {
              margin-block-start: var(--spacing);
              color: var(--color-muted-foreground);
              font-size: var(--text-sm);
              line-height: var(--text-sm--line-height);
            }
          }
        }

        .advanced-option {
          display: grid;
          gap: calc(var(--spacing) * 2);
        }

        .or {
          display: grid;
          grid-template-columns: auto 15px auto;
          align-items: center;
          color: var(--color-muted-foreground);
          font-size: var(--text-xs);
          line-height: var(--text-xs--line-height);
          gap: calc(var(--spacing) * 2);
        }

        .field {
          display: grid;
          gap: calc(var(--spacing) * 3);
        }

        .login {
          display: flex;
          gap: var(--spacing);
          align-items: center;
          justify-content: center;
          color: var(--color-muted-foreground);
          font-size: var(--text-sm);
          line-height: var(--text-sm--line-height);

          button {
            height: auto;
            padding: 0;
          }
        }
      }

      .slider-box {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: calc(var(--spacing) * 6);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background-color: var(--color-background);
        gap: calc(var(--spacing) * 4);

        .head {
          .heading {
            font-weight: var(--font-weight-semibold);
            line-height: var(--leading-none);
          }

          .subheading {
            margin-block-start: var(--spacing);
            color: var(--color-muted-foreground);
            font-size: var(--text-sm);
            line-height: var(--text-sm--line-height);
          }
        }

        .core {
          display: flex;
          flex: 1;
          flex-direction: column;
          gap: calc(var(--spacing) * 4);

          .label,
          .value {
            text-align: center;

            &.label {
              font-size: var(--text-xs);
              line-height: var(--text-xs--line-height);
            }

            &.value {
              font-size: var(--text-5xl);
              line-height: var(--text-5xl--line-height);
            }
          }
        }

        .footer {
          display: grid;
          gap: calc(var(--spacing) * 2);
          grid-template-columns: repeat(2, 1fr);
        }
      }

      .tooltip-box {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: calc(var(--spacing) * 6);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-lg);
        background-color: var(--color-background);
        gap: calc(var(--spacing) * 4);
      }
    }
  }
}

.tooltip-info {
  display: grid;
  width: 180px;
  gap: calc(var(--spacing) * 4);
  padding-block: var(--spacing);

  .head {
    display: grid;
    gap: var(--spacing);

    .sub-label {
      opacity: 0.8;
    }
  }

  .core {
    display: grid;
    gap: var(--spacing);

    .item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      opacity: 0.8;

      .label {
        display: flex;
        align-items: center;
        gap: var(--spacing);

        &::before {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          clip-path: circle();
        }
      }

      &:first-child .label::before {
        background-color: var(--color-green-500);
      }

      &:nth-child(2) .label::before {
        background-color: var(--color-purple-500);
      }

      &:last-child .label::before {
        background-color: var(--color-red-500);
      }
    }
  }
}

/* Responsive */
@media (width <= 1024px) {
  [data-page="home"] {
    .hero {
      .hero-box {
        padding-inline: calc(var(--spacing) * 4);

        .title {
          font-size: var(--text-4xl);
          line-height: var(--text-4xl--line-height);
        }

        .description {
          font-size: var(--text-base);
          line-height: var(--text-base--line-height);
        }
      }

      .playground-box {
        display: none;
        inset: calc(var(--spacing) * 6);
      }
    }

    .inspiration {
      padding: calc(var(--spacing) * 6);

      .head {
        .heading {
          font-size: var(--text-2xl);
          line-height: var(--text-2xl--line-height);
        }
      }

      .cards {
        grid-template-columns: 1fr;
      }
    }
  }
}
