.member-splash {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    place-items: center;
    padding: max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
    isolation: isolate;
    background: var(--body-bg);
    background-color: var(--app-bg-solid);
    color: var(--text);
    opacity: 1;
    transition: opacity 320ms ease, visibility 320ms ease;
}

.member-splash.is-exiting {
    visibility: hidden;
    opacity: 0;
}

.member-splash-atmosphere {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.member-splash-wash {
    position: absolute;
    width: min(54vw, 34rem);
    aspect-ratio: 1;
    border-radius: 50%;
    filter: blur(0.2rem);
    opacity: 0.5;
}

.member-splash-wash-one {
    top: -30%;
    right: -10%;
    background: radial-gradient(circle, var(--accent-soft), transparent 68%);
    animation: member-splash-wash-drift 6s ease-in-out infinite alternate;
}

.member-splash-wash-two {
    bottom: -34%;
    left: -12%;
    background: radial-gradient(circle, var(--accent-tint), transparent 68%);
    animation: member-splash-wash-drift 7s ease-in-out 300ms infinite alternate-reverse;
}

.member-splash-content {
    display: grid;
    width: min(100%, 24rem);
    justify-items: center;
    gap: 0.9rem;
    text-align: center;
}

.member-splash-mark-stage {
    position: relative;
    display: grid;
    width: clamp(6.25rem, 17vw, 7.8rem);
    aspect-ratio: 1;
    place-items: center;
    opacity: 0;
    transform: translateY(0.55rem) scale(0.9);
    animation: member-splash-mark-enter 650ms cubic-bezier(0.16, 1, 0.3, 1) 80ms forwards;
}

.member-splash-mark-stage::before {
    position: absolute;
    inset: 7%;
    border-radius: 50%;
    background: var(--accent-tint);
    content: "";
    transform: scale(0.92);
    animation: member-splash-mark-breathe 2.8s ease-in-out 720ms infinite alternate;
}

.member-splash-mark {
    position: relative;
    display: block;
    width: 72%;
    height: 72%;
    object-fit: contain;
    filter: drop-shadow(0 0.75rem 1.5rem var(--accent-glow));
}

.member-splash-brand {
    display: grid;
    gap: 0.18rem;
    margin-top: 0.15rem;
    opacity: 0;
    transform: translateY(0.4rem);
    animation: member-splash-copy-enter 520ms cubic-bezier(0.16, 1, 0.3, 1) 330ms forwards;
}

.member-splash-brand > span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.member-splash-brand strong {
    max-width: min(88vw, 22rem);
    color: var(--text);
    font-family: var(--font-brand, "Poppins", sans-serif);
    font-size: clamp(1.7rem, 6vw, 2.1rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.member-splash-brand strong.is-two-line {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    overflow-wrap: normal;
}

.member-splash-brand strong.is-two-line > span {
    white-space: nowrap;
}

.member-splash-wordmark {
    display: block;
    width: min(88vw, 22rem);
    height: clamp(5.25rem, 20vw, 7rem);
    object-fit: contain;
}

.member-splash-progress {
    position: relative;
    width: 3.75rem;
    height: 2px;
    overflow: hidden;
    margin-top: 0.5rem;
    border-radius: 999px;
    background: var(--accent-soft);
    opacity: 0;
    animation: member-splash-progress-enter 220ms ease 560ms forwards;
}

.member-splash-progress > span {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--accent-strong);
    transform: scaleX(0);
    transform-origin: left;
    animation: member-splash-progress-fill 1.05s cubic-bezier(0.65, 0, 0.35, 1) 560ms forwards;
}

.member-splash.is-exiting .member-splash-content {
    transform: translateY(-0.2rem) scale(1.008);
    transition: transform 320ms cubic-bezier(0.4, 0, 1, 1);
}

@keyframes member-splash-mark-enter {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes member-splash-copy-enter {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes member-splash-mark-breathe {
    from { opacity: 0.58; transform: scale(0.94); }
    to { opacity: 1; transform: scale(1.04); }
}

@keyframes member-splash-progress-enter {
    to { opacity: 1; }
}

@keyframes member-splash-progress-fill {
    0% { transform: scaleX(0); }
    82%, 100% { transform: scaleX(1); }
}

@keyframes member-splash-wash-drift {
    to { transform: translate3d(2%, 3%, 0) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
    .member-splash,
    .member-splash *,
    .member-splash *::before,
    .member-splash *::after {
        animation: none !important;
        transition-duration: 80ms !important;
    }

    .member-splash-mark-stage,
    .member-splash-brand,
    .member-splash-progress {
        opacity: 1;
        transform: none;
    }

    .member-splash-mark-stage::before {
        opacity: 0.78;
        transform: none;
    }

    .member-splash-progress > span {
        transform: scaleX(1);
    }
}
