.instrument-selector { margin-bottom: 2rem; } .selector-label { display: block; margin-bottom: 1rem; font-weight: bold; font-size: 1.1rem; color: #333; } .instrument-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 0.5rem; } .instrument-button { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem; border: 2px solid #ddd; border-radius: 8px; background-color: #fff; cursor: pointer; transition: all 0.2s ease; min-height: 100px; } .instrument-button:hover { border-color: #007bff; background-color: #f8f9fa; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .instrument-button.selected { border-color: #007bff; background: linear-gradient(135deg, #007bff 0%, #0056b3 100%); color: white; box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3); } .instrument-button.selected:hover { background: linear-gradient(135deg, #0056b3 0%, #003d82 100%); } .instrument-icon { font-size: 2rem; margin-bottom: 0.5rem; display: block; } .instrument-label { font-size: 0.9rem; font-weight: 500; text-align: center; } .selector-hint { color: #888; font-size: 0.85rem; margin-top: 0.5rem; text-align: center; font-style: italic; } .vocal-instrument-selector { margin: 1.5rem 0; padding: 1rem; background-color: #f8f9fa; border-radius: 8px; border: 1px solid #dee2e6; } .vocal-instrument-selector label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: #495057; } .vocal-instrument-selector select { width: 100%; padding: 0.5rem; font-size: 1rem; border: 1px solid #ced4da; border-radius: 4px; background-color: white; cursor: pointer; transition: border-color 0.2s ease; } .vocal-instrument-selector select:hover { border-color: #007bff; } .vocal-instrument-selector select:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } /* Responsive adjustments */ @media (max-width: 600px) { .instrument-grid { grid-template-columns: repeat(2, 1fr); } }