*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Montserrat",Arial,sans-serif;
}

:root{

    --navy:#090d1a;
    --blue:#151d33;
    --lightBlue:#26324a;

    --gold:#D4AF37;
    --goldLight:#ffe8a3;

    --glass:rgba(255,255,255,.06);
    --glassBorder:rgba(212,175,55,.35);

    --white:#ffffff;
    --text:#ddd3b0;

}

body{

    min-height:100vh;

    background:
    radial-gradient(
    circle at top,
    #39445c 0%,
    #151d33 35%,
    #070910 100%
    );

    display:flex;
    justify-content:center;
    align-items:center;

    padding:30px;

    color:var(--white);

}

@keyframes bgMove{

    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}

}

.container{

    width:100%;
    max-width:900px;

}

.card{

    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,.10),
        rgba(255,255,255,.03)
    );

    backdrop-filter:blur(18px);

    border:1px solid var(--glassBorder);

    border-radius:4px;

    padding:40px;

    margin-bottom:30px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.65);

    position:relative;

}

.card::before{

    content:"◆  ◆  ◆";

    position:absolute;

    top:-27px;

    left:50%;

    transform:translateX(-50%);

    color:var(--gold);

    letter-spacing:10px;

    font-size:18px;

}

h1{

    font-family:"Cinzel",serif;

    text-align:center;

    color:var(--goldLight);

    letter-spacing:8px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.subtitle{

    text-align:center;

    color:var(--text);

    margin-bottom:30px;

}

label{

    display:block;

    margin-top:18px;
    margin-bottom:8px;

    font-weight:bold;

    color:white;

}

input,
textarea{

    width:100%;

    padding:15px;

    border:none;

    border-radius:12px;

    background:rgba(255,255,255,.10);

    color:white;

    font-size:16px;

    outline:none;

    transition:.25s;

}

input::placeholder,
textarea::placeholder{

    color:#bdd7ff;

}

input:focus,
textarea:focus{

    background:rgba(255,255,255,.18);

    box-shadow:0 0 12px #4ea8ff;

}

textarea{

    resize:vertical;

}

button{

    width:100%;

    margin-top:28px;

    padding:15px;

    border:1px solid var(--gold);

    border-radius:2px;

    background:
    linear-gradient(
        135deg,
        transparent,
        rgba(212,175,55,.15)
    );

    color:var(--goldLight);

    font-family:"Cinzel",serif;

    letter-spacing:2px;

    font-size:17px;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:var(--gold);

    color:var(--navy);

    transform:translateY(-2px);

    box-shadow:0 0 18px rgba(212,175,55,.45);

}

button:active{

    transform:scale(.98);

}

.headerRow{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}

.headerRow h2{

    color:var(--goldLight);

}

#wishCount{

    color:var(--text);

}

#wishList{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.empty{

    text-align:center;

    color:var(--text);

    padding:30px;

}

.wish{

    background:
    linear-gradient(
        135deg,
        rgba(212,175,55,.10),
        rgba(255,255,255,.04)
    );

    border:1px solid rgba(212,175,55,.25);

    border-radius:4px;

    padding:25px;

    transition:.25s;

    position:relative;

}

.wish:hover{

    transform:translateY(-2px);

    border-color:rgba(212,175,55,.35);

}

.wishHeader{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}

.author{

    font-weight:bold;

    color:var(--goldLight);

}

.voteBadge{

    background:
    linear-gradient(
        135deg,
        #d4af37,
        #f3d87a
    );

    color:#111827;

    padding:7px 16px;

    border-radius:2px;

    font-weight:bold;

    font-size:14px;

}

.wishText{

    color:var(--text);

    line-height:1.6;

    margin-bottom:20px;

    white-space:pre-wrap;

}

.voteButton{

    width:auto;

    margin:0;

    padding:10px 22px;

    font-size:15px;

}

@media(max-width:700px){

    body{

        padding:15px;

    }

    .card{

        padding:22px;

    }

    .headerRow{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    .wishHeader{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    button{

        font-size:17px;

    }

}

.voteButton:disabled{

    opacity:.65;

    cursor:not-allowed;

    border-color:rgba(212,175,55,.5);

    color:var(--goldLight);

    transform:none;

}

.voteButton:disabled:hover{

    background:transparent;

    color:var(--goldLight);

    box-shadow:none;

}
