*{margin:0;padding:0;box-sizing:border-box;}
body{
    min-height:100vh;
    background:linear-gradient(145deg,#0a0f2e 0%,#0b1120 30%,#000 100%);
    font-family:'Segoe UI',system-ui,sans-serif;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    position:relative;
}
.stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.star{
    position:absolute;background:#fff;border-radius:50%;
    animation:twinkle 2s infinite;
    opacity:0;
}
@keyframes twinkle{0%{opacity:0;transform:scale(0.5);}50%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(0.5);}}
.moon{
    position:fixed;top:30px;right:30px;width:80px;height:80px;
    background:radial-gradient(circle at 30% 30%,#fffde7,#fff9c4);
    border-radius:50%;box-shadow:0 0 30px rgba(255,250,200,0.8);
    z-index:0;pointer-events:none;animation:moonGlow 4s infinite;
}
@keyframes moonGlow{0%{transform:scale(1);}50%{transform:scale(1.02);}100%{transform:scale(1);}}
.container{
    max-width:650px;width:100%;background:rgba(15,23,42,0.6);
    backdrop-filter:blur(12px);border-radius:48px;padding:35px 30px;
    position:relative;z-index:10;box-shadow:0 25px 45px rgba(0,0,0,0.5);
    text-align:center;
}
.logo{font-size:3rem;margin-bottom:15px;}
h1{
    font-size:1.8rem;background:linear-gradient(135deg,#fff,#facc15,#38bdf8);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    margin-bottom:10px;
}
.sub{color:#94a3b8;margin-bottom:20px;font-size:0.9rem;}
.form-group{margin-bottom:25px;text-align:left;}
.form-group label{display:block;color:#facc15;margin-bottom:8px;font-weight:bold;}
.form-group input{
    width:100%;padding:14px 18px;border-radius:40px;border:none;
    background:#0a0a0a;color:white;font-size:1rem;outline:none;
}
.form-group input:focus{border:2px solid #facc15;background:#111;}
.login-btn,.primary-btn{
    background:linear-gradient(145deg,#facc15,#eab308);
    border:none;padding:14px;border-radius:60px;
    font-weight:bold;font-size:1.1rem;color:#0f172a;cursor:pointer;
    width:100%;margin-top:10px;
}
.login-btn:hover,.primary-btn:hover{transform:scale(1.02);}
.message{margin-top:20px;font-size:0.9rem;min-height:50px;}
.error{color:#ff7777;}
.success{color:#88ff88;}
.footer{margin-top:20px;color:#475569;font-size:0.7rem;}
.user-info{display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,0.4);border-radius:40px;padding:10px 20px;margin-bottom:25px;}
.user-name{color:#facc15;font-weight:bold;}
.logout-btn{background:#dc2626;border:none;border-radius:30px;padding:6px 16px;color:white;cursor:pointer;}
.games-grid{display:flex;flex-direction:column;gap:25px;margin-bottom:30px;}
.game-card{background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:32px;padding:25px 20px;text-decoration:none;display:block;transition:0.3s;border:1px solid rgba(250,204,21,0.2);}
.game-card:hover{transform:translateY(-8px);border-color:#facc15;}
.game-icon{font-size:3rem;margin-bottom:15px;}
.game-card h2{color:#facc15;font-size:1.5rem;margin-bottom:10px;}
.game-card p{color:#94a3b8;}
.badge{display:inline-block;margin-top:12px;background:rgba(250,204,21,0.2);padding:5px 15px;border-radius:30px;font-size:0.8rem;color:#facc15;}
.question-card{background:rgba(0,0,0,0.4);border-radius:32px;padding:20px;margin:20px 0;}
.question-label{font-size:0.8rem;color:#facc15;}
.question-text{font-size:1.2rem;color:white;margin-top:10px;}
.back-home{position:absolute;top:20px;left:20px;background:rgba(0,0,0,0.5);border-radius:30px;padding:8px 16px;color:#facc15;text-decoration:none;z-index:20;}
.back-home:hover{background:rgba(250,204,21,0.3);}
@media (max-width:700px){
    .container{padding:25px 20px;}
    .players-panel{flex-direction:column;}
    .options{grid-template-columns:1fr;}
}