.account-confirmation {
    box-sizing: border-box;
    width: min(85%, 460px);
    text-align: center;
    max-width: 460px;
    margin: auto;
    padding: 20px 0;
}

.account-confirmation-hand {
    width: 180px;
    margin: 0 auto 24px;
}

.account-confirmation-hand svg {
    display: block;
    width: 100%;
    overflow: visible;
}

.confirmation-thumb {
    transform-box: fill-box;
    transform-origin: 30% 85%;
    animation:
        confirmation-like 0.85s
        cubic-bezier(0.2, 0.8, 0.3, 1)
        both;
}

.confirmation-spark {
    transform-origin: center;
    animation: confirmation-spark 0.45s 0.6s both;
}

.account-confirmation h1 {
    font:
        800 clamp(28px, 7vw, 36px)/1.15
        system-ui, sans-serif;
    margin: 0 0 20px;
}

.account-confirmation p {
    font: 17px/1.5 system-ui, sans-serif;
}

.account-confirmation .account-confirmation-detail {
    color: #686870;
    font-size: 14px;
}

.account-confirmation-copy {
    animation: confirmation-copy 0.4s 0.8s both;
}

.account-confirmation-link {
    display: block;
    margin: 24px 0;
    color: inherit;
    text-decoration: underline;
}

.account-confirmation-login {
    display: block;
    border-radius: 99px;
    padding: 16px;
    background: #f3153c;
    color: #fff;
    text-decoration: none;
    font: 650 17px system-ui, sans-serif;
}

@keyframes confirmation-like {
    0% {
        opacity: 0;
        transform:
            translateY(24px)
            rotate(55deg)
            scale(0.75);
    }

    55% {
        opacity: 1;
        transform:
            translateY(-4px)
            rotate(-12deg)
            scale(1.06);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes confirmation-spark {
    from {
        opacity: 0;
        transform: scale(0.7);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes confirmation-copy {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.account-confirmation-static .confirmation-thumb,
.account-confirmation-static .confirmation-spark,
.account-confirmation-static .account-confirmation-copy {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .confirmation-thumb,
    .confirmation-spark,
    .account-confirmation-copy {
        animation: none;
    }
}

.account-confirmation-address strong {
    display: block;
    margin-top: 6px;
    overflow-wrap: anywhere;
}

.account-confirmation .account-confirmation-spam {
    margin: 24px 0;
    padding: 14px 16px;
    border-radius: 16px;
    background: #fff0f3;
    color: #542530;
    font-size: 15px;
}

.account-confirmation-spam strong {
    display: block;
}

.account-confirmation-edit {
    text-align: left;
    margin: 16px 0;
}

.account-confirmation-edit summary {
    cursor: pointer;
    color: #bc1736;
    text-decoration: underline;
    font: 600 15px/1.5 system-ui, sans-serif;
}

.account-confirmation-edit form {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.account-confirmation-edit label {
    font: 600 15px system-ui, sans-serif;
}

.account-confirmation-edit input[type="email"] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #a4a4ad;
    border-radius: 12px;
    background: #fff;
    color: #202024;
    font: 16px system-ui, sans-serif;
}

.account-confirmation-edit button {
    padding: 14px;
    border: 0;
    border-radius: 16px;
    background: #f3153c;
    color: #fff;
    font: 650 16px system-ui, sans-serif;
    cursor: pointer;
}

.account-confirmation-edit :focus-visible {
    outline: 2px solid #bc1736;
    outline-offset: 3px;
}

.account-confirmation .account-confirmation-error {
    color: #b01932;
    font-size: 15px;
}