/* Login screen */
#login-screen {
    position: fixed; inset: 0; z-index: 50;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    background: radial-gradient(80% 70% at 50% 30%, #ffeae5 0%, #fbece9 60%, #fdf6f3 100%);
}
.login-card {
    position: relative;
    width: min(440px, 100%);
    padding: 44px 36px 32px;
    background: var(--paper);
    border: 1px solid var(--paper-edge);
    border-radius: 26px;
    text-align: center;
    box-shadow: var(--shadow-soft);
    animation: fadeUp var(--t-slow) ease both;
}
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.login-card .login-mark {
    width: 64px; height: 64px;
    margin: 0 auto 16px;
    display: grid; place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pink-200), var(--pink-300));
    color: white;
    font-family: 'Fraunces', serif; font-style: italic; font-size: 1.6rem;
    box-shadow: 0 8px 24px -10px rgba(217,122,139,.6), 0 1px 0 rgba(255,255,255,.4) inset;
}
.login-card h1 {
    margin: 0 0 6px;
    font-family: 'Fraunces', serif; font-style: italic;
    font-size: 2rem; font-weight: 400; letter-spacing: -.01em;
}
.login-card .tagline {
    margin: 0 0 26px;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--ink-soft);
}
.google-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    width: 100%;
    border-radius: 12px;
    color: white;
    background: linear-gradient(135deg, var(--ink) 0%, #251a1c 100%);
    font-weight: 500;
    transition: transform var(--t-fast);
}
.google-btn:hover { transform: translateY(-1px); }
.google-btn svg { width: 18px; height: 18px; }
.login-hint { margin-top: 16px; font-size: 0.78rem; color: var(--ink-faint); }
.login-error {
    margin-top: 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #fde8eb;
    color: #b25867;
    font-size: 0.84rem;
    display: none;
}
.login-error.visible { display: block; animation: fadeUp .35s ease both; }
