/* Attract screen */
.screen-attract {
    cursor: pointer;
    gap: clamp(1.5rem, 4vw, 3rem);
}

.attract__logo {
    animation: float 3s ease-in-out infinite;
}

.attract__title {
    font-size: clamp(2rem, 7vw, 5rem);
    font-weight: 900;
    text-align: center;
    line-height: 1.1;
}

.attract__tagline {
    font-size: clamp(1rem, 3vw, 1.75rem);
    opacity: 0.7;
    text-align: center;
}

.attract__cta {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    font-weight: 600;
    opacity: 0.6;
    animation: pulse 2s ease-in-out infinite;
}

/* Consent screen */
.screen-consent .consent__text {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    text-align: center;
    max-width: 600px;
    line-height: 1.6;
    opacity: 0.85;
}

/* Mode select screen */
.screen-mode-select .button-group {
    margin-top: clamp(1rem, 3vw, 2rem);
}

/* Photo select screen */
.screen-photo-select .button-group {
    margin-top: clamp(1rem, 3vw, 2rem);
}

/* Camera screen */
.screen-camera {
    padding: 0;
    gap: 0;
}

.screen-camera .viewfinder {
    width: 100%;
    max-width: 100%;
    aspect-ratio: auto;
    flex: 1;
    border-radius: 0;
}

/* Review screen */
.screen-review {
    gap: clamp(1rem, 3vw, 1.5rem);
}

.review-image-container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    width: 100%;
}

/* Done screen */
.screen-done {
    gap: clamp(1rem, 3vw, 2rem);
}

.done__message {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    text-align: center;
    opacity: 0.8;
}

.done__scan-hint {
    font-size: clamp(0.875rem, 2vw, 1.125rem);
    opacity: 0.6;
    text-align: center;
}
