.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-weight:500;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:.25rem .5rem;font-size:.75rem}.btn-medium{padding:.5rem 1rem;font-size:.875rem}.btn-large{padding:.75rem 1.5rem;font-size:1rem}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary.btn-active{background:#1d4ed8}.btn-secondary{color:#fff;background:#374151}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-secondary.btn-active{background:#1f2937}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.tooltip-trigger{cursor:help;align-items:center;gap:.25rem;display:inline-flex}.tooltip-panel{z-index:1000;color:#d1d5db;pointer-events:none;background:#1f2937;border:1px solid #374151;border-radius:4px;max-width:220px;padding:.375rem .625rem;font-size:.7rem;line-height:1.5;position:fixed;box-shadow:0 4px 12px #0006}.slider-container{flex-direction:column;gap:.25rem;display:flex}.slider-container.slider-vertical{flex-direction:column;align-items:center;height:100%}.slider-top-row{justify-content:space-between;align-items:center;display:flex}.slider-label{color:#9ca3af;font-size:.75rem}.slider-input{appearance:none;background:#ccc;border-radius:2px;outline:none;width:100%;height:4px}.slider-vertical .slider-input{writing-mode:vertical-lr;direction:rtl;width:4px;height:100%}.slider-input::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:14px;height:14px;transition:background .15s}.slider-input::-webkit-slider-thumb:hover{background:#2563eb}.slider-input::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:14px;height:14px}.slider-value{color:#9ca3af;text-align:right;font-family:monospace;font-size:.75rem}.tooltip-hint{color:#6b7280;font-size:.7rem;line-height:1}.select-container{align-items:center;gap:.5rem;display:flex}.select-label{color:#9ca3af;font-size:.75rem}.select-input{color:#fff;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:4px;min-width:120px;padding:.5rem;font-size:.875rem}.select-input:focus{border-color:#3b82f6;outline:none}.select-input option{color:#fff;background:#1f2937}.transport{background:#1f2937;border-radius:8px;align-items:center;gap:2rem;padding:1rem;display:flex}.transport-controls{gap:.5rem;display:flex}.transport-display{align-items:baseline;gap:.25rem;font-family:monospace;display:flex}.transport-beat{color:#3b82f6;min-width:30px;font-size:1.5rem;font-weight:700}.transport-info{color:#6b7280;font-size:.875rem}.transport-tempo,.transport-master-volume{flex:1;max-width:200px}.track-list{background:#1f2937;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.track-list-header{justify-content:space-between;align-items:center;display:flex}.track-list-header h3{color:#9ca3af;margin:0;font-size:1rem}.track-list-items{flex-direction:column;gap:.5rem;display:flex}.track-item{cursor:pointer;background:#374151;border-radius:4px;flex-direction:column;gap:.5rem;padding:.75rem;transition:background .15s;display:flex}.track-item:hover{background:#4b5563}.track-item-selected{background:#3b82f6}.track-item-selected:hover{background:#2563eb}.track-item-header{align-items:center;gap:.5rem;display:flex}.track-item-name-input{font-weight:500;font-size:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:100%;padding:.125rem .25rem;font-family:inherit;transition:background .15s,border-color .15s}.track-item-name-input:hover{background:#0003;border-color:#4b5563}.track-item-name-input:focus{background:#0000004d;border-color:#3b82f6}.track-item-body{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.track-item-notes{color:#9ca3af;white-space:nowrap;font-size:.75rem}.track-item-selected .track-item-notes{color:#bfdbfe}.track-item-actions{align-items:center;gap:.25rem;margin-left:auto;display:flex}.track-item-actions .btn{border:1px solid #0000;justify-content:center;align-items:center;font-size:.75rem;line-height:.875rem;display:inline-flex}.track-item-selected .btn-primary{background:#fff3;border-color:#fff6;transition:none}.track-item-selected .btn-primary:hover:not(:disabled){background:#ffffff4d}.track-item-selected .btn-danger{transition:none}.track-item-volume{align-items:center;gap:.5rem;display:flex}.track-item-volume-buttons{flex-shrink:0;gap:.25rem;display:flex}.track-item-volume-slider{flex:1;min-width:0}.track-item-volume-value{color:#9ca3af;text-align:right;flex-shrink:0;min-width:28px;font-family:monospace;font-size:.625rem}.track-item-selected .track-item-volume-value{color:#bfdbfe}.track-item-selected .slider-input::-webkit-slider-thumb{background:#fff}.track-item-selected .slider-input::-webkit-slider-thumb:hover{background:#e2e8f0}.track-item-selected .slider-input::-moz-range-thumb{background:#fff}.track-item-selected .slider-input::-moz-range-thumb:hover{background:#e2e8f0}.note-editor{background:#1f2937;border-radius:8px;padding:1rem;overflow:hidden}.note-editor-empty{color:#6b7280;justify-content:center;align-items:center;min-height:200px;display:flex}.note-editor-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.note-editor-header h3{color:#9ca3af;margin:0;font-size:1rem}.note-editor-controls{align-items:center;gap:.5rem;display:flex}.resolution-toggle{border-radius:4px;display:flex;overflow:hidden}.resolution-btn{color:#9ca3af;cursor:pointer;background:#374151;border:1px solid #4b5563;border-right:none;padding:.25rem .5rem;font-size:.75rem;transition:background .15s,color .15s}.resolution-btn:last-child{border-right:1px solid #4b5563}.resolution-btn:hover{color:#e5e7eb;background:#4b5563}.resolution-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.resolution-btn.active+.resolution-btn{border-left-color:#3b82f6}.randomize-notes-btn{color:#fff;cursor:pointer;background:#8b5cf6;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.75rem;transition:background .15s}.randomize-notes-btn:hover{background:#7c3aed}.note-editor-grid-container{max-height:520px;display:flex;overflow:auto}.note-editor-labels{z-index:2;background:#111827;flex-direction:column;flex-shrink:0;display:flex;position:sticky;left:0}.note-editor-label-spacer{flex-shrink:0;height:20px}.note-editor-label{color:#9ca3af;background:#111827;border-bottom:1px solid #374151;flex-shrink:0;justify-content:flex-end;align-items:center;width:40px;height:20px;padding-right:.5rem;font-size:.625rem;display:flex}.note-editor-label.black-key{color:#6b7280;background:#0f172a}.note-editor-grid{flex:1;min-width:0}.note-editor-beat-markers{background:#111827;border-bottom:2px solid #3b82f6;height:20px;display:flex}.note-editor-beat-marker{color:#6b7280;justify-content:center;align-items:center;width:30px;font-size:.625rem;display:flex}.note-editor-beat-marker.sub{width:20px}.note-editor-beat-marker.playing{color:#fbbf24;background:#fbbf244d;font-weight:700}.note-editor-row{height:20px;display:flex}.note-editor-row.black-key-row{background:#0003}.note-editor-cell{cursor:pointer;border:none;border-top:1px solid #374151;border-left:1px solid #374151;width:30px;height:20px;transition:background .1s}.note-editor-cell.cell-sm{width:20px}.note-editor-cell:last-child{border-right:1px solid #374151}.note-editor-row:last-child .note-editor-cell{border-bottom:1px solid #374151}.note-editor-cell:hover{background:#3b82f633}.note-editor-cell.bar-start{border-left:2px solid #4b5563}.note-editor-cell.beat-start{border-left:2px solid #374151}.note-editor-cell.has-note{background:#3b82f6;position:relative}.note-editor-cell.has-note:hover{background:#2563eb}.note-editor-cell.note-start.note-end{border-radius:3px}.note-editor-cell.note-start:not(.note-end){border-right:none;border-radius:3px 0 0 3px}.note-editor-cell.note-middle{border-left-color:#0000;border-right:none;border-radius:0}.note-editor-cell.note-end:not(.note-start){border-left-color:#0000;border-radius:0 3px 3px 0}.note-editor-cell.drag-preview{background:#3b82f680}.note-editor-cell.playing{background:#fbbf2426}.note-editor-cell.playing.has-note{background:#f59e0b}.note-editor-cell.selected{outline-offset:-1px;background:#f59e0b;outline:1px solid #fbbf24}.note-editor-cell.selected:hover{background:#d97706}.note-editor-cell.selected.playing{background:#b45309}.note-editor-grid{position:relative}.selection-rect{pointer-events:none;z-index:10;background:#3b82f61a;border:1px dashed #60a5fa;position:absolute}.tool-toggle{border-radius:4px;display:flex;overflow:hidden}.tool-toggle-btn{color:#9ca3af;cursor:pointer;background:#374151;border:1px solid #4b5563;border-right:none;padding:.25rem .5rem;font-size:.75rem;transition:background .15s,color .15s}.tool-toggle-btn:last-child{border-right:1px solid #4b5563}.tool-toggle-btn:hover{color:#e5e7eb;background:#4b5563}.tool-toggle-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.tool-toggle-btn.active+.tool-toggle-btn{border-left-color:#3b82f6}.waveform-visualizer{box-sizing:border-box;background:#111827;border:1px solid #1f2937;border-radius:6px;width:100%;height:64px;margin:.5rem 0;display:block}.instrument-panel{background:#1f2937;border-radius:8px;padding:1rem}.instrument-panel-empty{color:#6b7280;justify-content:center;align-items:center;min-height:200px;display:flex}.instrument-panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.instrument-panel-header h3{color:#9ca3af;margin:0;font-size:1rem}.instrument-panel-actions{gap:.5rem;display:flex}.preview-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;transition:background .15s}.preview-btn:hover{background:#2563eb}.randomize-btn{color:#fff;cursor:pointer;background:#8b5cf6;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;transition:background .15s}.randomize-btn:hover{background:#7c3aed}.instrument-params{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.param-section{background:#374151;border-radius:4px;padding:.75rem;overflow:hidden}.param-section h4{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.75rem}.param-section .slider-container{margin-bottom:.5rem}.param-section .slider-container:last-child{margin-bottom:0}.param-section .select-container{margin-bottom:.5rem}.import-export{gap:.5rem;display:flex}*{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:#f3f4f6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111827;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column;gap:1rem;min-height:100vh;padding:1rem;display:flex}.app-header{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.app-header-left{align-items:baseline;gap:.5rem;display:flex}.app-header h1{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem}.app-title-separator{color:#4b5563;font-size:1.25rem}.app-title-input{color:#9ca3af;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;max-width:200px;padding:.25rem .5rem;font-size:1rem;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s}.app-title-input:hover{color:#f3f4f6;background:#ffffff0d;border-color:#4b5563}.app-title-input:focus{color:#f3f4f6;background:#ffffff0d;border-color:#3b82f6}.app-header-right{align-items:center;gap:1rem;display:flex}.app-transport{flex-shrink:0}.app-content{flex:1;gap:1rem;min-height:0;display:flex}.app-sidebar{flex-direction:column;flex-shrink:0;gap:1rem;width:300px;display:flex}.app-main{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex;overflow:hidden}@media (width<=768px){.app-content{flex-direction:column}.app-sidebar{width:100%}}
