body {
    font-family: Arial, sans-serif;
    text-align: center;
    margin: 0;
    padding: 0;
    background-color: #FFC800; /* Set background color */
}

header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    border-bottom: 2px solid black; /* Small black line border */
    background-color: #FFC800; /* Match body background color */
    position: relative;
}

#company-logo {
    width: 50px; /* Adjust size as needed */
    height: auto; /* Maintain aspect ratio */
    margin: 0; /* Remove margin */
    position: absolute;
    left: 0px;
}

h1 {
    margin: 0;
    font-size: 24px; /* Adjust size as needed */
    flex-grow: 1;
    text-align: center;
}

#game-explanation {
    margin: 10px auto; /* Add margin for spacing */
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.8); /* Background color with 50% opacity */
    border: 1px solid black; /* Border for the explanation box */
    max-width: 600px; /* Maximum width for the explanation box */
    border-radius: 10px; /* Rounded corners */
}

#start-scanner {
    background: linear-gradient(45deg, #ff6f00, #ff8f00);
    border: none;
    border-radius: 25px;
    color: white;
    padding: 5px 20px;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}

#start-scanner:hover {
    background: linear-gradient(45deg, #ff8f00, #ff6f00);
    transform: scale(1.05);
}

#start-scanner:active {
    transform: scale(0.95);
}

#qr-reader {
    width: 90%; /* Use a percentage for flexible width */
    max-width: 500px; /* Maximum width for larger screens */
    height: auto; /* Maintain aspect ratio */
    margin: 20px auto; /* Add margin for spacing */
    border: 1px solid black;
}

#qr-reader-results {
    background-color: rgba(0, 128, 0, 0.1); /* Light green background with some transparency */
    color: green; /* Text color */
    font-size: 1.2em; /* Font size */
    padding: 10px; /* Padding around the text */
    border: 2px solid green; /* Border around the element */
    border-radius: 5px; /* Rounded corners */
    margin-top: 10px; /* Space above the element */
    text-align: center; /* Center the text */
}

.icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; /* Add space between icons */
    margin-top: 20px;
}

.icons div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: red; /* Default text color */
    transition: color 0.3s; /* Smooth transition for color change */
    flex-basis: calc(33.33% - 20px); /* Ensure three icons per row, accounting for gap */
    box-sizing: border-box; /* Include padding and border in element's total width and height */
}

.icons img.placeholder {
    display: block;
}
.icons img.icon {
    display: block; /* Force display */
}
.hidden {
    display: none;
}

#completion-message {
    margin-top: 20px;
    padding: 10px; /* Add padding for better spacing */
}

/* Media query for smaller screens */
@media (max-width: 600px) {
    .icons {
        gap: 30px; /* Increase gap between icons */
    }

    .icons div {
        flex-basis: calc(50% - 30px); /* Ensure two icons per row on smaller screens */
    }

    .icons img {
        width: 60px; /* Larger image size for mobile */
        height: 60px; /* Maintain aspect ratio */
    }
}

/* Media query for larger screens */
@media (min-width: 601px) {
    .icons img {
        width: 50px; /* Smaller image size for desktop */
        height: 50px; /* Maintain aspect ratio */
    }
}
