/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

/* CAMBIA LA FUENTE */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap');

:root{
--bg:#FAF9FC; /* COLOR FONDO */
--card:#EEE8FA; /* COLOR VENTANAS */
--accent:#D8CCF8; /* COLOR BARRA */
--text:#3D3552; /* COLOR TEXTO */
}

*{box-sizing:border-box}
body{
margin:0;
font-family:'Quicksand',sans-serif;
background:linear-gradient(135deg,var(--bg),#f2edff);
color:var(--text);
}
.titlebar{
background:var(--accent);
padding:25px;
text-align:center;
box-shadow:0 4px 15px rgba(0,0,0,.15);
}
.menu{
display:flex;
justify-content:center;
gap:18px;
padding:15px;
position:sticky;
top:0;
background:white;
}
.menu a{
text-decoration:none;
color:var(--text);
padding:10px 16px;
border-radius:12px;
transition:.3s;
}
.menu a:hover{
background:var(--accent);
transform:translateY(-4px) scale(1.05);
}
.card{
width:min(900px,90%);
margin:30px auto;
padding:20px;
background:var(--card);
border-radius:18px;
box-shadow:0 8px 20px rgba(0,0,0,.12);
transition:.35s;
}
.card:hover{
transform:translateY(-6px) rotate(-.4deg);
}
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:20px;
}
.gallery img{
width:100%;
border-radius:10px;
transition:.35s;
}
.gallery img:hover{
transform:rotate(-4deg) scale(1.06);
}
footer{
text-align:center;
padding:30px;
opacity:.8;
}

/* ===========================
   🎵 SOUNDTRACK
=========================== */

.music-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:25px;
    margin-top:25px;
}

.album{
    background:#F8F5FF;
    border-radius:18px;
    padding:15px;
    text-align:center;
    transition:all .35s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.album:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(155,110,255,.35);
}

.album img{
    width:170px;
    height:170px;
    object-fit:cover;
    border-radius:15px;
    display:block;
    margin:auto;
    transition:all .35s ease;
}

.album img:hover{
    transform:scale(1.08) rotate(-3deg);
}

.album h3{
    margin-top:15px;
    margin-bottom:5px;
    font-size:17px;
    color:#3D3552;
}

.album p{
    color:#6F5E8A;
    font-size:14px;
}

.album a{
    text-decoration:none;
}

/*=========================
   🌸 SOBRE MÍ
=========================*/

#haruka{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    flex-wrap:wrap;
}

#haruka h2{
    width:100%;
    margin-bottom:10px;
}

#haruka p{
    font-size:16px;
    line-height:1.7;
}

#haruka ul{
    list-style:none;
    padding:0;
    margin-top:15px;
}

#haruka li{
    margin:12px 0;
    font-size:15px;
}

#haruka img{
    width:250px;
    padding:12px;
    background:white;
    border-radius:6px;
    box-shadow:0 15px 35px rgba(0,0,0,.18);
    transform:rotate(-4deg);
    transition:.35s;
}

#haruka img:hover{
    transform:rotate(0deg) scale(1.05);
    box-shadow:0 20px 40px rgba(153,105,255,.35);
}


/*=========================
   📸 GALERÍA
=========================*/

.gallery{
    display:flex;
    justify-content:center;
    gap:35px;
    flex-wrap:wrap;
}

.gallery div{
    background:white;
    padding:12px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
    transition:.35s;
}

.gallery div:nth-child(1){
    transform:rotate(-6deg);
}

.gallery div:nth-child(2){
    transform:rotate(4deg);
}

.gallery div:nth-child(3){
    transform:rotate(-2deg);
}

.gallery div:nth-child(4){
    transform:rotate(4deg);
}

.gallery div:hover{
    transform:scale(1.08) rotate(0deg);
    box-shadow:0 18px 40px rgba(154,110,255,.35);
}

.gallery img{
    width:220px;
    height:220px;
    object-fit:cover;
    border-radius:10px;
}

.gallery p{
    text-align:center;
    margin-top:12px;
    font-weight:bold;
    color:#4E406D;
}

/*=========================
    HEADER
=========================*/

.titlebar{
    background:linear-gradient(135deg,#D8CCF8,#EEE8FA);
    text-align:center;
    padding:35px;
    border-bottom:4px solid #CDB8F8;
}

.titlebar h1{
    font-size:40px;
    margin-bottom:20px;
    color:#3D3552;
}

.titlebar img{
    width:420px;
    max-width:90%;
    display:block;
    margin:auto;
    transition:.4s;
}

.titlebar img:hover{
    transform:scale(1.05) rotate(-1deg);
    filter:drop-shadow(0 0 18px #D8CCF8);
}

.titlebar p{
    width:70%;
    margin:auto;
    font-size:18px;
    line-height:1.8;
    color:#4A4266;
}

.sparkle{
    position:absolute;
    width:8px;
    height:8px;
    pointer-events:none;
    background:#fff;
    border-radius:50%;
    box-shadow:
        0 0 5px #fff,
        0 0 10px #d8ccf8,
        0 0 15px #b98cff;
    animation: sparkle 0.7s linear forwards;
}

@keyframes sparkle{
    from{
        opacity:1;
        transform:scale(1);
    }
    to{
        opacity:0;
        transform:translateY(-20px) scale(0);
    }
}

/*=========================
      MSN MESSENGER
=========================*/

.window{

    width:85%;

    max-width:850px;

    margin:auto;

    background:#FDFBFF;

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 12px 25px rgba(0,0,0,.15);

}

.window-bar{

    background:linear-gradient(#BFA8F3,#9F86E5);

    color:white;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:12px 18px;

    font-weight:bold;

}

.buttons span{

    margin-left:12px;

    cursor:pointer;

}

.chat{

    padding:25px;

    max-height:500px;

    overflow-y:auto;

    background:#F7F4FF;

}

.message{

    display:flex;

    gap:15px;

    margin-bottom:25px;

}

.avatar img{

    width:55px;

    height:55px;

    border-radius:50%;

    object-fit:cover;

}

.bubble{

    background:white;

    border-radius:18px;

    padding:15px;

    max-width:650px;

    box-shadow:0 5px 12px rgba(0,0,0,.08);

}

.bubble h4{

    margin:0 0 8px;

    color:#6F4CC9;

}

.bubble p{

    margin:0;

    line-height:1.7;

}

.bubble small{

    display:block;

    margin-top:12px;

    color:#888;

}