/* --------------------- CSS Reset -------------------- */

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

body{
font-family:Arial, Helvetica, sans-serif;
text-align:center;
background-image:url("../images/WoF Background.jpg");
background-size:cover;
zoom: 0.95;
}

#main{
    width:600px;
    margin:auto;
    background:white;
    padding:10px;
    border-radius:10px;
    box-shadow:0 0 10px rgba(0,0,0,.2);
}

h3{
    margin:5px 0;
}

#category{
background:gold;
padding:8px 15px;
border-radius:6px;
display:inline-block;
font-size:20px;
margin-bottom:10px;
}

#scorePanel{
display:flex;
justify-content:center;
gap:15px;
margin:8px 0;
font-weight:bold;
border:6px double #333;
padding:8px;
border-radius:8px;
}

.scoreBox{
background:#222;
color:#00ff66;
padding:8px 12px;
border-radius:6px;
font-size:16px;
}

#puzzleBoard{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    max-width: 450px;
    margin: 0 auto;
}

.wordRow{
    display: flex;
    justify-content: center;
    gap: 8px;
}

.wordGroup{
    display: flex;
    gap: 4px;
}

.tile{
    width: 32px;
    height: 45px;
    background: #1e7d32;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    font-size: 20px;
}

.space{
background:transparent;
border:none;
}

#wheelContainer{
width:260px;
margin:10px auto;
position:relative;
}

#wheelSection{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin:10px 0;
}

#wheelControls{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
}

#wheelContainer::before{
    content:"▼";
    font-size:32px;
    color:red;
    position:absolute;
    top:-20px;
    left:50%;
    transform:translateX(-50%);
    text-shadow:
        0 0 5px red,
        0 0 10px red,
        0 0 15px orange;
}

#wheelCanvas{
display:block;
margin:0 auto;
border-radius:50%;
box-shadow:0 0 15px rgba(0,0,0,0.4);
transition: transform 4s cubic-bezier(.17,.67,.35,1.2);
}

#spinBtn{
font-size:18px;
padding:8px 16px;
margin:15px auto;
display:block;
background:blue;
color:white;
border:none;
border-radius:5px;
cursor:pointer;
}

#buyVowelBtn{
margin-top:10px;
padding:8px 14px;
font-size:14px;
font-weight:bold;
background:#27ae60;
color:white;
border:none;
border-radius:6px;
cursor:pointer;
}

.keyboardRow{
display:flex;
justify-content:center;
gap:3px;
margin-bottom:3px;
}

#letters button{
width:28px;
height:28px;
font-size:13px;
font-weight:bold;
cursor:pointer;
border-radius:4px;
border:1px solid #444;
background:#eee;
}

#letters button:disabled{
background:#aaa;
}

.correctLetter{
background:#2ecc71;
color:white;
}

.wrongLetter{
background:#e74c3c;
color:white;
}

#solveInput{
padding:6px;
font-size:14px;
width:220px;
}

#solveBtn{
padding:6px 12px;
font-size:14px;
cursor:pointer;
}

#gameMessage{
margin-top:10px;
font-size:18px;
font-weight:bold;
min-height:20px;
}

#bonusTimer{
font-size:22px;
font-weight:bold;
color:red;
margin-top:10px;
}

#bonusPrizeDisplay{
    font-size:24px;
    font-weight:bold;
    color:gold;
    margin-top:10px;
    text-shadow:0 0 10px gold, 0 0 20px orange;

    opacity:0;
    transform:scale(0.8);
    animation: prizeReveal 1s ease forwards, flash 0.8s infinite alternate 1s;
}

@keyframes prizeReveal{
    from{
        opacity:0;
        transform:scale(0.5);
    }
    to{
        opacity:1;
        transform:scale(1.1);
    }
}

#confettiCanvas{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
pointer-events:none;
z-index:999;
}

#introScreen{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:black;
color:white;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
z-index:1000;
}

#startGameBtn{
font-size:20px;
padding:10px 20px;
cursor:pointer;
}

#bottomSection{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:20px;
    margin-top:10px;
}

footer{
margin-top:15px;
padding:15px;
background:#333;
color:white;
}