.fretboard-container{width:100%;margin:0 auto}.fretboard-svg{width:100%;height:auto}.nut{filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.fret-line,.string-line{stroke-linecap:round}.scale-note{cursor:pointer;transition:r .2s ease,fill .2s ease}.scale-note:hover{r:10;fill:#357abd}.non-scale-note{cursor:pointer}.fret-number,.tuning-label{font-family:inherit;-webkit-user-select:none;user-select:none}.note-label{font-family:inherit;-webkit-user-select:none;user-select:none;pointer-events:none}.fretboard-indicator{opacity:.6}.harmonic-marker{fill:none;stroke:#40e0d0;stroke-width:1.5;stroke-dasharray:4 3;pointer-events:none}.harmonic-marker:hover{stroke:#5eead4}.harmonic-note-indicator{fill:#40e0d0;font-family:inherit;-webkit-user-select:none;user-select:none;pointer-events:none}.tuning-input-container{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.tuning-label{font-weight:600;color:#333;font-size:14px}.tuning-input{padding:8px 10px;border:1px solid #ddd;border-radius:0;font-size:16px;font-family:monospace;transition:border-color .2s ease;background:transparent}.tuning-input:focus{outline:none;border-color:#4a90e2}.tuning-input.error{border-color:#e74c3c}.tuning-error{color:#e74c3c;font-size:12px;margin-top:-4px}.tuning-hint{color:#999;font-size:11px;font-style:normal}.tonal-centre-container{display:flex;flex-direction:row;align-items:center;gap:12px}.tonal-centre-label{font-weight:600;color:#333;font-size:14px}.tonal-centre-select{padding:6px 12px;border:1px solid #ddd;border-radius:0;background:transparent;color:#333;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease;min-width:150px;font-family:inherit}.tonal-centre-select:hover{border-color:#4a90e2}.tonal-centre-select:focus{outline:none;border-color:#4a90e2;color:#4a90e2}.scale-selector-container{display:flex;flex-direction:row;align-items:center;gap:12px}.scale-selector-label{font-weight:600;color:#333;font-size:14px}.scale-selector-select{padding:6px 12px;border:1px solid #ddd;border-radius:0;background:transparent;color:#333;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease;min-width:180px;font-family:inherit}.scale-selector-select:hover{border-color:#4a90e2}.scale-selector-select:focus{outline:none;border-color:#4a90e2;color:#4a90e2}.degrees-container{display:flex;flex-direction:row;align-items:center;gap:12px}.degrees-label{font-weight:600;color:#333;font-size:14px}.degrees-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.degree-checkbox{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ddd;border-radius:0;background:transparent;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.degree-checkbox:hover{border-color:#4a90e2;background:transparent}.degree-checkbox.checked{background:transparent;border-color:#4a90e2;color:#4a90e2}.degree-checkbox.checked:hover{background:transparent;border-color:#357abd;color:#357abd}.degree-input{width:18px;height:18px;cursor:pointer;accent-color:#4a90e2}.degree-checkbox.checked .degree-input{accent-color:#4a90e2}.degree-label{font-size:14px;font-weight:500;cursor:pointer}.degrees-hint{color:#999;font-size:11px;font-style:normal;margin-top:-4px}.app{min-height:100vh;background:#fff;padding:20px}.app-header{margin-bottom:20px}.app-header h1{font-size:1rem;margin:0;font-weight:400;color:#666}.app-main{width:100%;display:flex;flex-direction:column;gap:20px}.controls-panel{max-width:1200px;margin:0 auto;width:100%}.harmonics-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:12px}.tonal-centre-and-degrees-row{display:flex;flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Droid Sans Mono,Source Code Pro,Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:light;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button{font-family:inherit}
