*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial;
}

body{
background:#05070d;
color:white;
display:flex;
height:100vh;
overflow:hidden;
}

/* bg */
#bg{
position:fixed;
inset:0;
z-index:-1;
}

/* header */
header{
position:fixed;
top:0;
left:0;
right:0;
height:60px;
display:flex;
justify-content:space-between;
align-items:center;
padding:0 20px;
backdrop-filter:blur(15px);
border-bottom:1px solid #00aaff33;
}

.logo{
color:#00aaff;
font-size:22px;
font-weight:bold;
}

#search{
padding:8px;
border-radius:8px;
border:none;
background:#0b1220;
color:white;
width:200px;
}

/* auth */
#authBox{
position:fixed;
top:70px;
right:20px;
background:#0b1220;
padding:10px;
border-radius:10px;
border:1px solid #1a3a5a;
}

#authBox input{
display:block;
margin:5px 0;
padding:6px;
background:#08101a;
color:white;
border:none;
}

/* sidebar */
aside{
width:200px;
padding-top:80px;
border-right:1px solid #0a2a44;
}

aside button{
width:100%;
padding:10px;
background:none;
border:none;
color:white;
text-align:left;
cursor:pointer;
}

aside button:hover{
color:#00aaff;
}

/* main */
main{
flex:1;
padding:80px 20px;
overflow:auto;
}

#content{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:15px;
}

/* cards */
.card{
background:#0b1220;
border:1px solid #1a2c44;
padding:15px;
border-radius:12px;
transition:.25s;
}

.card:hover{
transform:scale(1.05);
border-color:#00aaff;
}

.download{
display:block;
margin-top:10px;
padding:8px;
background:#0077ff;
text-align:center;
border-radius:8px;
text-decoration:none;
color:white;
}

.download:hover{
background:#0099ff;
}