body, header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f8f9fa;
}

body {
    flex-direction: column;
    height: 100vh;
    margin: 0;
}

header {
    padding: 10px;
    width: 100%;
    position: fixed;
    top: 0;
}

header img {
    height: 50px;
    margin: 0 10px;
}

table {
    width: 60%;
    height: 60%;
    border-collapse: collapse;
    margin-top: 100px;
    background-color: #f0f0f0; /* Very light grey background */
}

td {
    width: 33%;
    height: 33%;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #000;
    cursor: pointer;
    font-size: 2em;
}

.hidden {
    display: none;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    height: 75%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.modal-content img {
    max-width: 800px;
    max-height: 600px;
}

.button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

button {
    font-size: 2em;
    text-transform: uppercase;
    margin-right: 50px;
    font-weight: bold;
}

.close {
    color: red;
    cursor: pointer;
}

.solve {
    color: green;
}

.close, .solve {
    float: right;
}

.close:hover, .solve:hover, .close:focus, .solve:focus {
    text-decoration: none;
    cursor: pointer;
}

@keyframes flowerEffect {
    0% {
        transform: scale(1);
        background-color: #ffeb3b;
        box-shadow: 0 0 10px #ffeb3b, 0 0 20px #ffeb3b, 0 0 30px #ffeb3b;
    }
    50% {
        transform: scale(1.1);
        background-color: #ffc107;
        box-shadow: 0 0 20px #ffc107, 0 0 30px #ffc107, 0 0 40px #ffc107;
    }
    100% {
        transform: scale(1);
        background-color: #ffeb3b;
        box-shadow: 0 0 10px #ffeb3b, 0 0 20px #ffeb3b, 0 0 30px #ffeb3b;
    }
}

.final-solve {
    margin-top: 20px;
    font-size: 2em;
    color: blue;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    animation: flowerEffect 2s infinite;
}

#secretText {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-size: 10em;
    text-transform: uppercase;
    font-weight: bold;
}

#modalQuestion {
    font-size: 3em; /* Really big font size */
    position: absolute;
    top: 10%;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

@keyframes fireEffect {
    0% {
        transform: scale(1);
        color: #ff4500;
        text-shadow: 0 0 10px #ff4500, 0 0 20px #ff4500, 0 0 30px #ff4500;
    }
    50% {
        transform: scale(1.1);
        color: #ff8c00;
        text-shadow: 0 0 20px #ff8c00, 0 0 30px #ff8c00, 0 0 40px #ff8c00;
    }
    100% {
        transform: scale(1);
        color: #ff4500;
        text-shadow: 0 0 10px #ff4500, 0 0 20px #ff4500, 0 0 30px #ff4500;
    }
}

#secretText span {
    display: inline-block;
    animation: fireEffect 1s infinite;
}
