*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:system-ui,-apple-system,sans-serif;
background:#0F172A;
color:#F8FAFC;
line-height:1.6;
}


/* layout */

.app{
display:flex;
min-height:100vh;
}


/* sidebar */

.sidebar{
width:280px;
background:#111827;
padding:30px 20px;
position:sticky;
top:0;
height:100vh;
}

.sidebar h2{
font-size:30px;
margin-bottom:35px;
}

.sidebar button{
display:block;
width:100%;
margin-bottom:15px;
padding:14px;
border:none;
border-radius:14px;
background:#1E293B;
color:white;
font-size:16px;
cursor:pointer;
transition:.3s;
}

.sidebar button:hover{
background:#14B8A6;
transform:translateX(5px);
}



/* contenido */

.contenido{
flex:1;
padding:50px;
padding-bottom:150px;
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(340px,1fr));
gap:30px;
}



/* cards */

.card{
background:linear-gradient(
145deg,
#1E293B,
#162033
);
border-radius:28px;
padding:30px;
box-shadow:
0 8px 30px rgba(0,0,0,.35);
transition:.35s;
}

.card:hover{
transform:
translateY(-8px)
scale(1.01);
}

.card h2{
font-size:28px;
margin-bottom:15px;
}

.card p{
margin-bottom:18px;
color:#CBD5E1;
}

.card button{
background:#14B8A6;
border:none;
padding:14px 22px;
border-radius:50px;
color:white;
font-weight:700;
cursor:pointer;
transition:.3s;
}

.card button:hover{
transform:scale(1.05);
}



/* botones sociales */

.social{
margin-top:25px;
display:flex;
flex-wrap:wrap;
gap:12px;
}

.social button{
background:#334155;
}

.social button:hover{
background:#8B5CF6;
}

.stats{
margin-top:18px;
color:#94A3B8;
font-size:14px;
}



/* reproductor */

.player{
position:fixed;
bottom:0;
left:0;
width:100%;
background:
rgba(15,23,42,.97);
backdrop-filter:blur(14px);

display:flex;
align-items:center;
gap:20px;

padding:18px 35px;
box-shadow:
0 -4px 20px rgba(0,0,0,.35);
z-index:999;
}

.player img{
width:75px;
height:75px;
border-radius:16px;
object-fit:cover;
}

.player h4{
font-size:20px;
}

#audio{
flex:1;
min-width:220px;
}



/* scroll */

::-webkit-scrollbar{
width:8px;
}

::-webkit-scrollbar-thumb{
background:#14B8A6;
border-radius:20px;
}



/* mobile */

@media(max-width:900px){

.app{
flex-direction:column;
}

.sidebar{
width:100%;
height:auto;
position:relative;
padding:20px;
}

.sidebar h2{
text-align:center;
}

.contenido{
grid-template-columns:1fr;
padding:20px;
padding-bottom:180px;
}

.card{
padding:22px;
}

.card h2{
font-size:24px;
}

.player{
flex-direction:column;
align-items:flex-start;
padding:20px;
}

#audio{
width:100%;
}

.social{
flex-direction:column;
}

.social button{
width:100%;
}

}