.toast-container{position:fixed;bottom:var(--space-lg, 20px);right:var(--space-lg, 20px);z-index:var(--z-top, 2000);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm, 12px);pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm, 12px) var(--space-md, 16px);border-radius:var(--radius-md, 6px);box-shadow:var(--shadow-md, 0 4px 10px rgba(0, 0, 0, .3));color:var(--color-text, #eee);font-size:var(--font-size-md, 14px);min-width:250px;max-width:400px;pointer-events:auto;opacity:0;transform:translate(100%);transition:opacity .3s ease-in-out,transform .3s ease-in-out;border:1px solid transparent}.toast.visible{opacity:1;transform:translate(0)}.toast-info{background-color:var(--color-primary-a15, rgba(0, 243, 255, .15));border-color:var(--color-primary-a30, rgba(0, 243, 255, .3));color:var(--color-primary, #00f3ff)}.toast-success{background-color:var(--color-success-a10, rgba(0, 255, 0, .1));border-color:var(--color-success-a30, rgba(0, 255, 0, .3));color:var(--color-success, #00ff00)}.toast-warning{background-color:var(--color-warning-a10, rgba(255, 165, 0, .1));border-color:var(--color-warning-a30, rgba(255, 165, 0, .3));color:var(--color-warning, #ffa500)}.toast-error{background-color:var(--color-error-a10, rgba(255, 85, 85, .1));border-color:var(--color-error-a30, rgba(255, 85, 85, .3));color:var(--color-error, #ff5555)}.toast-content{margin-right:var(--space-md, 16px);flex-grow:1}.toast-dismiss-button{background:none;border:none;color:inherit;opacity:.7;font-size:20px;line-height:1;cursor:pointer;padding:0 0 0 var(--space-xs);margin-left:var(--space-sm)}.toast-dismiss-button:hover{opacity:1}.vertical-toolbar-icon{position:fixed;left:var(--space-lg);width:var(--icon-size-lg);height:var(--icon-size-lg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:#00f3ff0d;border:1px solid rgba(0,243,255,.2);overflow:visible;z-index:var(--z-controls);padding:0;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.vertical-toolbar-icon:hover{background:#00f3ff26;border-color:#00f3ff4d;transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.vertical-toolbar-icon.active{background:#00f3ff26;border-color:#00f3ff80;box-shadow:var(--shadow-primary-md)}.vertical-toolbar-icon .icon-image{width:var(--icon-size-md);height:var(--icon-size-md);transition:all var(--transition-fast);opacity:.9}.vertical-toolbar-icon .icon-image.ufo-icon-adjust{width:24px;height:30px;transform:translate(1px,1px)}.vertical-toolbar-icon:hover .icon-image,.vertical-toolbar-icon.active .icon-image{opacity:1;filter:drop-shadow(0 0 5px rgba(0,243,255,.3))}.vertical-toolbar-icon.active:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:10px;background:transparent;animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite;z-index:-1}.vertical-toolbar-icon.active:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:30px;background:#00f3ff26;animation:pulse-core 3s cubic-bezier(.455,.03,.515,.955) infinite;z-index:-1}.notification-orb{position:relative;display:flex;align-items:center;justify-content:center}.notification-badge{position:absolute;top:-8px;right:-8px;min-width:16px;height:16px;background:#ff3a3a;color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 0 5px #ff000080;z-index:10}.bell-animation{animation:bell-pulse 2s infinite ease-in-out}.panel-wrapper{position:fixed;top:5px;left:-20px;z-index:var(--z-panel-active);max-height:90vh;animation:panel-slide-in .5s ease-out forwards;overflow:visible;border:none!important;outline:none!important}.panel-wrapper.animating.closing{animation:panel-slide-out .5s ease-in forwards}@keyframes panel-slide-in{0%{opacity:0;transform:translate(-150px)}to{opacity:1;transform:translate(0)}}@keyframes panel-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-150px)}}.panel{background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);contain:content;backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));color:var(--color-text);overflow:hidden;max-height:85vh;display:flex;flex-direction:column;transform:translateZ(0);will-change:transform}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#00141eb3;border-bottom:1px solid rgba(0,243,255,.15);flex-shrink:0}.panel-title{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-primary);letter-spacing:.8px;text-transform:uppercase}.close-button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-primary);cursor:pointer;font-size:18px;border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:0}.close-button:hover{background:#00f3ff1a;transform:scale(1.1)}.panel-content{padding:15px;overflow-y:auto;flex:1;overscroll-behavior:contain;transform:translateZ(0)}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0003}.panel-content::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:3px}.plock-controls-container{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;margin-bottom:var(--space-sm);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.plock-button{flex-shrink:0;font-weight:700;font-size:var(--font-size-sm);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);min-width:70px;text-align:center}.plock-button:disabled{opacity:.5;cursor:not-allowed}.plock-button.plock-record-button.idle{background-color:var(--color-primary-a05);color:var(--color-text-muted)}.plock-button.plock-record-button.idle:hover:not(:disabled){background-color:var(--color-error-a10);border-color:var(--color-error-a30);color:var(--color-error)}.plock-button.plock-record-button.armed{background-color:var(--color-error-a30);color:var(--color-error);border-color:var(--color-error-a50);animation:plock-pulse 1.5s infinite}@keyframes plock-pulse{0%{box-shadow:0 0 rgba(var(--color-error-rgb),.4)}70%{box-shadow:0 0 0 8px rgba(var(--color-error-rgb),0)}to{box-shadow:0 0 rgba(var(--color-error-rgb),0)}}.plock-button.plock-record-button.playing{background-color:var(--color-primary-a15);color:var(--color-primary);border-color:var(--color-primary-a30)}.plock-button.plock-clear-button{background-color:var(--color-primary-a05);color:var(--color-text-muted)}.plock-button.plock-clear-button:hover:not(:disabled){background-color:var(--color-primary-a15);color:var(--color-primary)}.plock-progress-bar-container{flex-grow:1;height:8px;background-color:var(--color-bg-inset);border-radius:4px;overflow:hidden;border:1px solid var(--color-border-dark)}.plock-progress-bar{width:100%;height:100%;transform-origin:left}.speed-selector{display:flex;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-sm)}.speed-button{flex-grow:1;font-weight:700;font-size:var(--font-size-sm);padding:4px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background-color:var(--color-primary-a05);color:var(--color-text-muted)}.speed-button:hover:not(:disabled){background-color:var(--color-primary-a15);color:var(--color-primary);border-color:var(--color-primary-a30)}.speed-button.active{background-color:var(--color-primary-a30);color:var(--color-primary);border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-sm)}.speed-button:disabled{opacity:.5;cursor:not-allowed}@keyframes plock-pulse-bar{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.plock-midi-map{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.plock-midi-map .midi-mapping-text{font-size:var(--font-size-xs);color:var(--color-text-dim);background:var(--color-bg-alt);padding:2px 4px;border-radius:var(--radius-sm)}.enhanced-control-panel.panel{background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-primary-lg)}.compact-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.panel-actions,.tab-navigation{display:flex;gap:var(--space-xs)}.tab-button{width:var(--icon-size-lg);height:var(--icon-size-lg);display:flex;align-items:center;justify-content:center;background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);padding:0;outline:none;flex-shrink:0}.tab-button:focus{outline:none;box-shadow:none}.tab-button:hover{background:var(--color-primary-a15);border-color:var(--color-primary-a30);transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.tab-button.active{background:var(--color-primary-a15);border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-md)}.tab-icon{width:var(--icon-size-md);height:var(--icon-size-md);opacity:.8;transition:all var(--transition-fast)}.tab-button:hover .tab-icon,.tab-button.active .tab-icon{opacity:1;filter:drop-shadow(0 0 5px var(--color-primary-a30))}.vertical-layout{display:flex;flex-direction:column;gap:4px}.slider-container{margin-bottom:3px}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1px}.slider-controls{display:flex;align-items:center;gap:3px}.slider-label{font-weight:700;color:var(--color-text);font-size:9px;text-transform:uppercase;opacity:.9;flex-shrink:0;margin-right:var(--space-xs)}.slider-value{font-size:10px;color:var(--color-primary-a90);font-weight:700;min-width:30px;text-align:right;font-family:monospace}.horizontal-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--color-primary-a15);border-radius:2px;outline:none;border:none;box-shadow:none;cursor:pointer;margin-top:2px}.horizontal-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none;box-shadow:0 0 4px #00f3ff66;margin-top:-4px}.horizontal-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none;box-shadow:0 0 4px #00f3ff66}.midi-btn{padding:0 2px;font-size:8px;background:var(--color-warning-a15);border:1px solid var(--color-warning-a30);border-radius:3px;color:var(--color-warning);cursor:pointer;outline:none;line-height:1;min-width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin-left:2px}.midi-btn:focus{outline:none;box-shadow:none}.midi-btn:hover:not(:disabled){background:var(--color-warning-a25);border-color:var(--color-warning-a30);color:var(--color-warning)}.midi-btn.learning{background:var(--color-accent-a20);border-color:var(--color-accent);color:var(--color-accent);animation:blink 1s infinite}.controls-footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.blendmode-container{display:flex;flex-direction:column;gap:2px;flex-grow:1}.blendmode-container label{font-size:var(--font-size-xs);color:var(--color-primary);text-transform:uppercase;font-weight:700;margin:0}.enabled-control-vertical{display:flex;align-items:center;gap:var(--space-xs)}.enabled-control-vertical label{font-size:var(--font-size-xs);color:var(--color-primary-a90);text-transform:uppercase;font-weight:700}.enabled-control-vertical input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.changerotation-btn{padding:5px;height:auto;width:auto;min-width:28px;min-height:28px;background:var(--color-primary-a15);border:1px solid var(--color-primary-a30);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.changerotation-btn:hover{background:var(--color-primary-a25);box-shadow:var(--shadow-primary-sm)}.changerotation-icon{width:18px;height:18px;filter:drop-shadow(0 0 4px var(--color-primary))}.blend-mode-select,.midi-channel-select,.custom-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-size:var(--font-size-sm);padding:5px var(--space-xs);background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6' fill='none'%3E%3Cpath d='M6 6L0 0H12L6 6Z' fill='%2300f3ff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-xs) center;cursor:pointer}.blend-mode-select:focus,.midi-channel-select:focus,.custom-select:focus{border-color:var(--color-primary-a30);box-shadow:none}.blend-mode-select option,.midi-channel-select option{background-color:var(--color-bg-dark, #050f19);color:var(--color-primary);padding:var(--space-xs) var(--space-sm)}.midi-mappings-section{background:var(--color-bg-alt);padding:var(--space-sm);border-radius:var(--radius-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-sm)}.midi-section-title{margin:0 0 var(--space-xs) 0;font-size:10px;color:var(--color-primary);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);text-transform:uppercase;font-weight:700}.global-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-xs)}.global-mapping-item,.layer-mapping-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-xs)}.global-mapping-label,.layer-mapping-label{font-weight:700;margin-bottom:var(--space-xs);font-size:10px}.global-mapping-controls,.layer-mapping-controls{display:flex;justify-content:space-between;align-items:center}.layer-mapping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs)}.layer-mapping-item.active{border-color:var(--color-primary-a50);background:var(--color-primary-a10)}.layer-mapping-text{font-size:9px;color:var(--color-text-dim)}.midi-learn-btn{padding:0 4px;font-size:9px;background:var(--color-primary-a10);border:1px solid var(--color-primary-a20);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;outline:none;line-height:1.1;min-height:16px}.midi-learn-btn:focus{outline:none;box-shadow:none}.midi-learn-btn:hover:not(:disabled){background:var(--color-primary-a20)}.scene-management-section{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.scene-management-section h4{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-sm);color:var(--color-primary-a90);text-transform:uppercase;font-weight:500;letter-spacing:.5px}.scene-create-form{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.scene-create-form .form-control{flex-grow:1;padding:var(--space-xs) var(--space-sm)}.scene-create-form .btn{flex-shrink:0;padding:var(--space-xs) var(--space-sm)}.scene-list{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-inset);scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.scene-list::-webkit-scrollbar{width:6px}.scene-list::-webkit-scrollbar-track{background:#0000001a}.scene-list::-webkit-scrollbar-thumb{background-color:var(--color-primary-a30);border-radius:3px}.scene-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-a50)}.scene-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-dark);gap:var(--space-sm)}.scene-list li:last-child{border-bottom:none}.scene-list li.active{background-color:var(--color-primary-a15)}.scene-name{flex-grow:1;text-align:left;background:none;border:none;color:var(--color-primary-a90);cursor:pointer;padding:0;font-size:var(--font-size-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-list li.active .scene-name{font-weight:700;color:var(--color-primary)}.scene-name:hover:not(:disabled){color:var(--color-primary)}.scene-name:disabled{cursor:not-allowed}.scene-actions .delete-scene{color:var(--color-error-a70)}.scene-actions .delete-scene:hover:not(:disabled){color:var(--color-error)}.no-scenes-message{font-style:italic;color:var(--color-text-muted);padding:var(--space-sm);text-align:center}.sequencer-settings-section,.performance-settings-section{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-md)}.sequencer-interval-form{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:var(--space-sm)}.sequencer-interval-form label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.sequencer-interval-form .interval-input{width:60px;text-align:right;padding-right:var(--space-xs)}.sequencer-interval-form .interval-input::-webkit-outer-spin-button,.sequencer-interval-form .interval-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sequencer-interval-form .interval-input[type=number]{-moz-appearance:textfield}.sequencer-interval-form .interval-unit{font-size:var(--font-size-md);color:var(--color-text-muted);font-weight:700}.sequencer-interval-form .interval-set-button{flex-shrink:0}.performance-settings-section .config-section-title{margin-bottom:var(--space-sm)}.fps-control-group{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.fps-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;flex-shrink:0}.fps-buttons{display:flex;gap:var(--space-xs)}.fps-button{padding:var(--space-xxs) var(--space-sm)!important;font-size:var(--font-size-xs)!important;font-weight:600}.fps-button.active{background-color:var(--color-primary)!important;color:var(--color-bg-dark)!important;border-color:var(--color-primary)!important}.fps-warning-text{margin-top:var(--space-xs);text-align:center;padding:var(--space-xs);background-color:var(--color-warning-a05);border:1px solid var(--color-warning-a30);border-radius:var(--radius-sm)}.notification-empty{text-align:center;padding:15px 0;color:var(--color-primary-a50);font-style:italic;font-size:var(--font-size-sm)}.panel-header-actions{margin-bottom:var(--space-md);display:flex;justify-content:flex-end}.btn-clear-all{background:var(--color-error-a10);color:var(--color-error-a90);border-color:var(--color-error-a30)}.btn-clear-all:hover:not(:disabled){background:var(--color-error-a30);color:var(--color-text)}.notification-list{display:flex;flex-direction:column;gap:var(--space-xs)}.notification-item{padding:var(--space-sm);background:var(--color-primary-a05);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-a30);transition:all var(--transition-fast);cursor:pointer}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.notification-timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted)}.notification-type-tag{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;font-weight:700}.notification-type-tag.lyx{background:var(--color-lyx-a20);color:var(--color-lyx)}.notification-type-tag.token{background:var(--color-token-a20);color:var(--color-token)}.notification-type-tag.contract{background:var(--color-contract-a20);color:var(--color-contract)}.notification-type-tag.social{background:#8a2be233;color:#9370db}.notification-content{display:flex;justify-content:space-between;align-items:flex-start}.notification-message{font-size:var(--font-size-sm);flex:1;color:var(--color-text);line-height:1.4}.events-panel-custom-scroll .section-title{font-size:var(--font-size-sm);color:var(--color-primary);margin-bottom:var(--space-sm);text-transform:uppercase;opacity:.9;font-weight:600;letter-spacing:.5px;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs)}.events-panel-custom-scroll .form-help-text{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4;margin-bottom:var(--space-md)}.events-panel-custom-scroll .custom-select option{background-color:var(--color-bg-dark, #050f19);color:var(--color-primary);padding:var(--space-xs) var(--space-sm)}.events-panel-custom-scroll .custom-select{background-color:var(--color-bg-alt)}.events-panel-custom-scroll .custom-select:focus{background-color:var(--color-bg-dark);border-color:var(--color-primary-a50)}.reaction-form.section-box{margin-bottom:var(--space-lg)}.color-config-section{background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-md);margin-bottom:var(--space-md)}.config-section-title{font-size:var(--font-size-xs);color:var(--color-primary);margin-bottom:var(--space-sm);text-transform:uppercase;opacity:.8;font-weight:500}.color-preview-container{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md)}.color-preview-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.color-preview{height:25px;flex-grow:1;border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:inset 0 0 5px #0003}.color-config-section .slider-group{display:flex;flex-direction:column;gap:2px}.color-config-section .slider-container{margin-bottom:0}.color-config-section .slider-header{margin-bottom:2px}.color-config-section input[type=range].color-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;cursor:pointer;outline:none;margin-top:2px}input[type=range].color-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 4px rgba(var(--color-primary-rgb),.5);margin-top:-4px}input[type=range].color-slider::-moz-range-thumb{width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 4px rgba(var(--color-primary-rgb),.5)}input[type=range].red-slider{background:linear-gradient(to right,#000,red)}input[type=range].green-slider{background:linear-gradient(to right,#000,#0f0)}input[type=range].blue-slider{background:linear-gradient(to right,#000,#00f)}input[type=range].alpha-slider{background:linear-gradient(to right,rgba(var(--color-primary-rgb),0),var(--color-primary))}.active-reactions.section-box{margin-top:var(--space-lg);border-top:1px solid var(--color-border);padding-top:var(--space-md)}.no-reactions{color:var(--color-primary-a50);font-style:italic;font-size:var(--font-size-sm);text-align:center;padding:var(--space-sm)}.reactions-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.reactions-list::-webkit-scrollbar{width:6px;height:6px}.reactions-list::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.reactions-list::-webkit-scrollbar-thumb{background-color:var(--color-primary-a30);border-radius:3px;border:1px solid rgba(0,0,0,.1)}.reactions-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-a50)}.reaction-item{display:flex;justify-content:space-between;align-items:center;background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);transition:all var(--transition-fast)}.reaction-item:hover{background:var(--color-primary-a15)}.reaction-details{display:flex;align-items:center;gap:var(--space-sm);flex-grow:1;overflow:hidden}.reaction-event{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.reaction-effect-type{color:var(--color-primary-a70);font-size:var(--font-size-xs);white-space:nowrap}.color-pill{display:inline-block;min-width:12px;width:12px;height:12px;border-radius:50%;vertical-align:middle;border:1px solid rgba(255,255,255,.3);box-shadow:0 0 4px #0000004d;flex-shrink:0}.form-actions{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg)}.btn-preview,.btn-save-reaction{flex-grow:1;font-size:var(--font-size-sm)}.save-hint,.read-only-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:var(--space-md);padding:var(--space-xs);background-color:var(--color-primary-a05);border-radius:var(--radius-sm)}.status-message{padding:var(--space-xs);margin-top:var(--space-sm);border-radius:var(--radius-sm);text-align:center;font-size:var(--font-size-xs)}.preview-status{color:var(--color-info-a90, lightblue)}.save-status.error{color:var(--color-error-a90);background-color:var(--color-error-a10)}.save-status.success{color:var(--color-success-a90);background-color:var(--color-success-a10)}.enhanced-save-panel .config-section{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-dark)}.enhanced-save-panel .config-section:last-child{border-bottom:none;margin-bottom:var(--space-md)}.enhanced-save-panel h3{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary);font-size:var(--font-size-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.enhanced-save-panel .form-group{margin-bottom:var(--space-md)}.enhanced-save-panel .form-control{width:100%;padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-inset, #222);border:1px solid var(--color-border, #555);color:var(--color-text, #eee);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.enhanced-save-panel .form-control:disabled{background-color:var(--color-bg-disabled, #333);cursor:not-allowed;opacity:.7}.enhanced-save-panel .checkbox-options-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md);padding-left:var(--space-xs);border:none;padding:0}.enhanced-save-panel .checkbox-group{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:0}.enhanced-save-panel .checkbox-group input[type=checkbox]{margin:0;width:16px;height:16px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.enhanced-save-panel .checkbox-group label{margin-bottom:0;font-weight:400;color:var(--color-text-muted);cursor:pointer;line-height:1.4;font-size:var(--font-size-sm)}.enhanced-save-panel .checkbox-group input[type=checkbox]:disabled+label{cursor:not-allowed;opacity:.7}.enhanced-save-panel .form-help-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin-top:var(--space-xs);margin-bottom:var(--space-md)}.save-global-section .global-save-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}.save-global-section .btn-save-global{flex-grow:1;flex-basis:150px}.load-section h3{color:var(--color-primary)}.load-section .load-actions-group{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.load-section .load-actions-group .btn{flex-grow:1;flex-basis:150px}.load-section .config-list{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-inset, #1f1f1f);scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.load-section .config-list::-webkit-scrollbar{width:6px;height:6px}.load-section .config-list::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.load-section .config-list::-webkit-scrollbar-thumb{background-color:var(--color-primary-a30);border-radius:3px}.load-section .config-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-a50)}.load-section .config-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-dark);gap:var(--space-sm)}.load-section .config-list li:last-child{border-bottom:none}.load-section .config-list li.active{background-color:var(--color-primary-a15)}.load-section .config-list li.active .config-name{font-weight:700;color:var(--color-primary)}.load-section .config-list .config-name{flex-grow:1;text-align:left;background:none;border:none;color:var(--color-primary-a90);cursor:pointer;padding:0;margin-right:0;font-size:var(--font-size-md);font-family:var(--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-section .config-list .config-name:hover:not(:disabled){text-decoration:none;color:var(--color-primary)}.load-section .config-list .config-name:disabled{color:var(--color-text-muted);cursor:not-allowed;font-weight:400}.load-section .config-list .delete-config{background:none;border:none;color:var(--color-error-a70);cursor:pointer;font-size:1.4em;font-weight:700;padding:0 5px;line-height:1;flex-shrink:0;transition:color var(--transition-fast)}.load-section .config-list .delete-config:hover:not(:disabled){color:var(--color-error)}.load-section .config-list .delete-config:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.load-section .no-configs-message,.load-section .loading-list-message{font-style:italic;color:var(--color-text-muted);margin-top:var(--space-md);padding:var(--space-sm);text-align:center;background-color:var(--color-primary-a05);border-radius:var(--radius-sm)}.status-indicator{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-md);font-weight:700;border:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.status-indicator.pending{background-color:var(--color-warning-a10);border-color:var(--color-warning-a30);color:var(--color-warning-a90)}.status-indicator.success{background-color:var(--color-success-a10);border-color:var(--color-success-a30);color:var(--color-success-a90)}.status-indicator.error{background-color:var(--color-error-a10);border-color:var(--color-error-a30);color:var(--color-error-a90)}.status-indicator.saving{background-color:var(--color-info-a10, #1a3a5a);border-color:var(--color-info-a30, #3a5a78);color:var(--color-info-a90, #b3e5fc)}.status-indicator.idle{background-color:var(--color-primary-a05);border-color:var(--color-primary-a15);color:var(--color-primary-a70);font-weight:400}.status-message{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-sm);border:1px solid transparent}.status-message.success{background-color:var(--color-success-a10);border-color:var(--color-success-a30);color:var(--color-success-a90)}.status-message.error{background-color:var(--color-error-a10);border-color:var(--color-error-a30);color:var(--color-error-a90)}.status-message.info{background-color:var(--color-info-a10, #1a3a5a);border-color:var(--color-info-a30, #3a5a78);color:var(--color-info-a90, #b3e5fc)}.status-message.warning{background-color:var(--color-warning-a10);border-color:var(--color-warning-a30);color:var(--color-warning-a90)}.save-info{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);margin-top:var(--space-lg);margin-bottom:var(--space-md);border:1px solid}.save-info span[aria-hidden=true]{font-size:20px;margin-top:2px;flex-shrink:0}.save-info>div{flex-grow:1}.save-info .title{font-weight:700;margin-bottom:4px;font-size:var(--font-size-md)}.save-info .desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.connection-warning.save-info{background:var(--color-error-a10);border-color:var(--color-error-a30);color:var(--color-error-a90)}.connection-warning.save-info strong{color:var(--color-error-a90)}.preview-banner.save-info{background:var(--color-warning-a10);border-color:var(--color-warning-a30)}.preview-banner.save-info .title,.preview-banner.save-info span[aria-hidden=true]{color:var(--color-warning-a90)}.visitor-banner.save-info{background:var(--color-primary-a05);border-color:var(--color-primary-a30)}.visitor-banner.save-info .title,.visitor-banner.save-info span[aria-hidden=true]{color:var(--color-primary)}.btn{display:inline-block;padding:var(--space-sm) var(--space-md);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:700;text-align:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-block{display:block;width:100%}.btn-save{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-dark)}.btn-save:not(:disabled):hover{background-color:var(--color-primary-a70);border-color:var(--color-primary-a70)}.btn-secondary{background-color:var(--color-bg-light);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:not(:disabled):hover{background-color:var(--color-primary-a05);border-color:var(--color-primary-a30)}.btn-outline{background-color:transparent;border:1px solid var(--color-primary-a30);color:var(--color-primary-a70)}.btn-outline:not(:disabled):hover{background-color:var(--color-primary-a05);border-color:var(--color-primary-a70)}.btn-link{background:none;border:none;padding:0;color:var(--color-primary);cursor:pointer;text-decoration:none}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none}.btn-icon{background:none;border:none;padding:2px 5px;cursor:pointer;line-height:1}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.scene-main-content{display:flex;align-items:center;gap:var(--space-sm);flex-grow:1;overflow:hidden}.default-scene-tag{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:700;background-color:var(--color-primary-a15);padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.scene-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.scene-actions .btn-icon{font-size:1.2em;color:var(--color-text-muted);transition:color .2s ease,transform .2s ease}.scene-actions .btn-icon:hover:not(:disabled){color:var(--color-primary);transform:scale(1.1)}.scene-actions .btn-icon[title*=Default]:hover:not(:disabled){color:var(--color-warning)}.sets-panel .config-section{margin-bottom:var(--space-lg)}.sets-panel h3{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary);font-size:var(--font-size-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sets-panel .form-help-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin-top:var(--space-xs);margin-bottom:0}.sets-panel .workspace-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-inset);scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.sets-panel .workspace-list::-webkit-scrollbar{width:6px}.sets-panel .workspace-list::-webkit-scrollbar-track{background:#0000001a}.sets-panel .workspace-list::-webkit-scrollbar-thumb{background-color:var(--color-primary-a30);border-radius:3px}.sets-panel .workspace-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary-a50)}.sets-panel .workspace-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-dark);gap:var(--space-sm)}.sets-panel .workspace-list li:last-child{border-bottom:none}.sets-panel .workspace-list li.active{background-color:var(--color-primary-a15)}.sets-panel .workspace-list li.active .workspace-name{font-weight:700;color:var(--color-primary)}.workspace-main-content{display:flex;align-items:center;gap:var(--space-sm);flex-grow:1;overflow:hidden}.workspace-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-md);color:var(--color-text)}.workspace-rename-form{display:flex;flex-grow:1;gap:var(--space-sm)}.workspace-rename-input{flex-grow:1;padding:4px 8px;background-color:var(--color-bg-inset-dark);border:1px solid var(--color-primary);color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.default-workspace-tag{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:700;background-color:var(--color-primary-a15);padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.workspace-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.workspace-actions .btn-icon{font-size:1.2em;color:var(--color-text-muted);transition:color .2s ease,transform .2s ease}.workspace-actions .btn-icon:hover:not(:disabled){color:var(--color-primary);transform:scale(1.1)}.workspace-actions .btn-icon[title*=Default]:hover:not(:disabled){color:var(--color-warning)}.workspace-actions .btn-icon.delete-action:hover:not(:disabled){color:var(--color-error)}.no-workspaces-message{font-style:italic;color:var(--color-text-muted);margin-top:var(--space-md);padding:var(--space-sm);text-align:center;background-color:var(--color-primary-a05);border-radius:var(--radius-sm)}.audio-control-content{padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-lg)}.audio-toggle-section{display:flex;justify-content:space-between;align-items:center;background:var(--color-primary-a05);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-primary-a15)}.toggle-description h3{font-size:var(--font-size-md);margin-bottom:var(--space-xs);color:var(--color-primary)}.toggle-description p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;max-width:300px}.toggle-switch-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-xxs)}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-light);border:1px solid var(--color-primary-a30);transition:var(--transition-normal);border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--color-text);transition:var(--transition-normal);border-radius:50%;box-shadow:0 1px 3px #0003}input:checked+.toggle-slider{background-color:var(--color-primary-a30);border-color:var(--color-primary-a50)}input:checked+.toggle-slider:before{transform:translate(24px);background-color:var(--color-primary)}.toggle-state{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.device-selector-info{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-bg-inset);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.device-selector-info label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted)}.device-select{width:100%;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg-light);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:not-allowed;opacity:.7}.device-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;line-height:1.4}.audio-meters-display{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-inset);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.meters-header{margin-bottom:var(--space-xs)}.listening-indicator{display:flex;align-items:center;color:var(--color-primary)}.signal-waves{display:flex;align-items:flex-end;margin-right:var(--space-sm);height:16px}.wave{display:inline-block;width:3px;background-color:var(--color-primary);margin-right:2px;animation:wave 1s infinite ease-in-out;border-radius:1px}.wave-1{height:60%;animation-delay:0s}.wave-2{height:100%;animation-delay:.2s}.wave-3{height:80%;animation-delay:.4s}@keyframes wave{0%,to{transform:scaleY(.5);opacity:.7}50%{transform:scaleY(1);opacity:1}}.level-meter{display:flex;align-items:center;gap:var(--space-sm)}.level-meter .meter-bar{flex-grow:1;min-width:50px}.frequency-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.frequency-meter{display:flex;flex-direction:column;gap:var(--space-xxs)}.meter-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);text-align:left;text-transform:uppercase}.meter-bar{width:100%;height:10px;background-color:var(--color-primary-a05);border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--color-primary-a15);position:relative}.meter-fill{height:100%;background-color:var(--color-primary);border-radius:var(--radius-xs);transition:width .05s linear;will-change:width}.meter-fill.level{background-color:var(--color-accent)}.meter-fill.bass{background-color:var(--color-bass)}.meter-fill.mid{background-color:var(--color-mid)}.meter-fill.treble{background-color:var(--color-treble)}.stop-listening-button{padding:var(--space-xs) var(--space-sm);background-color:var(--color-error-a30);color:var(--color-error-a90);border:1px solid var(--color-error-a50);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:700;margin-top:var(--space-sm);transition:all var(--transition-fast);text-transform:uppercase}.stop-listening-button:hover{background-color:var(--color-error-a50);color:var(--color-text)}.slider-group{display:flex;flex-direction:column;gap:var(--space-xs)}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.slider-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.slider-value{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-bg-inset);padding:2px 6px;border-radius:var(--radius-sm);font-family:monospace}.slider-labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:0 2px;margin-top:2px}.intensity-slider{width:100%;cursor:pointer;height:6px;background:var(--color-primary-a15);border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.intensity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 4px rgba(var(--color-primary-rgb),.5)}.intensity-slider::-moz-range-thumb{width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 4px rgba(var(--color-primary-rgb),.5)}.inactive-state{background:var(--color-glass-bg);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--color-border-subtle)}.inactive-description{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.inactive-description h4{font-size:var(--font-size-md);color:var(--color-text);margin-bottom:var(--space-sm)}.feature-description{margin-top:var(--space-sm)}.feature-description p{margin-bottom:var(--space-md);color:var(--color-text)}.feature-description ul{list-style:disc;padding-left:var(--space-lg);margin-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.feature-description li strong{color:var(--color-primary)}.usage-note{margin-top:var(--space-lg);background:var(--color-primary-a05);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary-a30);font-size:var(--font-size-xs)}.usage-note strong{color:var(--color-text)}.overlay.token-selector-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-overlay);background-color:#0000;opacity:0;visibility:hidden;pointer-events:none;transform:translateZ(0);transition:opacity .3s ease-out,background-color .3s ease-out,visibility 0s linear .3s}.overlay.token-selector-overlay.visible{opacity:1;visibility:visible;transition:opacity .3s ease-out,background-color .3s ease-out,visibility 0s linear 0s}.overlay.token-selector-overlay.state-opening{background-color:#0006;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.overlay.token-selector-overlay.state-content{background-color:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto}.overlay.token-selector-overlay.state-exiting{opacity:0;visibility:hidden;pointer-events:none;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:opacity .3s ease-out,background-color .3s ease-out,backdrop-filter .3s ease-out,visibility 0s linear .3s}.overlay.token-selector-overlay.preview-mode,.overlay.token-selector-overlay.preview-mode .overlay-content{opacity:.1!important;transition:opacity .15s ease-out!important}.overlay.token-selector-overlay .overlay-content{width:90%;max-width:900px;height:80vh;background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow-primary-lg);display:flex;flex-direction:column;opacity:0;transform:scale(.95) translateY(20px);transform-origin:center center;transition:opacity .3s ease-out,transform .3s ease-out}.overlay.token-selector-overlay.state-content .overlay-content{opacity:1;transform:scale(1) translateY(0)}.overlay.token-selector-overlay.state-exiting .overlay-content{opacity:0;transform:scale(.95) translateY(20px);transition:opacity .3s ease-out,transform .3s ease-out}.token-selector-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-md);border-bottom:1px solid var(--color-border);flex-shrink:0;background:rgba(var(--color-bg-rgb, 16, 16, 24),.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);height:50px;position:relative;z-index:20}.header-center-content{display:flex;flex-direction:column;align-items:center;flex-grow:1;padding:0 var(--space-lg)}.layer-buttons{display:flex;gap:var(--space-xs);margin-bottom:3px}.layer-button{width:34px;height:34px;background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:0;display:flex;align-items:center;justify-content:center}.layer-button:hover{background:var(--color-primary-a15);border-color:var(--color-primary-a30)}.layer-button.active{background:var(--color-primary-a15);border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-sm)}.layer-button-icon{width:20px;height:20px;opacity:.8}.layer-button:hover .layer-button-icon,.layer-button.active .layer-button-icon{opacity:1;filter:drop-shadow(0 0 3px var(--color-primary-a30))}.close-button{flex-shrink:0;width:30px;height:30px;font-size:18px;color:var(--color-primary-a70);border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.close-button:hover{background:var(--color-primary-a15);color:var(--color-primary)}.overlay-body{padding:0;display:flex;flex-direction:column;height:calc(100% - 50px);overflow:hidden}.token-display-area{flex-grow:1;overflow-y:auto;padding:var(--space-lg) var(--space-md);scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1);scrollbar-gutter:stable}.token-display-area::-webkit-scrollbar{width:6px}.token-display-area::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.token-display-area::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:3px}.token-display-area::-webkit-scrollbar-thumb:hover{background:var(--color-primary-a50)}.token-section{margin-bottom:var(--space-xl)}.token-section:last-child{margin-bottom:0}.token-section-header{display:flex;justify-content:space-between;align-items:center;font-size:1.1em;color:var(--color-primary-a70);margin:0 0 var(--space-md) var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.8px;font-weight:500}.token-section-header h3{margin:0;font-size:inherit;color:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.tokens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px;padding:8px}.token-item{background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs);cursor:pointer;transition:all var(--transition-normal);text-align:center;width:90px;height:90px;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;margin:4px;position:relative}.token-item:hover{border-color:var(--color-primary-a50);background:var(--color-primary-a15);transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-sm);z-index:10}.token-item.selected{border-color:var(--color-primary);background:var(--color-primary-a30);box-shadow:var(--shadow-primary-md)}.token-image-container{width:100%;height:100%;position:relative;overflow:hidden;border-radius:var(--radius-sm);background-color:#0000004d}.token-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal);pointer-events:none}.token-item:hover .token-image{transform:scale(1.05)}.loading-message{text-align:center;padding:var(--space-xl);color:var(--color-text-muted);font-style:italic;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.spinner{width:24px;height:24px;border:3px solid var(--color-primary-a20);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.palette-section{background:#0003;padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border-dark)}.create-palette-form{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.create-palette-form .form-control{flex-grow:1}.no-items-message{color:var(--color-text-muted);font-style:italic;text-align:center;padding:var(--space-md)}.collection-group{margin-bottom:var(--space-sm)}.collection-header{width:100%;background:var(--color-primary-a05);border:1px solid var(--color-border);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-align:left;color:var(--color-primary-a90);font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.collection-header:hover{background:var(--color-primary-a15)}.collection-toggle-button{flex-grow:1;background:none;border:none;color:inherit;font:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:0}.delete-palette-btn{background:none;border:none;color:var(--color-error-a70);font-size:1.2em;cursor:pointer;padding:0 var(--space-xs);transition:color var(--transition-fast);flex-shrink:0}.delete-palette-btn:hover{color:var(--color-error)}.chevron{transition:transform var(--transition-fast);font-size:1.2em}.chevron.expanded{transform:rotate(90deg)}.add-to-palette-btn,.remove-from-palette-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#0009;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.token-item:hover .add-to-palette-btn,.token-item:hover .remove-from-palette-btn{opacity:1}.add-to-palette-btn{color:var(--color-primary);border:1px solid var(--color-primary-a30)}.add-to-palette-btn:hover{background:var(--color-primary-a30)}.remove-from-palette-btn{color:var(--color-error);border:1px solid var(--color-error-a30)}.remove-from-palette-btn:hover{background:var(--color-error-a30)}.palette-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-overlay) + 1)}.palette-modal-content{background:var(--color-bg-light);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:90%;max-width:300px}.palette-modal-content h4{margin-top:0;color:var(--color-primary)}.palette-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:50vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1);padding:0 var(--space-xs)}.palette-list::-webkit-scrollbar{width:6px}.palette-list::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.palette-list::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:3px}.palette-list::-webkit-scrollbar-thumb:hover{background:var(--color-primary-a50)}.lazy-image-container{width:100%;height:100%;position:relative;background-color:#0003;border-radius:var(--radius-sm);overflow:hidden}.lazy-image-container .token-image{transition:opacity .3s ease-in-out}.placeholder-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(100deg,#fff0 20%,#ffffff0d,#fff0 80%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.loading-progress-header{padding:var(--space-xs) var(--space-md);background:#0000004d;border-bottom:1px solid var(--color-border);flex-shrink:0}.progress-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs);text-align:center}.progress-bar-container{height:4px;background:#0006;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .2s linear}.sort-controls{display:flex;align-items:center;gap:var(--space-xs)}.sort-controls label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.custom-select-sm{padding:2px 20px 2px 8px;font-size:var(--font-size-sm);background-position:right 6px center}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-overlay);background-color:#000c;backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));display:flex;justify-content:center;align-items:center;transition:background-color var(--transition-slow),backdrop-filter var(--transition-slow)}.overlay-content{width:90%;max-width:900px;height:85vh;background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow-primary-lg);transition:transform var(--transition-slow),opacity var(--transition-slow);display:flex;flex-direction:column}.overlay-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0}.overlay-title{margin:0;line-height:1;display:flex;align-items:center}.radar-logo-image{display:block;height:60px;width:auto;position:relative;left:10px;opacity:.55}.close-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xl);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);padding:0;margin:0;flex-shrink:0}.overlay-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0;align-items:stretch;min-height:0;width:100%}.info-overlay-tab-navigation{display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:var(--space-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow-x:auto;overflow-y:hidden;flex-shrink:0;align-items:center;min-width:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.info-overlay-tab-navigation::-webkit-scrollbar{display:none;height:0;width:0}.info-overlay-tab-navigation{mask-image:linear-gradient(to right,transparent 0%,black var(--space-lg),black calc(100% - var(--space-lg)),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black var(--space-lg),black calc(100% - var(--space-lg)),transparent 100%)}.info-overlay-tab-button{background:transparent;border:1px solid transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:6px 8px;margin:0 2px;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;flex-shrink:0;line-height:1.2}.info-overlay-tab-button:first-child{margin-left:var(--space-lg)}.info-overlay-tab-button:last-child{margin-right:var(--space-lg)}.info-overlay-tab-button:hover{background:var(--color-primary-a05);color:var(--color-primary-a90);border-color:var(--color-primary-a15)}.info-overlay-tab-button.active{background:var(--color-primary-a15);color:var(--color-primary);border-color:var(--color-primary-a30);box-shadow:var(--shadow-primary-sm)}.tab-content{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-lg);padding-right:calc(var(--space-lg) - 8px);min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1);overscroll-behavior:contain}.tab-content::-webkit-scrollbar{width:8px;height:8px}.tab-content::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.tab-content::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:4px}.tab-content::-webkit-scrollbar-thumb:hover{background:var(--color-primary-a50)}.tab-pane{padding-bottom:var(--space-lg)}.tab-pane h3{color:var(--color-primary);font-size:var(--font-size-lg);margin-top:0;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);font-weight:600}.tab-pane h4{color:var(--color-primary-a90);font-size:1.1em;margin-top:var(--space-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);margin-bottom:var(--space-md);font-weight:600}.tab-pane p{color:var(--color-text);line-height:1.7;margin-bottom:var(--space-md);font-size:12px}.tab-pane ul{list-style:none;padding-left:0;margin-bottom:var(--space-md)}.tab-pane li{margin-bottom:var(--space-sm);line-height:1.6;color:var(--color-text);position:relative;padding-left:var(--space-md);font-size:12px}.tab-pane li:before{content:"◆";position:absolute;left:0;top:1px;color:var(--color-primary-a50);font-size:.8em}.tab-pane strong{color:var(--color-primary-a90);font-weight:600}.tab-pane code{background-color:var(--color-primary-a05);color:var(--color-primary-a90);padding:2px 4px;border-radius:var(--radius-sm);font-family:monospace;font-size:.9em}.info-card{background:var(--color-primary-a05);border:1px solid var(--color-primary-a15);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.info-card h4{color:var(--color-primary);margin-top:0;margin-bottom:var(--space-sm);font-size:var(--font-size-md);border-bottom:none;padding-bottom:0;font-weight:600}.info-card p,.info-card li{font-size:12px;color:var(--color-text);margin-bottom:var(--space-sm)}.info-card p:last-child,.info-card ul:last-child{margin-bottom:0}.info-card ul{margin-top:var(--space-sm)}.info-card li:before{content:"—";left:2px;color:var(--color-primary-a70)}.overlay{opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility 0s linear .3s}.overlay.fadeToContent{opacity:1;visibility:visible;transition:opacity .3s ease-in,visibility 0s linear 0s}.overlay.exiting{opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility 0s linear .3s}.overlay-content{transition:transform .3s ease-out,opacity .3s ease-out}.overlay.exiting .overlay-content{transform:scale(.98);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.audio-status-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;margin:0;font-family:inherit;cursor:pointer;outline:none;width:var(--toolbar-button-size, 35px);height:var(--toolbar-button-size, 35px);display:flex;align-items:center;justify-content:center;background:var(--color-button-secondary-a80);backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));border:1px solid var(--color-primary-a50);border-radius:var(--radius-sm);color:var(--color-primary);transition:all var(--transition-fast);overflow:hidden;flex-shrink:0;position:relative}.audio-status-icon:hover{background:var(--color-primary-a15);border-color:var(--color-primary);transform:translateY(-1px)}.audio-status-icon:active{background:var(--color-primary-a20);transform:translateY(0)}@keyframes icon-active-pulse{0%,to{transform:scale(1);opacity:.8;filter:drop-shadow(0 0 4px var(--color-primary-a30))}50%{transform:scale(1.08);opacity:1;filter:drop-shadow(0 0 7px var(--color-primary-a70))}}.audio-icon{width:60%;height:60%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 2px var(--color-primary-a15));transition:transform .3s ease,opacity .3s ease,filter .3s ease}.audio-status-icon.active .audio-icon{animation:icon-active-pulse 1.8s infinite ease-in-out}.wave-container{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.audio-wave{display:inline-block;width:5px;background-color:currentColor;margin:0 1px;border-radius:1px;animation:wave 1.5s infinite ease-in-out}.audio-wave:first-child{margin-left:0}.audio-wave:last-child{margin-right:0}.audio-wave:nth-child(1){height:80%;animation-delay:0s}.audio-wave:nth-child(2){height:95%;animation-delay:.2s}.audio-wave:nth-child(3){height:65%;animation-delay:.4s}@keyframes wave{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.2)}}:root{--color-scene-active-bg: rgba(255, 193, 7, .9);--color-scene-active-border: rgba(255, 193, 7, 1);--color-scene-active-text: #000000;--color-scene-hover-bg: rgba(255, 204, 51, .8);--color-scene-hover-border: rgba(255, 214, 82, 1);--color-scene-hover-text: #1a1a2e;--ping-duration: 2s;--ping-color: rgba(255, 193, 7, .6)}.scene-selector-bar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xxs);contain:content;opacity:1;visibility:visible;background:transparent}.scene-buttons-container{display:flex;gap:var(--space-sm);will-change:transform}.scene-selector-button,.pagination-button{font-family:var(--font-family);font-weight:700;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,transform .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--color-glass-bg-dark);position:relative;transform:translateZ(0)}.scene-selector-button{font-size:var(--font-size-xs);width:30px;height:30px}.pagination-button{font-size:var(--font-size-sm);width:26px;height:26px}.scene-selector-button:hover:not(:disabled):not(.active){background:var(--color-scene-hover-bg);color:var(--color-scene-hover-text);transform:translateY(-1px)}.scene-selector-button.active{background:var(--color-scene-active-bg);border-color:var(--color-scene-active-border);color:var(--color-scene-active-text);cursor:default}.scene-selector-button.active:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid var(--ping-color);border-radius:var(--radius-sm);pointer-events:none;animation:hardware-ping var(--ping-duration) infinite cubic-bezier(0,0,.2,1)}@keyframes hardware-ping{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}.scene-selector-button:disabled{opacity:.5;cursor:not-allowed}.library-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.library-panel .section-box{background:var(--color-primary-a05);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.library-panel .admin-header{background:var(--color-success-a10);border:1px solid var(--color-success-a30);border-radius:var(--radius-md);padding:var(--space-md)}.library-panel .admin-badge{display:inline-block;background:var(--color-success-a30);color:var(--color-success-a90);font-size:var(--font-size-xs);font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.library-panel .admin-description{font-size:var(--font-size-sm);color:var(--color-text);margin:0;line-height:1.4}.library-panel .section-title{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary);font-size:var(--font-size-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.library-panel .status-message.error{background:var(--color-error-a10);border:1px solid var(--color-error-a30);color:var(--color-error-a90);padding:var(--space-sm);border-radius:var(--radius-sm);text-align:center}.library-panel .form-control{background-color:var(--color-bg-inset)}.library-panel .loading-message,.library-panel .empty-message{text-align:center;padding:var(--space-md);color:var(--color-text-muted);font-style:italic}.library-panel .collections-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xs)}.library-panel .collection-card{background:#0003;border:1px solid var(--color-border-dark);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative;display:flex;flex-direction:row;align-items:center;padding:var(--space-xs);gap:var(--space-sm)}.library-panel .collection-card:hover{border-color:var(--color-primary-a30);background:var(--color-primary-a05);transform:translateY(-1px);box-shadow:none}.library-panel .collection-image{width:50px;height:50px;flex-shrink:0;position:relative;background:var(--color-bg);border-radius:var(--radius-sm);overflow:hidden;padding-bottom:0}.library-panel .collection-image .collection-link{display:block;width:100%;height:100%}.library-panel .collection-image.is-clickable:hover{opacity:.8;box-shadow:0 0 8px var(--color-primary-a30)}.library-panel .collection-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.library-panel .collection-info{padding:0;flex-grow:1;overflow:hidden;min-width:0}.library-panel .collection-name{font-size:var(--font-size-md);color:var(--color-primary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-panel .collection-address{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-panel .remove-button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#00000080;border:1px solid var(--color-error-a50);color:var(--color-error-a90);display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;cursor:pointer;transition:all var(--transition-fast);z-index:5;opacity:0}.library-panel .collection-card:hover .remove-button{opacity:1}.library-panel .remove-button:hover{background:var(--color-error-a30);transform:scale(1.1)}.midi-learn-btn{background:var(--color-primary-a10);border:1px solid var(--color-primary-a30);color:var(--color-primary);border-radius:3px;cursor:pointer;outline:none;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.midi-learn-btn:hover:not(:disabled){background:var(--color-primary-a20);border-color:var(--color-primary-a50)}.midi-learn-btn.learning{background:var(--color-accent-a20);border-color:var(--color-accent);color:var(--color-accent);animation:blink 1s infinite}.modulation-panel .panel-content{padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto;scrollbar-gutter:stable}.mod-list-container{display:flex;flex-direction:column;gap:8px;padding-bottom:20px}.lfo-generator-section{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);margin-bottom:var(--space-sm)}.lfo-config-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding:4px 6px;background:#ffffff08;border-radius:4px}.lfo-header-group{display:flex;align-items:center;gap:8px;width:80px}.lfo-visualizer{width:14px;height:14px;background:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}.lfo-dot-live{width:8px;height:8px;border-radius:50%;background:var(--color-text);transition:transform .05s linear}.lfo-label{font-size:10px;font-weight:700;color:var(--color-text-muted)}.lfo-controls{flex-grow:1;display:flex;gap:8px;align-items:center}.lfo-type-select{width:55px!important;padding:2px!important;font-size:9px!important;height:18px;background-color:var(--color-bg)}.lfo-speed-container{flex-grow:1;display:flex;align-items:center}.lfo-speed-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-primary-a15);outline:none;cursor:pointer;border-radius:2px}.lfo-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:0 0 5px #00000080}.mod-actions-row{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:var(--space-sm);padding-right:4px;padding-top:4px}.vertical-divider{width:1px;height:12px;background-color:var(--color-border)}.btn-link-action{background:none;border:none;color:var(--color-primary-a70);font-size:10px;cursor:pointer;text-transform:uppercase;font-weight:700;padding:0;transition:color .2s}.btn-link-action:hover{color:var(--color-primary);text-decoration:underline}.btn-link-danger{background:none;border:none;color:var(--color-error-a70);font-size:10px;cursor:pointer;text-transform:uppercase;font-weight:700;padding:0;transition:color .2s}.btn-link-danger:hover{color:var(--color-error);text-decoration:underline}.category-block{margin-bottom:4px;background:#0003;border-radius:var(--radius-sm);overflow:hidden}.category-header{font-size:11px;font-weight:700;color:var(--color-text-dim);text-transform:uppercase;padding:8px 10px;background:#ffffff08;cursor:pointer;display:flex;justify-content:space-between;transition:all .2s;border:1px solid transparent}.category-header:hover{background:#ffffff14;color:var(--color-text)}.category-header.open{color:var(--color-primary);background:var(--color-primary-a05);border-bottom-color:var(--color-border-dark)}.category-content{display:flex;flex-direction:column;gap:4px;padding:6px;background:#00000026}.effect-group{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;transition:all var(--transition-fast)}.effect-group.active-effect{border-color:var(--color-primary-a30);background:#00f3ff08}.effect-group.expanded{border-color:var(--color-primary-a50);box-shadow:0 4px 12px #0003;margin-bottom:4px}.effect-group-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;cursor:pointer;background:#ffffff05;transition:background .2s;-webkit-user-select:none;user-select:none}.effect-group-header:hover{background:#ffffff0d}.effect-header-left{display:flex;align-items:center;gap:8px}.effect-status-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-text-dim);transition:all .3s}.effect-status-dot.on{background-color:var(--color-primary);box-shadow:0 0 6px var(--color-primary)}.effect-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--color-text);letter-spacing:.5px}.effect-group.active-effect .effect-label{color:var(--color-primary)}.effect-toggle{font-size:12px;color:var(--color-text-muted);font-weight:700}.effect-params-container{padding:var(--space-sm);border-top:1px solid var(--color-border-dark);display:flex;flex-direction:column;gap:8px;background:#0003}.param-block{display:flex;flex-direction:column;gap:4px}.param-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.param-name{font-size:9px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.param-value-display{font-size:9px;font-family:monospace;color:var(--color-primary);background:#0000004d;padding:1px 4px;border-radius:2px;min-width:25px;text-align:right}.param-control-row{margin-bottom:4px}.slider-wrapper{position:relative;width:100%;height:14px;display:flex;align-items:center}.slider-track-bg{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:4px;background:var(--color-bg-dark);border:1px solid var(--color-border-dark);border-radius:2px;overflow:hidden;z-index:0}.mod-visualizer-bar{height:100%;background:var(--color-primary);width:0%;transition:width 0s;opacity:.6}.base-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:100%;background:transparent;outline:none;cursor:pointer;z-index:1;margin:0}.base-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;background:#fff;border:2px solid var(--color-bg-dark);border-radius:50%;cursor:pointer;box-shadow:0 0 4px #00000080;margin-top:0}.active-patches{margin-bottom:6px;display:flex;flex-direction:column;gap:3px;padding:4px;background:#0003;border-radius:var(--radius-sm)}.patch-row{display:grid;grid-template-columns:60px 1fr 16px;align-items:center;gap:8px;background:#ffffff08;padding:3px 6px;border-radius:3px}.patch-source-name{font-size:8px;color:var(--color-warning);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.patch-slider-container{position:relative;display:flex;align-items:center;height:12px}.patch-amount-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:var(--color-border);outline:none;border-radius:1px;cursor:ew-resize}.patch-amount-slider::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:8px;background:var(--color-warning);border-radius:50%;cursor:pointer;border:none}.btn-remove-patch{background:none;border:none;color:var(--color-error-a50);font-size:14px;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove-patch:hover{color:var(--color-error)}.add-patch-ui{display:flex;gap:4px;height:20px}.add-patch-ui .source-select{flex-grow:1;font-size:9px;padding:0 4px;height:100%;background-color:var(--color-bg-inset);border:1px solid var(--color-border);color:var(--color-text-muted)}.add-patch-ui .source-select:hover{border-color:var(--color-primary-a30);color:var(--color-primary)}.btn-add-patch{width:20px;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-primary-a10);border:1px solid var(--color-primary-a30);color:var(--color-primary);font-size:14px;border-radius:var(--radius-sm);cursor:pointer;padding:0;line-height:1}.btn-add-patch:hover:not(:disabled){background:var(--color-primary-a30);color:#fff}.btn-add-patch:disabled{opacity:.3;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-muted)}.checkbox-wrapper{display:flex;align-items:center;gap:10px}.toggle-switch{position:relative;display:inline-block;width:28px;height:14px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-light);border:1px solid var(--color-border);transition:.2s;border-radius:14px}.toggle-slider:before{position:absolute;content:"";height:8px;width:8px;left:2px;bottom:2px;background-color:var(--color-text-muted);transition:.2s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--color-primary-a15);border-color:var(--color-primary-a50)}input:checked+.toggle-slider:before{transform:translate(14px);background-color:var(--color-primary);box-shadow:0 0 5px var(--color-primary)}.crossfader-container{display:flex;align-items:center;justify-content:center;padding:var(--space-xs) 0;contain:layout style}input[type=range].crossfader-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:280px;height:6px;background:#ffffff1a;outline:none;border-radius:3px;cursor:grab;margin:0;touch-action:none}.crossfader-slider::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;background:transparent}.crossfader-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:18px;width:18px;border-radius:4px;background:var(--color-primary);border:2px solid #000;cursor:pointer;margin-top:-6px;box-shadow:0 2px 4px #00000080;transform:translateZ(0);will-change:transform}.crossfader-slider::-moz-range-thumb{height:18px;width:18px;border-radius:4px;background:var(--color-primary);border:2px solid #000;cursor:pointer;transform:translateZ(0)}.crossfader-slider:active{cursor:grabbing}.workspace-dots-container{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xs) 0;width:100%;contain:content}.workspace-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-primary-a30);background-color:transparent;cursor:pointer;padding:0;transition:border-color .2s;flex-shrink:0;transform:translateZ(0)}.workspace-dot:hover:not(:disabled){border-color:var(--color-primary)}.workspace-dot.active{background-color:var(--color-primary);border-color:var(--color-primary);transform:scale(1.2)}.workspace-dot:disabled{opacity:.4;cursor:not-allowed}.transition-mode-btn{color:#fff!important}.transition-mode-btn .icon-image{color:#fff!important;stroke:#fff!important;opacity:.9;transition:all var(--transition-fast)}.transition-mode-btn:hover .icon-image{opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}.transition-mode-btn.active{border-color:var(--color-primary);background:var(--color-primary-a15);box-shadow:var(--shadow-primary-md)}.preview-mode-indicator{position:fixed;bottom:var(--space-lg);left:var(--space-lg);background:var(--color-warning-a30);color:var(--color-warning-a90);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-weight:700;font-size:var(--font-size-sm);z-index:var(--z-top);pointer-events:none;display:flex;align-items:center;gap:var(--space-xs)}.receiver-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .2s ease-out;pointer-events:auto!important;touch-action:none}.receiver-modal-content{background:var(--color-glass-bg-dark);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:550px;width:90%;box-shadow:0 0 40px #00f3ff1a;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:var(--space-md)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.receiver-modal-header{display:flex;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm);margin-bottom:var(--space-xs)}.receiver-modal-title{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin:0}.receiver-modal-body{color:var(--color-text);font-size:var(--font-size-md);line-height:1.6}.receiver-modal-info-box{background:#00f3ff0d;border-left:3px solid var(--color-primary);padding:var(--space-md);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:var(--space-md) 0}.receiver-modal-info-box strong{color:var(--color-primary);display:block;margin-bottom:var(--space-xs);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:1px}.receiver-modal-info-box ol{padding-left:var(--space-lg);margin:0}.receiver-modal-info-box li{margin-bottom:6px;color:var(--color-text-muted)}.receiver-modal-info-box li strong{display:inline;color:var(--color-text);text-transform:none;font-size:inherit;letter-spacing:normal}.receiver-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-sm)}.receiver-modal-btn{padding:12px 24px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s ease;text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:.5px}.receiver-modal-btn.cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.receiver-modal-btn.cancel:hover{border-color:var(--color-text);color:var(--color-text);background:#ffffff0d}.receiver-modal-btn.confirm{background:var(--color-primary-a15);border:1px solid var(--color-primary);color:var(--color-primary);box-shadow:0 0 15px var(--color-primary-a15)}.receiver-modal-btn.confirm:hover{background:var(--color-primary);color:#000;box-shadow:0 0 25px var(--color-primary-a50);transform:translateY(-2px)}.player-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;touch-action:none;user-select:none;-webkit-user-select:none;background:transparent}.scene-toast{position:absolute;bottom:85px;left:50%;transform:translate(-50%) translateY(20px);background:#0009;color:var(--color-primary);font-family:var(--font-family-radar);font-size:1.5rem;letter-spacing:2px;padding:10px 24px;border-radius:30px;border:1px solid var(--color-primary-a30);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.scene-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.fx-cycle-btn{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#00000080;border:1px solid var(--color-primary-a50);color:var(--color-primary);font-family:var(--font-family);font-size:13px;font-weight:700;letter-spacing:3px;padding:12px 24px;border-radius:30px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .15s cubic-bezier(.4,0,.2,1);z-index:10;white-space:nowrap;box-shadow:0 4px 15px #00f3ff26}.fx-cycle-btn:active{background:var(--color-primary-a30);color:#fff;transform:translate(-50%) scale(.95);box-shadow:0 0 20px #00f3ff66}.menu-dot{position:absolute;top:20px;right:20px;background:#0006;border:1px solid var(--color-primary-a30);color:var(--color-primary-a70);width:40px;height:40px;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .2s ease;z-index:10}.menu-dot:active{background:var(--color-primary-a30);color:#fff}.player-menu-modal{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2001;animation:fadeIn .2s ease-out}.player-menu-content{background:var(--color-glass-bg-dark);padding:30px;border-radius:20px;border:1px solid var(--color-primary-a30);display:flex;flex-direction:column;gap:15px;width:80%;max-width:320px;box-shadow:0 10px 40px #00000080}.player-menu-content h3{text-align:center;color:var(--color-primary);margin-top:0;margin-bottom:10px;letter-spacing:1px}.player-btn{background:var(--color-primary-a10);border:1px solid var(--color-primary-a30);color:var(--color-text);padding:15px;border-radius:12px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.player-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary);box-shadow:0 0 15px var(--color-primary-a50)}.menu-divider{height:1px;background:var(--color-border);margin:10px 0}.player-btn.exit{background:transparent;color:var(--color-error);border-color:var(--color-error-a30)}.fps-counter{position:absolute;bottom:10px;left:10px;background-color:#00000080;color:#fff;padding:5px 10px;border-radius:3px;font-size:12px;z-index:10000;pointer-events:none}#portal-container .fps-counter{position:fixed;bottom:10px;left:10px}.main-view{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background-color:#000}.canvas-container{position:relative;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform:translateZ(0);will-change:opacity;opacity:1;visibility:visible;background:radial-gradient(circle at center,var(--color-bg-light) 0%,#000000 100%);z-index:1;transition:opacity .5s ease-in-out}.canvas-container.mapping-active{background:#000!important}.canvas-container.mapping-active .grid-overlay{display:none!important}.canvas-container.workspace-fading-out{opacity:0}.main-view.overlay-animating .canvas-container{opacity:.6;transition:opacity .05s linear}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px;z-index:2;pointer-events:none}.pixi-canvas{position:absolute;width:100%!important;height:100%!important;top:0;left:0;display:block;backface-visibility:hidden;will-change:transform,opacity;transform:translateZ(0)}.canvas.layer-1.canvas-deck-a{z-index:3}.canvas.layer-1.canvas-deck-b{z-index:4}.canvas.layer-2.canvas-deck-a{z-index:5}.canvas.layer-2.canvas-deck-b{z-index:6}.canvas.layer-3.canvas-deck-a{z-index:7}.canvas.layer-3.canvas-deck-b{z-index:8}.status-display{position:fixed;top:75%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-top);backdrop-filter:blur(var(--blur-amount, 3px));-webkit-backdrop-filter:blur(var(--blur-amount, 3px));box-shadow:var(--shadow-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;text-align:center;min-width:250px;transition:opacity 1s cubic-bezier(.2,.8,.2,1);opacity:1;pointer-events:none}.status-display.info-state{background:rgba(var(--color-warning-rgb),.25);border:1px solid var(--color-warning-a50, rgba(255, 165, 0, .5));color:var(--color-warning, #ffa500)}.status-display.error-state{background:rgba(var(--color-error-rgb),.25);border:1px solid var(--color-error-a50, rgba(255, 85, 85, .5));color:var(--color-error, #ff5555)}.status-display.fade-out{opacity:0}#fullscreen-root.radar-cursor{cursor:url(/assets/cursors/radar-dot.svg) 8 8,auto}.click-ping-svg-container{position:fixed;transform:translate(-50%,-50%);width:40px;height:40px;pointer-events:none;z-index:10001}.ping-svg-animation .click-ping-svg circle{animation:ping-circle-anim-simple .7s linear forwards}@keyframes ping-circle-anim-simple{0%{r:2;stroke-opacity:1;transform:scale(.1)}to{r:30;stroke-opacity:0;transform:scale(2.5)}}.start-veil{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg);background-image:radial-gradient(circle,rgba(var(--color-primary-rgb),.1) 1px,transparent 1px),radial-gradient(circle at center,var(--color-bg-light) 0%,#000000 100%);background-size:20px 20px,cover;z-index:var(--z-top);animation:fadeIn 1.5s ease-in-out;overflow:hidden}.start-background-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);perspective:800px;pointer-events:none;z-index:1}.start-logo-animated{position:relative;width:300px;height:300px;transform-style:preserve-3d;opacity:.4}.logo-bottom,.logo-top{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.logo-bottom{transform:translateZ(-15px);filter:blur(4px)}.logo-top{transform:translateZ(15px)}.start-selection-layer{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;z-index:10}.desktop-layout .start-selection-layer{flex-direction:row}.mobile-layout .start-selection-layer{flex-direction:column}.selection-half{flex:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .4s ease,backdrop-filter .4s ease;background:#0000004d}.selection-half:hover{background:#00f3ff0d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.selection-content{text-align:center;padding:var(--space-xl);transform:scale(.95);transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.selection-half:hover .selection-content{transform:scale(1.05)}.selection-content h2{font-family:var(--font-family-radar);font-size:3rem;letter-spacing:4px;color:var(--color-primary);margin-bottom:var(--space-sm);text-shadow:0 0 15px rgba(0,243,255,.4)}.selection-content p{color:var(--color-text-muted);font-size:var(--font-size-md);max-width:250px;margin:0 auto}.selection-divider{background:linear-gradient(to bottom,transparent,var(--color-primary-a30),transparent)}.desktop-layout .selection-divider{width:1px;height:100%}.mobile-layout .selection-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--color-primary-a30),transparent)}:root{--font-family-radar: "RadarFont", var(--font-family);--color-primary: #00f3ff;--color-primary-rgb: 0, 243, 255;--color-primary-a90: rgba(0, 243, 255, .9);--color-primary-a70: rgba(0, 243, 255, .7);--color-primary-a50: rgba(0, 243, 255, .5);--color-primary-a30: rgba(0, 243, 255, .3);--color-primary-a15: rgba(0, 243, 255, .15);--color-primary-a05: rgba(0, 243, 255, .05);--color-bg-dark: #050f19;--color-bg: #101018;--color-bg-light: #1a1a2e;--color-glass-bg: rgba(16, 16, 24, .8);--color-glass-bg-light: rgba(26, 26, 46, .8);--color-glass-bg-dark: rgba(5, 10, 15, .9);--color-success: #00ff00;--color-success-rgb: 0, 255, 0;--color-warning: #ffa500;--color-warning-rgb: 255, 165, 0;--color-error: #ff5555;--color-error-rgb: 255, 85, 85;--color-success-a90: rgba(0, 255, 0, .9);--color-success-a30: rgba(0, 255, 0, .3);--color-success-a10: rgba(0, 255, 0, .1);--color-warning-a90: rgba(255, 165, 0, .9);--color-warning-a30: rgba(255, 165, 0, .3);--color-warning-a10: rgba(255, 165, 0, .1);--color-error-a90: rgba(255, 85, 85, .9);--color-error-a30: rgba(255, 85, 85, .3);--color-error-a10: rgba(255, 85, 85, .1);--color-lyx: #ff9000;--color-lyx-a20: rgba(255, 144, 0, .2);--color-token: #00ff80;--color-token-a20: rgba(0, 255, 128, .2);--color-contract: #0080ff;--color-contract-a20: rgba(0, 128, 255, .2);--color-accent: #FFD700;--color-bass: #FF5733;--color-mid: #FFC300;--color-treble: #33FFBD;--color-text: rgba(255, 255, 255, .9);--color-text-muted: rgba(255, 255, 255, .6);--color-text-dim: rgba(255, 255, 255, .4);--color-border: rgba(0, 243, 255, .2);--color-border-light: rgba(0, 243, 255, .3);--color-border-dark: rgba(0, 243, 255, .1);--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 20px;--space-xl: 24px;--space-xxl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-circle: 50%;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 10px rgba(0, 0, 0, .3);--shadow-lg: 0 5px 15px rgba(0, 0, 0, .3);--shadow-primary-sm: 0 0 5px rgba(0, 243, 255, .2);--shadow-primary-md: 0 0 10px rgba(0, 243, 255, .3);--shadow-primary-lg: 0 0 15px rgba(0, 243, 255, .3);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-elastic: .5s cubic-bezier(.25, .46, .45, .94);--z-background: 1;--z-base: 10;--z-canvas: 100;--z-ui: 500;--z-controls: 1000;--z-panel-active: 1001;--z-overlay: 1500;--z-top: 2000;--z-tooltip: 2500;--icon-size-sm: 24px;--icon-size-md: 28px;--icon-size-lg: 35px;--panel-width: 300px;--control-panel-width: 300px;--blur-amount: 2px;--font-family: "Arial", sans-serif;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-xxl: 24px;--header-height: 40px;--panel-left-position: 90px}@font-face{font-family:RadarFont;src:url(/RADAR.ttf) format("truetype");font-weight:400;font-style:normal}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family);font-size:16px;color:var(--color-text)}.app{position:relative;width:100%;height:100%;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:500}p{line-height:1.5;margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-a70)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.7}50%{transform:scale(1.05);opacity:.3}to{transform:scale(.95);opacity:.7}}@keyframes pulse-core{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:.2}to{transform:scale(1);opacity:.5}}@keyframes highlight-new{0%{background:var(--color-primary-a30);transform:translateY(-5px)}to{background:var(--color-primary-a05);transform:translateY(0)}}@keyframes bell-pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}to{transform:scale(1)}}.main-view{width:100vw;height:100vh;background:#000;position:relative;overflow:hidden;display:block}.canvas-container{width:100%;height:100%;position:relative;overflow:hidden;z-index:var(--z-background)}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(var(--color-primary-rgb),.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;opacity:1;z-index:0}.entity-logo{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);max-width:200px;z-index:var(--z-ui);opacity:1;transition:all var(--transition-slow) ease}.ui-elements-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:var(--z-ui);isolation:isolate;transform:translateZ(0);backface-visibility:hidden;transition:opacity .4s ease-in-out}.ui-elements-container>*{pointer-events:auto}.ui-elements-container.visible{opacity:1}.ui-elements-container.hidden-by-opacity{opacity:0}.bottom-center-controls{position:fixed;bottom:var(--space-md);left:50%;transform:translate(-50%);z-index:var(--z-controls);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.status-display{position:fixed;top:20%;left:50%;transform:translate(-50%);z-index:var(--z-top);backdrop-filter:blur(var(--blur-amount, 3px));-webkit-backdrop-filter:blur(var(--blur-amount, 3px));padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;text-align:center;min-width:250px;transition:opacity .5s ease-in-out;opacity:1;pointer-events:none}.status-display.info-state{background:rgba(var(--color-warning-rgb),.25);border:1px solid var(--color-warning-a50);color:var(--color-warning, #ffa500)}.status-display.error-state{background:rgba(var(--color-error-rgb),.25);border:1px solid var(--color-error-a50);color:var(--color-error, #ff5555)}.loading-indicator-pill{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-top);display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s ease-in-out}.loading-indicator-pill.visible{opacity:1;visibility:visible}.fps-counter{position:fixed;bottom:var(--space-sm, 12px);left:var(--space-sm, 12px);z-index:10001;pointer-events:none;background:#0006;color:var(--color-text-dim, rgba(255, 255, 255, .4));padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-family:monospace;opacity:.7}.bottom-right-icons{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-controls);display:flex;flex-direction:column-reverse;align-items:center;gap:var(--space-sm);pointer-events:auto}.general-connect-pill{position:fixed;bottom:calc(var(--space-md) + 36px + var(--space-sm));left:50%;transform:translate(-50%);background-color:var(--color-warning-a10);color:var(--color-warning-a90);padding:8px 16px;border-radius:var(--radius-md);font-size:var(--font-size-sm);border:1px solid var(--color-warning-a30);z-index:var(--z-top);text-align:center;animation:fadeIn .3s ease-out}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);background:var(--color-primary-a15);color:var(--color-primary);border:1px solid var(--color-primary-a30);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-weight:500;text-transform:uppercase;cursor:pointer;transition:all var(--transition-normal)}.btn:hover:not(:disabled){background:var(--color-primary-a30);border-color:var(--color-primary-a50);transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font-size:var(--font-size-sm);padding:var(--space-xxs) var(--space-xs)}.btn-block{width:100%;display:block}.btn-icon{width:var(--icon-size-md);height:var(--icon-size-md);padding:0;border-radius:var(--radius-circle)}.close-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xl);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);padding:0;margin:0}.close-button:hover{opacity:.8;transform:scale(1.1)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-primary-a90);text-transform:uppercase}.form-control{width:100%;padding:var(--space-xs) var(--space-sm);background:var(--color-glass-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--font-size-md);transition:border-color var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-sm)}.custom-select{width:100%;padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-sm);background:var(--color-glass-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6' fill='none'%3E%3Cpath d='M6 6L0 0H12L6 6Z' fill='%2300f3ff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;border:1px solid var(--color-border);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.custom-select:hover{border-color:var(--color-primary-a30);background-color:var(--color-primary-a05)}.custom-select:focus{outline:none;border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-sm)}.slider-container{margin-bottom:var(--space-md)}.slider-header{display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.slider-label{text-transform:uppercase;font-size:var(--font-size-sm);color:var(--color-primary-a90)}.slider-value{font-size:var(--font-size-sm);color:var(--color-primary-a90)}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:4px;background:var(--color-primary-a15);border-radius:2px;outline:none;transition:background var(--transition-fast)}input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 10px var(--color-primary-a30)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.2);box-shadow:0 0 10px var(--color-primary-a30)}input[type=range]:hover{background:var(--color-primary-a30)}.checkbox-group{display:flex;align-items:center;gap:var(--space-xs)}.checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.panel{background:var(--color-glass-bg-dark);border:1px solid var(--color-primary-a15);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text);box-shadow:var(--shadow-lg);overflow:hidden;width:var(--panel-width);max-height:80vh;display:flex;flex-direction:column}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:#10101866;border-bottom:1px solid var(--color-border);flex-shrink:0}.panel-title{font-size:var(--font-size-lg);text-transform:uppercase;margin:0;letter-spacing:.5px;font-weight:500;color:var(--color-primary)}.panel-content{padding:var(--space-md);overflow-y:auto;flex-grow:1}.panel-from-toolbar{position:fixed;top:var(--space-lg);left:var(--panel-left-position);animation:slideInFromLeft var(--transition-normal) var(--transition-elastic)}.toolbar-icon{width:var(--icon-size-lg);height:var(--icon-size-lg);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:var(--color-primary-a05);border:1px solid var(--color-border);overflow:visible;position:relative}.toolbar-icon:hover{background:var(--color-primary-a15);border-color:var(--color-primary-a30);transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.toolbar-icon.active{background:var(--color-primary-a15);border-color:var(--color-primary-a50);box-shadow:var(--shadow-primary-md)}.toolbar-icon .icon-image{width:var(--icon-size-md);height:var(--icon-size-md);transition:all var(--transition-fast);opacity:1}.toolbar-icon:hover .icon-image,.toolbar-icon.active .icon-image{opacity:1;filter:drop-shadow(0 0 5px var(--color-primary-a30))}.notification-badge{position:absolute;top:-8px;right:-8px;min-width:16px;height:16px;background:var(--color-error);color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 0 5px var(--color-error-a50, rgba(255, 85, 85, .5));z-index:var(--z-base)}.notification-item{padding:var(--space-sm);background:var(--color-primary-a05);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-a30);transition:all var(--transition-fast);cursor:pointer;margin-bottom:var(--space-xs)}.notification-item:hover{background:var(--color-primary-a15);transform:translateY(-2px)}.notification-item.new{border-left-color:var(--color-error, #ff5555);background:var(--color-error-a05, rgba(255, 85, 85, .05));animation:highlight-new 2s ease-out}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-overlay);background-color:#000000bf;display:flex;justify-content:center;align-items:center;transition:background-color var(--transition-slow)}.overlay-content{width:90%;max-width:900px;height:80vh;background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow-primary-lg);transition:opacity var(--transition-slow);display:flex;flex-direction:column}.overlay-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.overlay-title{color:var(--color-primary);font-size:var(--font-size-xxl);margin:0}.overlay-body{padding:var(--space-lg);overflow-y:auto;flex-grow:1}.panel-content::-webkit-scrollbar,.overlay-body::-webkit-scrollbar{width:8px;height:8px}.panel-content::-webkit-scrollbar-track,.overlay-body::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.panel-content::-webkit-scrollbar-thumb,.overlay-body::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:4px}.panel-content::-webkit-scrollbar-thumb:hover,.overlay-body::-webkit-scrollbar-thumb:hover{background:var(--color-primary-a50)}.panel-content,.overlay-body{scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.top-right-controls-container{position:fixed;top:var(--space-lg);right:var(--space-lg);display:flex;flex-direction:row;align-items:center;gap:10px;z-index:var(--z-controls);width:fit-content;max-width:100%;background:none;pointer-events:auto}.top-right-controls-container .toolbar-icon{width:var(--icon-size-lg);height:var(--icon-size-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:#00f3ff0d;border:1px solid rgba(0,243,255,.2);overflow:visible;position:relative;padding:0;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);pointer-events:auto}.top-right-controls-container .toolbar-icon:hover{background:#00f3ff26;border-color:#00f3ff4d;transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.top-right-controls-container .toolbar-icon.active{background:#00f3ff26;border-color:#00f3ff80;box-shadow:var(--shadow-primary-md)}.top-right-controls-container .icon-image{width:var(--icon-size-md);height:var(--icon-size-md);transition:all var(--transition-fast);opacity:.9}.top-right-controls-container .toolbar-icon:hover .icon-image{opacity:1;filter:drop-shadow(0 0 5px rgba(0,243,255,.3))}.enhanced-view-icon{font-size:18px;color:var(--color-primary);transition:all var(--transition-fast)}.top-right-controls-container .toolbar-icon:hover .enhanced-view-icon{transform:scale(1.1);filter:drop-shadow(0 0 3px var(--color-primary-a30))}.top-right-controls-container.ui-hidden .toolbar-icon:not(.fixed-toggle-button){display:none!important}.top-right-controls-container .fixed-toggle-button{display:flex!important}.top-right-controls-container.ui-hidden .fixed-toggle-button.show-ui-btn{opacity:.7;background:#0003;border-color:rgba(var(--color-primary-rgb),.4)}.top-right-controls-container.ui-hidden .fixed-toggle-button.show-ui-btn:hover{opacity:1;background:rgba(var(--color-primary-rgb),.15)}.global-midi-status{pointer-events:auto;display:flex;flex-direction:column;align-items:flex-end;position:relative}.global-midi-status .toolbar-icon{width:35px;height:35px;padding:0;display:flex;justify-content:center;align-items:center;background:var(--color-primary-a15);border:1px solid var(--color-primary-a30);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);flex-shrink:0}.global-midi-status .toolbar-icon:hover{background:var(--color-primary-a25);transform:translateY(-1px);box-shadow:var(--shadow-primary-md)}.global-midi-status .toolbar-icon.disconnected{background:#ffffff1a;border-color:#fff3}.global-midi-status .toolbar-icon.disconnected .midi-icon{opacity:.6;filter:grayscale(80%);animation:none}.global-midi-status .toolbar-icon.connected{background:var(--color-primary-a15);border-color:var(--color-primary-a30)}.global-midi-status .toolbar-icon.connecting .connecting-spinner{display:block}.global-midi-status .toolbar-icon.connecting .midi-icon{display:none}.global-midi-status .toolbar-icon.error{background:var(--color-error-a10);border-color:var(--color-error-a30);color:var(--color-error);animation:error-pulse 1.5s infinite ease-in-out}.global-midi-status .toolbar-icon.error .midi-icon{display:none}.connecting-spinner{display:none;width:20px;height:20px;border:3px solid var(--color-primary-a30);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes midi-active-pulse{0%,to{transform:scale(1);opacity:.8;filter:drop-shadow(0 0 4px var(--color-primary-a30))}50%{transform:scale(1.08);opacity:1;filter:drop-shadow(0 0 7px var(--color-primary-a70))}}.global-midi-status .toolbar-icon.connected .midi-icon{animation:midi-active-pulse 1.8s infinite ease-in-out}.midi-learning-indicator{position:absolute;bottom:calc(100% + 4px);right:0;background:var(--color-accent-a20);color:var(--color-accent);border:1px solid var(--color-accent-a30);border-radius:var(--radius-sm);padding:3px 8px;font-size:var(--font-size-xs);white-space:nowrap;animation:blink 1s infinite;box-shadow:var(--shadow-sm);z-index:1}.mini-midi-monitor{position:absolute;bottom:calc(100% + 4px);right:0;width:220px;background:var(--color-glass-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);z-index:0}.monitor-header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:var(--color-primary-a05);border-bottom:1px solid var(--color-border)}.monitor-header h4{margin:0;font-size:var(--font-size-sm);color:var(--color-primary)}.close-monitor{background:none;border:none;color:var(--color-primary-a70);font-size:16px;cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.close-monitor:hover{color:var(--color-primary)}.monitor-content{max-height:150px;overflow-y:auto;padding:5px;scrollbar-width:thin;scrollbar-color:var(--color-primary-a30) rgba(0,0,0,.1)}.monitor-content::-webkit-scrollbar{width:6px;height:6px}.monitor-content::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.monitor-content::-webkit-scrollbar-thumb{background:var(--color-primary-a30);border-radius:3px}.monitor-content::-webkit-scrollbar-thumb:hover{background:var(--color-primary-a50)}.no-activity{padding:5px;color:var(--color-text-muted);text-align:center;font-size:var(--font-size-xs);font-style:italic}.midi-message{display:flex;justify-content:space-between;font-family:monospace;font-size:10px;padding:2px 5px;border-bottom:1px solid var(--color-border-light);white-space:nowrap}.msg-type{color:var(--color-primary-a90);width:70px;overflow:hidden;text-overflow:ellipsis}.msg-channel{color:var(--color-accent);width:35px}.msg-data{color:var(--color-text);flex-grow:1;text-align:right}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes error-pulse{0%,to{box-shadow:0 0 3px var(--color-error-a30)}50%{box-shadow:0 0 8px var(--color-error-a70)}}.midi-icon{width:20px;height:20px;object-fit:contain;pointer-events:none;transition:opacity .3s ease,filter .3s ease}#root{width:100%;height:100%}
