/* ===== Login-Screen ===== */
#loginScreen {
    position: fixed;
    inset: 0;
    background: radial-gradient(ellipse at 50% 40%, #1c0e07 0%, #060608 65%);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9500;
    transition: opacity .5s ease;
}

#loginScreen.visible { display: flex; }
#loginScreen.fade-out { opacity: 0; pointer-events: none; }

.login-box {
    width: min(340px, 88vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    animation: bootRise .5s ease both;
}

.login-avatar {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: linear-gradient(150deg, #2a1610, #120c0a);
    border: 1px solid rgba(255, 122, 60, .35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    filter: drop-shadow(0 0 18px rgba(255, 122, 60, .4));
    margin-bottom: 18px;
}

.login-box h2 {
    font-size: 26px;
    font-weight: 300;
    letter-spacing: 3px;
    color: #f5efe8;
}

.login-box h2 { margin-bottom: 4px; }

.login-sub {
    font-size: 13px;
    color: #7a746a;
    margin-bottom: 26px;
}

.login-box input {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 11px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    color: #f0ece4;
    font-size: 14px;
    outline: none;
    transition: border-color .15s ease;
}

.login-box input:focus { border-color: #ff7a3c; }
.login-box input::placeholder { color: #6a655d; }

#loginError {
    min-height: 18px;
    margin-bottom: 10px;
    font-size: 12.5px;
    color: #ff6b6b;
}

#loginBtn {
    width: 100%;
    padding: 12px;
    background: linear-gradient(90deg, #ff7a3c, #ffab4c);
    border: none;
    border-radius: 9px;
    color: #1a0f08;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    transition: transform .12s ease, opacity .15s ease;
}

#loginBtn:hover { transform: translateY(-1px); }
#loginBtn:disabled { opacity: .6; cursor: default; transform: none; }

#guestBtn {
    width: 100%;
    padding: 11px;
    background: none;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    color: #b8b2a8;
    font-size: 13.5px;
    transition: border-color .15s ease, color .15s ease;
}

#guestBtn:hover { border-color: rgba(255, 255, 255, .3); color: #e8e2d8; }
