*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif}button,input,select,textarea{font-family:inherit}.voice-leading-simple[data-v-f2c3e781]{padding:20px;min-height:100vh;background:#f5f5f5}.container[data-v-f2c3e781]{display:flex;gap:24px;max-width:1400px;margin:0 auto}.left-column[data-v-f2c3e781],.right-column[data-v-f2c3e781]{flex:1;display:flex;flex-direction:column}.left-column[data-v-f2c3e781]{gap:24px}.input-section[data-v-f2c3e781],.staff-section[data-v-f2c3e781],.results-section[data-v-f2c3e781]{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.results-section[data-v-f2c3e781]{padding-bottom:12px;flex:1}.staff-section[data-v-f2c3e781]{flex:1;overflow:visible}.input-section h2[data-v-f2c3e781],.staff-section h3[data-v-f2c3e781],.results-header h3[data-v-f2c3e781]{margin-top:0;color:#333}.input-section h2[data-v-f2c3e781]{margin-bottom:16px;font-size:20px}.staff-section h3[data-v-f2c3e781]{margin-bottom:16px;font-size:18px}.input-with-reference[data-v-f2c3e781]{display:flex;gap:16px;margin-bottom:12px}.progression-input[data-v-f2c3e781]{flex:1;padding:12px;font-family:Courier New,monospace;font-size:14px;border:2px solid #ddd;border-radius:4px;resize:none;box-sizing:border-box;min-height:220px}.progression-input[data-v-f2c3e781]:focus{outline:none;border-color:#4caf50}.instructions[data-v-f2c3e781]{flex-shrink:0;width:180px;padding:8px 12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;color:#555}.instructions h4[data-v-f2c3e781]{margin:0 0 4px;font-size:11px;text-transform:uppercase;color:#888;letter-spacing:.5px}.instructions h4[data-v-f2c3e781]:not(:first-child){margin-top:10px}.instructions p[data-v-f2c3e781]{margin:0 0 4px}.instructions code[data-v-f2c3e781]{background:#e8e8e8;padding:1px 4px;border-radius:2px;font-family:Courier New,monospace;font-size:11px}.instructions ul[data-v-f2c3e781]{margin:0;padding-left:14px}.instructions li[data-v-f2c3e781]{margin:4px 0}.reference-staff-container[data-v-f2c3e781]{flex-shrink:0;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa;padding:4px}.reference-staff[data-v-f2c3e781]{width:140px;height:280px}.input-controls[data-v-f2c3e781]{display:flex;gap:16px;align-items:center}.key-selector[data-v-f2c3e781]{flex:1;display:flex;align-items:center;gap:8px}.key-selector label[data-v-f2c3e781]{font-weight:600;color:#555}.key-selector select[data-v-f2c3e781]{padding:8px;border:2px solid #ddd;border-radius:4px;font-size:14px}.button-group[data-v-f2c3e781]{display:flex;gap:8px}.btn[data-v-f2c3e781]{padding:12px 24px;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn[data-v-f2c3e781]:disabled{background:#ccc;cursor:not-allowed}.btn-rerender[data-v-f2c3e781]{background:#4caf50}.btn-rerender[data-v-f2c3e781]:hover:not(:disabled){background:#45a049}.btn-check[data-v-f2c3e781]{background:#2196f3}.btn-check[data-v-f2c3e781]:hover:not(:disabled){background:#0b7dda}.btn-solve[data-v-f2c3e781]{background:#9c27b0}.btn-solve[data-v-f2c3e781]:hover:not(:disabled){background:#7b1fa2}.btn-blind[data-v-f2c3e781]{background:#ccc;padding:12px 14px}.btn-blind[data-v-f2c3e781]:hover:not(:disabled){background:#bbb}.btn-blind.active[data-v-f2c3e781]{background:#ef4444}.btn-blind.active[data-v-f2c3e781]:hover:not(:disabled){background:#dc2626}.btn-blind.active[data-v-f2c3e781]:disabled{background:#ef4444;cursor:not-allowed}.btn-infer[data-v-f2c3e781]{background:#ccc}.btn-infer[data-v-f2c3e781]:hover:not(:disabled){background:#bbb}.btn-infer.active[data-v-f2c3e781]{background:#8b5cf6}.btn-infer.active[data-v-f2c3e781]:hover:not(:disabled){background:#7c3aed}.staff-container[data-v-f2c3e781]{min-height:350px;overflow:visible}.results-section h3[data-v-f2c3e781]{margin:0 0 16px;font-size:18px}.result-display[data-v-f2c3e781]{margin-top:16px}.success-result[data-v-f2c3e781]{padding:16px;background:#e8f5e9;border-left:4px solid #4CAF50;border-radius:4px}.error-result[data-v-f2c3e781]{padding:16px;background:#ffebee;border-left:4px solid #f44336;border-radius:4px}.score-display[data-v-f2c3e781]{font-size:18px;margin-bottom:8px}.score-label[data-v-f2c3e781]{font-size:12px;color:#666;font-weight:400}.error-result .score-label[data-v-f2c3e781]{font-size:14px;color:#555}.best-score-indicator[data-v-f2c3e781]{margin-top:4px;font-size:13px;color:#f59e0b;font-weight:600}.best-score-indicator i[data-v-f2c3e781]{margin-right:4px}.success-message[data-v-f2c3e781]{margin:8px 0 0;color:#2e7d32;font-weight:600}.error-message-text[data-v-f2c3e781]{margin:8px 0 0;color:#c62828;font-weight:600}.error-message[data-v-f2c3e781]{color:#c62828;padding:12px;background:#ffebee;border-radius:4px;margin-bottom:12px}.no-data[data-v-f2c3e781]{padding:16px;text-align:center;color:#999;font-style:italic;line-height:1.5}.no-data code[data-v-f2c3e781]{padding:1px 3px;margin:0 3px;border-radius:2px;font-size:15px;color:#fff}.no-data-code-render[data-v-f2c3e781]{background:#4caf5099}.no-data-code-check[data-v-f2c3e781]{background:#2196f399}.no-data-code-solve[data-v-f2c3e781]{background:#9c27b099}.alternatives-section[data-v-f2c3e781]{margin-top:16px}.alternatives-toggle[data-v-f2c3e781]{background:none;border:none;padding:8px 0;font-size:14px;font-weight:600;color:#555;cursor:pointer;display:flex;align-items:center;gap:4px}.alternatives-toggle[data-v-f2c3e781]:hover{color:#333}.alternatives-count[data-v-f2c3e781]{color:#888;font-weight:400}.alternatives-content[data-v-f2c3e781]{margin-top:8px}.alternatives-options[data-v-f2c3e781]{margin-bottom:12px}.preserve-start-toggle[data-v-f2c3e781]{display:flex;align-items:center;gap:6px;font-size:13px;color:#555;cursor:pointer}.preserve-start-toggle input[data-v-f2c3e781]{cursor:pointer}.loading-alternatives[data-v-f2c3e781],.no-alternatives[data-v-f2c3e781]{padding:12px;text-align:center;color:#888;font-size:13px;font-style:italic;background:#f9f9f9;border-radius:4px}.solutions-list[data-v-f2c3e781]{margin-top:12px;display:flex;flex-direction:column;gap:8px;max-height:500px;overflow-y:scroll;padding-bottom:8px}.solution-item[data-v-f2c3e781]{padding:6px 10px;background:#fff;border-radius:4px;font-size:14px}.solution-item.better-score[data-v-f2c3e781]{background:#e8f5e9;border-left:3px solid #4CAF50}.solution-item.worse-score[data-v-f2c3e781]{background:#fff3e0;border-left:3px solid #FF9800}.solution-staff[data-v-f2c3e781]{margin-top:4px;height:130px;min-height:130px}@media(max-width:1024px){.container[data-v-f2c3e781]{flex-direction:column}.right-column[data-v-f2c3e781]{width:100%}}
