body{
    margin:0;
    background:black;
    color:#00ff88;
    font-family:'Orbitron',sans-serif;
    overflow-x:hidden;
}

#loader{
    position:fixed;
    width:100%;
    height:100%;
    background:black;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    z-index:9999;
}

.scan{
    width:200px;
    height:4px;
    background:#00ff88;
    box-shadow:0 0 20px #00ff88;
    animation:scan 1s infinite;
}

@keyframes scan{
    0%{transform:translateY(-50px);}
    100%{transform:translateY(50px);}
}

.container{
    padding:20px;
}

.title{
    text-align:center;
    font-size:40px;
    text-shadow:0 0 20px #00ff88;
}

.subtitle{
    text-align:center;
    color:#00ccff;
    letter-spacing:5px;
}

.top-bar{
    display:flex;
    justify-content:flex-end;
}

#musicBtn{
    background:black;
    border:2px solid #00ff88;
    color:#00ff88;
    padding:10px 20px;
    border-radius:15px;
    box-shadow:0 0 15px #00ff88;
}

.box{
    margin-top:40px;
    border:2px solid #00ff88;
    border-radius:20px;
    padding:20px;
    box-shadow:0 0 20px #00ff88;
    background:rgba(0,255,100,0.05);
}

h2{
    text-align:center;
    margin-bottom:30px;
}

.generate-btn{
    width:100%;
    padding:18px;
    background:black;
    border:2px solid #00ccff;
    color:#00ccff;
    border-radius:15px;
    font-size:18px;
    box-shadow:0 0 20px #00ccff;
}

.key-box{
    margin-top:30px;
    padding:20px;
    text-align:center;
    font-size:25px;
    border:2px solid yellow;
    border-radius:15px;
    box-shadow:0 0 20px yellow;
    color:yellow;
}

.info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:20px;
}

.info-card{
    border:1px solid #00ff88;
    border-radius:15px;
    padding:20px;
    text-align:center;
}

.countdown{
    margin-top:20px;
    text-align:center;
    color:#00ff88;
}

input{
    width:100%;
    padding:15px;
    background:black;
    border:2px solid #00ff88;
    color:#00ff88;
    border-radius:10px;
    margin-bottom:20px;
}

.particles::before{
    content:"";
    position:fixed;
    width:100%;
    height:100%;
    background-image:radial-gradient(#00ff88 1px, transparent 1px);
    background-size:30px 30px;
    opacity:0.1;
    animation:move 10s linear infinite;
}

@keyframes move{
    from{transform:translateY(0);}
    to{transform:translateY(100px);}
}