.login-card {
    border-color: rgba(255, 255, 255, .17);
    background: linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .04));
    box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
    backdrop-filter: blur(12px) saturate(112%);
    -webkit-backdrop-filter: blur(12px) saturate(112%);
}

.login-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-width: 9rem;
    min-height: 3rem;
    margin: 0 auto;
    padding: .7rem 1.35rem;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, rgba(125, 41, 71, .92), rgba(75, 16, 37, .92));
    box-shadow: 0 12px 28px rgba(38, 5, 18, .3);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}
.login-trigger:hover { filter: brightness(1.12); transform: translateY(-2px); box-shadow: 0 16px 34px rgba(38, 5, 18, .4); }
.login-trigger:focus-visible { outline: 3px solid rgba(210, 177, 111, .65); outline-offset: 3px; }
.login-trigger svg { width: 1.1rem; height: 1.1rem; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.login-trigger.is-open svg { transform: rotate(90deg); }
.login-reveal { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(-1rem) scale(.94); transform-origin: top center; transition: grid-template-rows .55s cubic-bezier(.2,.8,.2,1), opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.login-reveal-inner { min-height: 0; overflow: hidden; }
.login-reveal.is-open { grid-template-rows: 1fr; opacity: 1; transform: translateY(0) scale(1); }
.login-reveal.is-open .login-reveal-inner { padding-top: 1.25rem; }
