body {
    background: #222;
    color: white;
    font-family: "Press Start 2P";
    text-align: center;
    margin: 0;
}

h1 { margin-top: 20px; }

#coins, #highscore {
    margin: 8px;
}
#highscore { color: #ffcc33; }

/* MACHINE */
#machine {
    position: relative;
    width: 420px;
    margin: 20px auto;
}

/* LEFT BUTTONS */
#leftButtons {
    position: absolute;
    left: -120px;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#resetButton, #infoButton, #statsButton, #achievementsButton {
    width: 90px;
    padding: 10px;
    border: 4px solid #555;
    cursor: pointer;
}

#resetButton {
    background: #c02020;
    border-color: #7a0f0f;
}
#infoButton {
    background: #20c020;
    border-color: #107010;
}
#statsButton {
    background: #2060c0;
    border-color: #103060;
}
#achievementsButton {
    background: #c060f0;
    border-color: #8030a0;
}

/* MENU WINDOWS */
.menuWindow {
    position: absolute;
    width: 85%;
    max-width: 900px;
    left: 50%; top: 50%;
    transform: translate(-50%,-50%);
    background: #111;
    border: 4px solid #ffcc33;
    padding: 20px;
    display: none;
    z-index: 20;
}

.infoGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.infoBlock {
    text-align: left;
}

.infoClose {
    margin-top: 20px;
    color: #aaa;
    text-align: center;
}

/* SLOT */
#slotBody {
    margin: auto;
    margin-top: 40px;
    width: 300px;
    height: 150px;
    background: black;
    border: 8px solid #ffcc33;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.reel {
    width: 70px;
    height: 90px;
    border: 4px solid #ffcc33;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 48px;
    background: #111;
}

.shake {
    animation: shake .2s infinite;
}
@keyframes shake {
    0% { transform: translateY(-4px); }
    50% { transform: translateY(4px); }
    100% { transform: translateY(-4px); }
}

/* HANDLE */
#handleWrapper {
    position: absolute;
    right: -50px;
    top: -5px;
    cursor: pointer;
    transition: .2s;
}
.pullHandle {
    transform: translateY(40px);
}
#handleArm {
    width: 16px;
    height: 120px;
    background: #ccc;
    border: 2px solid #999;
}
#handleKnob {
    width: 30px;
    height: 30px;
    background: red;
    border: 2px solid #900;
    position: absolute;
    top: -38px;
    left: -7px;
}

/* BET BUTTONS */
.betBtn {
    background: #3a3a3a;
    border: 4px solid #555;
    padding: 8px 14px;
    margin: 5px;
    cursor: pointer;
    color: white;
}
.betBtn.selected {
    border: 4px solid yellow;
}

/* MANUAL BET */
#betInput {
    background: #2b2b2b;
    border: 2px solid #555;
    color: white;
    padding: 5px;
}
#betInputBtn {
    background: #2b2b2b;
    border: 2px solid #555;
    color: white;
    padding: 5px 10px;
    cursor: pointer;
}

#message {
    margin-top: 25px;
    height: 40px;
    font-size: 14px;
}
