@layer components {
    .demo-page {
        & .demo-page__main {
            text-align: center;
            padding-block: var(--space-xl);
            padding-inline: var(--space-s);
        }

        & .demo-page__qr-block {
            margin-block-start: var(--space-l);
        }

        & .demo-page__qr {
            box-shadow: var(--shadow-m);
            border-radius: var(--radius-m);
        }

        & .demo-page__qr-hint {
            margin-block-start: var(--space-2xs);
            color: var(--color-text-muted);
            font-size: 0.9rem;
        }

        & .demo-page__actions {
            margin-block-start: var(--space-m);
        }

        & .demo-page__link {
            margin-block-start: var(--space-s);
            color: var(--color-text-muted);
            font-size: 0.95rem;
            overflow-wrap: anywhere;

            & .demo-page__link-label {
                font-weight: 600;
            }

            & a {
                color: var(--color-accent-strong);
                text-decoration: none;
                border-bottom: 1px solid currentColor;

                &:hover {
                    color: var(--color-accent);
                }
            }
        }

        & .demo-page__requirements {
            max-width: 40rem;
            margin-inline: auto;
            margin-block-start: var(--space-m);
            color: var(--color-text-muted);
            font-size: 0.9rem;
        }

        & .demo-page__own-frames {
            text-align: center;
            padding-block: var(--space-xl);
            padding-inline: var(--space-s);
            background: var(--color-surface-mixed);
        }

        & .demo-page__own-frames-title {
            font-family: var(--font-display);
            font-size: var(--size-step-2);
        }

        & .demo-page__own-frames-description {
            max-width: 40rem;
            margin-inline: auto;
            margin-block: var(--space-s);
            color: var(--color-text-muted);
        }
    }
}
