/* Stili Globali e Reset Base */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Arial', sans-serif;
    background-color: #f0eadd; /* Un beige/marrone molto chiaro per lo sfondo generale */
    color: #333;
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Allinea all'inizio se il contenuto è meno dell'altezza della pagina */
    min-height: 100vh;
    padding-top: 20px; /* Un po' di spazio sopra */
    padding-bottom: 20px;
}

#app-container {
    width: 100%;
    max-width: 800px; /* Contenitore principale dell'app */
    padding: 10px;
}

/* --- Stili Generatore di Accordi --- */
#chord-generator-container {
    background-color: #fdf5e6; /* Beige / Crema molto chiaro */
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(85, 60, 42, 0.15); /* Ombra marrone tenue */
    border: 1px solid #d2b48c; /* Tan / Marroncino chiaro per il bordo */
    text-align: center;
    margin-bottom: 30px; /* Spazio se ci sono altri elementi sotto */
}

#chord-generator-container h2 {
    color: #5d4037; /* Marrone scuro per il titolo */
    margin-bottom: 20px;
    font-size: 1.8em;
}

#chord-generator-container p { /* Paragrafo descrittivo sotto h2 */
    color: #795548; /* Marrone medio */
    margin-bottom: 25px;
    line-height: 1.5;
}

#chord-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* Spazio tra gli elementi */
    flex-wrap: wrap; /* Permette agli elementi di andare a capo su schermi piccoli */
    margin-bottom: 25px;
}

#chord-controls div { /* Contenitore per label + select */
    display: flex;
    align-items: center;
}

#chord-controls label {
    font-weight: bold;
    color: #6d4c41; /* Marrone medio-scuro */
    margin-right: 8px;
    font-size: 0.95em;
}

#chord-controls select {
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid #bcaaa4; /* Bordo marroncino chiaro */
    background-color: #fff;
    font-size: 0.95em;
    min-width: 160px; /* Larghezza minima per i select */
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    cursor: pointer;
}

#chord-controls button#show-chord-button {
    padding: 10px 20px;
    background-color: #8d6e63; /* Pulsante marrone */
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    transition: background-color 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

#chord-controls button#show-chord-button:hover {
    background-color: #795548; /* Marrone più scuro all'hover */
}

#chord-output-display {
    margin-top: 20px;
    min-height: 60px; /* Spazio per i nomi degli accordi */
    padding: 10px;
    background-color: rgba(239, 228, 211, 0.3); /* Sfondo leggermente diverso per l'output testuale */
    border-radius: 6px;
}

#chord-output-display h3 { /* Nome accordo (es. Do Maggiore) */
    color: #4e342e; /* Marrone molto scuro */
    margin-bottom: 8px;
    font-size: 1.4em;
}

#chord-output-display p { /* Note (es. C4 - E4 - G4) */
    font-size: 1.1em;
    color: #5d4037; /* Marrone scuro */
    margin-bottom: 0; /* Rimuovi margin bottom se è l'ultimo elemento nel display */
}

#chord-staff-output {
    margin: 25px auto 15px auto;
    width: 90%;
    max-width: 550px;
    height: 160px;
    background-color: #fffff0; /* Ivory, per un look "carta antica" */
    border: 1px solid #c8bfa8; /* Bordo in tono col pentagramma */
    border-radius: 6px;
    box-shadow: inset 0 0 5px rgba(85, 60, 42, 0.05);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Nasconde parti dell'SVG se VexFlow disegna più grande */
}

#chord-staff-output svg { /* Per assicurare che l'SVG si adatti bene */
    max-width: 100%;
    max-height: 100%;
    display: block; /* Rimuove spazio extra sotto l'SVG */
}

#chord-generator-container .keyboard-info-text { /* Testo informativo sulla tastiera */
    font-size: 0.9em;
    color: #8c7b75; /* Marrone-grigio chiaro */
    margin-top: 15px;
    margin-bottom: 15px; /* Spazio prima del pulsante "Ascolta" */
}

button#play-chord-button {
    background-color: #a1887f; /* Pulsante "Ascolta" marrone chiaro */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 1em;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
button#play-chord-button:hover {
    background-color: #8d6e63; /* Più scuro all'hover */
}


/* --- Stili POTENZIALI per la Tastiera Virtuale (se la aggiungi) --- */
/* Questi sono solo esempi base, dovrai adattarli al tuo HTML della tastiera */
/*
#piano-keyboard-container {
    // Stili per il contenitore esterno della tastiera
}

.piano {
    display: flex;
    position: relative;
    background-color: #333;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.key {
    height: 150px;
    border: 1px solid #000;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-bottom: 10px;
    font-size: 0.8em;
}

.key.white {
    width: 40px;
    background-color: #fff;
    color: #333;
    z-index: 1;
    margin-right: -1px; // Per sovrapporre i bordi
}

.key.black {
    width: 25px;
    height: 90px;
    background-color: #222;
    color: #fff;
    position: absolute;
    top: 5px; // Spostato leggermente in basso rispetto al top del .piano
    z-index: 2;
    // Il posizionamento 'left' per i tasti neri va calcolato con JS o hardcodato
}

.key.playing {
    background-color: #ffc107 !important; // Giallo per evidenziare
    box-shadow: inset 0 0 5px rgba(0,0,0,0.5);
}
*/