body {
    background-color: #121212;
    color: #ffffff;
    font-family: 'Arial', sans-serif;
    margin: 0;
    display: flex;
    justify-content: space-around; /* Adjust to space-around for better spacing */
    align-items: flex-start; /* Align items to the start */
    height: 100vh;
    padding-top: 50px; /* Added padding for better spacing from the top */
}

#sitemap {
    width: 50%; /* Half of the screen width */
    max-width: 600px;
    font-size: 3em;
    overflow-y: auto; /* Add scrolling */
    height: 90vh; /* Limit height to prevent overflow */
    border-right: 2px solid #333; /* Separator between sections */
}

#keyboard {
    width: 50%; /* Half of the screen width */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start; /* Changed from center to start */
    max-height: 90vh; /* Limit height */
    overflow-y: auto; /* Add scrolling if necessary */
}

.key {
    border: 1px solid #000;
    padding: 10px; /* Reduced padding */
    margin: 2px;
    cursor: pointer;
    user-select: none;
}

.white-key {
    background-color: white;
    color: black; /* Text color for visibility */
    width: 100vw; /* Adjust to full container width */
    height: 6vh; /* Slightly reduced height */
    z-index: 1;
}

.black-key {
    background-color: black;
    color: white; /* Text color for visibility */
    width: 70vw; /* Adjust width */
    height: 4vh; /* Reduced height for aesthetics */
    margin-left: 15%; /* Centering the black keys */
    z-index: 2;
    position: relative;
}

#dropArea {
    width: 100%;
    max-width: 600px;
    height: 200px;
    border: 2px dashed #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #1e1e1e;
    border-radius: 10px;
    transition: background-color 0.3s;
}

#dropArea:hover {
    background-color: #333333;
}

#dropArea:active {
    background-color: #555555;
}
