:root {
  --docs-background-active-color: #d9d9d9;
  --docs-background-color: #e9e9e9;
  --docs-border-color: #dadada;
  --docs-code-background-color: #eee;
  --docs-code-border-color: #00000022;
  --docs-text-color: #1c1e21;
}

@media (prefers-color-scheme: dark) {
  :root {
    --docs-background-active-color: #5a5a5a;
    --docs-background-color: #444444;
    --docs-border-color: #535353;
    --docs-code-background-color: #2b2b2b;
    --docs-code-border-color: #ffffff22;
    --docs-text-color: #e3e1de;
  }
}

:root:has(#scheme-light:checked) {
  --docs-background-active-color: #d9d9d9;
  --docs-background-color: #e9e9e9;
  --docs-border-color: #dadada;
  --docs-code-background-color: #eee;
  --docs-code-border-color: #00000022;
  --docs-text-color: #1c1e21;
}

:root:has(#scheme-dark:checked) {
  --docs-background-active-color: #5a5a5a;
  --docs-background-color: #444444;
  --docs-border-color: #535353;
  --docs-code-background-color: #2b2b2b;
  --docs-code-border-color: #ffffff22;
  --docs-text-color: #e3e1de;
}

.article {
  color: var(--docs-text-color);

  .supertitle {
    font-size: 1.25rem;
    font-style: italic;
    margin-bottom: 0;
    margin-top: 2rem;
    text-align: center;
  }

  .title {
    font-size: 3rem;
    line-height: 3.5rem;
    margin-block: 0;
    text-align: center;
  }

  .subtitle {
    display: flex;
    flex-direction: column;
    font-size: 1.25rem;
    column-gap: 0.5ch;
    justify-content: center;
    margin-top: 1rem;
    text-align: center;

    @media (min-width: 32rem) {
      flex-direction: row;
    }
  }

  .subtitle__fixed {
    margin: 0;
  }

  .subtitle__typewriter {
    align-self: center;
    border-right: 0.08em solid var(--docs-text-color);
    font-weight: bold;
    margin: 0;
    white-space: pre;
  }

  .logo {
    display: block;
    height: 10rem;
    margin-block: 5rem;
    margin-inline: auto;
    width: 10rem;
  }

  .actions {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-block: 5rem;
  }

  .actions__buttons {
    gap: 1rem;
    display: flex;
    justify-content: center;
  }

  .actions__button {
    background-color: var(--docs-background-color);
    border-radius: 0.375rem;
    color: var(--docs-text-color);
    font-weight: bold;
    padding: 0.5rem 1rem;
    text-align: center;
    text-decoration: none;

    &:hover {
      background-color: var(--docs-background-active-color);
    }
  }

  .actions__footnote {
    font-size: 0.8rem;
    margin: 0.5rem;
  }

  .benefits {
    container-type: inline-size;
    margin-block: 10rem;
  }

  .benefits__cards {
    column-gap: 5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    @container (min-width: 35rem) {
      flex-direction: row;
      row-gap: 1rem;
    }
  }

  .benefits__card {
    flex: 1 0 0;
  }

  .benefits__card-title {
    font-weight: bold;
  }

  .goals {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-block: 10rem;
    margin-inline: auto;
  }

  .goals__section {
    flex: 1 0 20rem;
  }

  .goals__list {
    list-style-position: inside;
    padding-left: 0;
  }

  .comparison {
    margin-block: 10rem;
  }

  .comparison__table-wrapper {
    overflow-x: auto;
  }

  .comparison__table {
    border-collapse: collapse;
    white-space: nowrap;
    width: 100%;
  }

  .comparison__table tr:nth-child(even) {
    background-color: var(--docs-background-color);
  }

  .comparison__table th, .comparison__table td {
    border: 1px solid var(--docs-border-color);
    padding: 0.5rem;
    table-layout: fixed;
  }

  .comparison__what {
    text-align: left;
  }

  .comparison__who {
    text-align: center;
    min-width: 7rem;
  }

  .comparison__note {
    font-size: 0.8rem;
  }

  .comparison__how {
    text-align: center;
  }

  a {
    color: var(--docs-text-color);

    &:has(code) {
      text-underline-position: under;
      text-decoration-thickness: 1px;
    }
  }

  h1 {
    font-size: 2rem;
  }

  h2 code {
    font-size: 1.5rem;
  }

  .screenshot {
    max-width: 400px;
  }

  .screenshot--desktop {
    max-width: 600px;
  }

  .screenshot__image {
    border-radius: 0.375rem;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    height: auto;
    width: 100%;
  }

  hr {
    border: 0;
    border-top: 1px solid var(--docs-border-color);
  }

  .imagemap {
    display: none;

    @media (min-width: 64rem) {
      display: initial;
    }
  }
}
