@layer components {
  .checklist {
    background-color: oklch(0.35 0.19 265);
    padding-block: 14cqi 10cqi;
  }

  /* Title */
  .checklist__title {
    position: relative;
    text-align: center;
    padding-block-start: 11cqi;
    padding-inline: 10cqi;
    margin-block-end: 8cqi;
  }

  .checklist__title-sub {
    display: inline-flex;
    min-inline-size: max-content;
    align-items: center;
    justify-content: center;
    background-color: oklch(1 0 0);
    border-radius: var(--radius-full);
    padding-block: 1.25cqi;
    padding-inline: 3cqi;
    font-family: var(--font-hero);
    font-size: 3.75cqi;
    font-weight: 800;
    line-height: 1.25;
    color: var(--color-accent);
    margin-block-end: 3cqi;
  }

  .checklist__title-main {
    font-family: var(--font-hero);
    font-size: 8cqi;
    font-weight: 800;
    line-height: 1.25;
    color: var(--color-accent-light);
    text-align: center;
  }

  .checklist__title-board {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 3cqi;
    inline-size: 16.5cqi;
    block-size: auto;
  }

  .checklist__title-pen {
    position: absolute;
    inset-block-start: 3cqi;
    inset-inline-end: 2cqi;
    inline-size: 16.75cqi;
    block-size: auto;
  }

  .checklist__title-mark {
    position: absolute;
    inset-block-end: 0;
    inset-inline-end: 3cqi;
    inline-size: 10.25cqi;
    block-size: auto;
  }

  /* Checklist items */
  .checklist__items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-inline: 1.5rem;
    margin-block-end: 2.5rem;
  }

  .checklist__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    background-color: oklch(0.97 0.005 270);
    border-radius: 0.3125rem;
    padding: 1.25rem 1rem;
    position: relative;
  }

  .checklist__item::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 -4px 0 0 oklch(0.85 0.005 270);
    pointer-events: none;
  }

  .checklist__item-checkbox-img {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
  }

  .checklist__item-text {
    font-family: var(--font-hero);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: oklch(0.2 0 0);
    flex: 1;
    min-width: 0;
    max-inline-size: none;
    text-wrap: wrap;
  }

  .checklist__item-text .checklist__em {
    font-weight: 800;
    font-size: 1.25rem;
    color: oklch(0.55 0.22 25);
  }

  /* Appeal */
  .checklist__appeal {
    padding-inline: 6cqi;
    text-align: center;
  }

  .checklist__appeal-text {
    font-family: var(--font-hero);
    font-size: 4cqi;
    font-weight: 700;
    line-height: 1.6;
    color: oklch(1 0 0);
    text-align: center;
    margin-block-end: 4cqi;
  }

  .checklist__appeal-emphasis {
    display: inline-flex;
    min-inline-size: max-content;
    align-items: center;
    justify-content: center;
    background-color: var(--color-accent-light);
    padding-block: 1cqi;
    padding-inline: 2cqi;
    font-family: var(--font-hero);
    font-size: 6.5cqi;
    font-weight: 800;
    line-height: 1.25;
    color: oklch(0.55 0.22 25);
    text-align: center;
    margin-block-end: 8cqi;
  }

  .checklist__appeal-img-wrap {
    position: relative;
    margin-block-end: 4cqi;
  }

  .checklist__appeal-img {
    display: block;
    inline-size: 100%;
    block-size: auto;
    border-radius: 2.5cqi;
  }

  .checklist__appeal-fukidashi {
    position: absolute;
    inset-block-start: -6cqi;
    inset-inline-end: -5cqi;
    inline-size: 36cqi;
    block-size: auto;
  }

  .checklist__appeal-bottom {
    font-family: var(--font-hero);
    font-size: 4cqi;
    font-weight: 700;
    line-height: 1.6;
    color: oklch(1 0 0);
    text-align: center;
  }
}
