body {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Align items to the top */
    height: 100vh;
    margin: 0;
    background-color: #1c1c1c; /* Updated background color */
    color: #f0f0f0; /* Updated text color */
    overflow: hidden;
}

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.header {
    text-align: center;
    margin-bottom: 10px; /* Small gap for both desktop and mobile */
}

.subtitle {
    font-family: Arial, sans-serif;
    font-size: 12px; /* Smaller subtitle font size */
    letter-spacing: 2px; /* Reduced letter spacing */
    text-transform: uppercase;
    margin: 0;
}

.title {
    font-family: 'Dancing Script', cursive;
    font-size: 48px;
    margin: 0;
}

.mode-selector {
    margin-bottom: 20px; /* Added margin between dropdown and keyboard */
}

.keyboard {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
}

.key {
    display: inline-block;
    width: 60px;
    height: 200px;
    margin: 5px;
    background-color: darkblue; /* Default darker blue */
    color: white;
    text-align: center;
    line-height: 200px;
    font-size: 24px;
    font-family: 'Noto Music', sans-serif; /* Apply Noto Music font */
    cursor: pointer;
    transition: transform 0.1s, background-color 0.1s, box-shadow 0.1s;
    position: relative;
}

.key:hover {
    transform: scale(1.1);
}

.key.active {
    background-color: blue; /* Brighter blue when pressed */
    box-shadow: inset 0 0 25px rgba(0, 0, 255, 1); /* Enhanced inner blue glow effect */
    transform: scale(1.1); /* Grow effect */
}

.key span, .key .note {
    display: block;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1; /* Initially visible */
}

.key .note {
    display: none; /* Initially hidden */
}

.key.show-note .note {
    display: block; /* Show pitch text */
}

.key.show-note span {
    display: none; /* Hide QWERTY text */
}

.note {
    color: #bbb; /* Lighter gray color */
    margin-top: 10px; /* Small margin above the text */
    font-size: 12px;
    display: none; /* Hidden by default */
}

@media (max-width: 768px) {
    body {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #1c1c1c; /* Updated background color */
    }

    .container {
        display: none; /* Hide the container on mobile */
    }

    .note {
        display: block;
        font-size: 12px; /* Increase the font size for better visibility */
        text-align: center;
        color: #f0f0f0; /* Updated text color */
    }
}
