* { box-sizing: border-box; }

body {
    margin: 0;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--text, #f8fafc);
    background:
        radial-gradient(circle at top, var(--theme-body-spot-strong, transparent) 0%, transparent 42%),
        linear-gradient(180deg, var(--bg-gradient-top, var(--bg, var(--login-page-bg))) 0%, var(--bg, var(--login-page-bg)) 100%);
}

.card {
    background: var(--alysum-ui-panel, #111827);
    color: var(--text, #fff);
    padding: 28px;
    border-radius: 20px;
    width: 90%;
    max-width: 380px;
    border: 1px solid var(--border, rgba(255, 255, 255, 0.1));
    box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}

h2 {
    margin-top: 0;
    text-align: center;
    color: var(--alysum-display-mid, var(--gold, #f5d489));
}

input {
    width: 100%;
    padding: 14px;
    margin: 10px 0;
    border-radius: 12px;
    border: 1px solid var(--border, rgba(255, 255, 255, 0.14));
    background: rgba(0, 0, 0, 0.25);
    color: var(--text, #fff);
    font-size: 15px;
}

button {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 14px;
    background: var(
        --alysum-chrome-gradient,
        linear-gradient(135deg, var(--purple, #6d28d9), var(--pink, #ec4899))
    );
    color: white;
    font-weight: bold;
    font-size: 16px;
    margin-top: 10px;
}

button:active { transform: scale(0.97); }

.signup-link {
    text-align: center;
    margin-top: 14px;
    font-size: 14px;
}

.signup-link a {
    color: var(--accent-soft, var(--purple, #6d28d9));
    text-decoration: none;
    font-weight: 600;
}

.signup-link a.is-busy {
    pointer-events: none;
    opacity: 0.65;
}
