@layer components {
  .qr-scanner {
    inline-size: min(90vw, 30rem);
    max-inline-size: 100%;
  }

  .qr-scanner__header {
    align-items: center;
    display: flex;
    gap: var(--inline-space);
    justify-content: space-between;
    margin-block-end: var(--block-space);
  }

  .qr-scanner__title {
    font-size: var(--text-large);
    margin: 0;
  }

  .qr-scanner__video {
    aspect-ratio: 1;
    background-color: var(--color-black);
    border-radius: 0.5em;
    inline-size: 100%;
    object-fit: cover;
  }

  .qr-scanner__hint {
    color: var(--color-ink-light);
    font-size: var(--text-small);
    margin-block-start: var(--block-space-half);
    text-align: center;
  }
}
