@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

:root {
    --rd-bg-0: #05070d;
    --rd-bg-1: #090e15;
    --rd-bg-2: #0d131d;
    --rd-border-1: #1a2230;
    --rd-border-2: #273447;
    --rd-text-1: #eef3fb;
    --rd-text-2: #9aabc2;
    --rd-text-3: #798aa1;
    --rd-accent-1: #5a67d9;
    --rd-accent-2: #6d7ae6;
    --discord-blue: #5865F2;
    --discord-blue-hover: #4752C4;
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
}

body.login-page {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", sans-serif;
    color: var(--rd-text-1);
    background:
        radial-gradient(circle at 20% 12%, rgba(52, 81, 125, 0.16) 0%, rgba(52, 81, 125, 0) 42%),
        radial-gradient(circle at 80% 84%, rgba(30, 48, 75, 0.2) 0%, rgba(30, 48, 75, 0) 44%),
        var(--rd-bg-0);
    padding: 24px 16px;
    box-sizing: border-box;
    overflow: hidden;
}

body.login-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(158, 194, 235, 0.33) 0.8px, transparent 1px);
    background-size: 100px 100px;
    opacity: 0.16;
}

.login-shell {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 510px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.login-header {
    text-align: center;
}

.login-logo {
    width: 78px;
    height: 78px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 18px 48px rgba(2, 4, 8, 0.6);
}

.login-header h1 {
    margin: 16px 0px 0px 0px;
    font: 700 36px "Poppins", sans-serif;
    letter-spacing: -0.03em;
    color: var(--rd-text-1);
}

.login-header p {
    margin: 14px 0px 0px 0px;
    font: 400 15px "Poppins", sans-serif;
    color: var(--rd-text-2);
    line-height: 1.4;
}

.login-card {
    margin-top: 34px;
    width: 100%;
    border-radius: 20px;
    border: 1px solid var(--rd-border-1);
    background: linear-gradient(180deg, rgba(12, 17, 26, 0.96) 0%, rgba(10, 15, 23, 0.95) 100%);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.48);
    padding: 20px;
    box-sizing: border-box;
}

.login-discord-btn {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 11px;
    padding: 14px 16px;
    background: linear-gradient(90deg, var(--rd-accent-1) 0%, var(--rd-accent-2) 100%);
    border: 1px solid #7887ee;
    color: #ffffff;
    font: 600 16px "Poppins", sans-serif;
    letter-spacing: -0.01em;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.login-discord-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(72, 86, 210, 0.33);
    filter: brightness(1.03);
}

.login-discord-arrow {
    opacity: 0.9;
}

.login-disclaimer {
    margin: 18px 0px 4px 0px;
    color: var(--rd-text-3);
    text-align: center;
    font: 400 13px "Poppins", sans-serif;
    line-height: 1.5;
}

.login-footer-links {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #7e8fa8;
    font: 500 13px "Poppins", sans-serif;
}

.login-footer-links a {
    color: #95a9c2;
    text-decoration: none;
    transition: color .2s ease;
}

.login-footer-links a:hover {
    color: #d7e5f8;
}

@media (max-width:900px) {
    .login-logo {
        width: 70px;
        height: 70px;
    }

    .login-header h1 {
        font-size: 32px;
    }

    .login-header p {
        font-size: 14px;
    }

    .login-discord-btn {
        font-size: 15px;
        padding: 13px 15px;
    }

    .login-disclaimer {
        font-size: 13px;
    }

    .login-footer-links {
        font-size: 13px;
    }
}

@media (max-width:560px) {
    body.login-page {
        padding: 18px 12px;
    }

    .login-header h1 {
        font-size: 28px;
    }

    .login-header p {
        font-size: 13px;
    }

    .login-card {
        margin-top: 24px;
        padding: 14px;
    }

    .login-discord-btn {
        font-size: 14px;
        padding: 13px 14px;
        gap: 8px;
    }

    .login-disclaimer {
        margin-top: 14px;
        font-size: 12px;
    }

    .login-footer-links {
        margin-top: 24px;
        gap: 10px;
        font-size: 12px;
    }
}

/* Final palette lock (image matched) */
:root {
    --rd-img-bg-0: #0c0d0d;
    --rd-img-bg-1: #111212;
    --rd-img-bg-2: #111313;
    --rd-img-surface-1: #161616;
    --rd-img-border-1: #1a1c1c;
    --rd-img-border-2: #202121;
    --rd-img-accent: #5d6482;
    --rd-img-text: #b7c0cd;
    --rd-img-muted: #474b4e;
}

body.login-page {
    color: var(--rd-img-text);
    background: var(--rd-img-bg-0);
}

body.login-page::before {
    background-image: radial-gradient(circle, rgba(71, 75, 78, 0.28) 0.8px, transparent 1px);
    opacity: 0.13;
}

.login-card {
    border-color: var(--rd-img-border-2);
    background: linear-gradient(180deg, rgba(22, 23, 23, 0.97) 0%, rgba(17, 19, 19, 0.96) 100%);
}

.login-header h1 {
    color: #ffffff;
}

.login-header p {
    color: #8f959d;
}

.login-disclaimer,
.login-footer-links,
.login-footer-links a {
    color: #7f8a99;
}

.login-footer-links a:hover {
    color: #b7c0cd;
}

.login-discord-btn {
    background: var(--discord-blue);
    border-color: transparent;
    color: #ffffff;
}

.login-discord-btn:hover {
    background: var(--discord-blue-hover);
    box-shadow: 0 14px 28px rgba(71, 82, 196, 0.35);
    filter: brightness(1.03);
}
