body {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    background-color: #2c3e50;
    color: #ecf0f1;
    padding-top: 50px;
}

h1 {
    font-size: 3.5em;
    margin-bottom: 5px;
    letter-spacing: 2px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
}

h2 {
    font-size: 1.6em;
    margin-bottom: 40px;
    font-weight: 300;
}

.btn-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 600px;
    height: 600px; 
    margin: 0 auto;
    
    border: 30px solid #34495e;
    border-radius: 50%;
    background-color: #34495e;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5)
                inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.line-one, .line-two {
    display: flex;
}

.btn {
    height: 300px;
    width: 300px;

    border: 15px solid #34495e; 
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    transition: all 0.1s ease-out;

    font-size: 0; 
}

.green {
    background-color: #2ecc71;
    border-top-left-radius: 100%;
}
.yellow {
    background-color: #f1c40f;
    border-top-right-radius: 100%;
}
.red {
    background-color: #e74c3c;
    border-bottom-left-radius: 100%;
}
.blue {
    background-color: #3498db;
    border-bottom-right-radius: 100%;
}

.flash {
    opacity: 1; 
    box-shadow: 0 0 40px 5px var(--flash-color, #fff);
    transform: scale(1.02);
}

.userflash {
    background-color: #ffffff !important;
    box-shadow: 0 0 40px 10px rgba(255, 255, 255, 0.8);
    transform: scale(1.02);
}

.gameover {
    background-color: #e74c3c !important;
    color: white; 
    transition: background-color 0.1s;
}

.btn:hover:not(.flash):not(.userflash) {
    opacity: 0.9;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.5);
}