.channel-monitor-card{position:fixed;z-index:1000;width:220px;background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026,0 1px 3px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none}.channel-monitor-card.is-dragging{box-shadow:0 8px 24px #0003,0 2px 6px #00000026;transform:scale(1.02)}.cmc-header{display:flex;align-items:center;padding:5px 8px 5px 10px;cursor:grab;border-bottom:1px solid #eee}.cmc-header:active{cursor:grabbing}.cmc-title{font-size:11px;font-weight:600;color:#333}.cmc-status{margin-left:8px;padding:2px 6px;border-radius:3px;font-size:8px;font-weight:600;color:#fff}.cmc-close{margin-left:auto;background:none;border:none;font-size:16px;color:#999;cursor:pointer;padding:0 4px;line-height:1}.cmc-close:hover{color:#666}.cmc-hint{margin-left:auto;font-size:9px;color:#999}.cmc-live-values{padding:4px 8px 6px 10px}.cmc-live-values table{width:100%;border-collapse:collapse;font-size:9px}.cmc-live-values th{color:#888;font-weight:600;text-align:center;padding:2px 4px}.cmc-live-values th:first-child{text-align:left}.cmc-live-values td{color:#333;text-align:center;padding:2px 4px}.cmc-param-label{color:#666!important;text-align:left!important}.cmc-cv{color:#4caf50!important}.cmc-spread{color:#2962a8!important}.module-panel{--module-bg: #1a1a1a;--module-surface: #242424;--module-border: #333;--module-text: #e0e0e0;--module-text-dim: #AAA;--module-accent: #4CAF50;--module-accent-glow: rgba(76, 175, 80, .3);--module-danger: #e53935;width:224px;background:var(--module-bg);border:1px solid var(--module-border);border-radius:8px;box-shadow:0 4px 20px #00000080,0 0 1px #ffffff1a inset;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:11px;color:var(--module-text);-webkit-user-select:none;user-select:none;overflow:hidden;transition:box-shadow .15s ease,transform .1s ease}.module-panel.is-dragging{box-shadow:0 8px 32px #0009,0 0 1px #ffffff26 inset,0 0 0 1px var(--module-accent);transform:scale(1.01)}.module-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(180deg,#2a2a2a,#222);border-bottom:1px solid var(--module-border)}.module-header.is-draggable{cursor:grab}.module-header.is-draggable:active{cursor:grabbing}.module-panel.is-dragging .module-header{cursor:grabbing;background:linear-gradient(180deg,#2d2d2d,#252525)}.module-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.3px}.module-label{color:var(--module-accent);text-shadow:0 0 8px var(--module-accent-glow)}.module-arrow{color:var(--module-text-dim);font-size:10px;opacity:.7;transition:opacity .15s ease}.module-panel:hover .module-arrow{opacity:1}.module-target{color:var(--module-text)}.module-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--module-text-dim);font-size:16px;cursor:pointer;border-radius:4px;transition:all .15s ease}.module-close:hover{background:#ffffff1a;color:var(--module-text)}.module-close:active{transform:scale(.95)}.module-section{padding:10px 12px;border-bottom:1px solid var(--module-border)}.module-section:last-child{border-bottom:none}.module-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.module-row:last-child{margin-bottom:0}.module-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--module-text-dim)}.module-value{font-size:12px;font-weight:500;color:var(--module-accent);min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.module-slider-container{position:relative}.module-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--module-surface);border-radius:3px;outline:none;cursor:pointer}.module-slider::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,var(--module-accent) 0%,var(--module-accent) var(--progress, 50%),var(--module-surface) var(--progress, 50%),var(--module-surface) 100%);border-radius:3px}.module-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:linear-gradient(180deg,#fff,#ddd);border:2px solid var(--module-accent);border-radius:50%;margin-top:-4px;cursor:grab;box-shadow:0 1px 3px #0006,0 0 6px var(--module-accent-glow);transition:transform .1s ease,box-shadow .1s ease}.module-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000080,0 0 10px var(--module-accent-glow)}.module-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(.95)}.module-slider::-moz-range-track{height:6px;background:var(--module-surface);border-radius:3px}.module-slider::-moz-range-thumb{width:14px;height:14px;background:linear-gradient(180deg,#fff,#ddd);border:2px solid var(--module-accent);border-radius:50%;cursor:grab;box-shadow:0 1px 3px #0006,0 0 6px var(--module-accent-glow)}.module-slider::-moz-range-progress{height:6px;background:var(--module-accent);border-radius:3px 0 0 3px}.module-slider-bipolar::-webkit-slider-runnable-track{background:var(--module-surface)}.module-slider-bipolar::-moz-range-track{background:var(--module-surface)}.module-slider-bipolar::-moz-range-progress{background:transparent}.module-slider-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;color:var(--module-text-dim)}.module-button-group{display:flex;gap:4px}.module-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;background:var(--module-surface);border:1px solid var(--module-border);border-radius:4px;color:#ccc;font-family:inherit;font-size:10px;cursor:pointer;transition:all .15s ease}.module-btn:hover{background:#2d2d2d;color:var(--module-text);border-color:#444}.module-btn.active{background:linear-gradient(180deg,#2d2d2d,#252525);border-color:var(--module-accent);color:var(--module-accent);box-shadow:0 0 8px var(--module-accent-glow),0 0 2px var(--module-accent-glow) inset}.module-btn-symbol{font-size:14px;line-height:1}.module-footer{padding:10px 12px;background:linear-gradient(180deg,#1d1d1d,#1a1a1a);border-top:1px solid var(--module-border)}.module-danger-btn{width:100%;height:28px;background:transparent;border:1px solid var(--module-border);border-radius:4px;color:var(--module-text-dim);font-family:inherit;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;transition:all .15s ease}.module-danger-btn:hover{background:#ffffff1a;color:var(--module-text);border-color:var(--module-text-dim)}.module-danger-btn:active{transform:scale(.98)}@keyframes module-panel-enter{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.module-panel{animation:module-panel-enter .2s ease-out}@keyframes waveform-draw{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.module-waveform-line{fill:none;stroke:var(--module-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px var(--module-accent-glow));stroke-dasharray:200;animation:waveform-draw .4s ease-out forwards}.module-waveform-preview{width:60px;height:24px;background:var(--module-surface);border:1px solid var(--module-border);border-radius:4px;overflow:hidden}.module-waveform-preview svg{width:100%;height:100%}@media(max-width:768px){.module-panel{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:calc(100vw - 32px)!important;max-width:320px;z-index:1001!important;animation:mobile-module-enter .3s ease-out}@keyframes mobile-module-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.module-header.is-draggable{cursor:default}.module-close{width:32px;height:32px;font-size:20px}.module-btn{height:44px;font-size:12px}.module-slider{height:8px}.module-slider::-webkit-slider-thumb{width:20px;height:20px;margin-top:-6px}.module-slider::-moz-range-thumb{width:20px;height:20px}.module-danger-btn{height:40px;font-size:12px}}.module-panel-backdrop{display:none}@media(max-width:768px){.module-panel-backdrop{display:block;position:fixed;inset:0;background:#000000b3;z-index:1000;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}.waveform-grid{display:flex;flex-direction:column;gap:4px}.waveform-row{display:flex;gap:4px}.waveform-icon-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;padding:4px;background:var(--module-surface, #242424);border:1px solid var(--module-border, #333);border-radius:4px;cursor:pointer;transition:all .15s ease}.waveform-icon-btn:hover{background:#2d2d2d;border-color:#444}.waveform-icon-btn.active{background:linear-gradient(180deg,#2d2d2d,#252525);border-color:var(--module-accent, #fff);box-shadow:0 0 8px var(--module-accent-glow, rgba(255, 255, 255, .3)),0 0 2px var(--module-accent-glow, rgba(255, 255, 255, .3)) inset}.waveform-icon-btn svg{width:24px;height:16px}.waveform-icon-path{fill:none;stroke:#aaa;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s ease}.waveform-icon-btn:hover .waveform-icon-path{stroke:var(--module-text, #e0e0e0)}.waveform-icon-btn.active .waveform-icon-path{stroke:var(--module-accent, #fff);filter:drop-shadow(0 0 2px var(--module-accent-glow, rgba(255, 255, 255, .3)))}.clock-start-stop-btn{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--module-surface, #242424);border:1px solid var(--module-border, #333);border-radius:4px;color:var(--module-text, #e0e0e0);font-family:inherit;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .15s ease}.clock-start-stop-btn:hover{background:#2d2d2d;border-color:#444}.clock-start-stop-btn.running{border-color:var(--module-accent, #fff);color:var(--module-accent, #fff)}.clock-start-stop-btn.running:hover{background:#ffffff1a}.clock-start-stop-btn.stopped{border-color:#666;color:#888}.clock-start-stop-btn.stopped:hover{border-color:#888;color:#aaa}.clock-btn-icon{width:18px;height:18px}.clock-start-stop-btn.running .clock-btn-icon{fill:var(--module-accent, #fff)}.clock-start-stop-btn.stopped .clock-btn-icon{fill:#888}.clock-pulse-indicator{display:flex;justify-content:center;align-items:center;padding:16px 0 8px}.clock-pulse-dot{width:24px;height:24px;border-radius:50%;background:#333;border:2px solid #555;transition:all .05s ease-out;box-shadow:0 0 #fff0}.clock-pulse-indicator.is-on .clock-pulse-dot{background:var(--module-accent, #fff);border-color:var(--module-accent, #fff);box-shadow:0 0 12px var(--module-accent-glow, rgba(255, 255, 255, .4)),0 0 24px var(--module-accent-glow, rgba(255, 255, 255, .2))}.clock-panel-instance{--module-accent: #FFFFFF;--module-accent-glow: rgba(255, 255, 255, .2)}.overlay-panel-container{width:100%;margin:0 auto;overflow:visible}.overlay-panel{width:100%;height:auto;display:block}.overlay-panel rect[style*="cursor: pointer"]:hover{fill:#ffffff1a}.tooltip-group{z-index:1000}.tooltip-background{fill:#fff;stroke:#ccc;stroke-width:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.tooltip-arrow{fill:#fff;stroke:#ccc;stroke-width:1}.tooltip-label{fill:#333;font-size:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.tooltip-description{fill:#666;font-size:10px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.knob-overlay{cursor:ns-resize}.knob-overlay:hover circle{fill:#ffffff1a}.knob-overlay.dragging{cursor:grabbing}.knob-overlay.dragging circle{fill:#ffffff26}.channel-hover-card{z-index:1000}.hover-card-background{fill:#1a1a2e;stroke:#333;stroke-width:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.hover-card-arrow{fill:#1a1a2e;stroke:#333;stroke-width:1}.hover-card-title{fill:#fff;font-size:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hover-card-status{fill:#fff;font-size:9px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hover-card-label{fill:#999;font-size:10px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hover-card-value{fill:#fff;font-weight:500}.hover-card-hint{fill:#666;font-size:10px;font-style:italic;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media(hover:none)and (pointer:coarse){.knob-overlay,.knob-overlay circle,.hotspot-circle{touch-action:none;-webkit-tap-highlight-color:transparent}.knob-overlay circle{stroke-width:2}}.state-panel{background:#fff;border-radius:8px;border:1px solid #ddd;padding:20px;color:#333;font-family:Roboto Mono,monospace;font-size:12px;overflow-y:auto;max-height:100%}.state-panel h2{color:#1a1a1a;font-size:16px;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid #ddd}.page2-banner{background:linear-gradient(90deg,#1a1a1a,#666);color:#fff;text-align:center;padding:8px;margin:-10px -20px 15px;font-weight:700;font-size:11px;letter-spacing:2px}.state-section{margin-bottom:20px}.state-section h3{color:#666;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid #ddd}.led-indicator{display:flex;align-items:center;gap:10px;margin-bottom:8px}.led-indicator .led{width:10px;height:10px;border-radius:50%;flex-shrink:0}.led-indicator span{font-size:11px}.mode-description{font-size:10px;color:#888;font-style:italic;margin:-4px 0 10px 20px;line-height:1.4;padding-left:5px;border-left:2px solid #ddd}.interactive-setting{padding:8px 10px;margin-bottom:8px;border-radius:4px;background:transparent;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease}.interactive-setting.clickable{cursor:pointer}.interactive-setting.clickable:hover{background:#f5f5f5;border-color:#e0e0e0}.interactive-setting.clickable:active{background:#eee}.interactive-setting .setting-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.interactive-setting .led{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:background-color .2s ease,box-shadow .2s ease}.interactive-setting .setting-label{font-size:11px;font-weight:500;color:#333}.interactive-setting .setting-description{font-size:10px;color:#666;line-height:1.4;margin-left:20px}.wavetable-browser{margin-top:4px}.wavetable-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.wavetable-bank-container{display:flex;flex-direction:column}.wavetable-bank-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f5f5f5;border-radius:4px;border:1px solid #eee;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;position:relative}.wavetable-bank-item:hover{background:#e8e8e8;border-color:#ccc}.wavetable-bank-item.expanded{background:#e0e0e0;border-color:#bbb;border-bottom-left-radius:0;border-bottom-right-radius:0}.wavetable-bank-number{font-size:9px;font-weight:600;color:#888;min-width:12px}.wavetable-bank-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 4px currentColor}.wavetable-bank-name{font-size:9px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wavetable-tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:8px 10px;border-radius:4px;font-size:9px;white-space:nowrap;z-index:100;margin-bottom:6px;box-shadow:0 2px 8px #0000004d}.wavetable-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1a1a1a}.wavetable-tooltip-item{padding:2px 0;color:#ccc}.wavetable-tables-list{background:#f0f0f0;border:1px solid #bbb;border-top:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:6px 8px}.wavetable-table-item{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:9px}.wavetable-table-number{color:#888;min-width:12px}.wavetable-table-name{color:#555}.channel-status{display:flex;gap:8px;flex-wrap:wrap}.channel{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#f5f5f5;border-radius:4px;min-width:30px;border:1px solid #eee}.channel.activated{background:#e8e8e8;border-color:#ccc}.channel.accumulated{background:#fff8e6;border-color:#e6d7a8}.channel-number{font-size:10px;color:#888}.channel.activated .channel-number{color:#1a1a1a}.channel-led{width:16px;height:6px;border-radius:2px}.wavetable-info{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:8px;background:#f5f5f5;border-radius:4px;border:1px solid #eee}.wavetable-info .bank-name{font-size:11px;font-weight:700}.wavetable-info .table-name{font-size:10px;color:#888}.page2-settings{display:flex;flex-direction:column;gap:8px}.page2-settings .setting{display:flex;flex-direction:column;padding:8px 10px;background:#f5f5f5;border-radius:4px;border:1px solid #eee;transition:background-color .15s ease,border-color .15s ease}.page2-settings .setting.clickable{cursor:pointer}.page2-settings .setting.clickable:hover{background:#e8e8e8;border-color:#ccc}.page2-settings .setting.clickable:active{background:#ddd}.page2-settings .setting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.page2-settings .setting .mode-description{margin:0;padding-left:0;border-left:none;font-size:9px;line-height:1.4}.page2-settings .setting-header span:first-child{color:#666;font-size:10px}.page2-settings .setting-header .value{font-size:11px;font-weight:700}.state-panel::-webkit-scrollbar{width:6px}.state-panel::-webkit-scrollbar-track{background:#f5f5f5}.state-panel::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.state-panel::-webkit-scrollbar-thumb:hover{background:#aaa}.parallel-divisions{margin-top:10px;padding:10px;background:#f0f8ff;border-radius:4px;border:1px solid #d0e8ff}.divisions-label{font-size:10px;color:#666;margin-bottom:6px}.divisions-values{display:flex;gap:6px}.division-value{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:4px 6px;background:#00acc1;color:#fff;border-radius:3px;font-size:10px;font-weight:600;font-family:monospace}.round-info{margin-top:10px;padding:10px;background:#fffaf0;border-radius:4px;border:1px solid #ffe4b5;display:flex;gap:12px;flex-wrap:wrap}.round-info span{font-size:11px;color:#666}.round-position{font-weight:600;color:#333!important}.round-direction{color:#f9a825!important;font-weight:500}.learn-more{margin-bottom:8px}.learn-more-toggle{width:100%;padding:8px 10px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;font-size:11px;color:#555;cursor:pointer;text-align:left;transition:background-color .15s ease}.learn-more-toggle:hover{background:#e8e8e8}.learn-more-content{padding:12px;background:#fafafa;border:1px solid #e0e0e0;border-top:none;border-radius:0 0 4px 4px}.concept-list{display:flex;flex-direction:column;gap:12px}.concept{padding-bottom:12px;border-bottom:1px solid #eee}.concept:last-child{padding-bottom:0;border-bottom:none}.concept strong{display:block;font-size:11px;color:#333;margin-bottom:4px}.concept p{font-size:10px;color:#666;line-height:1.5;margin:0 0 6px}.concept ul{margin:6px 0 0;padding-left:16px;font-size:10px;color:#666;line-height:1.5}.concept li{margin-bottom:4px}.concept em{color:#888;font-style:italic}.glossary-list{display:flex;flex-direction:column;gap:8px}.glossary-item{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid #eee}.glossary-item:last-child{padding-bottom:0;border-bottom:none}.glossary-term{font-size:11px;font-weight:600;color:#333}.glossary-definition{font-size:10px;color:#666;line-height:1.4}.auto-trigger-control{margin-top:12px;padding:10px;background:#f8f8f8;border-radius:4px;border:1px solid #e0e0e0}.auto-trigger-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#555;cursor:pointer}.auto-trigger-toggle input[type=checkbox]{margin:0}.rate-control{display:flex;align-items:center;gap:8px;margin-top:8px}.rate-control input[type=range]{flex:1;height:4px}.rate-label{font-size:10px;color:#888;min-width:50px;font-family:monospace}.accumulate-section{margin-top:12px;padding:10px;background:#fafafa;border-radius:4px;border:1px solid #e0e0e0}.accumulate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.accumulate-label{font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.accumulate-toggle{display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid #ccc}.patch-option{display:flex;align-items:center;padding:4px 8px;font-size:10px;color:#666;background:#f0f0f0;cursor:pointer;transition:all .15s ease}.patch-option input[type=radio]{display:none}.patch-option.active{background:#555;color:#fff}.patch-option:hover:not(.active){background:#e0e0e0}.accumulate-details{margin-bottom:8px}.gate-status{display:flex;align-items:center;gap:10px;margin-bottom:6px}.gate-indicator{font-size:10px;font-weight:600;padding:3px 8px;border-radius:3px;font-family:monospace}.gate-indicator.low{background:#ff9800;color:#fff}.gate-indicator.high{background:#4caf50;color:#fff}.release-button{padding:4px 10px;font-size:10px;background:#4caf50;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background .15s ease}.release-button:hover{background:#45a049}.release-button:active{background:#3d8b40}.accumulated-channels{font-size:10px;color:#ff9800;font-weight:500;padding:4px 8px;background:#fff8e6;border-radius:3px;border:1px solid #ffe4b5}.accumulate-help{font-size:10px;color:#888;line-height:1.4;font-style:italic}.accumulate-section.simplified{padding:8px 10px}.accumulate-section.simplified .accumulate-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.accumulate-section.simplified .accumulate-label{margin-bottom:0}.accumulate-state{font-size:10px;font-weight:500;padding:2px 8px;border-radius:3px}.accumulate-state.unpatched{color:#888;background:#f0f0f0}.accumulate-state.patched{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.accumulate-section.simplified .accumulated-channels{margin-bottom:6px}.accumulate-section.simplified .accumulate-help{margin-top:4px}.inline-wavetable-picker{margin-bottom:8px}.wavetable-current{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .15s ease}.wavetable-current:hover{background:#f0f0f0;border-color:#ccc}.wavetable-current.expanded{background:#e8e8e8;border-color:#bbb;border-bottom-left-radius:0;border-bottom-right-radius:0}.wavetable-current-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 4px currentColor}.wavetable-current-info{flex:1;display:flex;flex-direction:column;gap:2px}.wavetable-current-bank{font-size:11px;font-weight:500;color:#333}.wavetable-current-table{font-size:10px;color:#666}.wavetable-expand-icon{font-size:10px;color:#888}.wavetable-picker-dropdown{background:#fff;border:1px solid #bbb;border-top:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:8px}.wavetable-bank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:8px}.wavetable-bank-chip{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .1s ease}.wavetable-bank-chip:hover{background:#e8e8e8;border-color:#ccc}.wavetable-bank-chip.selected{background:#e0e0e0;border-color:#999}.wavetable-bank-chip.current{border-color:#666;box-shadow:inset 0 0 0 1px #666}.wavetable-bank-chip .bank-number{font-size:9px;font-weight:600;color:#888;min-width:10px}.wavetable-bank-chip .bank-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wavetable-bank-chip .bank-name{font-size:9px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wavetable-table-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding-top:8px;border-top:1px solid #e0e0e0}.wavetable-table-chip{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#fafafa;border:1px solid #e8e8e8;border-radius:3px;cursor:pointer;transition:all .1s ease}.wavetable-table-chip:hover{background:#f0f0f0;border-color:#ccc}.wavetable-table-chip.current{background:#e0e8f0;border-color:#8ab}.wavetable-table-chip .table-number{font-size:9px;font-weight:600;color:#888;min-width:10px}.wavetable-table-chip .table-name{font-size:9px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keyboard-hints{margin-top:10px;padding-top:8px;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px}.keyboard-hints span{font-size:10px;color:#888;padding:2px 6px;background:#f0f0f0;border-radius:3px;font-family:monospace}.global-settings-section h3{color:#b5b6fc;border-bottom-color:#b5b6fc}.global-settings-section{scroll-margin-top:20px}.page2-hint{font-size:10px;color:#999;font-style:italic;text-align:center;padding:8px;margin-top:4px;background:#f8f8f8;border-radius:4px;border:1px dashed #ddd}.channel-visualizer{display:flex;flex-direction:column;background:transparent;padding:6px;box-sizing:border-box;overflow:visible;position:relative;isolation:isolate}.channel-visualizer:before{content:"";position:absolute;inset:0;background:#1a1a1af2;border-radius:4px;z-index:0;pointer-events:none}.visualizer-controls{display:flex;flex-direction:row;gap:6px;padding:2px 0;justify-content:flex-start;align-items:center;flex-wrap:nowrap;position:relative;z-index:1;transform:none}.control-group{display:flex;flex-direction:row;align-items:center;gap:4px}.control-label{font-size:9px;color:#ffffff80;text-transform:uppercase;letter-spacing:.3px}.control-select{background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fff;padding:2px 6px;font-size:10px;cursor:pointer;font-family:inherit;line-height:1.2}.control-select option{background:#1a1a1a;color:#fff;font-size:12px;padding:4px 8px}.control-select:hover{border-color:#fff6}.control-select:focus{outline:none;border-color:#c4c5fe99}.visualizer-legend{display:flex;flex-direction:row;gap:6px;margin-left:auto;align-items:center;flex-shrink:1;min-width:0}.legend-item{display:flex;align-items:center;gap:2px;font-size:8px;color:#fff9;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}.legend-swatch{width:10px;height:3px;border-radius:1px}.visualizer-svg-container{position:relative;z-index:1;contain:layout style}.visualizer-chart{display:block;width:100%;height:auto;padding-bottom:0}@media(max-width:768px){.channel-visualizer{padding:4px 4px 0;margin-bottom:12px}.visualizer-chart{max-height:120px}.visualizer-chart text{font-size:18px!important}.control-label{display:none}.control-select{padding:4px 6px;font-size:11px}.legend-item{font-size:0;gap:0}.legend-swatch{width:14px;height:4px;margin:0 2px}}@media(max-width:400px){.visualizer-controls{gap:4px}.control-select{padding:3px 4px;font-size:10px}.visualizer-legend{gap:2px}}.piano-roll{flex-shrink:0;width:100%;padding:0 16px;background:#1a1a1a;border-top:1px solid #333;display:flex;flex-direction:column;position:relative;box-sizing:border-box}.piano-roll.resizing{-webkit-user-select:none;user-select:none}.piano-roll-header{height:32px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#252525;border-bottom:1px solid transparent;font-size:12px;font-family:Roboto Mono,monospace;color:#fff9;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease}.piano-roll-header:hover{background:#2a2a2a;color:#fffc}.piano-roll.expanded .piano-roll-header{border-bottom-color:#333}.piano-roll-header-icon{font-size:10px;transition:transform .25s ease}.piano-roll.expanded .piano-roll-header-icon{transform:rotate(180deg)}.piano-roll-content{height:0;overflow:hidden;transition:height .25s ease-out;display:flex;flex-direction:row}.piano-roll-canvas-container{flex:1;min-width:0;height:100%;position:relative;display:flex}.piano-roll-y-axis{width:40px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;padding:8px 4px;font-size:10px;font-family:Roboto Mono,monospace;color:#ffffff80;background:#1f1f1f;border-right:1px solid #333;box-sizing:border-box}.piano-roll-y-label{text-align:right;padding-right:4px}.piano-roll-canvas{flex:1;display:block;background:#111}.piano-roll-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff6;font-size:14px;font-style:italic;font-family:Roboto,sans-serif;pointer-events:none}.piano-roll-resize-handle{height:6px;cursor:ns-resize;background:linear-gradient(to bottom,rgba(255,255,255,.1),transparent);position:absolute;top:0;left:0;right:0;z-index:10}.piano-roll-resize-handle:hover{background:linear-gradient(to bottom,rgba(255,255,255,.25),transparent)}.piano-roll-resize-handle:active,.piano-roll.resizing .piano-roll-resize-handle{background:linear-gradient(to bottom,rgba(76,175,80,.5),transparent)}.piano-roll-playhead{position:absolute;top:0;bottom:0;right:0;width:2px;background:#4caf50cc;pointer-events:none}.mobile-tooltip-bar{display:none;position:fixed;left:0;right:0;bottom:0;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:#1a1a1af2;border-top:1px solid rgba(255,255,255,.1);z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:768px){.mobile-tooltip-bar{display:flex;align-items:flex-start;justify-content:space-between;min-height:50px;max-height:40vh;overflow-y:auto}}.mobile-tooltip-bar--default{flex-direction:row;align-items:center;gap:12px}.mobile-tooltip-title{color:#fffc;font-size:14px;font-weight:500}.mobile-tooltip-state-button{color:#fffc;font-size:14px;padding:4px 12px;border-radius:4px;background:transparent;border:none;cursor:pointer;font-weight:500;font-family:inherit}.mobile-tooltip-state-button:active{background:#ffffff1a}.mobile-tooltip-bar--active{flex-direction:column;align-items:flex-start}.mobile-tooltip-content{display:flex;flex-direction:column;gap:4px;width:100%}.mobile-tooltip-label{color:#fff;font-size:14px;font-weight:600}.mobile-tooltip-description{color:#ffffffb3;font-size:12px;line-height:1.4}.mobile-state-button{display:none;position:fixed;left:16px;bottom:calc(80px + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;background:#1a1a2ef2;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;font-weight:500;font-style:italic;font-family:Georgia,serif;cursor:pointer;z-index:90;box-shadow:0 2px 8px #0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:768px){.mobile-state-button{display:flex;align-items:center;justify-content:center}}.mobile-state-button:active{background:#1a1a2e;transform:scale(.95)}.mobile-state-modal-overlay{display:none;position:fixed;inset:0;background:#000000b3;z-index:1000;animation:fadeIn .2s ease-out}@media(max-width:768px){.mobile-state-modal-overlay{display:block}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-state-modal{position:absolute;top:env(safe-area-inset-top);left:0;right:0;bottom:0;background:#fff;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-state-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ddd;background:#f5f5f5;flex-shrink:0}.mobile-state-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.mobile-state-modal-close{width:32px;height:32px;border-radius:50%;border:none;background:#0000001a;color:#666;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-state-modal-close:active{background:#0003}.mobile-state-modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.mobile-state-modal-content .state-panel{height:auto;max-height:none;overflow:visible}.mobile-state-modal-content .state-panel h2{display:none}.mobile-state-modal-footer{padding:16px;text-align:center;border-top:1px solid #ddd;background:#f5f5f5}.mobile-state-modal-manual-link{color:#06c;text-decoration:none;font-size:14px;font-weight:500}.mobile-state-modal-manual-link:active{color:#049}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#fff;color:#1a1a1a;font-family:Roboto Mono,SF Mono,Monaco,monospace}.app-container{display:flex;flex:1;gap:16px;padding:4px 16px;max-width:1800px;margin:0 auto;width:100%;min-height:0;overflow:hidden}.state-panel-container{width:370px;flex-shrink:0;overflow-y:auto}.module-panel-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.module-stack{flex:1;min-height:0;display:flex;justify-content:center}.module-stack>.panel-wrapper{height:100%;display:flex;flex-direction:column;align-items:center;gap:2px}.module-stack>.panel-wrapper>.module-container{flex:1;min-height:0;aspect-ratio:1 / 1;max-height:100%}.module-stack>.panel-wrapper .overlay-panel-container{width:100%;height:100%}.module-stack>.panel-wrapper .overlay-panel{width:100%;height:100%;display:block}.panel-wrapper>.channel-visualizer{flex-shrink:0;overflow:hidden}.app-footer{background:#f5f5f5;padding:4px 16px;text-align:center;border-top:1px solid #ddd;flex-shrink:0}.app-footer p{margin:2px 0;font-size:11px;color:#666}.app-footer a{color:#06c;text-decoration:none}.app-footer a:hover{text-decoration:underline}.app-footer .instructions{font-size:11px;color:#888}@media(max-width:900px){.app-container{flex-direction:column}.state-panel-container{width:100%;max-height:300px;overflow-y:auto}.module-panel-container svg{max-height:none;width:100%}}@media(hover:none)and (pointer:coarse){*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.module-container,.knob-overlay,.hotspot-circle,.jack-overlay{touch-action:none}.state-panel-container,.mobile-state-modal-content{touch-action:pan-y}}@media(max-width:768px){.app{height:100vh;height:100dvh;overflow:hidden}.app-container{flex-direction:column;padding:40px 8px 80px;gap:0;height:100%;box-sizing:border-box}.state-panel-container,.app-footer{display:none}.module-panel-container,.module-stack{flex:1;min-height:0;display:flex;flex-direction:column}.module-stack>.panel-wrapper{width:100%;gap:0;flex:1;min-height:0;display:flex;flex-direction:column}.module-stack>.panel-wrapper>.module-container{width:100%;max-width:100%;display:flex;align-items:flex-start;justify-content:center}.module-stack>.panel-wrapper>.module-container .overlay-panel-container{width:100%;height:auto;display:flex;align-items:flex-start;justify-content:center}.module-stack>.panel-wrapper>.module-container .overlay-panel{max-width:100%;max-height:100%;width:auto;height:auto}.piano-roll{display:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#aaa}
