*,*:before,*:after{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;line-height:1.5;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;height:100vh;overflow:hidden;background-color:#f0f0f0}:root{--color-primary: #007bff;--color-primary-hover: #0056b3;--color-success: #28a745;--color-success-hover: #218838;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-warning: #fd7e14;--color-warning-hover: #e65100;--color-info: #17a2b8;--color-info-hover: #138496;--color-secondary: #6c757d;--color-secondary-hover: #5a6268;--btn-ghost-color: var(--color-primary);--btn-ghost-color-hover: var(--color-primary-hover);--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f9f9f9;--bg-dark: #2c3e50;--bg-dark-secondary: #34495e;--border-light: #eee;--border-medium: #dee2e6;--border-dark: #ccc;--text-primary: #333;--text-secondary: #6c757d;--text-muted: #666;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 15px;--spacing-xl: 20px;--border-radius-sm: 3px;--border-radius-md: 4px;--border-radius-lg: 5px;--border-radius-xl: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .1);--transition-fast: .1s ease-out;--transition-normal: .2s ease;--transition-slow: .3s}.app-container{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-primary)}.header-section{background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:10px var(--spacing-md);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.header-controls{display:flex;align-items:center;gap:var(--spacing-md)}.history-controls,.file-controls,.mode-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.main-container{display:flex;flex:1;overflow:hidden}.menu-section{width:320px;min-width:320px;background-color:var(--bg-tertiary);border-left:1px solid var(--border-light);overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:5px}.btn{padding:6px var(--spacing-md);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:var(--transition-normal)}.btn--primary{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--history{background-color:var(--color-info);color:#fff}.btn--history:hover:not(:disabled){background-color:var(--color-info-hover)}.btn--history:disabled{background-color:var(--color-secondary);cursor:not-allowed;opacity:.6}.btn--file{color:#fff}.btn--export{background-color:var(--color-success)}.btn--export:hover{background-color:var(--color-success-hover)}.btn--import{background-color:var(--color-primary)}.btn--import:hover{background-color:var(--color-primary-hover)}.btn--mode{color:#fff;font-weight:700;border:2px solid transparent}.btn--mode-edit{background-color:var(--color-warning);border-color:var(--color-warning-hover)}.btn--mode-edit:hover{background-color:var(--color-warning-hover)}.btn--mode-run{background-color:#198754;border-color:#146c43}.btn--mode-run:hover{background-color:#146c43}.btn--reconnect{background-color:#3498db;color:#fff;border:none;padding:6px var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;font-size:12px;transition:var(--transition-normal)}.btn--reconnect:hover{background-color:#2980b9}.btn--duplicate{background-color:var(--color-success);color:#fff}.btn--duplicate:hover{background-color:var(--color-success-hover)}.btn--delete{background-color:var(--color-danger);color:#fff}.btn--delete:hover{background-color:var(--color-danger-hover)}.btn--close{background-color:var(--color-secondary);color:#fff}.btn--close:hover{background-color:var(--color-secondary-hover)}.btn--remove-option{background-color:var(--color-danger);color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:var(--transition-normal)}.btn--remove-option:hover{background-color:var(--color-danger-hover)}.btn--add-option{background-color:var(--color-success);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;font-size:11px;transition:var(--transition-normal);margin-top:5px}.btn--add-option:hover{background-color:var(--color-success-hover)}.btn--client{background-color:transparent;color:var(--btn-ghost-color, var(--color-primary));font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--btn-ghost-color, var(--color-primary))}.btn--client:hover{background-color:var(--btn-ghost-color-hover, var(--color-primary-hover));color:#fff;border-color:var(--btn-ghost-color-hover, var(--color-primary-hover))}.btn--library{background-color:var(--color-info);color:#fff}.btn--library:hover{background-color:var(--color-info-hover)}.btn--clear{background-color:var(--color-danger);color:#fff}.btn--clear:hover{background-color:var(--color-danger-hover)}.canvas-section{flex:1;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);position:relative;overflow:hidden}.canvas-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);position:relative;overflow:hidden}#gridCanvas{border:none;background-color:var(--bg-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;transition:var(--transition-fast)}#gridCanvas.mode-edit{cursor:grab}#gridCanvas.mode-run{cursor:crosshair}#gridCanvas:active.mode-edit{cursor:grabbing}.canvas-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,123,255,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}.midi-config{background-color:var(--bg-dark);color:#fff;padding:10px var(--spacing-xl);border-bottom:1px solid var(--bg-dark-secondary);display:flex;align-items:center;gap:var(--spacing-xl)}.midi-status{display:flex;align-items:center;gap:var(--spacing-sm)}.status-indicator{width:10px;height:10px;border-radius:50%;background-color:#e74c3c;transition:var(--transition-slow)}.status-indicator--connected{background-color:#27ae60}.midi-controls{display:flex;align-items:center;gap:var(--spacing-lg);flex:1}.midi-control{display:flex;align-items:center;gap:5px}.midi-control__label{font-size:12px;font-weight:700;white-space:nowrap}.midi-control__input{padding:var(--spacing-xs) 6px;border:1px solid var(--bg-dark-secondary);border-radius:var(--border-radius-sm);background-color:var(--bg-dark-secondary);color:#fff;font-size:12px}.midi-control__input:focus{outline:none;border-color:#3498db}.midi-monitor{background-color:var(--bg-dark-secondary);border-radius:var(--border-radius-sm);padding:var(--spacing-md);width:100%}.midi-monitor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.midi-monitor__header h3{font-size:14px;font-weight:700;margin:0;color:var(--text-secondary)}.midi-monitor__header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.btn--toggle{padding:4px 8px;font-size:12px;background-color:var(--bg-dark);border:1px solid var(--bg-dark-secondary);cursor:pointer;transition:var(--transition-fast);min-width:30px}.btn--toggle:hover{background-color:var(--bg-dark-secondary);border-color:#3498db}.btn--clear-logs{padding:4px 8px;font-size:11px;background-color:var(--bg-dark);border:1px solid var(--bg-dark-secondary)}.btn--clear-logs:hover{background-color:#e74c3c;border-color:#c0392b}.midi-monitor__logs{max-height:200px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;line-height:1.4;background-color:#1a1a1a;border-radius:var(--border-radius-sm);padding:var(--spacing-sm)}.midi-monitor__empty{color:var(--text-secondary);font-style:italic;text-align:center;padding:var(--spacing-lg)}.midi-monitor__log{display:flex;gap:var(--spacing-sm);padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.midi-monitor__log:last-child{border-bottom:none}.midi-monitor__log-time{color:var(--text-secondary);min-width:85px}.midi-monitor__log-type{font-weight:700;min-width:40px;text-align:center}.midi-monitor__log-type--in{color:#3498db}.midi-monitor__log-type--out{color:#9b59b6}.midi-monitor__log-type--info{color:#95a5a6}.midi-monitor__log-type--error{color:#e74c3c}.midi-monitor__log-message{color:#fff;flex:1}.component-palette h2{margin-top:0;color:var(--text-primary)}.items-container{padding-top:10px}.draggable-item{background-color:var(--color-primary);color:#fff;padding:10px;margin-bottom:10px;border-radius:var(--border-radius-lg);cursor:grab;text-align:center;font-size:12px;-webkit-user-select:none;user-select:none;transition:var(--transition-normal);display:flex;align-items:center;gap:8px;justify-content:flex-start}.draggable-item:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.draggable-item:active{cursor:grabbing;transform:translateY(0)}.config-section{margin-top:5px;padding-top:5px;border-top:1px solid var(--border-light)}.config-panel{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid var(--border-medium)}.config-panel h4{margin-top:0;margin-bottom:10px;color:var(--color-primary);text-transform:capitalize}.midi-section{margin-top:var(--spacing-lg);padding-top:10px;border-top:1px solid var(--border-medium)}.midi-section h5{margin:0 0 10px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;font-weight:700}.config-actions{margin-top:var(--spacing-lg);display:flex;gap:10px}.value-display{font-weight:700;color:var(--color-primary);background-color:#e7f1ff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.modal{background:#fff;padding:18px;border-radius:8px;max-width:520px;box-shadow:0 8px 30px #0000004d}.selection-action-bar{position:absolute;top:12px;right:12px;background:#fffffff2;border:1px solid rgba(0,0,0,.08);box-shadow:0 6px 18px #00000014;padding:8px 10px;border-radius:6px;display:flex;gap:8px;align-items:center;z-index:2000}.selection-action-bar .selection-count{font-weight:600;color:var(--text-secondary);margin-right:6px}.sidebar-tabs{padding:8px 6px}.tabs-header{display:flex;gap:6px;margin-bottom:10px}.tab{background:var(--bg-secondary);border:1px solid var(--border-medium);padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary);opacity:.75;transition:all .2s ease}.tab:hover:not(.tab--active):not(.tab--disabled){opacity:1;background:#007bff14;border-color:#007bff4d}.tab--active{background:var(--color-primary);color:#000;border-color:var(--color-primary);font-weight:600;opacity:1;box-shadow:0 2px 12px #007bff66}.tab--disabled{cursor:not-allowed;color:var(--text-secondary);opacity:.35;background:var(--bg-secondary)}.tab--disabled:hover{opacity:.35;background:var(--bg-secondary)}.tabs-content .tab-panel{padding-top:6px}.preview-box{width:36px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:4px}.preview-box .slider-preview{display:flex;gap:3px;align-items:center}.slider-preview span{width:6px;height:14px;background:#ffffffe6;display:inline-block;border-radius:2px}.rotary-preview{font-size:18px}.dropdown-preview{font-size:16px}.button-preview,.toggle-preview{font-size:14px}.item-name{flex:1;text-align:left;font-size:13px}.empty-config{padding:10px;color:var(--text-secondary);font-size:13px}.group-list{max-height:200px;overflow:auto;padding-left:0;margin:8px 0 0;list-style:none}.group-item{margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px;border-radius:6px}.group-item:hover{background-color:var(--bg-hover, rgba(0, 0, 0, .03))}.group-item__name{color:var(--text-primary);font-size:13px}.group-item__count{color:var(--text-secondary);font-size:12px;margin-left:6px}.group-item__actions{display:flex;gap:8px}.group-create{margin-top:12px;display:flex;gap:8px;align-items:center}.group-input{padding:6px 8px;border:1px solid var(--border-dark);border-radius:4px;font-size:13px}.group-picker__intro{margin:0 0 8px;color:var(--text-secondary);font-size:13px}.group-manager{padding:var(--spacing-sm)}.group-manager h3{margin:0 0 8px;font-size:16px;color:var(--text-primary)}.groups-list{list-style:none;margin:8px 0 0;padding:0}.groups-list__item{display:flex;flex-direction:column;align-items:stretch;padding:8px;border-radius:8px;border:1px solid var(--border-light);margin-bottom:8px;background:var(--bg-secondary)}.groups-list__item:hover{box-shadow:var(--shadow-sm)}.groups-list__info{display:flex;gap:8px;align-items:center}.groups-list__name{font-weight:600;font-size:14px;color:var(--text-primary)}.groups-list__count{color:var(--text-secondary);font-size:13px}.groups-list__actions{display:flex;gap:8px}@media(max-width:520px){.groups-list__item{flex-direction:column;align-items:flex-start;gap:8px}.groups-list__actions{width:100%;display:flex;gap:8px}}.groups-list__header{width:100%;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:6px 4px}.groups-list__chev{font-size:14px;color:var(--text-secondary);margin-left:8px}.groups-list__panel{overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);transition:max-height .26s cubic-bezier(.2,.9,.2,1),opacity .2s ease,transform .2s ease,padding .2s ease;padding:0;width:100%}.groups-list__panel.is-open{max-height:220px;padding:8px 0 0;opacity:1;transform:translateY(0)}.groups-list__panel .groups-list__actions{padding-top:4px}.menu-section .config-panel,.menu-section .midi-section,.menu-section .groups-list__item{width:100%;box-sizing:border-box}.menu-section .config-row{display:flex;align-items:center;gap:8px}.menu-section .config-row__label{flex:0 0 var(--sidebar-label-width);width:var(--sidebar-label-width)}.menu-section input,.menu-section select,.menu-section .config-row__input,.menu-section .midi-control__input{flex:1 1 auto;width:auto;min-width:0}.menu-section .midi-cc-input,.menu-section input[type=number]{max-width:140px}@media(max-width:420px){.menu-section .config-row{flex-direction:column;align-items:stretch}.menu-section .config-row__label{width:100%;flex:none}}.config-row{display:flex;align-items:center;margin-bottom:var(--spacing-sm);gap:10px}.config-row__label{min-width:80px;font-size:12px;font-weight:700;color:var(--text-primary)}.config-row__input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-dark);border-radius:var(--border-radius-sm);font-size:12px}.config-row__input--range{flex:2}.config-row__input--color{width:40px;height:30px;padding:0;border:none;border-radius:var(--border-radius-sm);cursor:pointer}.config-row__value{min-width:30px;text-align:center;font-size:12px;color:var(--text-muted)}.dropdown-options{width:100%;margin-left:90px}.dropdown-option{display:flex;align-items:center;gap:5px;margin-bottom:5px}.option-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-dark);border-radius:var(--border-radius-sm);font-size:12px}.canvas-container[data-v-b115609b]{position:relative}.canvas-hint[data-v-b115609b]{position:absolute;bottom:8px;right:8px;background:#000000b8;color:#fff;padding:6px 8px;border-radius:6px;font-size:12px;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:5}.canvas-hint.visible[data-v-b115609b]{opacity:1;transform:translateY(0)}.canvas-hint--placement[data-v-b115609b]{background:#007bffe6;font-weight:500;inset:12px auto auto 12px;transform:translateY(0);padding:6px 12px;font-size:12px}.canvas-hint--placement.visible[data-v-b115609b]{opacity:1;transform:translateY(0)}.dropdown-overlay[data-v-b115609b]{position:absolute;z-index:60;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 20px #0000001f;min-width:140px;max-width:300px;overflow:hidden}.dropdown-list[data-v-b115609b]{list-style:none;margin:0;padding:6px 0;max-height:400px;overflow-y:auto}.dropdown-item[data-v-b115609b]{padding:6px 12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s ease}.dropdown-item[data-v-b115609b]:hover{background:#f4f6f8}.dropdown-item--selected[data-v-b115609b]{font-weight:600;background:#eef7ff}.modal-dialog[data-v-5393f104]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;border:none;background:#00000073;padding:16px}.modal[data-v-5393f104]{background:#fff;padding:18px;border-radius:8px;max-width:520px;width:100%;box-shadow:0 8px 30px #0000004d}.modal-header[data-v-5393f104]{margin-bottom:8px}.modal-header h3[data-v-5393f104]{margin:0;font-size:16px;color:var(--text-primary)}.modal-body[data-v-5393f104]{margin-bottom:8px;font-size:13px;color:var(--text-secondary)}.modal-footer[data-v-5393f104]{display:flex;gap:8px;justify-content:flex-end}.browser-warning-content[data-v-3a28e2df]{padding:1rem;text-align:center}.warning-icon[data-v-3a28e2df]{font-size:3rem;margin-bottom:1rem}.warning-message[data-v-3a28e2df]{font-size:1.1rem;margin-bottom:1.5rem;color:#d97706;font-weight:500}.browser-list[data-v-3a28e2df]{background:#f3f4f6;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.browser-list h4[data-v-3a28e2df]{margin:0 0 .5rem;color:#374151}.browser-list ul[data-v-3a28e2df]{list-style:none;padding:0;margin:0}.browser-list li[data-v-3a28e2df]{padding:.25rem 0;color:#059669;font-weight:500}.technical-note[data-v-3a28e2df]{font-size:.9rem;color:#6b7280;margin-top:1rem;padding:1rem;background:#fef3c7;border-left:4px solid #f59e0b;text-align:left;border-radius:4px}.technical-note strong[data-v-3a28e2df]{color:#92400e}.preset-library[data-v-d7ebb999]{width:100%}.preset-library__intro[data-v-d7ebb999]{margin-bottom:16px;font-size:14px;color:var(--text-secondary, #555)}.preset-grid[data-v-d7ebb999]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px;max-height:400px;overflow-y:auto}.preset-card[data-v-d7ebb999]{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fafafa;transition:all .2s ease}.preset-card[data-v-d7ebb999]:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.preset-card__header[data-v-d7ebb999]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.preset-card__icon[data-v-d7ebb999]{font-size:24px}.preset-card__title[data-v-d7ebb999]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #222)}.preset-card__description[data-v-d7ebb999]{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-secondary, #666)}.preset-card__footer[data-v-d7ebb999]{display:flex;justify-content:flex-end}.btn--load-preset[data-v-d7ebb999]{padding:6px 16px;font-size:13px}.preset-library__warning[data-v-d7ebb999]{padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:12px;color:#856404}.preset-library__warning strong[data-v-d7ebb999]{color:#856404}@media(min-width:600px){.preset-grid[data-v-d7ebb999]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.floating-midi-monitor[data-v-02c227f1]{position:fixed;width:600px;max-width:90vw;background-color:var(--bg-dark);border:2px solid var(--bg-dark-secondary);border-radius:var(--border-radius-md);box-shadow:0 8px 32px #00000080;z-index:9999;display:flex;flex-direction:column;color:#fff}.floating-midi-monitor__header[data-v-02c227f1]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--bg-dark-secondary);border-bottom:1px solid rgba(255,255,255,.1);cursor:move;-webkit-user-select:none;user-select:none;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.floating-midi-monitor__header h3[data-v-02c227f1]{font-size:14px;font-weight:700;margin:0;color:var(--text-secondary)}.btn--close[data-v-02c227f1]{background-color:transparent;border:none;color:#fff;font-size:18px;padding:0;width:24px;height:24px;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn--close[data-v-02c227f1]:hover{color:#e74c3c;background-color:#e74c3c1a;border-radius:var(--border-radius-sm)}.floating-midi-monitor__content[data-v-02c227f1]{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.floating-midi-monitor__actions[data-v-02c227f1]{display:flex;justify-content:flex-end}.btn--clear-logs[data-v-02c227f1]{padding:4px 8px;font-size:11px;background-color:var(--bg-dark);border:1px solid var(--bg-dark-secondary);cursor:pointer;transition:var(--transition-fast)}.btn--clear-logs[data-v-02c227f1]:hover{background-color:#e74c3c;border-color:#c0392b}.floating-midi-monitor__logs[data-v-02c227f1]{max-height:400px;min-height:200px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;line-height:1.4;background-color:#1a1a1a;border-radius:var(--border-radius-sm);padding:var(--spacing-sm)}.floating-midi-monitor__empty[data-v-02c227f1]{color:var(--text-secondary);font-style:italic;text-align:center;padding:var(--spacing-lg)}.floating-midi-monitor__log[data-v-02c227f1]{display:flex;gap:var(--spacing-sm);padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.floating-midi-monitor__log[data-v-02c227f1]:last-child{border-bottom:none}.floating-midi-monitor__log-time[data-v-02c227f1]{color:var(--text-secondary);min-width:85px}.floating-midi-monitor__log-type[data-v-02c227f1]{font-weight:700;min-width:40px;text-align:center}.floating-midi-monitor__log-type--in[data-v-02c227f1]{color:#3498db}.floating-midi-monitor__log-type--out[data-v-02c227f1]{color:#9b59b6}.floating-midi-monitor__log-type--info[data-v-02c227f1]{color:#95a5a6}.floating-midi-monitor__log-type--error[data-v-02c227f1]{color:#e74c3c}.floating-midi-monitor__log-message[data-v-02c227f1]{color:#fff;flex:1}.floating-coffee-button[data-v-265d05a4]{position:fixed;bottom:20px;left:20px;z-index:1000;transition:transform .2s ease;border-radius:8px;box-shadow:0 4px 12px #00000026}.floating-coffee-button[data-v-265d05a4]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.floating-coffee-button img[data-v-265d05a4]{display:block;height:40px;border-radius:8px}.header-section[data-v-963044bd]{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.header-controls[data-v-963044bd]{display:flex;gap:16px;margin-top:8px;align-items:center}.mode-controls[data-v-963044bd]{display:flex;gap:8px}.file-controls[data-v-963044bd],.external-links[data-v-963044bd]{display:flex;gap:8px;align-items:center;margin-left:4px;padding-left:16px;border-left:1px solid #e0e0e0}.selection-action-bar[data-v-97c67d41]{display:flex;gap:8px;align-items:center;padding:8px;background:var(--bg-panel);border-radius:6px}.selection-count[data-v-97c67d41]{font-weight:600}.palette-hint[data-v-39b907c3]{font-size:12px;color:#666;margin:-8px 0 12px;padding:0}.config-title[data-v-a675c779]{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn[data-v-a675c779]{padding:6px 10px;border-radius:6px}.btn--delete[data-v-a675c779]{background:#f8d7da}.name-display[data-v-a675c779]{cursor:pointer;margin:0}.name-input[data-v-a675c779]{font-size:1rem;padding:4px 8px;border-radius:6px;border:1px solid #ccc}.config-header[data-v-a675c779]{margin-bottom:12px}.name-left[data-v-a675c779]{display:flex;align-items:center;gap:8px}.name-right[data-v-a675c779]{display:flex;align-items:center}.btn--lock[data-v-a675c779]{padding:6px 10px;border-radius:6px}.midi-section[data-v-060d7bba]{margin-top:12px}.config-row[data-v-060d7bba]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.config-row[data-v-060d7bba]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:nowrap}.config-row__label[data-v-060d7bba]{width:100px;flex:0 0 100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-type-options[data-v-060d7bba]{display:flex;align-items:center;gap:8px;min-width:0}.message-type-option[data-v-060d7bba]{display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;font-size:13px}.message-type-option span[data-v-060d7bba]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.midi-cc-input[data-v-060d7bba]{width:88px}.input-error[data-v-060d7bba]{color:#b44;font-size:12px;margin-top:4px}.cc-warning[data-v-060d7bba]{color:#b44;font-size:12px;margin-top:4px;margin-bottom:4px}.cc-prefix[data-v-060d7bba]{font-size:12px;font-weight:600;margin-right:6px}.dropdown-options[data-v-7db9b0e8]{display:flex;flex-direction:column;gap:8px;margin-top:6px;margin-bottom:8px;margin-left:0;width:100%;max-width:100%;padding-left:0;box-sizing:border-box;overflow:visible}.dropdown-option[data-v-7db9b0e8]{display:flex;gap:8px;align-items:center;width:100%}.option-input[data-v-7db9b0e8]{padding:6px 8px;border-radius:6px;border:1px solid #ccc;font-size:12px;flex:1 1 auto;min-width:0}.option-input--value[data-v-7db9b0e8]{flex:0 0 72px;min-width:52px}.btn[data-v-7db9b0e8]{padding:6px 10px;border-radius:6px;cursor:pointer}.btn[data-v-7db9b0e8]:disabled{opacity:.5;cursor:not-allowed}.config-label[data-v-b4682619]{margin-bottom:16px}.config-row[data-v-b4682619]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.config-row__label[data-v-b4682619]{width:130px;font-size:14px}.config-row__input[data-v-b4682619]{flex:1;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:14px}.config-row__input--small[data-v-b4682619]{width:80px;flex:none}.config-row__color[data-v-b4682619]{width:60px;height:36px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.config-row__input[data-v-b4682619]:disabled,.config-row__color[data-v-b4682619]:disabled{opacity:.6;cursor:not-allowed}.canvas-toolbar[data-v-c66cbca3]{margin-top:12px;padding-top:12px;border-top:1px solid #eee}.toolbar-section[data-v-c66cbca3]{display:flex;flex-direction:column;gap:8px}.toolbar-title[data-v-c66cbca3]{margin:0;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.toolbar-controls[data-v-c66cbca3]{display:flex;flex-direction:row;gap:6px;flex-wrap:nowrap;justify-content:space-between}.toolbar-controls .btn[data-v-c66cbca3]{flex:1 1 auto;justify-content:center;padding:8px 12px}.btn--zoom[data-v-c66cbca3]{min-width:36px;font-size:16px;font-weight:600}.zoom-indicator[data-v-c66cbca3]{background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;color:#555;min-width:60px;text-align:center;display:flex;align-items:center;justify-content:center}.menu-section[data-v-e6b033fe]{padding:12px;display:flex;flex-direction:column;height:100%}.sidebar-tabs--with-toolbar[data-v-e6b033fe]{flex:1;display:flex;flex-direction:column;min-height:0}.tabs-content[data-v-e6b033fe]{flex:1;overflow-y:auto}.tabs-header[data-v-e6b033fe]{display:flex;gap:8px;margin-bottom:12px}.tab[data-v-e6b033fe]{padding:8px 10px;border-radius:6px;background:var(--bg-panel);border:1px solid #eee}.tab--active[data-v-e6b033fe]{box-shadow:0 1px #0000000a}.tab--disabled[data-v-e6b033fe]{opacity:.5;pointer-events:none}.groups-list__actions[data-v-e6b033fe]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}.groups-list__actions .btn[data-v-e6b033fe]{width:100%;display:inline-flex;justify-content:center;align-items:center}svg[data-v-76aa6b74]{transform:rotate(var(--r, 0deg)) scale(var(--sx, 1),var(--sy, 1))}path[data-v-76aa6b74]{fill:currentColor}
