.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);animation:modal-fade-in .15s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-dialog{background:linear-gradient(180deg,#252530,#1a1a24);border:1px solid rgba(140,255,240,.2);border-radius:12px;min-width:320px;max-width:480px;padding:24px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d inset;animation:modal-slide-in .2s ease-out;outline:none}@keyframes modal-slide-in{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-title{font-size:16px;font-weight:600;color:#fff;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-message{font-size:14px;color:#d7faffe6;line-height:1.5;margin-bottom:20px;white-space:pre-wrap}.modal-input{width:100%;padding:10px 14px;font-size:14px;font-family:inherit;background:#0000004d;border:1px solid rgba(140,255,240,.25);border-radius:6px;color:#fff;margin-bottom:20px;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.modal-input:focus{border-color:#3574f0b3;box-shadow:0 0 0 2px #3574f033}.modal-input::placeholder{color:#fff6}.modal-buttons{display:flex;gap:10px;justify-content:flex-end}.modal-options{display:flex;flex-direction:column;gap:8px}.modal-option-btn{width:100%;justify-content:center}.modal-btn{padding:10px 20px;font-size:13px;font-weight:500;font-family:inherit;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid transparent;min-width:80px}.modal-btn:focus{outline:none}.modal-btn:focus-visible{box-shadow:0 0 0 2px #3574f080}.modal-btn-primary{background:linear-gradient(180deg,#4080f0,#3060d0);color:#fff;border-color:#ffffff1a}.modal-btn-primary:hover{background:linear-gradient(180deg,#5090ff,#4070e0);transform:translateY(-1px);box-shadow:0 4px 12px #3574f04d}.modal-btn-primary:active{transform:translateY(0);background:linear-gradient(180deg,#3060d0,#2050c0)}.modal-btn-secondary{background:#ffffff14;color:#d7faffe6;border-color:#ffffff1f}.modal-btn-secondary:hover{background:#ffffff1f;border-color:#fff3}.modal-btn-secondary:active{background:#ffffff0f}.modal-btn-danger{background:linear-gradient(180deg,#dc3545,#b02a37);color:#fff;border-color:#ffffff1a}.modal-btn-danger:hover{background:linear-gradient(180deg,#e35563,#c03040);transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.modal-btn-danger:active{transform:translateY(0);background:linear-gradient(180deg,#b02a37,#901a27)}.modal-content{position:relative;background:#1e1e1e;border:1px solid #444;border-radius:8px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 8px 32px #0009}.modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#999;font-size:32px;line-height:1;cursor:pointer;padding:4px 8px;transition:color .2s;z-index:1}.modal-close:hover{color:#fff}.dv-scrollable{position:relative;overflow:hidden}.dv-scrollable .dv-scrollbar-horizontal{position:absolute;bottom:0;left:0;height:4px;border-radius:2px;background-color:transparent;will-change:background-color,transform;transform:translateZ(0);backface-visibility:hidden;transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:1s;transition-delay:0s}.dv-scrollable:hover .dv-scrollbar-horizontal,.dv-scrollable.dv-scrollable-resizing .dv-scrollbar-horizontal,.dv-scrollable.dv-scrollable-scrolling .dv-scrollbar-horizontal{background-color:var(--dv-scrollbar-background-color, rgba(255, 255, 255, .25))}.dv-svg{display:inline-block;fill:currentcolor;line-height:1;stroke:currentcolor;stroke-width:0}.dockview-theme-dark{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-group-view-background-color: #1e1e1e;--dv-tabs-and-actions-container-background-color: #252526;--dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-tab-divider-color: #1e1e1e;--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: #969696;--dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color: #626262;--dv-separator-border: rgb(68, 68, 68);--dv-paneview-header-border-color: rgba(204, 204, 204, .2)}.dockview-theme-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-light{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-group-view-background-color: white;--dv-tabs-and-actions-container-background-color: #f3f3f3;--dv-activegroup-visiblepanel-tab-background-color: white;--dv-activegroup-hiddenpanel-tab-background-color: #ececec;--dv-inactivegroup-visiblepanel-tab-background-color: white;--dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;--dv-tab-divider-color: white;--dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);--dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, .7);--dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, .7);--dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, .35);--dv-separator-border: rgba(128, 128, 128, .35);--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-scrollbar-background-color: rgba(0, 0, 0, .25)}.dockview-theme-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-group-view-background-color: #1e1e1e;--dv-tabs-and-actions-container-background-color: #252526;--dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-tab-divider-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-color: #969696;--dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color: #626262;--dv-separator-border: rgb(68, 68, 68);--dv-paneview-header-border-color: rgba(204, 204, 204, .2);--dv-tabs-and-actions-container-background-color: #2d2d30;--dv-tabs-and-actions-container-height: 20px;--dv-tabs-and-actions-container-font-size: 11px;--dv-activegroup-visiblepanel-tab-background-color: #007acc;--dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: white;--dv-inactivegroup-visiblepanel-tab-color: white;--dv-inactivegroup-hiddenpanel-tab-color: white}.dockview-theme-vs .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-activegroup-hiddenpanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color)}.dockview-theme-abyss{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-color-abyss-dark: #000c18;--dv-color-abyss: #10192c;--dv-color-abyss-light: #1c1c2a;--dv-color-abyss-lighter: #2b2b4a;--dv-color-abyss-accent: rgb(91, 30, 207);--dv-color-abyss-primary-text: white;--dv-color-abyss-secondary-text: rgb(148, 151, 169);--dv-group-view-background-color: var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color: var( --dv-color-abyss-light );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-dark );--dv-activegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-dark );--dv-inactivegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);--dv-tab-divider-color: var(--dv-color-abyss-lighter);--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, .5);--dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, .5);--dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, .25);--dv-separator-border: var(--dv-color-abyss-lighter);--dv-paneview-header-border-color: var(--dv-color-abyss-lighter);--dv-paneview-active-outline-color: #596f99}.dockview-theme-abyss .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-group-view-background-color: #282a36;--dv-tabs-and-actions-container-background-color: #191a21;--dv-activegroup-visiblepanel-tab-background-color: #282a36;--dv-activegroup-hiddenpanel-tab-background-color: #21222c;--dv-inactivegroup-visiblepanel-tab-background-color: #282a36;--dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;--dv-tab-divider-color: #191a21;--dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);--dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);--dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, .5);--dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, .5);--dv-separator-border: #bd93f9;--dv-paneview-header-border-color: #bd93f9;--dv-paneview-active-outline-color: #6272a4}.dockview-theme-dracula .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;top:0;content:"";width:100%;height:1px;background-color:#94527e;z-index:999}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:1px;background-color:#5e3d5a;z-index:999}.dockview-theme-replit{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;box-sizing:border-box;padding:10px;background-color:#ebeced;--dv-group-view-background-color: #ebeced;--dv-tabs-and-actions-container-background-color: #fcfcfc;--dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;--dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;--dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;--dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;--dv-tab-divider-color: transparent;--dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);--dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);--dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);--dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);--dv-separator-border: transparent;--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-sash-color: #cfd1d3;--dv-active-sash-color: #babbbb}.dockview-theme-replit .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-replit .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-replit .dv-resize-container{border-radius:10px!important;border:none}.dockview-theme-replit .dv-groupview{overflow:hidden;border-radius:10px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container{border-bottom:1px solid rgba(128,128,128,.35)}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab{margin:4px;border-radius:8px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg{height:8px;width:8px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover{background-color:#e4e5e6!important}.dockview-theme-replit .dv-groupview .dv-content-container{background-color:#fcfcfc}.dockview-theme-replit .dv-groupview.dv-active-group{border:1px solid rgba(128,128,128,.35)}.dockview-theme-replit .dv-groupview.dv-inactive-group{border:1px solid transparent}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash{background-color:transparent}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";height:4px;width:40px;border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--dv-sash-color);position:absolute}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:transparent}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash{background-color:transparent}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";height:40px;width:4px;border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--dv-sash-color);position:absolute}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:transparent}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-abyss-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-tab-font-size: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-border-radius: 20px;box-sizing:border-box;--dv-color-abyss-dark: rgb(11, 6, 17);--dv-color-abyss: #16121f;--dv-color-abyss-light: #201d2b;--dv-color-abyss-lighter: #2a2837;--dv-color-abyss-accent: rgb(91, 30, 207);--dv-color-abyss-primary-text: white;--dv-color-abyss-secondary-text: rgb(148, 151, 169);--dv-drag-over-border: 2px solid var(--dv-color-abyss-accent);--dv-drag-over-background-color: "";--dv-group-view-background-color: var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color: var(--dv-color-abyss);--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-lighter );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-abyss-light );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-lighter );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-abyss-light );--dv-tab-divider-color: transparent;--dv-activegroup-visiblepanel-tab-color: var(--dv-color-abyss-primary-text);--dv-activegroup-hiddenpanel-tab-color: var( --dv-color-abyss-secondary-text );--dv-inactivegroup-visiblepanel-tab-color: var( --dv-color-abyss-primary-text );--dv-inactivegroup-hiddenpanel-tab-color: var( --dv-color-abyss-secondary-text );--dv-separator-border: transparent;--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-active-sash-color: var(--dv-color-abyss-accent);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, .5);padding:10px;background-color:var(--dv-color-abyss-dark)}.dockview-theme-abyss-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-abyss-spaced .dv-sash{border-radius:4px}.dockview-theme-abyss-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-abyss-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-abyss-spaced .dv-tabs-overflow-container,.dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-abyss-spaced .dv-tab{border-radius:8px}.dockview-theme-abyss-spaced .dv-tab .dv-svg{height:8px;width:8px}.dockview-theme-abyss-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2)}.dockview-theme-abyss-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-abyss-spaced .dv-resize-container .dv-groupview{border:2px solid var(--dv-color-abyss-dark)}.dockview-theme-light-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, .5);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-tab-font-size: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-border-radius: 20px;box-sizing:border-box;--dv-drag-over-border: 2px solid rgb(91, 30, 207);--dv-drag-over-background-color: "";--dv-group-view-background-color: #f6f5f9;--dv-tabs-and-actions-container-background-color: white;--dv-activegroup-visiblepanel-tab-background-color: #ededf0;--dv-activegroup-hiddenpanel-tab-background-color: #f9f9fa;--dv-inactivegroup-visiblepanel-tab-background-color: #ededf0;--dv-inactivegroup-hiddenpanel-tab-background-color: #f9f9fa;--dv-tab-divider-color: transparent;--dv-activegroup-visiblepanel-tab-color: rgb(104, 107, 130);--dv-activegroup-hiddenpanel-tab-color: rgb(148, 151, 169);--dv-inactivegroup-visiblepanel-tab-color: rgb(104, 107, 130);--dv-inactivegroup-hiddenpanel-tab-color: rgb(148, 151, 169);--dv-separator-border: transparent;--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-active-sash-color: rgb(91, 30, 207);--dv-floating-box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, .1);padding:10px;background-color:#f6f5f9;--dv-scrollbar-background-color: rgba(0, 0, 0, .25)}.dockview-theme-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-light-spaced .dv-sash{border-radius:4px}.dockview-theme-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-light-spaced .dv-tabs-overflow-container,.dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-light-spaced .dv-tab{border-radius:8px}.dockview-theme-light-spaced .dv-tab .dv-svg{height:8px;width:8px}.dockview-theme-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2)}.dockview-theme-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-light-spaced .dv-resize-container .dv-groupview{border:2px solid rgba(255,255,255,.1)}.dv-drop-target-container{position:absolute;z-index:9999;top:0;left:0;height:100%;width:100%;pointer-events:none;overflow:hidden;--dv-transition-duration: .3s}.dv-drop-target-container .dv-drop-target-anchor{position:relative;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);opacity:1;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;contain:layout paint;transition:opacity var(--dv-transition-duration) ease-in,transform var(--dv-transition-duration) ease-out}.dv-drop-target{position:relative;--dv-transition-duration: 70ms}.dv-drop-target>.dv-drop-target-dropzone{position:absolute;left:0;top:0;height:100%;width:100%;z-index:1000;pointer-events:none}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection{position:relative;box-sizing:border-box;height:100%;width:100%;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);transition:top var(--dv-transition-duration) ease-out,left var(--dv-transition-duration) ease-out,width var(--dv-transition-duration) ease-out,height var(--dv-transition-duration) ease-out,opacity var(--dv-transition-duration) ease-out;will-change:transform;pointer-events:none}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical{border-top:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical{border-bottom:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal{border-left:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal{border-right:1px solid var(--dv-drag-over-border-color)}.dv-dockview{position:relative;background-color:var(--dv-group-view-background-color);contain:layout}.dv-dockview .dv-watermark-container{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1}.dv-dockview .dv-overlay-render-container{position:relative}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-inactivegroup-visiblepanel-tab-background-color);color:var(--dv-inactivegroup-visiblepanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-inactivegroup-hiddenpanel-tab-background-color);color:var(--dv-inactivegroup-hiddenpanel-tab-color)}.dv-tab.dv-tab-dragging{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview{display:flex;flex-direction:column;height:100%;background-color:var(--dv-group-view-background-color);overflow:hidden}.dv-groupview:focus{outline:none}.dv-groupview>.dv-content-container{flex-grow:1;min-height:0;outline:none}.dv-root-wrapper,.dv-grid-view,.dv-branch-node{height:100%;width:100%}.dv-debug .dv-resize-container .dv-resize-handle-top{background-color:red}.dv-debug .dv-resize-container .dv-resize-handle-bottom{background-color:green}.dv-debug .dv-resize-container .dv-resize-handle-left{background-color:#ff0}.dv-debug .dv-resize-container .dv-resize-handle-right{background-color:#00f}.dv-debug .dv-resize-container .dv-resize-handle-topleft,.dv-debug .dv-resize-container .dv-resize-handle-topright,.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,.dv-debug .dv-resize-container .dv-resize-handle-bottomright{background-color:#0ff}.dv-resize-container{--dv-overlay-z-index: var(--dv-overlay-z-index, 999);position:absolute;z-index:calc(var(--dv-overlay-z-index) - 2);border:1px solid var(--dv-tab-divider-color);box-shadow:var(--dv-floating-box-shadow);will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.dv-resize-container.dv-hidden{display:none}.dv-resize-container.dv-resize-container-dragging{opacity:.5;will-change:transform,opacity}.dv-resize-container .dv-resize-handle-top{height:4px;width:calc(100% - 8px);left:4px;top:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ns-resize}.dv-resize-container .dv-resize-handle-bottom{height:4px;width:calc(100% - 8px);left:4px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ns-resize}.dv-resize-container .dv-resize-handle-left{height:calc(100% - 8px);width:4px;left:-2px;top:4px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ew-resize}.dv-resize-container .dv-resize-handle-right{height:calc(100% - 8px);width:4px;right:-2px;top:4px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ew-resize}.dv-resize-container .dv-resize-handle-topleft{height:4px;width:4px;top:-2px;left:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:nw-resize}.dv-resize-container .dv-resize-handle-topright{height:4px;width:4px;right:-2px;top:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ne-resize}.dv-resize-container .dv-resize-handle-bottomleft{height:4px;width:4px;left:-2px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:sw-resize}.dv-resize-container .dv-resize-handle-bottomright{height:4px;width:4px;right:-2px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:se-resize}.dv-render-overlay{--dv-overlay-z-index: var(--dv-overlay-z-index, 999);position:absolute;z-index:1;width:100%;height:100%;contain:layout paint;isolation:isolate;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.dv-render-overlay.dv-render-overlay-float{z-index:calc(var(--dv-overlay-z-index) - 1)}.dv-debug .dv-render-overlay{outline:1px solid red;outline-offset:-1}.dv-pane-container{height:100%;width:100%}.dv-pane-container.dv-animated .dv-view{will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .15s ease-out}.dv-pane-container .dv-view{overflow:hidden;display:flex;flex-direction:column;padding:0!important}.dv-pane-container .dv-view:not(:first-child):before{background-color:transparent!important}.dv-pane-container .dv-view:not(:first-child) .dv-pane>.dv-pane-header{border-top:1px solid var(--dv-paneview-header-border-color)}.dv-pane-container .dv-view .dv-default-header{background-color:var(--dv-group-view-background-color);color:var(--dv-activegroup-visiblepanel-tab-color);display:flex;padding:0 8px;cursor:pointer}.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon{display:flex;justify-content:center;align-items:center}.dv-pane-container .dv-view .dv-default-header>span{padding-left:8px;flex-grow:1}.dv-pane-container:first-of-type>.dv-pane>.dv-pane-header{border-top:none!important}.dv-pane-container .dv-pane{display:flex;flex-direction:column;overflow:hidden;height:100%}.dv-pane-container .dv-pane .dv-pane-header{box-sizing:border-box;user-select:none;position:relative;outline:none}.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable{cursor:pointer}.dv-pane-container .dv-pane .dv-pane-header:focus:before,.dv-pane-container .dv-pane .dv-pane-header:focus-within:before{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;content:"";pointer-events:none;outline:1px solid;outline-width:-1px;outline-style:solid;outline-offset:-1px;outline-color:var(--dv-paneview-active-outline-color)}.dv-pane-container .dv-pane .dv-pane-body{overflow-y:auto;overflow-x:hidden;flex-grow:1;position:relative;outline:none}.dv-pane-container .dv-pane .dv-pane-body:focus:before,.dv-pane-container .dv-pane .dv-pane-body:focus-within:before{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;content:"";pointer-events:none;outline:1px solid;outline-width:-1px;outline-style:solid;outline-offset:-1px;outline-color:var(--dv-paneview-active-outline-color)}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled{background-color:#000}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled{background-color:orange}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum{background-color:green}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum{background-color:red}.dv-split-view-container{position:relative;overflow:hidden;height:100%;width:100%}.dv-split-view-container.dv-splitview-disabled>.dv-sash-container>.dv-sash{pointer-events:none}.dv-split-view-container.dv-animation .dv-view,.dv-split-view-container.dv-animation .dv-sash{will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .15s ease-out}.dv-split-view-container.dv-horizontal{height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{height:100%;width:4px}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled{cursor:ew-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-maximum{cursor:w-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-minimum{cursor:e-resize}.dv-split-view-container.dv-horizontal>.dv-view-container>.dv-view:not(:first-child):before{height:100%;width:1px}.dv-split-view-container.dv-vertical{width:100%}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{width:100%;height:4px}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled{cursor:ns-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-maximum{cursor:n-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-minimum{cursor:s-resize}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view{width:100%}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view:not(:first-child):before{height:1px;width:100%}.dv-split-view-container .dv-sash-container{height:100%;width:100%;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash{position:absolute;z-index:99;outline:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;background-color:var(--dv-sash-color, transparent)}.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active,.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover{background-color:var(--dv-active-sash-color, transparent);transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:var(--dv-active-sash-transition-duration, .1s);transition-delay:var(--dv-active-sash-transition-delay, .5s)}.dv-split-view-container .dv-view-container{position:relative;height:100%;width:100%}.dv-split-view-container .dv-view-container .dv-view{height:100%;box-sizing:border-box;overflow:auto;position:absolute}.dv-split-view-container.dv-separator-border .dv-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--dv-separator-border)}.dv-dragged{transform:translateZ(0)}.dv-tab{flex-shrink:0}.dv-tab:focus-within,.dv-tab:focus{position:relative}.dv-tab:focus-within:after,.dv-tab:focus:after{position:absolute;content:"";height:100%;width:100%;top:0;left:0;pointer-events:none;outline:1px solid var(--dv-tab-divider-color)!important;outline-offset:-1px;z-index:5}.dv-tab.dv-tab-dragging .dv-default-tab-action{background-color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action{visibility:visible}.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action{visibility:hidden}.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action{visibility:visible}.dv-tab .dv-default-tab{position:relative;height:100%;display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis}.dv-tab .dv-default-tab .dv-default-tab-content{flex-grow:1;margin-right:4px}.dv-tab .dv-default-tab .dv-default-tab-action{padding:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.dv-tab .dv-default-tab .dv-default-tab-action:hover{border-radius:2px;background-color:var(--dv-icon-hover-background-color)}.dv-tabs-overflow-dropdown-default{height:100%;color:var(--dv-activegroup-hiddenpanel-tab-color);margin:var(--dv-tab-margin);display:flex;align-items:center;flex-shrink:0;padding:.25rem .5rem;cursor:pointer}.dv-tabs-overflow-dropdown-default>span{padding-left:.25rem}.dv-tabs-overflow-dropdown-default>svg{transform:rotate(90deg)}.dv-tabs-container{display:flex;height:100%;overflow:auto;scrollbar-width:thin;will-change:scroll-position;transform:translateZ(0)}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--dv-tab-divider-color);width:1px;height:100%}.dv-tabs-container::-webkit-scrollbar{height:3px}.dv-tabs-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color)}.dv-scrollable>.dv-tabs-container{overflow:hidden}.dv-tab{-webkit-user-drag:element;outline:none;padding:.25rem .5rem;cursor:pointer;position:relative;box-sizing:border-box;font-size:var(--dv-tab-font-size);margin:var(--dv-tab-margin)}.dv-tabs-overflow-container{flex-direction:column;height:unset;border:1px solid var(--dv-tab-divider-color);background-color:var(--dv-group-view-background-color)}.dv-tabs-overflow-container .dv-tab:not(:last-child){border-bottom:1px solid var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tabs-overflow-container .dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-tabs-and-actions-container{display:flex;background-color:var(--dv-tabs-and-actions-container-background-color);flex-shrink:0;box-sizing:border-box;height:var(--dv-tabs-and-actions-container-height);font-size:var(--dv-tabs-and-actions-container-font-size)}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable,.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container{flex-grow:1}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab{flex-grow:1;padding:0}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container{flex-grow:0}.dv-tabs-and-actions-container .dv-void-container{display:flex;flex-grow:1}.dv-tabs-and-actions-container .dv-void-container.dv-draggable{cursor:grab}.dv-tabs-and-actions-container .dv-right-actions-container{display:flex}.dv-watermark{display:flex;height:100%}.glass-color-picker{display:flex;align-items:center;gap:8px;position:relative}.glass-color-picker .color-swatch{width:40px;height:28px;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:all .15s ease;padding:0;background:transparent}.glass-color-picker .color-swatch:hover{border-color:#fff6;box-shadow:0 0 8px #ffffff1a}.glass-color-picker .color-swatch:disabled{opacity:.5;cursor:not-allowed}.glass-color-picker .hex-input{flex:1;min-width:80px;background:#0000004d;border:1px solid var(--border-color, rgba(140, 255, 240, .14));border-radius:6px;padding:6px 10px;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--text-color, #d7faff);outline:none;transition:border-color .15s}.glass-color-picker .hex-input:focus{border-color:var(--accent-color, #3574f0)}.glass-color-picker .hex-input:disabled{opacity:.5;cursor:not-allowed}.glass-color-picker.native .native-color-input{-webkit-appearance:none;appearance:none;width:40px;height:28px;border:none;border-radius:6px;cursor:pointer;background:transparent;padding:0}.glass-color-picker.native .native-color-input::-webkit-color-swatch-wrapper{padding:0}.glass-color-picker.native .native-color-input::-webkit-color-swatch{border:1px solid rgba(255,255,255,.2);border-radius:6px}.glass-color-picker.native .native-color-input:disabled{opacity:.5;cursor:not-allowed}.glass-color-picker .picker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;padding:12px;background:#1a1a2ef2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(140,255,240,.2);border-radius:10px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d inset;animation:pickerFadeIn .15s ease-out}@keyframes pickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.glass-color-picker .react-colorful{width:200px;height:200px}.glass-color-picker .react-colorful__saturation{border-radius:6px 6px 0 0;border-bottom:none}.glass-color-picker .react-colorful__hue,.glass-color-picker .react-colorful__alpha{height:16px;border-radius:0 0 6px 6px;margin-top:8px}.glass-color-picker .react-colorful__hue:first-of-type{margin-top:8px}.glass-color-picker .react-colorful__pointer{width:20px;height:20px;border:2px solid #fff;box-shadow:0 2px 4px #0000004d,0 0 0 1px #0000001a}.glass-color-picker .react-colorful__saturation-pointer{width:16px;height:16px}.glass-color-picker .react-colorful__last-control{border-radius:0 0 6px 6px}.inspector-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.inspector-panel.entity-disabled{opacity:.7}.inspector-panel.readonly .inspector-body{opacity:.75}.inspector-panel.inspector-empty{display:flex;align-items:center;justify-content:center}.inspector-panel .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-xl, 20px);text-align:center}.inspector-panel .empty-state .empty-icon{font-size:48px;opacity:.3}.inspector-panel .empty-state p{font-size:14px;color:var(--text-color, #d7faff);margin:0}.inspector-panel .empty-state .empty-hint{font-size:11px;color:var(--text-muted, rgba(215, 250, 255, .5))}.inspector-tabs{display:flex;border-bottom:1px solid var(--border-color, rgba(140, 255, 240, .14));background:#0003}.inspector-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-md, 10px);background:transparent;border:none;color:var(--text-dim, rgba(215, 250, 255, .75));font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent}.inspector-tab:hover{background:#ffffff0d;color:var(--text-color, #d7faff)}.inspector-tab.active{background:#3574f01a;color:var(--text-color, #d7faff);border-bottom-color:var(--accent-color, #3574f0)}.inspector-tab .tab-icon{font-size:14px}.inspector-search{padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:#00000026;border-bottom:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.inspector-search .search-input{width:100%;padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-md, 8px);color:var(--text-color, #d7faff);font-size:12px;outline:none;transition:all .15s ease}.inspector-search .search-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5));background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.inspector-search .search-input::placeholder{color:var(--input-placeholder, rgba(215, 250, 255, .3))}.inspector-body{flex:1;overflow-y:auto;padding:var(--spacing-sm, 6px)}.inspector-section{background:var(--inspector-section-bg, rgba(255, 255, 255, .02));border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-sm, 6px);overflow:hidden}.inspector-section-header{display:flex;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:var(--inspector-section-header, rgba(255, 255, 255, .05));cursor:pointer;transition:background .15s ease;user-select:none}.inspector-section-header:hover{background:var(--inspector-section-header-hover, rgba(255, 255, 255, .08))}.inspector-section-header .section-toggle{font-size:8px;color:var(--text-muted, rgba(215, 250, 255, .5));width:12px}.inspector-section-header .section-title{flex:1;font-size:11px;font-weight:700;color:var(--text-dim, rgba(215, 250, 255, .75));text-transform:uppercase;letter-spacing:.04em}.inspector-section-header .section-right{display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.inspector-section-header .section-label{font-size:10px;color:var(--text-muted, rgba(215, 250, 255, .5))}.inspector-section-header .section-remove{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--error-color, #f87171);font-size:14px;cursor:pointer;border-radius:var(--radius-sm, 4px);opacity:.6;transition:all .15s ease}.inspector-section-header .section-remove:hover{background:var(--inspector-remove-hover, rgba(248, 113, 113, .2));opacity:1}.inspector-section-content{padding:var(--spacing-sm, 6px);position:relative}.inspector-section-content.processing{pointer-events:none}.section-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:10}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-color, #3574f0);border-radius:50%;animation:spin .8s linear infinite}.inspector-field{display:flex;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);min-height:28px}.inspector-field .field-label{width:var(--inspector-field-label-width, 35%);font-size:11px;color:var(--text-dim, rgba(215, 250, 255, .75));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.inspector-field .field-label.gray-label{color:var(--text-muted, rgba(215, 250, 255, .5))}.inspector-field:hover .field-label.gray-label{color:var(--text-dim, rgba(215, 250, 255, .75))}.inspector-field .field-input-wrapper{flex:1;display:flex;align-items:center}.inspector-field .field-input{width:100%;padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:11px;font-family:var(--font-mono, monospace);outline:none;transition:all .15s ease}.inspector-field .field-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5));background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.inspector-field .field-input:disabled{opacity:.5;cursor:not-allowed}.inspector-number-field .number-input{text-align:right}.inspector-number-field.scrubable .field-label{cursor:ew-resize}.inspector-number-field.scrubable .scrubable-label:hover{color:var(--text-color, #d7faff)}.inspector-number-field.scrubable .scrubable-label.dragging{color:var(--accent-color, #3574f0)}.scrubable-number-value{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);cursor:ew-resize;user-select:none;transition:all .1s ease;min-height:24px}.scrubable-number-value:hover,.scrubable-number-value.hovering{background:var(--input-bg-hover, rgba(0, 0, 0, .4));border-color:var(--input-border-focus, rgba(53, 116, 240, .4))}.scrubable-number-value.dragging{background:#3574f026;border-color:var(--accent-color, #3574f0)}.scrubable-number-value .number-display{font-size:11px;font-family:var(--font-mono, monospace);color:var(--text-color, #d7faff)}.scrubable-number-value .number-input{width:100%;padding:0;margin:0;background:transparent;border:none;outline:none;font-size:11px;font-family:var(--font-mono, monospace);color:var(--text-color, #d7faff);text-align:right}.inspector-string-field .text-input.multiline{min-height:60px;resize:vertical;font-family:var(--font-mono, monospace)}.inspector-switch-field{cursor:pointer;border-radius:var(--radius-sm, 4px);transition:background .15s ease}.inspector-switch-field:hover{background:#ffffff0d}.inspector-switch-field.disabled{cursor:not-allowed;opacity:.5}.inspector-switch-field .switch-wrapper{display:flex;justify-content:flex-end;width:48px}.switch-track{width:36px;height:20px;border-radius:10px;background:var(--toggle-track-off, rgba(100, 100, 100, .3));position:relative;transition:background .2s ease}.switch-track.on{background:var(--toggle-track-on, rgba(53, 116, 240, .6))}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--toggle-thumb, #ffffff);transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.switch-track.on .switch-thumb{transform:translate(16px)}.inspector-slider-field .field-label-row{display:flex;justify-content:space-between;align-items:center;width:var(--inspector-field-label-width, 35%)}.inspector-slider-field .slider-value{font-size:10px;color:var(--text-muted, rgba(215, 250, 255, .5));font-family:var(--font-mono, monospace)}.inspector-slider-field .slider-input{width:100%;height:4px;appearance:none;border-radius:2px;outline:none;cursor:pointer}.inspector-slider-field .slider-input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--toggle-thumb, #ffffff);cursor:pointer;box-shadow:0 1px 3px #0000004d}.inspector-list-field .field-input-wrapper{position:relative}.inspector-list-field .select-input{appearance:none;padding-right:24px;cursor:pointer}.inspector-list-field .select-arrow{position:absolute;right:8px;font-size:8px;color:var(--text-muted, rgba(215, 250, 255, .5));pointer-events:none}.inspector-vector-field{flex-direction:column;align-items:stretch}.inspector-vector-field .vector-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs, 4px)}.inspector-vector-field .constraint-toggle{background:transparent;border:none;cursor:pointer;font-size:12px;padding:2px;opacity:.6;transition:opacity .15s ease}.inspector-vector-field .constraint-toggle:hover,.inspector-vector-field .constraint-toggle.active{opacity:1}.inspector-vector-field .vector-inputs{display:flex;gap:var(--spacing-xs, 4px)}.inspector-vector-field .vector-component{flex:1;display:flex;align-items:center;gap:2px}.inspector-vector-field .component-label{font-size:9px;font-weight:700;width:14px;text-align:center}.inspector-vector-field .vector-x .component-label{color:var(--gizmo-x, #f87171)}.inspector-vector-field .vector-y .component-label{color:var(--gizmo-y, #4ade80)}.inspector-vector-field .vector-z .component-label{color:var(--gizmo-z, #60a5fa)}.inspector-vector-field .vector-w .component-label{color:var(--accent-secondary, #8cf0f0)}.inspector-vector-field .inspector-number-field{flex:1;padding:0;min-height:auto}.inspector-vector-field .inspector-number-field .field-input{padding:2px 4px}.inspector-color-field .color-wrapper{display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.inspector-color-field .color-input{width:32px;height:24px;padding:0;border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);cursor:pointer}.inspector-color-field .color-hex{font-size:10px;font-family:var(--font-mono, monospace);color:var(--text-muted, rgba(215, 250, 255, .5));text-transform:uppercase}.inspector-color-field .alpha-input{width:48px;padding:var(--spacing-xs, 4px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:10px;text-align:center}.inspector-field.type-field{padding:var(--spacing-sm, 6px)}.inspector-field.type-field .type-value{color:var(--text-muted, rgba(215, 250, 255, .5));font-size:11px}.script-item{background:#0003;border-radius:var(--radius-sm, 4px);padding:var(--spacing-sm, 6px);margin-bottom:var(--spacing-xs, 4px)}.script-header{display:flex;align-items:center;gap:var(--spacing-sm, 6px);margin-bottom:var(--spacing-xs, 4px)}.script-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#3178c6;color:#fff;font-size:10px;font-weight:700;border-radius:var(--radius-sm, 4px)}.script-name{flex:1;font-size:11px;color:var(--text-color, #d7faff)}.script-drop-zone{display:flex;align-items:center;justify-content:center;height:48px;border:1px dashed var(--border-color, rgba(140, 255, 240, .14));border-radius:var(--radius-sm, 4px);color:var(--text-muted, rgba(215, 250, 255, .5));font-size:11px;transition:all .15s ease}.script-drop-zone:hover,.script-drop-zone.drag-over{background:#3574f01a;border-color:var(--accent-color, #3574f0);color:var(--text-dim, rgba(215, 250, 255, .75))}.add-component-section{padding:var(--spacing-md, 10px);position:relative}.add-component-btn{width:100%;padding:var(--spacing-md, 10px);background:var(--btn-bg, rgba(53, 116, 240, .15));border:1px solid var(--btn-border, rgba(53, 116, 240, .3));border-radius:var(--radius-md, 8px);color:var(--btn-text, #d7faff);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.add-component-btn:hover{background:var(--btn-bg-hover, rgba(53, 116, 240, .25));border-color:var(--accent-color, #3574f0)}.add-component-dropdown{position:absolute;bottom:100%;left:var(--spacing-md, 10px);right:var(--spacing-md, 10px);background:var(--panel-bg-solid, #121018);border:1px solid var(--border-color, rgba(140, 255, 240, .14));border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-dropdown, 0 8px 32px rgba(0, 0, 0, .6));margin-bottom:var(--spacing-sm, 6px);overflow:hidden;z-index:100}.add-component-dropdown .component-search{width:100%;padding:var(--spacing-md, 10px);background:transparent;border:none;border-bottom:1px solid var(--border-subtle, rgba(140, 255, 240, .08));color:var(--text-color, #d7faff);font-size:12px;outline:none}.add-component-dropdown .component-list{max-height:200px;overflow-y:auto}.add-component-dropdown .component-item{display:block;width:100%;padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:transparent;border:none;text-align:left;color:var(--text-dim, rgba(215, 250, 255, .75));font-size:12px;cursor:pointer;transition:background .1s ease}.add-component-dropdown .component-item:hover{background:var(--accent-color, #3574f0);color:#fff}.add-component-dropdown .no-components{padding:var(--spacing-md, 10px);text-align:center;color:var(--text-muted, rgba(215, 250, 255, .5));font-size:11px}.decal-tab .decal-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-sm, 6px);text-align:center;padding:var(--spacing-xl, 20px)}.inspector-header{display:flex;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:var(--inspector-header-bg, rgba(0, 0, 0, .2));border-bottom:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.inspector-header.disabled{opacity:.6}.inspector-header .icon{font-size:18px;opacity:.8}.inspector-header .icon.disabled{opacity:.4}.inspector-header .entity-name-input{flex:1;padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:13px;font-weight:600;outline:none;transition:all .15s ease}.inspector-header .entity-name-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5));background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.inspector-header .active-toggle-switch{flex-shrink:0;padding:0;min-height:0}.inspector-header .active-toggle-switch .field-label{display:none}.inspector-panel.entity-disabled .inspector-body{opacity:.5;pointer-events:none}.inspector-panel.entity-disabled .inspector-header{border-bottom-color:var(--error-color, #f87171)}.texture-slot{padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px)}.texture-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs, 4px)}.texture-slot-header .field-label{font-size:11px;color:var(--text-dim, rgba(215, 250, 255, .75))}.texture-slot-header .texture-remove{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--error-color, #f87171);font-size:14px;cursor:pointer;border-radius:var(--radius-sm, 4px);opacity:.6;transition:all .15s ease}.texture-slot-header .texture-remove:hover{background:#f8717133;opacity:1}.texture-slot-drop-zone{display:flex;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:2px dashed var(--input-border, rgba(140, 255, 240, .15));border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .15s ease;min-height:48px}.texture-slot-drop-zone:hover{border-color:var(--accent-color, #3574f0);background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.texture-slot-drop-zone.drag-over{border-color:var(--accent-color, #3574f0);background:#3574f026;border-style:solid}.texture-slot-drop-zone.has-texture{border-style:solid;border-color:var(--border-subtle, rgba(140, 255, 240, .08))}.texture-slot-drop-zone.disabled{cursor:not-allowed;opacity:.5}.texture-thumbnail{width:40px;height:40px;border-radius:var(--radius-sm, 4px);overflow:hidden;background:#0000004d;display:flex;align-items:center;justify-content:center;flex-shrink:0}.texture-thumbnail img{width:100%;height:100%;object-fit:cover}.texture-thumbnail .texture-icon{font-size:20px;opacity:.6}.texture-info{flex:1;min-width:0}.texture-info .texture-name{font-size:11px;color:var(--text-color, #d7faff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.texture-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:var(--spacing-xs, 4px)}.texture-placeholder .placeholder-icon{font-size:18px;opacity:.4}.texture-placeholder .placeholder-text{font-size:10px;color:var(--text-muted, rgba(215, 250, 255, .5));text-align:center}.texture-properties{margin-top:var(--spacing-xs, 4px);padding-top:var(--spacing-xs, 4px);border-top:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.asset-inspector .inspector-header{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-bottom:1px solid var(--border-color, rgba(140, 255, 240, .1));background:var(--section-bg, rgba(0, 0, 0, .2))}.asset-inspector .inspector-header .icon{font-size:20px}.asset-inspector .inspector-header .asset-name{flex:1;font-size:14px;font-weight:500;color:var(--text-color, #d7faff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-inspector .asset-actions{display:flex;gap:var(--spacing-sm, 8px);padding:var(--spacing-md, 12px);margin-top:auto;border-top:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.asset-inspector .asset-actions .btn.danger{background:#dc354533;border-color:#dc354566;color:#ff6b6b}.asset-inspector .asset-actions .btn.danger:hover{background:#dc35454d}.material-save-section{padding:var(--spacing-sm, 8px) 0;margin-top:var(--spacing-sm, 8px);border-top:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.material-save-section .save-material-btn{width:100%;padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:var(--btn-secondary-bg, rgba(53, 116, 240, .15));border:1px solid var(--btn-secondary-border, rgba(53, 116, 240, .3));border-radius:var(--radius-sm, 4px);color:var(--accent-color, #3574f0);font-size:11px;cursor:pointer;transition:all .15s ease}.material-save-section .save-material-btn:hover{background:var(--btn-secondary-bg-hover, rgba(53, 116, 240, .25));border-color:var(--accent-color, #3574f0)}.save-material-dialog{display:flex;flex-direction:column;gap:var(--spacing-sm, 6px)}.save-material-dialog input{width:100%;padding:var(--spacing-sm, 6px) var(--spacing-md, 10px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:12px;outline:none}.save-material-dialog input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5))}.save-material-actions{display:flex;gap:var(--spacing-xs, 4px)}.save-material-actions .btn{flex:1;padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);font-size:11px}.inspector-panel.multi-edit .inspector-header{border-bottom-color:var(--accent-color, #3574f0)}.multi-edit-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-md, 10px) var(--spacing-lg, 14px);background:linear-gradient(135deg,#3574f026,#3574f00d);border-bottom:1px solid rgba(53,116,240,.3)}.multi-edit-header .multi-edit-icon{font-size:24px;opacity:.8}.multi-edit-header .multi-edit-count{font-size:14px;font-weight:600;color:var(--text-color, #d7faff)}.multi-edit-header .multi-edit-hint{font-size:10px;color:var(--accent-color, #3574f0);opacity:.8}.inspector-panel.multi-edit .entity-name-input{background:#0003;color:var(--text-muted, rgba(215, 250, 255, .5));font-style:italic}.yaml-config-inspector .inspector-header .icon{font-size:18px}.yaml-config-inspector .yaml-parse-error{display:flex;align-items:flex-start;gap:var(--spacing-sm, 6px);padding:var(--spacing-md, 10px);margin:var(--spacing-sm, 6px);background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md, 8px);color:var(--error-color, #f87171)}.yaml-config-inspector .yaml-parse-error .error-icon{font-size:16px;flex-shrink:0}.yaml-config-inspector .yaml-parse-error .error-message{font-size:11px;line-height:1.4;word-break:break-word}.file-reference-field .reference-wrapper{display:flex;gap:var(--spacing-xs, 4px)}.file-reference-field .reference-input{flex:1;padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:11px;font-family:var(--font-mono, monospace);outline:none}.file-reference-field .reference-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5))}.file-reference-field .ping-button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--btn-bg, rgba(53, 116, 240, .15));border:1px solid var(--btn-border, rgba(53, 116, 240, .3));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:14px;cursor:pointer;transition:all .15s ease}.file-reference-field .ping-button:hover:not(:disabled){background:var(--btn-bg-hover, rgba(53, 116, 240, .25));border-color:var(--accent-color, #3574f0)}.file-reference-field .ping-button:disabled{opacity:.4;cursor:not-allowed}.scrubable-slider-field{display:flex;align-items:center;gap:var(--spacing-sm, 6px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 6px);min-height:28px}.scrubable-slider-field.disabled{opacity:.5;pointer-events:none}.scrubable-slider-wrapper{flex:1;display:flex;align-items:center;gap:var(--spacing-sm, 6px);position:relative}.scrubable-slider-track{flex:1;height:24px;background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);position:relative;overflow:hidden;cursor:ew-resize;user-select:none}.scrubable-slider-track:hover,.scrubable-slider-track.hovering{border-color:var(--input-border-focus, rgba(53, 116, 240, .4));background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.scrubable-slider-track.dragging{border-color:var(--accent-color, #3574f0);background:#3574f01a}.scrubable-slider-fill-container{position:absolute;inset:0 57px 0 0;overflow:hidden;pointer-events:none;z-index:1}.scrubable-slider-fill{position:absolute;top:0;left:0;bottom:0;width:0%;background:linear-gradient(90deg,#3574f0b3,#64a0ff80)}.scrubable-slider-track.hovering .scrubable-slider-fill{background:linear-gradient(90deg,#3574f0d9,#64a0ffa6)}.scrubable-slider-track.dragging .scrubable-slider-fill{background:linear-gradient(90deg,#3574f0,#78b4ffcc)}.scrubable-slider-value-overlay{position:absolute;top:0;right:0;bottom:0;min-width:56px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--spacing-sm, 6px);background:#0000004d;border-left:1px solid var(--input-border, rgba(140, 255, 240, .1));cursor:ew-resize;user-select:none;z-index:2}.scrubable-slider-track.hovering .scrubable-slider-value-overlay{background:#0006}.scrubable-slider-value-overlay.dragging{background:#3574f033}.scrubable-slider-value{min-width:56px;height:20px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--spacing-sm, 6px);background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);cursor:ew-resize;user-select:none;transition:all .1s ease}.scrubable-slider-value:hover,.scrubable-slider-value.hovering{background:var(--input-bg-hover, rgba(0, 0, 0, .4));border-color:var(--input-border-focus, rgba(53, 116, 240, .4))}.scrubable-slider-value.dragging{background:#3574f026;border-color:var(--accent-color, #3574f0)}.scrubable-slider-display{font-size:11px;font-family:var(--font-mono, monospace);color:var(--text-color, #d7faff)}.scrubable-slider-input{width:100%;height:100%;padding:0;margin:0;background:transparent;border:none;outline:none;font-size:11px;font-family:var(--font-mono, monospace);color:var(--text-color, #d7faff);text-align:right}.scrubable-slider-value.dragging,.scrubable-slider-track.dragging{cursor:ew-resize}.scrubable-slider-field.compact .scrubable-slider-wrapper{gap:0}.scrubable-slider-field.compact .scrubable-slider-track{padding-right:56px}.scrubable-slider-field.compact .scrubable-slider-value{position:absolute;right:0;top:0;bottom:0;height:auto;background:transparent;border:none;border-left:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:0}.inspector-slider-field .slider-wrapper{flex:1}.inspector-slider-field .slider-input{width:100%;height:20px;appearance:none;-webkit-appearance:none;background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);outline:none;cursor:ew-resize;position:relative}.inspector-slider-field .slider-input:hover{border-color:var(--input-border-focus, rgba(53, 116, 240, .4))}.inspector-slider-field .slider-input:active{border-color:var(--accent-color, #3574f0)}.inspector-slider-field .slider-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:0;height:0;opacity:0}.inspector-slider-field .slider-input::-moz-range-thumb{appearance:none;width:0;height:0;opacity:0}.inspector-slider-field .slider-input::-webkit-slider-runnable-track{height:100%;background:transparent}.inspector-slider-field .slider-input::-moz-range-track{height:100%;background:transparent}.migration-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px)}.migration-dialog{background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #3c3c3c);border-radius:12px;padding:32px;max-width:480px;width:90%;text-align:center;box-shadow:0 8px 32px #00000080}.migration-icon{font-size:48px;margin-bottom:16px;display:inline-block}.migration-icon.spinning{animation:spin 1.5s linear infinite}.migration-dialog h2{margin:0 0 16px;font-size:24px;font-weight:600;color:var(--text-color, #e0e0e0)}.migration-dialog p{margin:0 0 16px;color:var(--text-secondary, #a0a0a0);line-height:1.6}.migration-details{background:var(--panel-header-bg, #252526);border-radius:8px;padding:12px 16px;margin-bottom:24px;display:flex;justify-content:space-between;gap:12px}.detail-label{color:var(--text-secondary, #a0a0a0)}.detail-value{color:var(--text-color, #e0e0e0);font-weight:500}.migration-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.migration-dialog button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:var(--accent-color, #0078d4);color:#fff}.btn-primary:hover{background:var(--accent-color-hover, #006cbd)}.btn-secondary{background:var(--panel-header-bg, #252526);color:var(--text-color, #e0e0e0);border:1px solid var(--border-color, #3c3c3c)}.btn-secondary:hover{background:var(--hover-bg, #2a2a2a)}.btn-link{background:transparent;color:var(--text-secondary, #a0a0a0);text-decoration:underline;padding:8px}.btn-link:hover{color:var(--text-color, #e0e0e0)}.btn-warning{background:#d32f2f;color:#fff}.btn-warning:hover{background:#c62828}.migration-note{font-size:12px;color:var(--text-tertiary, #707070);margin-top:16px}.progress-container{width:100%;height:8px;background:var(--panel-header-bg, #252526);border-radius:4px;overflow:hidden;margin:24px 0 16px}.progress-bar{height:100%;background:var(--accent-color, #0078d4);border-radius:4px;transition:width .3s ease}.progress-text{font-size:14px;color:var(--text-color, #e0e0e0);margin:0 0 8px;word-break:break-all}.progress-count{font-size:12px;color:var(--text-secondary, #a0a0a0)}.error-text{color:#f44336;background:#f443361a;padding:12px;border-radius:8px;font-family:monospace;font-size:13px}.warning-text{color:#ff9800;font-size:13px}.login-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d0d1a,#1a1a2e,#16213e);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#e0e0e0;z-index:10000}.login-container{display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:400px;width:100%;padding:2rem}.login-logo h1{font-size:3rem;font-weight:700;letter-spacing:.3em;margin:0;background:linear-gradient(135deg,#00d4ff,#7c3aed,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(0,212,255,.3)}.login-subtitle{font-size:.875rem;color:#888;letter-spacing:.2em;text-transform:uppercase;margin-top:.25rem;text-align:center}.login-card{background:#1a1a2ee6;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;width:100%;box-shadow:0 8px 32px #0000004d;backdrop-filter:blur(10px)}.login-title{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;text-align:center;color:#fff}.login-oauth-buttons{display:flex;flex-direction:column;gap:.75rem}.login-oauth-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.login-oauth-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.login-oauth-button:disabled{opacity:.5;cursor:not-allowed}.login-oauth-button.google:hover:not(:disabled){border-color:#4285f4;box-shadow:0 0 0 1px #4285f4}.login-oauth-button.discord:hover:not(:disabled){border-color:#5865f2;box-shadow:0 0 0 1px #5865f2}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:#666;font-size:.8125rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-field label{font-size:.8125rem;font-weight:500;color:#aaa}.login-field input{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#0000004d;color:#fff;font-size:.9375rem;transition:border-color .2s ease}.login-field input::placeholder{color:#555}.login-field input:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 1px #00d4ff}.login-field input:disabled{opacity:.5}.login-error{padding:.75rem 1rem;background:#ff4d4d26;border:1px solid rgba(255,77,77,.3);border-radius:8px;color:#ff6b6b;font-size:.875rem;text-align:center}.login-submit-button{padding:.875rem 1rem;border:none;border-radius:8px;background:linear-gradient(135deg,#00d4ff,#7c3aed);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease;margin-top:.5rem}.login-submit-button:hover:not(:disabled){opacity:.9}.login-submit-button:active:not(:disabled){transform:scale(.98)}.login-submit-button:disabled{opacity:.5;cursor:not-allowed}.login-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-switch-mode{margin-top:1.5rem;text-align:center;font-size:.875rem;color:#888}.login-switch-mode button{background:none;border:none;color:#00d4ff;font-size:inherit;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.login-switch-mode button:hover{color:#7c3aed}.login-footer{font-size:.8125rem;color:#555;text-align:center;margin:0}.shader-properties-sidebar{display:flex;flex-direction:column;width:260px;min-width:200px;max-width:350px;height:100%;background:#0000004d;border-left:1px solid var(--border-color);overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0003;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-title{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.sidebar-actions{padding:8px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-actions .analyze-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:12px;background:#3574f033;border:1px solid rgba(53,116,240,.4);color:var(--text-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.sidebar-actions .analyze-btn:hover:not(:disabled){background:#3574f04d;border-color:#3574f099}.sidebar-actions .analyze-btn:disabled{opacity:.6;cursor:not-allowed}.sidebar-actions .spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.changed-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#fa0;color:#000;border-radius:50%;font-size:10px;font-weight:700}.sidebar-error{display:flex;align-items:flex-start;gap:6px;padding:8px 12px;background:#ff6b6b1a;border-bottom:1px solid rgba(255,107,107,.2);flex-shrink:0}.sidebar-error .error-icon{color:#ff6b6b;flex-shrink:0}.sidebar-error .error-text{font-size:11px;color:#f99;line-height:1.4}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.properties-list{padding:8px;display:flex;flex-direction:column;gap:8px}.prop-slider{padding:8px;background:#0003;border-radius:4px;border:1px solid transparent;transition:border-color .15s}.prop-slider.modified{border-color:#ffaa004d}.prop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prop-name{font-size:11px;color:var(--text-color);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.prop-reset{width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;opacity:.6;transition:opacity .15s;flex-shrink:0}.prop-reset:hover:not(:disabled){opacity:1;color:var(--accent-color)}.prop-reset:disabled{opacity:.2;cursor:default}.prop-controls{display:flex;align-items:center;gap:8px}.prop-range{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;cursor:pointer}.prop-range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent-color);border-radius:50%;cursor:pointer;transition:transform .1s}.prop-range::-webkit-slider-thumb:hover{transform:scale(1.2)}.prop-range::-moz-range-thumb{width:12px;height:12px;background:var(--accent-color);border:none;border-radius:50%;cursor:pointer}.prop-value{width:60px;padding:2px 4px;background:#0000004d;border:1px solid var(--border-color);border-radius:3px;color:var(--text-color);font-family:var(--font-mono);font-size:10px;text-align:right}.prop-value:focus{outline:none;border-color:var(--accent-color)}.sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px;gap:8px;flex:1}.sidebar-empty .empty-icon{font-size:24px;opacity:.5}.sidebar-empty .empty-text{font-size:11px;color:var(--text-dim);text-align:center}.sidebar-stale{padding:8px 12px;background:#ffaa001a;border-top:1px solid rgba(255,170,0,.2);font-size:10px;color:#fc6;text-align:center;flex-shrink:0}.shadera-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);overflow:hidden}.shadera-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0000004d;border-bottom:1px solid var(--border-color);flex-shrink:0}.shader-slot{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;min-width:150px;max-width:250px;outline:none}.shader-slot:hover{background:#0006;border-color:#fff3}.shader-slot:focus{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.shader-slot.drag-over{border-color:var(--accent-color);background:#3574f026;border-style:dashed}.shader-slot.empty{border-style:dashed;opacity:.7}.shader-slot .shader-icon{font-size:14px}.shader-slot .shader-name{font-size:12px;color:var(--text-color);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shader-slot .empty-slot{font-size:11px;color:var(--text-dim);opacity:.7}.unsaved-dot{color:#fa0;font-size:10px;animation:pulse 1s infinite;margin-left:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.toolbar-divider{width:1px;height:16px;background:var(--border-color);margin:0 4px}.error-indicator{color:#ff6b6b;font-size:11px;font-weight:500;padding:2px 8px;background:#ff6b6b26;border-radius:4px;cursor:help}.auto-save-indicator{color:var(--text-dim);font-size:11px;opacity:.6}.shadera-split{display:flex;flex:1;overflow:hidden}.shadera-editor{display:flex;flex-direction:column;min-width:200px;background:#0006;border-right:1px solid var(--border-color)}.editor-header{display:flex;align-items:center;padding:8px 12px;background:#0003;border-bottom:1px solid var(--border-color)}.editor-title{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.shader-code{flex:1;width:100%;padding:12px;margin:0;border:none;background:transparent;color:var(--text-color);font-family:var(--font-mono);font-size:13px;line-height:1.5;resize:none;outline:none;overflow:auto;tab-size:4}.shader-code::placeholder{color:var(--text-dim);opacity:.5}.error-panel{background:#ff6b6b1a;border-top:1px solid rgba(255,107,107,.3);max-height:150px;overflow-y:auto;flex-shrink:0}.error-line{padding:6px 12px;font-family:var(--font-mono);font-size:11px;color:#f99;border-bottom:1px solid rgba(255,107,107,.15)}.error-line:last-child{border-bottom:none}.split-handle{width:6px;cursor:col-resize;background:transparent;transition:background .2s;flex-shrink:0}.split-handle:hover{background:var(--accent-color)}.split-handle.properties-handle{width:1px;cursor:default;background:var(--border-color)}.shadera-preview{display:flex;flex-direction:column;min-width:200px;background:#000;position:relative}.shader-canvas{width:100%;height:100%;display:block}.shadera-toolbar .btn.mini{padding:4px 10px;font-size:12px}.shadera-toolbar .btn.mini.active{background:var(--accent-color);color:#fff}.demo-browser-container{position:relative}.demo-browser-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:200px;max-height:300px;overflow-y:auto;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;z-index:1000}.demo-browser-header{padding:8px 12px;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:#0003}.demo-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-color);font-size:12px;text-align:left;cursor:pointer;transition:background .15s}.demo-item:hover{background:#ffffff14}.demo-item:active{background:var(--accent-color);color:#fff}.shader-slot.demo-shader{border-color:#64b4ff66;background:#64b4ff1a}.shader-slot.demo-shader:hover{border-color:#64b4ff99;background:#64b4ff26}.demo-badge{font-size:9px;font-weight:600;padding:2px 5px;background:#64b4ff4d;color:#8ac4ff;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;margin-left:auto}.copy-btn{background:#64c86433!important;border-color:#64c86466!important}.copy-btn:hover:not(:disabled){background:#64c8644d!important;border-color:#64c86499!important}.copy-btn:disabled{opacity:.5;cursor:not-allowed}.copy-status{font-size:11px;padding:2px 8px;border-radius:4px;animation:fadeIn .2s ease}.copy-status.success{color:#8f8;background:#64c86426}.copy-status.error{color:#f88;background:#ff646426}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.timeline-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);overflow:hidden;user-select:none}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#0000004d;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:8px}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-section.center{flex:1;justify-content:center}.mode-toggle{display:flex;background:#0000004d;border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.mode-toggle button{padding:4px 12px;background:transparent;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s ease}.mode-toggle button:hover{background:#ffffff0d;color:var(--text-color)}.mode-toggle button.active{background:var(--accent-color);color:#fff}.playback-controls{display:flex;align-items:center;gap:4px}.playback-controls button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;transition:all .15s ease}.playback-controls button:hover{background:#ffffff1a;border-color:#fff3}.playback-controls button.active{background:var(--accent-color);border-color:var(--accent-color)}.playback-controls button:disabled{opacity:.4;cursor:not-allowed}.time-display{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#0000004d;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:12px;color:var(--text-color);min-width:140px}.time-display .current{color:var(--accent-color)}.time-display .separator{color:var(--text-dim);margin:0 2px}.time-display .duration{color:var(--text-dim)}.speed-control{display:flex;align-items:center;gap:4px}.speed-control select{padding:4px 8px;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:11px;cursor:pointer}.timeline-body{display:flex;flex:1;overflow:hidden}.track-list{width:200px;min-width:150px;max-width:300px;background:#0003;border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.track-list-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0003;border-bottom:1px solid var(--border-color);font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.track-list-header button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-radius:3px}.track-list-header button:hover{background:#ffffff1a;color:var(--text-color)}.track-list-content{flex:1;overflow-y:auto;overflow-x:hidden}.track-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;color:var(--text-dim);text-align:center;font-size:12px}.track-list-empty p{margin:8px 0}.track-item{display:flex;align-items:center;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .15s ease}.track-item:hover{background:#ffffff0d}.track-item.selected{background:#3574f033}.track-item.expanded .track-expand-icon{transform:rotate(90deg)}.track-expand-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:transform .15s ease;flex-shrink:0}.track-color-bar{width:3px;height:20px;border-radius:2px;margin-right:8px;flex-shrink:0}.track-name{flex:1;font-size:12px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.track-item:hover .track-actions{opacity:1}.track-actions button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-radius:2px}.track-actions button:hover{background:#ffffff1a;color:var(--text-color)}.track-actions button.active{color:var(--accent-color)}.property-track{display:flex;align-items:center;padding:4px 8px 4px 28px;font-size:11px;color:var(--text-dim);border-bottom:1px solid rgba(255,255,255,.03)}.property-track:hover{background:#ffffff08;color:var(--text-color)}.property-track .keyframe-count{margin-left:auto;font-size:10px;color:var(--text-dim);background:#ffffff1a;padding:1px 5px;border-radius:8px}.timeline-canvas-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.timeline-ruler{height:28px;background:#0003;border-bottom:1px solid var(--border-color);position:relative;overflow:hidden;flex-shrink:0}.ruler-marks{position:absolute;inset:0}.ruler-mark{position:absolute;bottom:0;width:1px;background:#fff3}.ruler-mark.major{height:12px;background:#fff6}.ruler-mark.minor{height:6px}.ruler-label{position:absolute;top:4px;font-size:10px;color:var(--text-dim);transform:translate(-50%)}.keyframe-tracks-area{flex:1;position:relative;overflow:auto;background:#0000001a}.timeline-grid{position:absolute;inset:0;pointer-events:none}.grid-line{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0d}.grid-line.major{background:#ffffff1a}.keyframe-track-row{height:32px;position:relative;border-bottom:1px solid rgba(255,255,255,.05)}.keyframe-track-row.property{height:24px;background:#0000001a}.keyframe-diamond{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:10px;height:10px;background:var(--accent-color);border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .15s ease}.keyframe-diamond:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.2);box-shadow:0 0 8px #3574f099}.keyframe-diamond.selected{background:#fa0;border-color:#fc0;box-shadow:0 0 8px #fa09}.playhead{position:absolute;top:0;bottom:0;width:2px;background:#f44;pointer-events:none;z-index:100}.playhead:before{content:"";position:absolute;top:-6px;left:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #ff4444}.playhead-handle{position:absolute;top:0;left:-8px;width:18px;height:28px;cursor:ew-resize;z-index:101}.timeline-status{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#0000004d;border-top:1px solid var(--border-color);font-size:11px;color:var(--text-dim);flex-shrink:0}.status-left,.status-right{display:flex;align-items:center;gap:12px}.zoom-control{display:flex;align-items:center;gap:4px}.zoom-control input[type=range]{width:80px;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;cursor:pointer}.zoom-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent-color);border-radius:50%;cursor:pointer}.track-list-content::-webkit-scrollbar,.keyframe-tracks-area::-webkit-scrollbar{width:8px;height:8px}.track-list-content::-webkit-scrollbar-track,.keyframe-tracks-area::-webkit-scrollbar-track{background:#0003}.track-list-content::-webkit-scrollbar-thumb,.keyframe-tracks-area::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.track-list-content::-webkit-scrollbar-thumb:hover,.keyframe-tracks-area::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.timeline-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);text-align:center;padding:40px}.timeline-empty-state .icon{font-size:48px;margin-bottom:16px;opacity:.5}.timeline-empty-state h3{font-size:16px;font-weight:500;color:var(--text-color);margin:0 0 8px}.timeline-empty-state p{font-size:12px;margin:0 0 16px;max-width:300px}.timeline-empty-state button{padding:8px 16px;background:var(--accent-color);border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:background .15s ease}.timeline-empty-state button:hover{background:var(--accent-hover)}.add-track-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.add-track-dialog{background:var(--panel-bg, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:8px;padding:20px;min-width:280px;max-width:400px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.add-track-dialog h4{margin:0 0 16px;font-size:14px;font-weight:500;color:var(--text-color, #fff)}.add-track-dialog .entity-list{flex:1;overflow-y:auto;max-height:250px;margin-bottom:16px;display:flex;flex-direction:column;gap:4px}.add-track-dialog .entity-item{display:block;width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid transparent;border-radius:4px;color:var(--text-color, #fff);font-size:13px;text-align:left;cursor:pointer;transition:all .15s ease}.add-track-dialog .entity-item:hover{background:#3574f033;border-color:var(--accent-color, #3574f0)}.add-track-dialog .no-entities{color:var(--text-dim, #888);font-size:12px;text-align:center;padding:20px}.add-track-dialog .cancel-btn{padding:8px 16px;background:#ffffff1a;border:1px solid var(--border-color, #333);border-radius:4px;color:var(--text-color, #fff);font-size:12px;cursor:pointer;transition:all .15s ease;align-self:flex-end}.add-track-dialog .cancel-btn:hover{background:#ffffff26}.empty-state-buttons{display:flex;gap:12px;justify-content:center}.empty-state-buttons button{display:flex;align-items:center;gap:6px}.empty-state-buttons button:disabled{opacity:.5;cursor:not-allowed}.import-error{color:#ff6b6b;font-size:12px;margin-top:12px}.import-video-btn{margin-left:8px;padding:4px 8px;background:#ffffff1a;border:1px solid transparent;border-radius:4px;color:var(--text-color, #fff);cursor:pointer;transition:all .15s ease}.import-video-btn:hover{background:#3574f033;border-color:var(--accent-color, #3574f0)}.import-video-btn:disabled{opacity:.5;cursor:not-allowed}.video-clip{position:absolute;height:calc(100% - 4px);top:2px;background:linear-gradient(180deg,#2d5a9e,#1e3a6a);border:1px solid #3574f0;border-radius:4px;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease}.video-clip:hover{box-shadow:0 0 0 2px #3574f066}.video-clip.selected{box-shadow:0 0 0 2px var(--accent-color, #3574f0)}.video-clip-name{position:absolute;top:2px;left:4px;font-size:10px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 8px);pointer-events:none}.video-clip-duration{position:absolute;bottom:2px;right:4px;font-size:9px;color:#fff9;pointer-events:none}.video-clip-thumbnails{display:flex;height:100%;opacity:.8}.video-clip-thumbnail{height:100%;object-fit:cover}.edit-tools{display:flex;background:#0000004d;border-radius:4px;overflow:hidden;border:1px solid var(--border-color);margin-left:8px}.edit-tools button{padding:4px 8px;background:transparent;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s ease;min-width:28px}.edit-tools button:hover{background:#ffffff0d;color:var(--text-color)}.edit-tools button.active{background:var(--accent-color);color:#fff}.edit-tools .tool-icon{font-family:Consolas,Monaco,monospace;font-weight:700}.video-clip-container{position:absolute;height:calc(100% - 4px);top:2px;display:flex;border-radius:4px;overflow:visible}.video-clip-container.selected .video-clip-body{box-shadow:0 0 0 2px var(--accent-color, #3574f0)}.video-clip-container.dragging{opacity:.9;z-index:100}.trim-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:10;transition:background .15s ease}.trim-handle:hover{background:#ffaa0080}.trim-handle-left{left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.trim-handle-right{right:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.video-clip-body{flex:1;background:linear-gradient(180deg,#2d5a9e,#1e3a6a);border:1px solid #3574f0;border-radius:4px;overflow:hidden;position:relative;transition:box-shadow .15s ease}.video-clip-container:hover .video-clip-body{box-shadow:0 0 0 1px #3574f066}.video-clip-content{position:relative;height:100%;padding:2px 4px;display:flex;flex-direction:column;justify-content:space-between}.video-clip-content .video-clip-name{position:static;font-size:10px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.video-clip-content .video-clip-duration{position:static;font-size:9px;color:#fff9;text-align:right}.trim-indicator{position:absolute;bottom:-20px;background:#000c;color:#fa0;padding:2px 6px;border-radius:3px;font-size:10px;font-family:Consolas,Monaco,monospace;white-space:nowrap;z-index:20}.trim-indicator-in{left:0}.trim-indicator-out{right:0}.keyframe-track-row{position:relative}.video-clip-container.selected:before{content:"";position:absolute;inset:-2px;border:2px solid var(--accent-color, #3574f0);border-radius:6px;pointer-events:none}.video-clip-container[data-tool=razor]{cursor:crosshair}.video-clip-container[data-tool=slip] .trim-handle{cursor:col-resize}.snap-indicator{position:absolute;top:0;bottom:0;width:2px;background:#fa0;z-index:50;pointer-events:none}.snap-indicator:before,.snap-indicator:after{content:"";position:absolute;left:-3px;width:8px;height:8px;background:#fa0;border-radius:50%}.snap-indicator:before{top:-4px}.snap-indicator:after{bottom:-4px}.audio-clip-container{position:absolute;height:100%;border-radius:4px;overflow:hidden;background:linear-gradient(135deg,#4caf5033,#388e3c4d);border:1px solid rgba(76,175,80,.5);transition:border-color .15s ease,box-shadow .15s ease}.audio-clip-container:hover{border-color:#4caf50cc}.audio-clip-container.selected{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color),0 2px 8px #0000004d}.audio-clip-container.muted{opacity:.5;background:linear-gradient(135deg,#64646433,#5050504d);border-color:#64646480}.audio-waveform-canvas{position:absolute;inset:0;width:100%;height:100%}.audio-clip-info{position:absolute;top:2px;left:6px;display:flex;align-items:center;gap:6px;font-size:10px;color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none;z-index:10}.audio-clip-volume{font-weight:500}.audio-clip-pan{font-size:9px;opacity:.7}.audio-clip-container .trim-handle{position:absolute;top:0;bottom:0;width:6px;background:#4caf504d;cursor:ew-resize;opacity:0;transition:opacity .15s ease,background-color .15s ease;z-index:20}.audio-clip-container:hover .trim-handle,.audio-clip-container.selected .trim-handle{opacity:1}.audio-clip-container .trim-handle:hover{background:#4caf50cc}.audio-clip-container .trim-handle-left{left:0;border-radius:4px 0 0 4px}.audio-clip-container .trim-handle-right{right:0;border-radius:0 4px 4px 0}.track-item.audio-track .track-color-bar{background:#4caf50}.track-item.audio-track .track-content{background:#4caf501a}.timeline-with-preview{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.video-preview-section{flex-shrink:0;height:280px;min-height:200px;max-height:400px;background:#000;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;position:relative}.video-preview-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:#000}.video-preview-container canvas{max-width:100%;max-height:100%;object-fit:contain}.video-preview-loading,.video-preview-error,.video-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px;gap:8px}.video-preview-error{color:#ff6b6b}.video-preview-empty{color:var(--text-dim);font-style:italic}.video-preview-resize-handle{position:absolute;bottom:0;left:0;right:0;height:4px;background:transparent;cursor:ns-resize;transition:background .15s ease}.video-preview-resize-handle:hover{background:var(--accent-color)}.video-preview-overlay{position:absolute;bottom:8px;left:8px;right:8px;display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#0009;border-radius:4px;opacity:0;transition:opacity .15s ease}.video-preview-section:hover .video-preview-overlay{opacity:1}.video-preview-info{font-size:10px;color:#ffffffb3;font-family:Consolas,Monaco,monospace}.video-preview-resolution{font-size:10px;color:#ffffff80}.timeline-content-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:150px}.video-preview-section.collapsed{height:40px;min-height:40px}.video-preview-section.collapsed .video-preview-container{display:none}.video-preview-toggle{position:absolute;top:4px;right:8px;padding:4px 8px;background:#00000080;border:1px solid var(--border-color);border-radius:3px;color:var(--text-dim);font-size:10px;cursor:pointer;z-index:10}.video-preview-toggle:hover{background:#ffffff1a;color:var(--text-color)}.transport-controls{display:flex;align-items:center;gap:8px}.transport-buttons{display:flex;gap:2px}.transport-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-secondary, #888);border-radius:4px;cursor:pointer;transition:all .15s ease;font-size:14px}.transport-btn:hover{background:#ffffff1a;color:var(--text-primary, #ccc)}.transport-btn.active{color:var(--success-color, #4caf50)}.transport-btn.stop{font-size:12px}.transport-bpm{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--input-bg, #1a1a1a);border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace}.bpm-value{color:var(--text-primary, #ccc);min-width:32px;text-align:right}.bpm-label{color:var(--text-secondary, #888);font-size:10px;text-transform:uppercase}.transport-time{padding:2px 8px;background:var(--input-bg, #1a1a1a);border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace;color:var(--text-primary, #ccc);min-width:64px;text-align:center}.audio-tab-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--panel-header-bg, #252525);border-bottom:1px solid var(--border-color, #333);min-height:36px;gap:12px}.audio-mode-switcher{display:flex;gap:2px;background:var(--input-bg, #1a1a1a);border-radius:4px;padding:2px}.audio-mode-btn{padding:4px 12px;border:none;background:transparent;color:var(--text-secondary, #888);font-size:12px;font-weight:500;border-radius:3px;cursor:pointer;transition:all .15s ease}.audio-mode-btn:hover{color:var(--text-primary, #ccc);background:#ffffff0d}.audio-mode-btn.active{background:var(--accent-color, #4a9eff);color:#fff}.audio-header-right{display:flex;align-items:center;gap:8px}.piano-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-secondary, #888);border-radius:4px;cursor:pointer;transition:all .15s ease}.piano-toggle-btn:hover{background:#ffffff1a;color:var(--text-primary, #ccc)}.piano-toggle-btn.active{background:var(--accent-color, #4a9eff);color:#fff}.audio-mixer-view{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#0d0d1a,#151528);overflow:hidden}.mixer-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #666);gap:12px}.mixer-view-empty .empty-icon{font-size:48px;opacity:.5}.mixer-view-empty h3{margin:0;font-size:16px;color:var(--text-primary, #aaa)}.mixer-view-empty p{margin:0;font-size:12px}.mixer-view-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #333;background:#0000004d}.mixer-view-header h2{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #fff);letter-spacing:.5px}.mixer-view-info{display:flex;gap:12px}.mixer-view-info .info-item{font-size:11px;color:var(--text-secondary, #888);padding:2px 8px;background:#ffffff0d;border-radius:3px}.mixer-view-channels{display:flex;flex:1;overflow-x:auto;overflow-y:hidden;padding:16px;gap:2px}.mixer-view-channel{display:flex;flex-direction:column;width:80px;min-width:80px;background:linear-gradient(180deg,#1a1a2e,#16162a);border:1px solid #2a2a4a;border-radius:4px;padding:8px;gap:8px;transition:border-color .2s,opacity .2s}.mixer-view-channel:hover{border-color:#3a3a6a}.mixer-view-channel.muted{opacity:.5}.mixer-view-channel.solo{border-color:gold;box-shadow:0 0 8px #ffd70033}.mixer-view-channel.master{width:100px;min-width:100px;background:linear-gradient(180deg,#1e1e38,#1a1a32);border-color:#444}.mv-channel-header{display:flex;flex-direction:column;align-items:center;gap:4px}.mv-channel-name{font-size:11px;font-weight:600;color:var(--text-primary, #fff);text-align:center;text-transform:uppercase;letter-spacing:.5px}.mixer-view-channel.solo .mv-channel-name{color:gold}.mv-channel-color{width:100%;height:3px;border-radius:2px}.mv-meter-container{display:flex;justify-content:center;padding:4px 0}.mv-meter{position:relative;width:24px;height:140px;background:#0a0a14;border:1px solid #333;border-radius:2px;overflow:hidden}.mixer-view-channel.master .mv-meter{width:32px;height:160px}.mv-meter-rms{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#0a0,#0f0 40%,#ff0 70%,#f80 85%,red 95%);transition:height 50ms linear;box-shadow:0 0 8px #00ff004d}.mv-meter-peak{position:absolute;left:0;right:0;height:2px;background:#fffc;transition:bottom 50ms linear}.mv-meter-hold{position:absolute;left:0;right:0;height:2px;background:#fff;box-shadow:0 0 4px #fff;transition:bottom .1s ease-out}.mv-meter-scale{position:absolute;right:2px;top:4px;bottom:4px;display:flex;flex-direction:column;justify-content:space-between;font-size:7px;color:#555;pointer-events:none}.mv-fader-section{display:flex;flex-direction:column;align-items:center;gap:4px}.mv-fader{writing-mode:vertical-lr;direction:rtl;width:120px;height:10px;cursor:pointer;accent-color:#4a9eff;-webkit-appearance:none;appearance:none;background:transparent}.mixer-view-channel.master .mv-fader{width:140px}.mv-fader::-webkit-slider-track{background:linear-gradient(90deg,#222,#333,#222);border-radius:2px;height:6px}.mv-fader::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:24px;background:linear-gradient(180deg,#666,#444,#333);border:1px solid #555;border-radius:2px;cursor:pointer;box-shadow:0 2px 4px #0006}.mv-fader::-webkit-slider-thumb:hover{background:linear-gradient(180deg,#777,#555,#444)}.mv-fader-value{font-size:10px;font-family:Consolas,monospace;color:var(--text-secondary, #aaa);min-width:50px;text-align:center}.mv-pan-section{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border-top:1px solid #333}.mv-pan-label{font-size:8px;color:#666;text-transform:uppercase}.mv-pan-knob{width:50px;cursor:pointer;accent-color:#50fa7b}.mv-pan-value{font-size:9px;font-family:Consolas,monospace;color:var(--text-secondary, #aaa)}.mv-sends-section{display:flex;flex-direction:column;gap:4px;padding:4px 0;border-top:1px solid #333}.mv-send{display:flex;align-items:center;gap:4px}.mv-send-label{font-size:8px;color:#888;width:24px;text-transform:uppercase}.mv-send-knob{flex:1;cursor:pointer;accent-color:#bd93f9}.mv-buttons{display:flex;justify-content:center;gap:4px;padding-top:4px;border-top:1px solid #333}.mv-btn{width:28px;height:22px;font-size:11px;font-weight:700;border:1px solid #444;border-radius:3px;cursor:pointer;background:#2a2a3a;color:#666;transition:all .15s}.mv-btn:hover{background:#3a3a4a;color:#888}.mv-btn-mute.active{background:linear-gradient(180deg,#f55,#c33);border-color:#f66;color:#fff;box-shadow:0 0 8px #f556}.mv-btn-solo.active{background:linear-gradient(180deg,gold,#c90);border-color:#fd3;color:#000;box-shadow:0 0 8px #ffd70066}.mixer-view-aux{display:flex;gap:16px;padding:12px 16px;background:#0000004d;border-top:1px solid #333}.aux-bus{display:flex;align-items:center;gap:8px}.aux-label{font-size:11px;color:var(--text-secondary, #888);min-width:70px}.aux-meter{width:120px;height:8px;background:#1a1a2a;border:1px solid #333;border-radius:2px;overflow:hidden}.aux-meter-fill{height:100%;background:linear-gradient(90deg,#bd93f9,#9b6dff);transition:width .1s ease-out}.mixer-view-channels::-webkit-scrollbar{height:8px}.mixer-view-channels::-webkit-scrollbar-track{background:#1a1a2a}.mixer-view-channels::-webkit-scrollbar-thumb{background:#3a3a5a;border-radius:4px}.mixer-view-channels::-webkit-scrollbar-thumb:hover{background:#4a4a6a}.midi-panel{display:flex;flex-direction:column;padding:8px;gap:8px}.midi-init{display:flex;flex-direction:column;align-items:center;padding:16px;gap:8px}.midi-init .hint{font-size:11px;color:var(--text-muted, #888);margin:0}.error-message{color:var(--danger, #ff4444);font-size:11px;padding:4px 8px;background:#ff44441a;border-radius:4px}.device-list{display:flex;flex-direction:column;gap:4px}.device-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background:var(--bg-secondary, #1e1e2e);border-radius:4px}.device-item.connected .device-status{color:#50fa7b}.device-item.disconnected .device-status{color:#666}.device-name{font-size:12px;color:var(--text-primary, #fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.device-status{font-size:10px;margin-left:8px}.no-devices{font-size:12px;color:var(--text-muted, #888);font-style:italic;margin:0;padding:8px;text-align:center}.midi-learn-controls{display:flex;flex-direction:column;gap:8px;align-items:center;padding:8px}.learning-active{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#4a9eff1a;border:1px dashed #4a9eff;border-radius:4px}.learning-active p{color:#4a9eff;margin:0;animation:pulse 1s infinite}.binding-list{display:flex;flex-direction:column;gap:4px}.binding-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-secondary, #1e1e2e);border-radius:4px;font-size:11px}.binding-cc{color:var(--accent, #6272a4);font-weight:700;font-family:monospace}.binding-ch{color:var(--text-muted, #888);font-family:monospace}.binding-target{flex:1;color:var(--text-secondary, #aaa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-message{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-tertiary, #0d0d1a);border-radius:4px}.message-row{display:flex;justify-content:space-between;font-size:11px}.message-label{color:var(--text-muted, #888)}.message-value{color:var(--text-primary, #fff);font-family:monospace}.hint{font-size:11px;color:var(--text-muted, #888);margin:0;text-align:center}.btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s ease}.btn.primary{background:var(--accent, #6272a4);color:#fff}.btn.primary:hover{background:var(--accent-hover, #7282b4)}.btn.mini{padding:4px 8px;font-size:11px;background:var(--bg-tertiary, #2d2d3d);color:var(--text-primary, #fff);margin-top:8px}.btn.mini:hover{background:var(--bg-hover, #3d3d4d)}.spatial-audio-panel{padding:8px;display:flex;flex-direction:column;gap:8px}.spatial-audio-panel .engine-init{display:flex;flex-direction:column;gap:8px;padding:8px}.spatial-audio-panel .engine-init .hint{font-size:11px;color:var(--text-muted, #888);margin:0}.spatial-audio-panel .error-message{color:var(--danger, #ff4444);font-size:11px;padding:4px 8px;background:#ff44441a;border-radius:4px}.spatial-audio-panel .distance-display{padding:8px;background:var(--bg-secondary, #1e1e2e);border-radius:4px;font-size:12px;color:var(--text-secondary, #aaa);text-align:center}.spatial-audio-panel .distance-display strong{color:var(--accent, #6272a4);font-family:monospace}.spatial-audio-panel .quick-actions{display:flex;gap:4px;flex-wrap:wrap;padding:4px 0}.spatial-audio-panel .btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s ease}.spatial-audio-panel .btn.primary{background:var(--accent, #6272a4);color:#fff}.spatial-audio-panel .btn.primary:hover{background:var(--accent-hover, #7282b4)}.spatial-audio-panel .btn.mini{padding:4px 8px;font-size:11px;background:var(--bg-tertiary, #2d2d3d);color:var(--text-primary, #fff)}.spatial-audio-panel .btn.mini:hover{background:var(--bg-hover, #3d3d4d)}.audio-diagnostics-panel{display:flex;flex-direction:column;gap:16px;padding:12px;color:#d7dde6}.audio-diagnostics-header{display:flex;flex-direction:column;gap:8px}.audio-diagnostics-title{font-size:16px;font-weight:600;color:#eef2f7}.audio-diagnostics-actions{display:flex;gap:8px;flex-wrap:wrap}.audio-diagnostics-actions button,.audio-diagnostics-row button{background:#2c3340;color:#eef2f7;border:1px solid #3c4556;border-radius:6px;padding:6px 10px;cursor:pointer}.audio-diagnostics-actions button:disabled,.audio-diagnostics-row button:disabled{opacity:.6;cursor:not-allowed}.audio-diagnostics-section{display:flex;flex-direction:column;gap:8px}.audio-diagnostics-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#a6b0c3}.audio-diagnostics-row{display:flex;gap:8px;align-items:center}.audio-diagnostics-row select{flex:1;background:#1f2430;color:#eef2f7;border:1px solid #3c4556;border-radius:6px;padding:6px 10px}.audio-diagnostics-meter{width:100%;height:10px;background:#151a22;border:1px solid #2c3340;border-radius:6px;overflow:hidden}.audio-diagnostics-meter-fill{height:100%;background:linear-gradient(90deg,#3bb273,#f5a623);transition:width .12s ease-out}.audio-diagnostics-help{font-size:12px;color:#9aa4b5;line-height:1.4}.audio-diagnostics-empty{font-size:13px;color:#8b95a6}.audio-diagnostics-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.audio-diagnostics-result{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;border:1px solid transparent;background:#1c212c}.audio-diagnostics-result-label{font-weight:600;font-size:13px;color:#eef2f7}.audio-diagnostics-result-detail{font-size:12px;color:#b0b9c8}.audio-diagnostics-result.pass{border-color:#3bb27380}.audio-diagnostics-result.warn{border-color:#f5a62399}.audio-diagnostics-result.fail{border-color:#e25a5ab3}.audio-diagnostics-result.info{border-color:#5da1ff80}.audio-diagnostics-notes{border-top:1px solid #2c3340;padding-top:8px}.audio-setup-view{display:flex;flex-direction:column;gap:4px;padding:8px;height:100%;overflow-y:auto}.setup-section-content,.setup-section-content .midi-panel,.setup-section-content .spatial-audio-panel,.setup-section-content .audio-diagnostics-panel{padding:0}.setup-section-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.setup-section-badge.midi{background:#6272a44d;color:#8be9fd;border:1px solid rgba(139,233,253,.3)}.setup-section-badge.spatial{background:#50fa7b33;color:#50fa7b;border:1px solid rgba(80,250,123,.3)}.setup-section-badge.diagnostics{background:#ffb86c33;color:#ffb86c;border:1px solid rgba(255,184,108,.3)}.setup-quick-actions{display:flex;gap:8px;padding:12px;margin-top:auto;border-top:1px solid var(--border-color, #333);justify-content:center;flex-wrap:wrap}.setup-quick-actions .btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:11px;transition:all .15s ease;background:var(--bg-tertiary, #2d2d3d);color:var(--text-primary, #fff)}.setup-quick-actions .btn:hover{background:var(--bg-hover, #3d3d4d)}.setup-quick-actions .btn.mini{padding:4px 10px;font-size:10px}.audio-setup-view .inspector-section{margin-bottom:2px}.audio-setup-view .inspector-section-header{padding:8px 10px;background:var(--bg-secondary, #1e1e2e);border-radius:4px}.audio-setup-view .inspector-section-content{background:var(--bg-primary, #181825);border-radius:0 0 4px 4px;padding:8px}.setup-status{display:inline-flex;align-items:center;gap:4px;font-size:10px}.setup-status-indicator{width:6px;height:6px;border-radius:50%}.setup-status-indicator.pass{background:#50fa7b;box-shadow:0 0 4px #50fa7b80}.setup-status-indicator.warn{background:#ffb86c;box-shadow:0 0 4px #ffb86c80}.setup-status-indicator.fail{background:#f55;box-shadow:0 0 4px #ff555580}.setup-status-indicator.info{background:#8be9fd;box-shadow:0 0 4px #8be9fd80}@media (max-width: 400px){.setup-quick-actions{flex-direction:column;align-items:stretch}.setup-quick-actions .btn{text-align:center}}.patch-graph-editor{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0a12;cursor:default}.patch-graph-editor.panning{cursor:grabbing}.graph-controls{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:4px;z-index:100;background:#0009;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.graph-controls button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-dim);cursor:pointer;transition:all .15s}.graph-controls button:hover{background:#ffffff1f;color:var(--text-color)}.zoom-label{font-size:10px;color:var(--text-dim);min-width:36px;text-align:center;font-family:var(--font-mono)}.graph-content{position:absolute;width:0;height:0;transform-origin:0 0}.graph-background,.cables-layer,.modules-layer{pointer-events:none}.module-node{position:absolute;width:180px;min-height:100px;background:#141423f2;border:1px solid rgba(255,255,255,.12);border-radius:8px;pointer-events:auto;cursor:grab;user-select:none;box-shadow:0 4px 12px #0006;transition:box-shadow .15s,border-color .15s}.module-node:hover{border-color:#fff3}.module-node.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px #3574f04d,0 4px 12px #0006}.module-node.dragging{cursor:grabbing;z-index:1000}.module-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);border-radius:8px 8px 0 0}.module-header.oscillator{background:linear-gradient(135deg,#3574f04d,#3574f01a)}.module-header.modulator{background:linear-gradient(135deg,#9c27b04d,#9c27b01a)}.module-header.filter{background:linear-gradient(135deg,#ff98004d,#ff98001a)}.module-header.effect{background:linear-gradient(135deg,#4caf504d,#4caf501a)}.module-header.utility{background:linear-gradient(135deg,#607d8b4d,#607d8b1a)}.module-title{font-size:11px;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-type-badge{font-size:9px;padding:2px 6px;background:#ffffff1a;border-radius:3px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.module-body{display:flex;padding:8px 0}.module-inputs,.module-outputs{flex:1;display:flex;flex-direction:column;gap:2px}.module-inputs{align-items:flex-start}.module-outputs{align-items:stretch}.module-port{display:flex;align-items:center;padding:4px 8px;font-size:10px;color:var(--text-dim);cursor:pointer;transition:color .1s;gap:6px}.module-port:hover{color:var(--text-color)}.module-port.output{justify-content:space-between;width:100%}.port-connector{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;background:transparent;transition:all .15s;flex-shrink:0}.port-connector.audio{border-color:#3574f0}.port-connector.cv{border-color:#9c27b0}.port-connector.connected{background:currentColor}.module-port:hover .port-connector{transform:scale(1.2)}.port-connector.output{margin-left:auto}.port-connector.input{margin-left:-5px}.port-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.module-actions{position:absolute;top:4px;right:4px;opacity:0;transition:opacity .15s}.module-node:hover .module-actions{opacity:1}.module-actions button{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-size:12px}.module-actions button:hover{background:#ff00004d;color:#ff6b6b}.patch-cable{fill:none;stroke-width:3;stroke-linecap:round;pointer-events:stroke;cursor:pointer;transition:stroke-width .15s}.patch-cable.audio{stroke:#3574f0}.patch-cable.cv{stroke:#9c27b0}.patch-cable.pending{stroke:#fff6;stroke-dasharray:8 4}.patch-cable:hover{stroke-width:5}.cable-hitbox{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer}.piano-keyboard{width:100%;height:100px;background:linear-gradient(180deg,#19141ef2,#0f0c14fa),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(40,30,50,.3) 2px,rgba(40,30,50,.3) 4px);border-top:1px solid rgba(80,70,100,.4);padding:8px;box-sizing:border-box;user-select:none;overflow:hidden;position:relative;box-shadow:inset 0 4px 12px #00000080,inset 0 -2px 8px #3c325033}.piano-keyboard.disabled{opacity:.5;pointer-events:none;filter:grayscale(.3)}.piano-scrollbar{height:12px;overflow-x:auto;overflow-y:hidden;margin-bottom:6px}.piano-scrollbar-spacer{height:1px}.piano-scroll-container{height:calc(100% - 18px);overflow-x:auto;overflow-y:hidden;cursor:grab}.piano-scroll-container::-webkit-scrollbar{height:0}.piano-scroll-container{scrollbar-width:none}.piano-scroll-container.mmb-dragging{cursor:grabbing}.piano-keys-container{position:relative;height:100%;display:inline-flex;background:linear-gradient(180deg,transparent 85%,rgba(255,255,255,.02) 100%)}.white-keys{display:flex;height:100%;gap:2px}.piano-key{position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;transition:transform .06s cubic-bezier(.2,0,.4,1),box-shadow .06s ease,filter .06s ease}.white-key{width:32px;flex-shrink:0;border-radius:0 0 5px 5px;background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.7) 2%,transparent 4%),linear-gradient(180deg,#fefefe,#f9f8f6 15%,#f4f2ef 40%,#edeae5 70%,#e5e2dc 90%,#ddd9d2);border-left:1px solid rgba(180,175,165,.8);border-right:1px solid rgba(140,135,125,.9);border-bottom:2px solid rgba(120,115,105,.8);border-top:none;box-shadow:inset 3px 0 6px -3px #00000026,inset -3px 0 6px -3px #0003,inset 0 -8px 12px -8px #00000040,inset 0 20px 30px -20px #ffffff80,0 4px 8px -2px #00000059,0 2px 4px -1px #00000040,0 8px 16px -4px #0003}.white-key:hover{background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.85) 3%,transparent 6%),linear-gradient(180deg,#fff,#fcfbf9 15%,#f7f5f2 40%,#f0ede8 70%,#e9e6e0 90%,#e2ded7);box-shadow:inset 3px 0 6px -3px #0000001f,inset -3px 0 6px -3px #0000002b,inset 0 -8px 12px -8px #00000038,inset 0 20px 30px -20px #fff9,0 6px 12px -2px #0000004d,0 3px 6px -1px #0003,0 10px 20px -4px #0000002e}.white-key.active{transform:translateY(3px) scale(.995);background:linear-gradient(180deg,rgba(120,220,210,.4) 0%,transparent 8%),linear-gradient(180deg,#7eeee4,#5dddd0 20%,#4ecdc4 50%,#3fc0b7,#35b3aa);border-color:#28968cb3;box-shadow:inset 2px 0 5px -2px #00000040,inset -2px 0 5px -2px #0000004d,inset 0 3px 8px -2px #0000004d,inset 0 -4px 8px -4px #0003,0 1px 3px #00000040,0 0 12px #4ecdc440}.black-keys{position:absolute;top:0;left:0;right:0;height:58%;pointer-events:none}.black-key{position:absolute;width:20px;height:100%;border-radius:0 0 4px 4px;pointer-events:auto;z-index:10;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.12) 2%,rgba(255,255,255,.04) 5%,transparent 12%),linear-gradient(180deg,transparent 60%,rgba(255,255,255,.03) 75%,rgba(255,255,255,.06) 85%,rgba(255,255,255,.02) 100%),linear-gradient(180deg,#3a3a3a,#2d2d2d 8%,#252525 20%,#1c1c1c,#151515 80%,#0f0f0f);border:none;border-left:1px solid rgba(60,60,60,.8);border-right:1px solid rgba(20,20,20,.9);border-bottom:2px solid rgba(5,5,5,.95);box-shadow:inset 4px 0 6px -4px #50505066,inset -4px 0 6px -4px #0009,inset 0 3px 8px -4px #7878784d,inset 0 -6px 10px -4px #000000b3,2px 6px 10px -2px #0009,4px 10px 16px -4px #00000080,-2px 6px 8px -2px #0006,0 12px 24px -8px #00000073}.black-key:hover{background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,.18) 2%,rgba(255,255,255,.06) 6%,transparent 14%),linear-gradient(180deg,transparent 58%,rgba(255,255,255,.04) 72%,rgba(255,255,255,.08) 84%,rgba(255,255,255,.03) 100%),linear-gradient(180deg,#454545,#383838 8%,#2f2f2f 20%,#262626,#1e1e1e 80%,#171717)}.black-key.active{transform:translateY(2px) scale(.98);background:linear-gradient(180deg,rgba(60,200,190,.3) 0%,rgba(50,180,170,.15) 5%,transparent 15%),linear-gradient(180deg,#2d8a80,#267a72 15%,#1f6a62 40%,#185a52,#124a44);box-shadow:inset 3px 0 5px -3px #00000080,inset -3px 0 5px -3px #0009,inset 0 4px 8px -2px #00000080,inset 0 -4px 6px -2px #0006,1px 2px 4px #00000059,0 0 15px #2d968c33}.key-label{font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.3),0 -1px 0 rgba(0,0,0,.2)}.white-key .key-label{color:#645f55b3}.black-key .key-label{color:#96969699;font-size:8px;margin-top:auto;margin-bottom:5px;text-shadow:0 1px 0 rgba(255,255,255,.1),0 -1px 0 rgba(0,0,0,.4)}.white-key.active .key-label{color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.3)}.black-key.active .key-label{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.4)}.note-name{font-size:8px;font-weight:500;margin-bottom:5px;color:#827d7399;text-shadow:0 1px 0 rgba(255,255,255,.4)}.white-key.active .note-name{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.white-key.middle-c{background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.7) 2%,transparent 4%),linear-gradient(180deg,#fefefe,#f9f8fa 15%,#f4f3f6 40%,#edecf0 70%,#e5e4ea 90%,#dddce4);border-bottom-color:#5064b480}.white-key.middle-c .note-name{color:#4a7fff;font-weight:700;text-shadow:0 0 8px rgba(74,127,255,.3),0 1px 0 rgba(255,255,255,.5)}.white-key.middle-c:hover{background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.85) 3%,transparent 6%),linear-gradient(180deg,#fff,#fcfbfe 15%,#f7f6fa 40%,#f0eff5 70%,#e9e8f0 90%,#e2e1eb)}@media (max-width: 800px){.piano-keyboard{height:80px}.key-label{font-size:7px}.note-name{font-size:6px}}@media (prefers-color-scheme: dark){.white-key{background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.65) 2%,transparent 4%),linear-gradient(180deg,#f8f8f8,#f2f1ef 15%,#ebe9e6 40%,#e3e1dc 70%,#dbd8d2 90%,#d3d0c9)}.white-key .key-label{color:#5a554bbf}.white-key .note-name{color:#787369a6}}.modular-synth-panel{display:flex;flex-direction:column;height:100%;background:var(--panel-bg);border-radius:8px;overflow:hidden}.modular-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0000004d;border-bottom:1px solid var(--border-color);gap:12px;flex-shrink:0;cursor:pointer}.modular-toolbar:hover{background:#0006}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-center{flex:1;justify-content:center}.modular-toolbar .btn{padding:6px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text-color);cursor:pointer;font-size:12px;transition:all .15s}.modular-toolbar .btn:hover{background:#ffffff1f;border-color:#ffffff40}.modular-toolbar .btn.primary{background:var(--accent-color);border-color:var(--accent-color)}.modular-toolbar .btn.primary:hover{background:#4a8af0}.modular-toolbar .btn.active{background:#3574f04d;border-color:var(--accent-color)}.status-text{color:var(--text-dim);font-size:11px}.synth-output-meter{position:relative;width:140px;height:10px;background:#0a0c12cc;border:1px solid rgba(120,140,180,.25);border-radius:999px;overflow:hidden;box-shadow:inset 0 0 10px #00000073}.synth-output-meter-fill{height:100%;background:linear-gradient(90deg,#4bffc433,#4bffc4f2);box-shadow:0 0 10px #4bffc4a6;transition:width 80ms ease-out}.synth-output-meter-glow{position:absolute;inset:-8px;background:radial-gradient(circle,rgba(75,255,196,.25) 0%,transparent 60%);opacity:0;transition:opacity .2s ease;pointer-events:none}.synth-output-meter.active .synth-output-meter-glow{opacity:1}.error-text{color:#ff6b6b;font-size:11px}.toolbar-checkbox{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);cursor:pointer}.toolbar-checkbox input{cursor:pointer}.view-select{padding:4px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text-color);font-size:11px;cursor:pointer}.maximize-btn{width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.maximize-btn:hover{color:var(--text-color);background:#ffffff14}.modular-content{display:flex;flex:1;overflow:hidden}.graph-container{flex:1;position:relative;overflow:hidden;background:#0a0a12}.init-prompt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-dim);cursor:pointer;overflow:hidden}.init-prompt-blur{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(53,116,240,.15) 0%,transparent 70%);filter:blur(40px);pointer-events:none;transition:all .3s ease}.init-prompt:hover .init-prompt-blur{background:radial-gradient(ellipse at center,rgba(53,116,240,.25) 0%,transparent 70%);filter:blur(50px)}.init-prompt-content{position:relative;z-index:1;padding:40px;border-radius:16px;background:#0000004d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.init-prompt:hover .init-prompt-content{background:#0006;border-color:#3574f04d;transform:scale(1.02)}.init-prompt h3{margin:0 0 12px;font-size:20px;font-weight:500;color:var(--text-color)}.init-prompt .init-cta{margin:8px 0;font-size:15px;color:var(--accent-color);font-weight:500}.init-prompt:hover .init-cta{color:#5a9cff}.init-prompt .hint{margin-top:16px;font-size:11px;opacity:.6}.module-palette{width:200px;background:#0006;border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.palette-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:500}.palette-close{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px 6px;font-size:14px;opacity:.6}.palette-close:hover{opacity:1}.palette-search{padding:8px;border-bottom:1px solid var(--border-color)}.palette-search input{width:100%;padding:6px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-color);font-size:11px;outline:none}.palette-search input:focus{border-color:var(--accent-color)}.palette-content{flex:1;overflow-y:auto;padding:4px 0}.palette-category{margin-bottom:4px}.category-header{display:flex;align-items:center;padding:6px 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);cursor:pointer;user-select:none}.category-header:hover{background:#ffffff08}.category-header .arrow{margin-right:6px;font-size:8px;transition:transform .15s}.category-header.collapsed .arrow{transform:rotate(-90deg)}.category-modules{overflow:hidden}.category-modules.collapsed{display:none}.palette-module{display:flex;align-items:center;padding:6px 12px 6px 24px;font-size:11px;color:var(--text-color);cursor:grab;user-select:none;transition:background .1s}.palette-module:hover{background:#3574f026}.palette-module:active{cursor:grabbing}.module-icon{width:16px;height:16px;margin-right:8px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px}.module-icon.oscillator{background:#3574f0}.module-icon.modulator{background:#9c27b0}.module-icon.filter{background:#ff9800}.module-icon.effect{background:#4caf50}.module-icon.utility{background:#607d8b}.module-inspector{width:260px;background:#0000004d;border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.inspector-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color)}.inspector-title{display:flex;flex-direction:column;gap:2px}.inspector-title h4{margin:0;font-size:13px;font-weight:500}.inspector-title .module-type{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.inspector-actions{display:flex;gap:4px}.inspector-actions button{padding:4px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--text-dim);cursor:pointer;font-size:10px}.inspector-actions button:hover{background:#ffffff1f;color:var(--text-color)}.inspector-actions button.danger:hover{background:#f003;border-color:#f006;color:#ff6b6b}.inspector-content{flex:1;overflow-y:auto;padding:8px}.inspector-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:12px;text-align:center;padding:20px}.param-group{margin-bottom:12px}.param-group-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:8px;padding:0 4px}.param-row{display:flex;align-items:center;margin-bottom:6px;padding:0 4px}.param-label{flex:0 0 80px;font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.param-control{flex:1;display:flex;align-items:center;gap:6px}.param-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.param-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--accent-color);border-radius:50%;cursor:pointer}.param-value{min-width:40px;font-size:10px;color:var(--text-dim);text-align:right;font-family:var(--font-mono)}.ports-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.ports-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:8px;padding:0 4px}.port-list{display:flex;flex-direction:column;gap:4px}.port-item{display:flex;align-items:center;padding:4px 8px;background:#ffffff08;border-radius:3px;font-size:11px}.port-dot{width:8px;height:8px;border-radius:50%;margin-right:8px}.port-dot.audio{background:#3574f0}.port-dot.cv{background:#9c27b0}.port-dot.input{border:2px solid currentColor;background:transparent}.port-name{flex:1}.port-type{font-size:9px;color:var(--text-dim);text-transform:uppercase}.preset-browser{display:flex;align-items:center;gap:0;background:#0006;border:1px solid rgba(255,255,255,.12);border-radius:3px;overflow:hidden}.preset-nav-btn{width:22px;height:22px;padding:0;background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:8px;transition:all .1s ease}.preset-nav-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-color)}.preset-nav-btn:active:not(:disabled){background:#ffffff26}.preset-nav-btn:disabled{opacity:.3;cursor:not-allowed}.preset-name{padding:0 10px;font-size:11px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;min-width:80px;text-align:center;user-select:none}.modular-toolbar .btn.keyboard-toggle{min-width:50px}.modular-toolbar .btn.keyboard-toggle.active{background:#4ecdc433;border-color:#4ecdc4;color:#4ecdc4}.modular-synth-panel>.piano-keyboard{flex-shrink:0}.modular-main-wrapper{display:flex;flex:1;overflow:hidden}.synth-left-sidebar{display:flex;flex-direction:column;width:36px;background:#0006;border-right:1px solid var(--border-color);padding:8px 4px;gap:4px;flex-shrink:0}.sidebar-btn{width:28px;height:28px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.sidebar-btn:hover{background:#ffffff1a;color:var(--text-color);border-color:#fff3}.sidebar-btn.active{background:#3574f040;border-color:var(--accent-color);color:var(--accent-color)}.tooltip-text{color:var(--accent-color);font-size:12px;font-weight:500;animation:tooltip-fade-in .15s ease}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.inspector-actions button.active{background:#ff980040;border-color:#ff9800;color:#ff9800}.audio-system-panel{display:flex;flex-direction:column;height:100%;background:var(--panel-bg, #1a1a1a);overflow:hidden}.audio-mode-content{flex:1;overflow:hidden;position:relative}.audio-mode-content .mode-pane{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column}.audio-mode-content .mode-pane.active{visibility:visible;opacity:1;z-index:1}.audio-mode-content .mode-pane.hidden{visibility:hidden;opacity:0;z-index:0;pointer-events:none}.audio-mode-content .mode-pane>*{flex:1;width:100%;height:100%}.audio-mode-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #888);font-size:14px;gap:8px}.audio-mode-placeholder h3{margin:0;font-size:18px;color:var(--text-primary, #ccc);font-weight:500}.audio-mode-placeholder p{margin:0;font-size:12px;opacity:.7}.audio-keyboard-footer{border-top:1px solid var(--border-color, #333)}.mixer-channel{display:flex;flex-direction:column;align-items:center;width:60px;min-width:60px;padding:8px 4px;background:var(--panel-bg, #1a1a2e);border-right:1px solid var(--border-color, #333);gap:8px}.mixer-channel.muted{opacity:.6}.mixer-channel.solo .channel-name{color:gold}.channel-name{font-size:10px;font-weight:600;text-align:center;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.channel-meter{position:relative;width:20px;height:120px;background:#111;border-radius:2px;overflow:hidden;--rms-level: 0%;--peak-level: 0%;box-shadow:var(--depth-control-bevel, none);transition:box-shadow .15s ease}.channel-meter:has(.meter-fill.rms[style*=height]:not([style*="height: 0"])){box-shadow:var(--meter-glow, none)}.meter-fill{position:absolute;bottom:0;width:100%;transition:height 50ms ease-out}.meter-fill.rms{height:var(--rms-level);background:linear-gradient(to top,#0f0,#ff0 70%,red 90%)}.meter-fill.peak{height:2px;bottom:calc(var(--peak-level) - 1px);background:#fff}.meter-scale{position:absolute;right:2px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;font-size:6px;color:#666;pointer-events:none}.channel-fader{display:flex;flex-direction:column;align-items:center;gap:4px}.fader-input{writing-mode:vertical-lr;direction:rtl;width:100px;height:8px;cursor:pointer}.fader-value{font-size:9px;color:var(--text-secondary, #aaa)}.channel-pan{display:flex;flex-direction:column;align-items:center;gap:2px}.pan-knob{width:40px;cursor:pointer}.pan-label{font-size:9px;color:var(--text-secondary, #aaa)}.channel-buttons{display:flex;gap:4px}.btn-mute,.btn-solo{width:24px;height:20px;font-size:10px;font-weight:700;border:none;border-radius:3px;cursor:pointer;background:#333;color:#888}.btn-mute:hover,.btn-solo:hover{background:#444}.btn-mute.active{background:#f44;color:#fff}.btn-solo.active{background:gold;color:#000}.channel-color{width:100%;height:3px;border-radius:1px}.tabbed-center-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);border-radius:8px;overflow:hidden}.center-tabs{display:flex;align-items:center;background:#0000004d;border-bottom:1px solid var(--border-color);padding:0;flex-shrink:0}.center-tabs-spacer{flex:1}.center-tab-maximize{width:32px;height:32px;margin:4px 8px 4px 0;padding:0;border:none;background:transparent;color:var(--text-dim);font-size:14px;cursor:pointer;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.center-tab-maximize:hover{color:var(--text-color);background:#ffffff14}.center-tab{padding:10px 20px;border:none;background:transparent;color:var(--text-dim);font-family:var(--font-main);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease;position:relative}.center-tab:hover{color:var(--text-color);background:#ffffff08}.center-tab.active{color:var(--text-color);border-bottom-color:var(--accent-color);background:#3574f014}.center-tab-content{flex:1;overflow:hidden;position:relative}.center-tab-content .tab-pane{position:absolute;top:0;left:0;width:100%;height:100%}.center-tab-content .tab-pane.active{visibility:visible;opacity:1;z-index:1}.center-tab-content .tab-pane.hidden{visibility:hidden;opacity:0;z-index:0;pointer-events:none}.center-tab-content .tab-pane>*{width:100%;height:100%}.agent-chat-panel{display:flex;flex-direction:column;height:100%;min-height:200px;font-family:var(--font-main);background:var(--panel-bg)}.context-preview{flex-shrink:0;border-bottom:1px solid var(--border-color);background:#0003}.context-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;text-align:left}.context-toggle:hover{background:#ffffff0d;color:var(--text-color)}.toggle-icon{font-size:8px;opacity:.7}.context-summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-details{margin:0;padding:8px 12px;max-height:200px;overflow:auto;font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--text-dim);background:#0000004d;white-space:pre-wrap;word-break:break-word}.messages-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:24px;text-align:center;color:var(--text-dim)}.empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.empty-state p{margin:4px 0;font-size:12px}.empty-hint{font-size:11px;opacity:.7}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:90%;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-header{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-dim)}.message-role{font-weight:600}.chat-message.user .message-role{color:var(--accent-color)}.chat-message.assistant .message-role{color:#8cf0e0}.message-time{opacity:.6}.message-content{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-message.user .message-content{background:var(--accent-color);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .message-content{background:#8cf0e01a;border:1px solid rgba(140,240,224,.2);color:var(--text-color);border-bottom-left-radius:4px}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent-color);margin-left:2px;animation:blink .8s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-error{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:0 12px 8px;background:#ff646426;border:1px solid rgba(255,100,100,.3);border-radius:8px;font-size:12px;color:#f99}.chat-error .error-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#ff64644d;border-radius:50%;font-size:11px;font-weight:700}.chat-error .error-message{flex:1}.chat-input-area{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--border-color);background:#0003}.chat-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:#0000004d;color:var(--text-color);font-family:var(--font-main);font-size:13px;line-height:1.4;resize:none;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--accent-color)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-input::placeholder{color:var(--text-dim);opacity:.5}.chat-actions{display:flex;gap:8px;justify-content:flex-end}.chat-actions .btn.primary{background:var(--accent-color);color:#fff}.chat-actions .btn.primary:hover:not(:disabled){background:#4584ff}.chat-actions .btn.cancel{background:#ff646433;color:#f99;border-color:#ff64644d}.chat-actions .btn.cancel:hover{background:#ff64644d}.api-key-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 24px;height:100%}.setup-header{text-align:center}.setup-icon{font-size:40px;margin-bottom:12px}.setup-header h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-color)}.setup-header p{margin:0;font-size:12px;color:var(--text-dim);max-width:240px}.setup-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.api-key-input{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:#0000004d;color:var(--text-color);font-family:var(--font-mono);font-size:12px;outline:none;transition:border-color .2s}.api-key-input:focus{border-color:var(--accent-color)}.api-key-input::placeholder{color:var(--text-dim);opacity:.5}.setup-form .btn.primary{padding:10px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.setup-form .btn.primary:hover:not(:disabled){background:#4584ff}.setup-form .btn.primary:disabled{opacity:.5;cursor:not-allowed}.setup-help{text-align:center}.setup-help a{color:var(--accent-color);font-size:12px;text-decoration:none}.setup-help a:hover{text-decoration:underline}.chat-actions .btn.disconnect{background:transparent;color:var(--text-dim);border:1px solid var(--border-color);opacity:.7}.chat-actions .btn.disconnect:hover:not(:disabled){opacity:1;color:#f99;border-color:#ff64644d}.setup-error{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;width:100%;max-width:280px;background:#ff646426;border:1px solid rgba(255,100,100,.3);border-radius:8px;font-size:12px;color:#f99;animation:fadeIn .2s ease-out}.setup-error .error-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ff64644d;border-radius:50%;font-size:11px;font-weight:700}.setup-error .error-message{flex:1;line-height:1.4}.api-key-input.input-error{border-color:#ff646480}.api-key-input.input-error:focus{border-color:#ff6464b3}.tools-badge{padding:2px 6px;background:#8cf0e033;border-radius:4px;font-size:9px;color:#8cf0e0;font-weight:500}.tool-executions{margin-bottom:8px;border-radius:8px;overflow:hidden;background:#0003;border:1px solid rgba(140,240,224,.15)}.tool-executions-header{padding:6px 10px;font-size:10px;font-weight:600;color:#8cf0e0;background:#8cf0e01a;border-bottom:1px solid rgba(140,240,224,.1)}.tool-execution{border-bottom:1px solid rgba(255,255,255,.05)}.tool-execution:last-child{border-bottom:none}.tool-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text-color);font-size:11px;cursor:pointer;text-align:left;transition:background .15s}.tool-header:hover{background:#ffffff0d}.tool-status{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:9px;font-weight:700;flex-shrink:0}.tool-status.pending,.tool-status.executing{background:#ffc10733;color:#ffc107;animation:pulse 1s infinite}.tool-status.success{background:#4caf5033;color:#4caf50}.tool-status.error{background:#f4433633;color:#f44336}.tool-name{flex:1;font-family:var(--font-mono);font-weight:500}.tool-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-dim);font-weight:700}.tool-details{padding:8px 10px;background:#0003;border-top:1px solid rgba(255,255,255,.05)}.tool-section{margin-bottom:8px}.tool-section:last-child{margin-bottom:0}.tool-label{display:block;font-size:9px;font-weight:600;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.tool-json{margin:0;padding:8px;background:#0000004d;border-radius:4px;font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--text-color);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:150px;overflow-y:auto}.tool-execution.executing .tool-header{background:#ffc1070d}.tool-execution.error .tool-header{background:#f443360d}.tool-execution.error .tool-json{border-left:2px solid rgba(244,67,54,.5)}.chat-message.system{align-self:stretch;max-width:100%}.chat-message.system .message-role{color:#ffc107}.chat-message.system .message-content{background:#ffc1071a;border:1px solid rgba(255,193,7,.2);color:var(--text-color);border-radius:8px}.chat-message.system .message-content.system-content pre{margin:0;padding:0;background:transparent;font-family:var(--font-mono);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.command-suggestions{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:4px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 -4px 16px #0000004d;z-index:100;max-height:200px;overflow-y:auto}.chat-input-area{position:relative}.suggestion-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s}.suggestion-item:hover,.suggestion-item.selected{background:rgba(var(--accent-color-rgb),.15)}.suggestion-item.selected{background:rgba(var(--accent-color-rgb),.2)}.suggestion-name{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent-color);min-width:80px}.suggestion-desc{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input.has-suggestions{border-color:var(--accent-color)}.empty-hint code{font-family:var(--font-mono);font-size:11px;padding:2px 6px;background:rgba(var(--accent-color-rgb),.15);border-radius:4px;color:var(--accent-color)}.tabbed-bottom-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);border-radius:8px;overflow:hidden}.bottom-tabs{display:flex;align-items:center;background:#0000004d;border-bottom:1px solid var(--border-color);padding:0;flex-shrink:0}.bottom-tab{padding:8px 16px;border:none;background:transparent;color:var(--text-dim);font-family:var(--font-main);font-size:12px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease;position:relative}.bottom-tab:hover{color:var(--text-color);background:#ffffff08}.bottom-tab.active{color:var(--text-color);border-bottom-color:var(--accent-color);background:#3574f014}.bottom-tab-content{flex:1;overflow:hidden;position:relative}.bottom-tab-content .tab-pane{position:absolute;top:0;left:0;width:100%;height:100%}.bottom-tab-content .tab-pane.active{visibility:visible;z-index:1}.bottom-tab-content .tab-pane.hidden{visibility:hidden;z-index:0;pointer-events:none}.bottom-tab-content .tab-pane>*{width:100%;height:100%}.audio-lab-panel{display:flex;flex-direction:column;height:100%;padding:6px;gap:6px;overflow-y:auto;overflow-x:hidden}.engine-init{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;text-align:center}.engine-init .btn.primary{padding:10px 20px;font-size:13px;font-weight:600}.engine-init .hint{font-size:11px;color:var(--text-dim);margin:0}.engine-init .error-message{padding:8px 12px;background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#f99;font-size:12px}.engine-controls{display:flex;flex-direction:column;gap:8px}.engine-status{font-size:11px;color:var(--text-dim);padding:4px 8px;background:#0003;border-radius:4px}.engine-status .running{color:#4ade80;font-weight:600}.engine-status .stopped{color:#f87171;font-weight:600}.generator-description{font-size:11px;color:var(--text-dim);margin:4px 0 8px;padding:0 2px;line-height:1.4}.quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.quick-actions .btn.mini{padding:4px 10px;font-size:11px;font-family:var(--font-mono)}.quick-actions .btn.primary{flex:1;min-width:80px}.emotion-preview{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;background:#0003;border-radius:4px;font-size:11px}.emotion-label{color:var(--text-dim)}.emotion-value{font-family:var(--font-mono);color:var(--accent-color);font-weight:500}.audio-console{padding:8px}.audio-console .hint{font-size:11px;color:var(--text-dim);margin:0;line-height:1.4}.audio-lab-panel .audio-generator-inspector{background:#ffffff05;border-radius:6px}.audio-lab-panel .btn.primary{background:var(--accent-color);border:none;color:#fff;cursor:pointer;transition:all .15s ease}.audio-lab-panel .btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-color) 85%,white)}.audio-lab-panel .btn.primary:disabled{opacity:.6;cursor:not-allowed}.audio-lab-panel::-webkit-scrollbar{width:6px}.audio-lab-panel::-webkit-scrollbar-track{background:transparent}.audio-lab-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.audio-lab-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (max-width: 300px){.quick-actions .btn.mini{flex:1;min-width:40px}}.stem-editor-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:6px;gap:6px}.stem-list{display:flex;flex-direction:column;gap:4px}.stem-item{display:flex;align-items:center;padding:6px 8px;background:var(--item-bg, #2a2a4e);border-radius:4px;cursor:pointer;gap:8px}.stem-item:hover{background:var(--item-bg-hover, #3a3a5e)}.stem-item.selected{background:var(--item-bg-selected, #4a4a6e);border:1px solid var(--accent-color, #4a9eff)}.stem-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stem-category{font-size:10px;color:var(--text-secondary, #888);padding:2px 6px;background:#0000004d;border-radius:3px;text-transform:uppercase}.btn-remove{width:20px;height:20px;border:none;background:transparent;color:var(--text-secondary, #888);cursor:pointer;font-size:14px;border-radius:3px;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:#ff00004d;color:#ff6b6b}.add-stem{margin-top:4px;padding:8px;background:transparent;border:1px dashed var(--border-color, #444);border-radius:4px;color:var(--text-secondary, #888);cursor:pointer}.add-stem:hover{background:var(--item-bg-hover, #3a3a5e);border-color:var(--accent-color, #4a9eff);color:var(--text-primary, #fff)}.curve-canvas-container{padding:8px;background:var(--panel-bg-dark, #0d0d1a);border-radius:4px;margin-top:8px}.curve-canvas{width:100%;height:auto;border-radius:2px}.preview-controls{display:flex;gap:8px}.preview-controls .btn{flex:1;padding:8px;background:var(--button-bg, #3a3a5e);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #fff);cursor:pointer}.preview-controls .btn:hover{background:var(--button-bg-hover, #4a4a6e)}.hint{font-size:11px;color:var(--text-secondary, #888);margin-top:4px;margin-bottom:0;font-style:italic}.empty-state{text-align:center;padding:24px;color:var(--text-secondary, #888)}.empty-state p{margin:4px 0}.swarmui-panel{display:flex;flex-direction:column;height:100%;padding:6px;gap:6px;overflow-y:auto;overflow-x:hidden}.connection-row{display:flex;gap:6px;align-items:center}.backend-url-input{flex:1;padding:6px 10px;background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-color, #d7faff);font-size:11px;font-family:var(--font-mono, monospace);outline:none;transition:all .15s ease}.backend-url-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5));background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.backend-url-input:disabled{opacity:.6;cursor:not-allowed}.connection-row .btn.mini{width:32px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.connection-row .btn.connect{background:var(--accent-color, #3574f0);border:none;color:#fff}.connection-row .btn.disconnect{background:#f8717133;border:1px solid rgba(248,113,113,.4);color:#f87171}.connection-row .btn:hover:not(:disabled){filter:brightness(1.1)}.connection-status{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-top:4px;background:#0003;border-radius:4px;font-size:11px}.connection-status .status-dot{width:8px;height:8px;border-radius:50%;transition:background .2s ease}.connection-status.status-disconnected .status-dot{background:#96969699}.connection-status.status-connecting .status-dot{background:#fbbf24;animation:pulse 1s infinite}.connection-status.status-connected .status-dot{background:#4ade80;box-shadow:0 0 6px #4ade8080}.connection-status.status-error .status-dot{background:#f87171}.connection-status .status-text{color:var(--text-dim, rgba(215, 250, 255, .75))}.connection-status.status-connected .status-text{color:#4ade80}.connection-status.status-error .status-text{color:#f87171}.connection-error{padding:6px 10px;margin-top:4px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:4px;color:#fca5a5;font-size:10px;line-height:1.4}.prompt-section{display:flex;flex-direction:column;gap:6px}.prompt-input{width:100%;padding:8px 10px;background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-md, 8px);color:var(--text-color, #d7faff);font-size:12px;font-family:var(--font-main);line-height:1.5;resize:vertical;min-height:60px;outline:none;transition:all .15s ease}.prompt-input:focus{border-color:var(--accent-color, #3574f0);background:var(--input-bg-hover, rgba(0, 0, 0, .4))}.prompt-input::placeholder{color:var(--text-muted, rgba(215, 250, 255, .3))}.prompt-input:disabled{opacity:.5;cursor:not-allowed}.negative-prompt-input{width:100%;padding:6px 10px;background:var(--input-bg, rgba(0, 0, 0, .3));border:1px solid var(--input-border, rgba(140, 255, 240, .1));border-radius:var(--radius-sm, 4px);color:var(--text-dim, rgba(215, 250, 255, .75));font-size:11px;outline:none;transition:all .15s ease}.negative-prompt-input:focus{border-color:var(--input-border-focus, rgba(53, 116, 240, .5))}.negative-prompt-input::placeholder{color:var(--text-muted, rgba(215, 250, 255, .3))}.negative-prompt-input:disabled{opacity:.5;cursor:not-allowed}.seed-row{display:flex;flex-direction:column;gap:4px}.seed-row .inspector-number-field{margin-left:35%}.generate-section{padding:4px 0}.generate-btn{width:100%;padding:12px 16px;background:var(--accent-color, #3574f0);border:none;border-radius:var(--radius-md, 8px);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.generate-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-color, #3574f0) 85%,white);transform:translateY(-1px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.swarmui-panel .generate-btn:not(:disabled){background:var(--accent-color, #3574f0)}.progress-section{display:flex;flex-direction:column;gap:4px;padding:8px;background:#0003;border-radius:var(--radius-md, 8px)}.progress-bar-container{width:100%;height:6px;background:#0000004d;border-radius:3px;overflow:hidden}.progress-bar{height:100%;border-radius:3px;transition:width .3s ease}.progress-bar.queued,.progress-bar.generating{background:linear-gradient(90deg,var(--accent-color, #3574f0),#60a5fa);animation:shimmer 2s infinite}.progress-bar.complete{background:#4ade80}.progress-bar.failed{background:#f87171}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.progress-text{font-size:11px;color:var(--text-dim, rgba(215, 250, 255, .75));text-align:center}.results-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;max-height:240px;overflow-y:auto;padding:4px}.result-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm, 4px);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .15s ease}.result-item:hover{border-color:var(--accent-color, #3574f0);transform:scale(1.02)}.result-item.selected{border-color:var(--accent-color, #3574f0);box-shadow:0 0 8px #3574f066}.result-item img{width:100%;height:100%;object-fit:cover}.result-overlay{position:absolute;bottom:0;left:0;right:0;padding:2px 4px;background:linear-gradient(transparent,#000c);opacity:0;transition:opacity .15s ease}.result-item:hover .result-overlay{opacity:1}.result-size{font-size:9px;color:#fff;font-family:var(--font-mono, monospace)}.results-actions{display:flex;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-subtle, rgba(140, 255, 240, .08))}.results-actions .btn.mini{padding:4px 10px;font-size:11px}.results-actions .btn.danger{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#fca5a5}.results-actions .btn.danger:hover{background:#f8717140;border-color:#f8717180}.status-footer{padding:6px 10px;background:#0003;border-radius:var(--radius-sm, 4px);font-size:11px;color:var(--text-dim, rgba(215, 250, 255, .75));text-align:center}.swarmui-panel::-webkit-scrollbar,.results-gallery::-webkit-scrollbar{width:6px}.swarmui-panel::-webkit-scrollbar-track,.results-gallery::-webkit-scrollbar-track{background:transparent}.swarmui-panel::-webkit-scrollbar-thumb,.results-gallery::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.swarmui-panel::-webkit-scrollbar-thumb:hover,.results-gallery::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (max-width: 280px){.results-gallery{grid-template-columns:repeat(2,1fr)}.results-actions{flex-direction:column}}.personalive-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);overflow:hidden}.personalive-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0000004d;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:12px}.connection-section{display:flex;align-items:center;gap:8px;flex:1}.server-url-input{flex:1;max-width:280px;padding:6px 10px;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:12px;font-family:var(--font-mono)}.server-url-input:focus{outline:none;border-color:var(--accent-color)}.server-url-input:disabled{opacity:.6}.status-section{display:flex;align-items:center;gap:8px}.status-indicator{width:8px;height:8px;border-radius:50%;transition:background-color .2s}.status-indicator.connected{background-color:#4caf50;box-shadow:0 0 6px #4caf5099}.status-indicator.disconnected{background-color:#666}.status-text{font-size:11px;color:var(--text-dim)}.latency-text{font-size:10px;color:var(--text-dim);opacity:.7;padding:2px 6px;background:#0003;border-radius:3px}.error-banner{padding:8px 12px;background:#ff646426;border-bottom:1px solid rgba(255,100,100,.3);color:#f88;font-size:12px;flex-shrink:0}.personalive-content{display:flex;flex:1;gap:1px;background:var(--border-color);overflow:hidden}.panel-section{display:flex;flex-direction:column;flex:1;background:var(--panel-bg);padding:12px;gap:8px}.section-header{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.reference-section .reference-container,.driving-section .video-container,.output-section .output-container{flex:1;display:flex;align-items:center;justify-content:center;background:#0006;border-radius:6px;overflow:hidden;position:relative;min-height:200px}.reference-image,.output-image{max-width:100%;max-height:100%;object-fit:contain}.webcam-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.output-canvas{display:none}.placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-dim);opacity:.5;font-size:12px}.upload-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:var(--text-color);font-size:14px}.animating-badge{font-size:9px;font-weight:600;padding:2px 6px;background:#ff64644d;color:#f88;border-radius:3px;animation:pulse 1s infinite}.personalive-panel .btn{padding:6px 12px;font-size:12px;background:#ffffff14;border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;transition:all .15s}.personalive-panel .btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff3}.personalive-panel .btn:disabled{opacity:.5;cursor:not-allowed}.personalive-panel .btn.mini{padding:4px 10px;font-size:11px}.personalive-panel .btn.connected{background:#ff646426;border-color:#ff64644d;color:#f88}.personalive-panel .btn.connected:hover:not(:disabled){background:#ff646440}.upload-btn,.webcam-btn{width:100%}.webcam-error{font-size:11px;color:#f88;padding:4px 8px;background:#ff64641a;border-radius:4px;text-align:center}.personalive-controls{display:flex;align-items:center;gap:8px;padding:12px;background:#0003;border-top:1px solid var(--border-color);flex-shrink:0}.personalive-controls .btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.personalive-controls .btn.primary:hover:not(:disabled){background:var(--accent-hover)}.start-btn{flex:1;max-width:200px}.stop-btn{background:#ff646426!important;border-color:#ff64644d!important;color:#f88!important}.stop-btn:hover:not(:disabled){background:#ff646440!important}.reset-btn{margin-left:auto}.admin-panel{display:flex;flex-direction:column;height:100%;padding:12px;background:var(--panel-bg, #1e1e2e);color:var(--text-color, #cdd6f4);font-size:13px;overflow-y:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #45475a)}.admin-header h2{margin:0;font-size:16px;font-weight:600;color:var(--heading-color, #cdd6f4)}.admin-role{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;background:var(--accent-color, #89b4fa);color:var(--panel-bg, #1e1e2e)}.admin-session-info{display:flex;align-items:center;gap:8px}.admin-device{font-size:12px;color:var(--text-muted, #a6adc8)}.admin-loading,.admin-not-admin{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center}.admin-not-admin h3{margin:0 0 8px;color:var(--warning-color, #f9e2af)}.admin-hint{font-size:12px;color:var(--text-muted, #a6adc8);margin:8px 0}.admin-success{color:var(--success-color, #a6e3a1);margin:8px 0}.admin-error{color:var(--error-color, #f38ba8);margin:8px 0;padding:8px;background:#f38ba81a;border-radius:4px}.admin-device-registration{max-width:400px;margin:0 auto;padding:16px}.admin-device-registration h3{margin:0 0 12px;font-size:14px}.admin-field{margin-bottom:12px}.admin-field label{display:block;margin-bottom:4px;font-size:12px;color:var(--text-muted, #a6adc8)}.admin-field input{width:100%;padding:8px 12px;background:var(--input-bg, #313244);border:1px solid var(--border-color, #45475a);border-radius:4px;color:var(--text-color, #cdd6f4);font-size:13px}.admin-field input:focus{outline:none;border-color:var(--accent-color, #89b4fa)}.admin-field input:disabled{opacity:.6;cursor:not-allowed}.admin-session-prompt{text-align:center;padding:24px}.admin-session-prompt p{margin:0 0 16px}.admin-button{padding:8px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.admin-button.primary{background:var(--accent-color, #89b4fa);color:var(--panel-bg, #1e1e2e)}.admin-button.primary:hover:not(:disabled){background:var(--accent-hover, #b4befe)}.admin-button.secondary{background:var(--surface-color, #313244);color:var(--text-color, #cdd6f4)}.admin-button.secondary:hover:not(:disabled){background:var(--surface-hover, #45475a)}.admin-button.small{padding:4px 10px;font-size:12px}.admin-button.danger{background:var(--error-color, #f38ba8);color:var(--panel-bg, #1e1e2e)}.admin-button.danger:hover:not(:disabled){background:#f5a9bc}.admin-button:disabled{opacity:.5;cursor:not-allowed}.admin-section{margin-bottom:20px}.admin-section h3{margin:0 0 12px;font-size:14px;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{margin:0}.admin-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.admin-service-card{padding:12px;background:var(--surface-color, #313244);border-radius:6px;border:1px solid var(--border-color, #45475a)}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.service-name{font-weight:500;font-size:13px}.service-status{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase;color:#fff}.service-metrics{display:flex;gap:12px;margin-bottom:8px}.metric{display:flex;flex-direction:column}.metric-label{font-size:10px;color:var(--text-muted, #a6adc8)}.metric-value{font-size:12px;font-weight:500}.service-error{font-size:11px;color:var(--error-color, #f38ba8);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-actions{display:flex;gap:8px}.admin-devices-list{display:flex;flex-direction:column;gap:8px}.admin-device-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface-color, #313244);border-radius:6px;border:1px solid var(--border-color, #45475a)}.admin-device-item.current{border-color:var(--accent-color, #89b4fa)}.device-info{display:flex;flex-direction:column;gap:2px}.device-name{font-weight:500;font-size:13px}.device-current-badge{display:inline-block;padding:1px 6px;margin-left:8px;border-radius:3px;font-size:10px;background:var(--accent-color, #89b4fa);color:var(--panel-bg, #1e1e2e)}.device-meta{font-size:11px;color:var(--text-muted, #a6adc8)}.admin-log-viewer{display:flex;flex-direction:column;height:100%}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #45475a)}.log-header h3{margin:0;font-size:14px}.log-actions{display:flex;gap:8px}.log-content{flex:1;overflow-y:auto;background:var(--surface-color, #313244);border-radius:6px;padding:8px;font-family:Fira Code,Consolas,monospace;font-size:11px}.log-empty{text-align:center;color:var(--text-muted, #a6adc8);padding:20px}.log-entry{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.log-entry:last-child{border-bottom:none}.log-time{color:var(--text-muted, #a6adc8);flex-shrink:0}.log-level{flex-shrink:0;padding:0 4px;border-radius:2px;font-size:10px;text-transform:uppercase}.log-level-info{background:#89b4fa33;color:var(--accent-color, #89b4fa)}.log-level-warn{background:#f9e2af33;color:var(--warning-color, #f9e2af)}.log-level-error{background:#f38ba833;color:var(--error-color, #f38ba8)}.log-message{flex:1;word-break:break-word}.admin-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color, #45475a)}.session-expiry{font-size:11px;color:var(--text-muted, #a6adc8)}.admin-panel::-webkit-scrollbar,.log-content::-webkit-scrollbar{width:6px}.admin-panel::-webkit-scrollbar-track,.log-content::-webkit-scrollbar-track{background:transparent}.admin-panel::-webkit-scrollbar-thumb,.log-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #45475a);border-radius:3px}.admin-panel::-webkit-scrollbar-thumb:hover,.log-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #585b70)}.lobby-chat-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--panel-bg);overflow:hidden}.lobby-chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0000004d;border-bottom:1px solid var(--border-color);flex-shrink:0}.lobby-chat-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-color)}.lobby-chat-status{display:flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;transition:background-color .2s}.status-dot.connected{background-color:#4caf50;box-shadow:0 0 6px #4caf5099}.status-dot.disconnected{background-color:#666}.status-dot.connecting{background-color:#ffa726;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.online-count{font-size:11px;color:var(--text-dim);padding:2px 6px;background:#0003;border-radius:3px}.lobby-chat-content{display:flex;flex:1;overflow:hidden}.lobby-chat-messages{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.messages-list::-webkit-scrollbar{width:6px}.messages-list::-webkit-scrollbar-track{background:#0003}.messages-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.messages-list::-webkit-scrollbar-thumb:hover{background:#ffffff40}.chat-message{display:flex;flex-direction:column;padding:6px 8px;border-radius:4px;background:#0003}.chat-message.own{background:rgba(var(--accent-color-rgb, 100, 100, 200),.15);margin-left:20px}.chat-message.other{margin-right:20px}.chat-message-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.chat-message-username{font-size:11px;font-weight:600;color:var(--accent-color, #7c8cff)}.chat-message.own .chat-message-username{color:#7ce0a0}.chat-message-time{font-size:10px;color:var(--text-dim);opacity:.6}.chat-message-content{font-size:12px;color:var(--text-color);line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.chat-message.system{background:transparent;margin:4px 0;padding:4px 8px;text-align:center}.chat-message.system .chat-message-content{font-size:11px;color:var(--text-dim);font-style:italic}.messages-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:8px}.messages-empty-icon{font-size:32px;opacity:.5}.messages-empty-text{font-size:12px;opacity:.7}.lobby-chat-input-area{display:flex;gap:8px;padding:8px 12px;background:#0003;border-top:1px solid var(--border-color);flex-shrink:0}.lobby-chat-input{flex:1;padding:8px 12px;background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:12px;font-family:inherit;resize:none}.lobby-chat-input:focus{outline:none;border-color:var(--accent-color)}.lobby-chat-input:disabled{opacity:.5;cursor:not-allowed}.lobby-chat-input::placeholder{color:var(--text-dim);opacity:.6}.lobby-chat-send-btn{padding:8px 16px;background:var(--accent-color, #5c6cff);border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s}.lobby-chat-send-btn:hover:not(:disabled){background:var(--accent-color-hover, #7c8cff)}.lobby-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-chat-users{width:140px;background:#0003;border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.users-header{padding:8px 10px;font-size:11px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.users-list{flex:1;overflow-y:auto;padding:4px 0}.user-item{display:flex;align-items:center;gap:8px;padding:6px 10px}.user-status{width:6px;height:6px;border-radius:50%;background-color:#4caf50;flex-shrink:0}.user-name{font-size:11px;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item.self .user-name{color:#7ce0a0;font-weight:500}.toggle-users-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px 8px;font-size:16px;transition:color .2s}.toggle-users-btn:hover{color:var(--text-color)}.lobby-chat-not-connected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim);padding:20px}.not-connected-icon{font-size:48px;opacity:.4}.not-connected-text{font-size:13px;text-align:center;max-width:200px;line-height:1.5}.connect-btn{padding:8px 20px;background:var(--accent-color, #5c6cff);border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s}.connect-btn:hover{background:var(--accent-color-hover, #7c8cff)}.connect-btn:disabled{opacity:.5;cursor:not-allowed}.profile-panel{display:flex;flex-direction:column;height:100%;padding:16px;background:var(--panel-bg, #1e1e2e);color:var(--text-color, #cdd6f4);font-size:13px;overflow-y:auto}.profile-header{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color, rgba(140, 255, 240, .14));margin-bottom:16px}.profile-avatar{border-radius:50%;background:var(--surface-color, #313244);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:2px solid rgba(140,255,240,.2)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{font-size:24px;font-weight:600;color:var(--accent-color, #89b4fa)}.avatar-default-icon{width:50%;height:50%;color:var(--accent-color, #89b4fa);opacity:.7}.profile-avatar-container{position:relative;cursor:pointer;flex-shrink:0}.profile-avatar-container.uploading{pointer-events:none}.avatar-upload-overlay{position:absolute;inset:0;border-radius:50%;background:#000000bf;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.profile-avatar-container:hover .avatar-upload-overlay,.profile-avatar-container.uploading .avatar-upload-overlay{opacity:1}.avatar-upload-overlay span{font-size:10px;font-weight:500;color:#89b4fa;text-align:center;padding:4px}.profile-identity{flex:1;min-width:0}.profile-name{margin:0 0 4px;font-size:18px;font-weight:600;color:#e8f7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{margin:0 0 8px;font-size:12px;color:var(--text-muted, #a6adc8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-user{background:#ffffff14;color:var(--text-color, #cdd6f4);border:1px solid rgba(255,255,255,.1)}.role-admin{background:#3574f033;color:#89b4fa;border:1px solid rgba(53,116,240,.4)}.role-superadmin{background:#f9e2af33;color:#f9e2af;border:1px solid rgba(249,226,175,.4)}.profile-loading,.profile-not-auth{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center;color:var(--text-muted, #a6adc8)}.profile-not-auth h3{margin:0 0 8px;color:#f9e2af}.profile-error{color:#f38ba8;margin:8px 0;padding:8px 12px;background:#f38ba81a;border-radius:6px;border:1px solid rgba(243,139,168,.2);font-size:12px}.profile-section{margin-bottom:20px}.profile-section h3{margin:0 0 12px;font-size:11px;font-weight:600;color:var(--text-muted, #a6adc8);text-transform:uppercase;letter-spacing:1px}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.profile-stat-card{display:flex;flex-direction:column;align-items:center;padding:10px 6px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(140,255,240,.1);transition:all .15s ease}.profile-stat-card:hover{background:#8cfff00f;border-color:#8cfff033}.stat-value{font-size:18px;font-weight:600;color:#89b4fa}.stat-label{font-size:9px;color:var(--text-muted, #a6adc8);text-align:center;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.profile-storage{padding:12px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(140,255,240,.1)}.storage-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.storage-used{height:100%;background:linear-gradient(90deg,#89b4fa,#a6e3a1);border-radius:4px;transition:width .3s ease}.storage-text{display:flex;justify-content:space-between;font-size:11px}.storage-limit{color:var(--text-muted, #a6adc8)}.profile-account-info{background:#ffffff0a;border-radius:8px;border:1px solid rgba(140,255,240,.1);overflow:hidden}.account-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(140,255,240,.08)}.account-row:last-child{border-bottom:none}.account-label{font-size:12px;color:var(--text-muted, #a6adc8)}.account-value{font-size:12px;font-weight:500;color:#e8f7ff}.account-id{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--text-muted, #a6adc8);font-size:11px}.admin-section{border:1px solid rgba(249,226,175,.2);border-radius:8px;padding:12px;background:#f9e2af0d}.admin-section h3{display:flex;align-items:center;gap:8px}.admin-badge{font-size:9px;padding:2px 6px;border-radius:3px;background:#f9e2af33;color:#f9e2af;font-weight:600}.admin-status-ok{color:#a6e3a1!important}.admin-status-warn{color:#f9e2af!important}.admin-status-error{color:#f38ba8!important}.profile-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(140,255,240,.1)}.profile-button{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:var(--font-main, inherit)}.profile-button.secondary{background:#ffffff14;color:var(--text-color, #cdd6f4);border:1px solid rgba(140,255,240,.18)}.profile-button.secondary:hover:not(:disabled){background:#8cfff01a;border-color:#8cfff04d}.profile-button.danger{background:#f38ba826;color:#f38ba8;border:1px solid rgba(243,139,168,.3)}.profile-button.danger:hover:not(:disabled){background:#f38ba840;border-color:#f38ba880}.profile-button:disabled{opacity:.5;cursor:not-allowed}.profile-panel::-webkit-scrollbar{width:6px}.profile-panel::-webkit-scrollbar-track{background:transparent}.profile-panel::-webkit-scrollbar-thumb{background:#8cfff033;border-radius:3px}.profile-panel::-webkit-scrollbar-thumb:hover{background:#8cfff04d}:root{--editor-bg: #0e0c16;--panel-bg: rgba(14, 12, 22, .6);--panel-theme-bg: #1a1a2e;--border-color: rgba(140, 255, 240, .14);--accent-color: #3574f0;--text-color: #d7faff;--text-dim: rgba(215, 250, 255, .75);--font-main: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--depth-panel-inner: none;--depth-panel-outer: none;--depth-control-bevel: none;--glow-primary: none;--glow-secondary: none;--glow-success: none;--glow-warning: none;--glow-intensity: 0;--glass-blur: 0px;--glass-tint: transparent;--glass-opacity: 1;--knob-gradient: none;--slider-track-gradient: none;--meter-glow: none}html,body,#root{width:100%;height:100%;margin:0;background:#000;overflow:hidden;color:var(--text-color);font-family:var(--font-main)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.editor-shell{display:grid;grid-template-rows:56px 1fr;width:100%;height:100%;padding:10px;gap:6px;box-sizing:border-box}.dock-layout{display:flex;flex:1;gap:10px;overflow:hidden}.dock-region{display:flex;flex-direction:column;overflow-y:auto}.dock-region>*:not(.resize-handle){margin-bottom:10px}.dock-region>*:last-child{margin-bottom:0}.dock-region.center-area{flex:1}.dock-region.center{flex:1;min-height:100px;display:flex;flex-direction:column;gap:0}.dock-region.center>.panel{margin-bottom:0}.dock-region.center>.panel.collapsed{flex:0 0 auto!important;height:auto!important;min-height:0!important}.dock-region.center>.panel:not(.collapsed){flex:1 1 auto!important}.center-split-handle{flex-shrink:0;height:6px;margin:0!important;cursor:row-resize}.dock-region.agent{overflow:hidden}.dock-region.agent>*{flex:1;margin-bottom:0}.resize-handle{background:transparent;transition:background .2s}.resize-handle:hover{background:var(--accent-color)}.resize-handle.vertical{width:8px;cursor:col-resize;margin:0 -4px;z-index:10}.resize-handle.horizontal{height:8px;cursor:row-resize;margin:-4px 0;z-index:10}.editor-top-bar{grid-row:1;display:flex;align-items:stretch;background:#0e0c16d9;border:1px solid rgba(140,255,240,.18);border-radius:12px;padding:0;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);z-index:1002}.editor-top-bar .brand-container{display:flex;align-items:center;gap:10px;padding:0 14px 0 0;background:#0003;border-right:1px solid rgba(140,255,240,.1)}.editor-top-bar .brand-logo-wrapper{position:relative;height:100%;display:flex;align-items:center;cursor:pointer;overflow:hidden;border-radius:6px}.editor-top-bar .brand-logo{height:100%;width:auto;object-fit:cover;filter:drop-shadow(0 0 8px rgba(53,116,240,.3));transition:opacity .3s ease}.editor-top-bar .brand-logo-video{height:100%;width:auto;min-width:100%;object-fit:cover;filter:drop-shadow(0 0 8px rgba(53,116,240,.3))}.editor-top-bar .version-info{display:flex;flex-direction:column;justify-content:center}.editor-top-bar .version{font-size:11px;font-weight:700;color:#fff;line-height:1}.editor-top-bar .branch{font-size:9px;font-weight:500;color:#5ba8ff;margin-top:2px}.editor-top-bar .left{display:flex;align-items:center;gap:8px;padding:0 12px}.editor-top-bar .center{display:flex;align-items:center;justify-content:center;flex:1}.editor-top-bar .right{display:flex;align-items:center;gap:8px;padding:0 14px}.editor-top-bar .menubar{display:flex;align-items:center;gap:2px}.playback-controls{display:flex;gap:6px;align-items:center}.topbar .left,.topbar .center,.topbar .right{display:flex;align-items:center;gap:8px}.topbar .brand-container{display:flex;align-items:center;gap:6px;margin-right:12px}.topbar .brand-logo{height:28px;width:auto;object-fit:contain}.topbar .version{font-size:9px;font-weight:600;color:#d7faff66;letter-spacing:.02em;align-self:flex-end;margin-bottom:2px}.topbar .separator{width:1px;height:20px;background:#ffffff1a;margin:0 4px}.menu-item{position:relative}.menu-trigger{background:transparent;border:none;color:var(--text-dim);font-family:var(--font-main);font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;border-radius:4px;transition:all .12s ease}.menu-trigger:hover,.menu-trigger.open{background:#8cfff014;color:var(--text-color)}.menu-dropdown{position:fixed;min-width:180px;background:#121018fa;border:1px solid rgba(140,255,240,.15);border-radius:8px;padding:6px 0;box-shadow:0 8px 32px #0009;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10000}.menu-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 14px;background:transparent;border:none;color:var(--text-color);font-family:var(--font-main);font-size:12px;cursor:pointer;text-align:left;transition:background .1s ease}.menu-dropdown-item:hover{background:#3574f033}.menu-dropdown-item .shortcut{font-size:10px;color:var(--text-dim);opacity:.6}.menu-divider{height:1px;background:#ffffff1a;margin:4px 0}.menu-item-left{display:flex;align-items:center;gap:8px}.menu-checkmark{width:14px;font-size:12px;color:var(--accent);text-align:center}.context-menu{position:fixed;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #00000080;border-radius:4px;padding:4px 0;z-index:2000;min-width:150px}.context-menu button{display:block;width:100%;text-align:left;padding:6px 12px;background:transparent;border:none;color:#ddd;font-size:12px;cursor:pointer}.context-menu button:hover{background:var(--accent-color);color:#fff}.add-component-menu{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:240px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #0009;z-index:1000;display:flex;flex-direction:column;overflow:hidden;margin-bottom:8px}.add-component-menu input{padding:10px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:12px;outline:none}.add-component-menu .menu-list{max-height:200px;overflow-y:auto}.add-component-menu button{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:#ccc;font-size:12px;cursor:pointer}.add-component-menu button:hover{background:var(--accent-color);color:#fff}.panel{background:color-mix(in srgb,var(--panel-theme-bg) 85%,transparent);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;flex:1;-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);transition:all .2s ease;box-shadow:var(--depth-panel-inner),var(--depth-panel-outer)}.panel.active{border-color:#50dcff99;box-shadow:0 0 0 1px #50dcff59,0 0 18px #50dcff26}.panel.collapsed{flex:0 0 auto!important;min-height:0!important;max-height:fit-content!important}.panel-header{padding:10px 14px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;cursor:default;-webkit-user-select:none;user-select:none;transition:background .2s cubic-bezier(.4,0,.2,1)}.panel-header.collapsible{cursor:pointer}.panel-header.collapsible:hover{background:#ffffff1a}.panel-header.collapsible:hover .panel-title{color:var(--text-color)}.panel.collapsed .panel-header{border-bottom:none}.panel-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d7faffa6;font-weight:800;flex:1;transition:color .2s ease}.panel-header-actions{display:flex;align-items:center;gap:4px}.btn-collapse{background:none;border:none;color:#d7faff80;cursor:pointer;padding:2px 6px;font-size:10px;border-radius:4px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.btn-collapse:hover{background:#ffffff1a;color:#d7faffe6}.btn-panel-action{background:none;border:none;color:#d7faff80;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.btn-panel-action:hover{background:#ffffff1a;color:#d7faffe6}.btn-panel-action.active{color:var(--accent-color);background:#00c8ff1a}.btn-panel-action.active:hover{background:#00c8ff33}.btn-close{background:none;border:none;color:#ff646499;cursor:pointer;padding:0 6px;font-size:18px;line-height:1;border-radius:4px;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-close:hover{background:#ff646433;color:#ff6464}.panel-content-wrapper{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .2s ease;overflow:hidden;flex:1}.panel-content-wrapper.collapsed{grid-template-rows:0fr;opacity:0;flex:0}.panel-content{flex:1;overflow:auto;padding:10px;min-height:0}.panel-content.no-padding{padding:0}.panel-header-search{padding:6px 10px;background:#0003;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:6px}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.panel-header-search input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-color);padding:4px 8px;font-size:11px;border-radius:4px;outline:none}.panel-header-search input:focus{border-color:var(--accent-color);background:#ffffff14}.panel-header-search .clear-search{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:0 4px;font-size:14px;display:flex;align-items:center;justify-content:center}.panel-header-search .clear-search:hover{color:#fff}.hierarchy-panel{height:100%;display:flex;flex-direction:column}.hierarchy-item{display:flex;align-items:center;height:24px;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;border-radius:2px;color:var(--text-dim)}.hierarchy-item:hover{background:#ffffff0d}.hierarchy-item.selected{background:var(--accent-color);color:#fff}.hierarchy-item.selected.primary{background:#4a76c0;box-shadow:inset 0 0 0 1px #fff3}.hierarchy-item.disabled{opacity:.5}.hierarchy-item .active-toggle{margin-right:4px;cursor:pointer;accent-color:var(--accent-color)}.hierarchy-item .toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff6}.hierarchy-item .icon{margin-right:6px;font-size:10px;opacity:.7}.hierarchy-item .active-badge{color:#4caf50;font-size:8px;margin-left:4px;vertical-align:middle}.add-button-container{position:relative}.add-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-dim);transition:all .2s ease;cursor:pointer}.add-btn:hover{background:#ffffff1a;color:var(--text-color);border-color:var(--accent-color)}.add-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#1a1a24;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;min-width:140px;z-index:1000;box-shadow:0 4px 12px #00000080}.add-menu button{display:block;width:100%;padding:6px 10px;text-align:left;background:transparent;border:none;color:var(--text-dim);font-size:11px;border-radius:4px;cursor:pointer}.add-menu button:hover{background:var(--accent-color);color:#fff}.rename-input{flex:1;background:#ffffff1a;border:1px solid var(--accent-color);color:#fff;font-size:12px;padding:2px 4px;border-radius:2px;margin-right:4px;outline:none}.inspector-panel{display:flex;flex-direction:column;height:100%}.inspector-panel.readonly{pointer-events:none}.inspector-panel.readonly .inspector-body{opacity:.7}.inspector-panel.readonly .script-source-editor{pointer-events:auto}.inspector-header{display:flex;align-items:center;gap:8px;padding:8px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.inspector-header .icon{font-size:14px}.entity-name-input{flex:1;background:transparent;border:none;color:#fff;font-size:13px;font-weight:600;padding:4px;border-radius:4px}.entity-name-input:focus{background:#ffffff0d;outline:1px solid var(--accent-color)}.inspector-body{flex:1;overflow-y:auto;padding:10px}.inspector-section{margin-bottom:4px}.inspector-empty{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-dim);font-size:12px;opacity:.6;padding:20px}.component-header{display:flex;align-items:center;padding:4px 8px;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(0,0,0,.2);cursor:pointer}.component-header .toggle{margin-right:6px;font-size:8px;opacity:.5}.component-header .title{font-size:11px;font-weight:700;color:#d7faffe6;letter-spacing:.02em;text-transform:uppercase}.component-body{padding:8px}.comp-remove{background:transparent;border:none;color:#ff646480;cursor:pointer;font-size:16px;padding:0 4px;margin-left:auto}.comp-remove:hover{color:#f44}.field{display:grid;grid-template-columns:80px 1fr;gap:4px;margin:6px 0;align-items:center}.field label{font-size:11px;color:var(--text-dim)}.field input[type=text]{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:3px;color:#fff;font-size:11px;padding:2px 6px}.checkbox-field{grid-template-columns:80px 20px}.vec3-field{display:grid;grid-template-columns:80px 1fr;gap:4px;margin:6px 0;align-items:center}.vec3-field .label-wrap{display:flex;align-items:center;gap:4px}.vec3-field label{font-size:11px;color:var(--text-dim)}.vec3-field .constraint-toggle{background:transparent;border:none;padding:0;font-size:10px;cursor:pointer;opacity:.4;transition:opacity .2s}.vec3-field .constraint-toggle.active{opacity:.9}.vec3-field .axes-row{display:flex;gap:4px}.vec3-field .axis-unit{display:flex;flex:1;align-items:center;background:#0003;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.vec3-field .axis-pfx{width:14px;text-align:center;font-size:9px;font-weight:700;background:#ffffff08;height:20px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;-webkit-user-select:none;user-select:none}.vec3-field input{flex:1;background:transparent;border:none;color:#fff;font-size:11px;padding:2px 4px;width:0;-moz-appearance:textfield;appearance:textfield}.script-source-editor{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#a8ffcb;font-family:var(--font-mono);font-size:11px;padding:8px;min-height:120px;resize:vertical;outline:none}.script-source-editor:focus{border-color:var(--accent-color);background:#0006}.add-component-wrap{padding:20px 40px;position:relative}.project-panel{height:100%;font-size:11px}.project-toolbar{padding:4px 8px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05);display:flex;gap:4px}.project-toolbar .search-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:4px 8px;color:var(--text-primary);font-size:11px;outline:none}.project-toolbar .search-input:focus{border-color:#64c8ff66;background:#0006}.project-toolbar .search-input::placeholder{color:#ffffff4d}.grant-btn{margin:8px;width:calc(100% - 16px)}.project-hint{padding:12px;color:#d7faff99;font-size:11px;line-height:1.5;background:#64c8ff0d;border-radius:6px;margin-bottom:10px}.project-hint p{margin:4px 0}.project-hint strong{color:#64c8ff}.project-tree{padding:8px}.project-tree .folder-header{display:flex;align-items:center;height:22px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-dim)}.project-tree .folder-header:hover{background:#ffffff0d}.project-tree .folder-header .folder-action-btn{margin-left:auto;margin-right:2px;padding:0;height:18px;width:18px;min-width:18px;font-size:14px;font-weight:700;line-height:1;opacity:0;transition:opacity .15s,background-color .15s;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#4da6ff;border:none;border-radius:3px;flex-shrink:0}.project-tree .folder-header:hover .folder-action-btn{opacity:1;color:#5cb3ff}.project-tree .folder-header .folder-action-btn:hover{opacity:1;background:#4da6ff33;color:#7cc4ff}.project-tree .folder-content{padding-left:12px}.project-tree .toggle{width:14px;font-size:8px;opacity:.5;text-align:center}.project-tree .icon{margin-right:4px;opacity:.7}.project-item{display:flex;align-items:center;height:20px;cursor:pointer;padding:0 4px;border-radius:2px;color:var(--text-dim);position:relative}.project-item:hover{background:#ffffff0d}.project-item .name{flex:1}.project-item .delete-btn{opacity:0;background:transparent;border:none;color:#f44;cursor:pointer;font-size:14px;padding:0 4px}.project-item:hover .delete-btn{opacity:1}.project-item.pinged{background:#3574f04d;animation:ping-highlight 2s ease-out}.project-item.selected{background:#3574f066;color:var(--text-primary, #fff)}.project-item.selected:hover{background:#3574f080}@keyframes ping-highlight{0%{background:#3574f080}to{background:#3574f01a}}.project-item[draggable=true]{cursor:grab}.project-item[draggable=true]:active{cursor:grabbing}.subfolder{margin-left:4px}.subfolder-header{display:flex;align-items:center;gap:4px;padding:2px 0;cursor:pointer;font-size:11px}.subfolder-header:hover{background:#ffffff0d}.subfolder-header .toggle{font-size:8px;color:var(--text-dim);width:12px}.subfolder-header .icon{font-size:12px}.subfolder-header .name{color:var(--text-dim)}.subfolder-content{margin-left:8px}.drop-zone{margin:12px 8px;padding:20px;border:2px dashed rgba(255,255,255,.15);border-radius:8px;background:#0003;cursor:pointer;transition:all .2s ease}.drop-zone:hover{border-color:#ffffff40;background:#0000004d}.drop-zone.drag-over{border-color:var(--accent-color);background:#3574f01a;border-style:solid}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:4px}.drop-zone .drop-icon{font-size:24px;opacity:.6}.drop-zone .drop-text{font-size:12px;color:var(--text-dim);font-weight:500}.drop-zone .drop-hint{font-size:10px;color:var(--text-dim);opacity:.5}.drop-zone.drag-over .drop-icon,.drop-zone.drag-over .drop-text{opacity:1;color:var(--accent-color)}.console-panel{display:flex;flex-direction:column;height:100%;font-family:var(--font-mono);font-size:11px}.console-toolbar{padding:4px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:4px}.console-toolbar .log-filter.info{color:#ffffffb3;border-color:#ffffff4d}.console-toolbar .log-filter.info.active{background:#ffffff26;color:#fff;border-color:#ffffff80;box-shadow:0 0 8px #fff6,0 0 16px #fff3}.console-toolbar .log-filter.warn{color:#ffcc00b3;border-color:#ffcc004d}.console-toolbar .log-filter.warn.active{background:#ffcc0026;color:#fc0;border-color:#ffcc0080;box-shadow:0 0 8px #fc06,0 0 16px #fc03}.console-toolbar .log-filter.error{color:#ff4444b3;border-color:#ff44444d}.console-toolbar .log-filter.error.active{background:#ff444426;color:#f44;border-color:#ff444480;box-shadow:0 0 8px #f446,0 0 16px #f443}.console-toolbar .log-filter.debug{color:#64c8ffb3;border-color:#64c8ff4d}.console-toolbar .log-filter.debug.active{background:#64c8ff26;color:#64c8ff;border-color:#64c8ff80;box-shadow:0 0 8px #64c8ff66,0 0 16px #64c8ff33}.debug-category-select{background:#0000004d;border:1px solid rgba(100,200,255,.3);border-radius:4px;padding:2px 6px;color:var(--text-color);font-size:10px;cursor:pointer;outline:none;margin-left:4px}.debug-category-select:hover{border-color:#64c8ff80}.debug-category-select:focus{border-color:#64c8ffb3;box-shadow:0 0 4px #64c8ff4d}.debug-category-select option{background:var(--bg-panel);color:var(--text-color)}.console-list{flex:1;overflow-y:auto;padding:8px 12px}.console-item{margin-bottom:2px;display:flex;flex-direction:column;padding:2px 4px;border-radius:3px;transition:background .1s ease}.console-item:hover{background:#ffffff0d}.console-item.debug{color:#64c8ffd9}.console-item.info{color:#ffffffd9}.console-item.warn{color:#fc0}.console-item.error{color:#f44}.console-item.debug:hover{background:#64c8ff14}.console-item.error:hover{background:#ff444414}.console-item-main{display:flex;gap:8px;align-items:baseline;flex-wrap:nowrap}.console-item .ts{opacity:.4;flex-shrink:0;white-space:nowrap}.console-item .level{font-weight:700;opacity:.6;flex-shrink:0;white-space:nowrap}.console-item .msg{flex:1;white-space:pre-wrap;word-break:break-word}.console-item .source-link{flex-shrink:0;color:#78b4ffcc;cursor:pointer;text-decoration:underline;font-size:10px;opacity:.7;margin-left:auto;padding-left:8px}.console-item .source-link:hover{opacity:1;color:#96c8ff}.console-item .stack-toggle{flex-shrink:0;padding:0 3px;font-size:6px;opacity:.5;margin-left:4px;height:auto!important;min-height:unset!important;line-height:1;vertical-align:baseline;border:none;background:transparent;cursor:pointer}.console-item .stack-toggle.inline{margin-left:0;margin-right:4px}.console-item .stack-toggle:hover{opacity:1}.console-item .msg-count{color:#ffc864e6;font-weight:600;font-size:10px;margin-left:4px}.console-item .error-link{flex-shrink:0;color:#ff7b54!important;font-weight:700;cursor:pointer;text-decoration:none;font-size:10px;margin-left:auto;padding-left:8px;transition:all .15s ease}.console-item .error-link:hover{color:#ff9a73!important;text-decoration:underline}.console-item .stack-primary-link{color:#00dcdce6;cursor:pointer;transition:all .15s ease}.console-item .stack-primary-link:hover{color:#0ff;text-decoration:underline}.console-stack{margin-top:4px;margin-left:24px;padding:4px 8px;background:#0003;border-left:2px solid rgba(255,255,255,.1);font-size:10px}.stack-frame{display:flex;gap:8px;padding:2px 4px;cursor:pointer;opacity:.85;border-radius:2px;transition:all .15s ease}.stack-frame:hover{opacity:1;background:#00ffff14}.stack-frame .stack-fn{color:#00dcdce6;min-width:150px;transition:text-decoration .15s ease}.stack-frame:hover .stack-fn{text-decoration:underline}.stack-frame .stack-loc{color:#00dcdccc;transition:text-decoration .15s ease}.stack-frame:hover .stack-loc{text-decoration:underline;color:#0ff}.viewport-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.viewport-container.drag-over{outline:2px dashed var(--accent-color, #8cfff0);outline-offset:-2px}.viewport-container.drag-over:after{content:"Drop to add to scene";position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:#000000d9;color:var(--accent-color, #8cfff0);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;pointer-events:none;z-index:100;border:1px solid var(--accent-color, #8cfff0);box-shadow:0 4px 16px #00000080}.viewport-container.marquee-selecting{cursor:crosshair}.marquee-selection{position:absolute;pointer-events:none;z-index:1000}.viewport-canvas{flex:1;width:100%;height:100%;display:block}.camera-off-overlay{position:absolute;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:5}.camera-off-message{color:#ffffff80;font-size:18px;font-weight:500;text-transform:uppercase;letter-spacing:2px}.renderer-error-overlay{position:absolute;inset:0;background:#140a0ff2;display:flex;align-items:center;justify-content:center;z-index:10;backdrop-filter:blur(8px)}.renderer-error-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 48px;background:#28141ecc;border:1px solid rgba(255,100,100,.3);border-radius:12px;max-width:400px;text-align:center}.renderer-error-icon{font-size:48px;line-height:1}.renderer-error-title{color:#f88;font-size:20px;font-weight:600;letter-spacing:1px}.renderer-error-message{color:#ffffffb3;font-size:13px;font-family:var(--font-mono);word-break:break-word;max-height:120px;overflow-y:auto;padding:8px 12px;background:#0000004d;border-radius:6px;width:100%}.renderer-error-retry{margin-top:8px;padding:10px 24px;background:#ff646433;border:1px solid rgba(255,100,100,.4);color:#f88;font-weight:500;transition:all .15s ease}.renderer-error-retry:hover:not(:disabled){background:#ff64644d;border-color:#ff646499}.renderer-error-retry:disabled{opacity:.5;cursor:not-allowed}.renderer-error-hint{color:#fff6;font-size:11px;margin-top:4px}.debug-sidebar{position:absolute;top:0;right:0;bottom:0;width:280px;background:#0e0c16d9;border-left:1px solid rgba(100,200,255,.3);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);z-index:15;transform:translate(0);transition:transform .2s ease;display:flex;flex-direction:column}.debug-sidebar.collapsed{transform:translate(calc(100% - 24px))}.debug-sidebar-toggle{position:absolute;left:-24px;top:50%;transform:translateY(-50%);width:24px;height:60px;background:#64c8ff33;border:1px solid rgba(100,200,255,.3);border-right:none;border-radius:6px 0 0 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64c8ffcc;font-size:12px;transition:all .15s ease}.debug-sidebar-toggle:hover{background:#64c8ff4d;color:#64c8ff}.debug-sidebar-header{padding:10px 12px;background:#64c8ff1a;border-bottom:1px solid rgba(100,200,255,.2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64c8ffe6;display:flex;align-items:center;gap:8px}.debug-sidebar-header-icon{font-size:14px}.debug-sidebar-content{flex:1;overflow-y:auto;padding:8px}.debug-sidebar-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff4d;font-size:11px;text-align:center;padding:20px}.debug-tracked-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-bottom:6px;background:#00000040;border-radius:6px;border-left:3px solid rgba(100,200,255,.5)}.debug-tracked-item:hover{background:#00000059;border-left-color:#64c8ffcc}.debug-item-header{display:flex;justify-content:space-between;align-items:center}.debug-item-name{font-size:11px;font-weight:700;color:#64c8ffe6}.debug-item-category{font-size:9px;padding:1px 5px;background:#64c8ff33;border-radius:3px;color:#64c8ffb3}.debug-item-msg{font-size:10px;color:var(--text-dim);margin-top:2px}.debug-item-value{font-family:var(--font-mono);font-size:10px;color:var(--text-color);white-space:pre-wrap;word-break:break-all;background:#0000004d;padding:6px 8px;border-radius:4px;max-height:80px;overflow-y:auto;margin-top:4px}.viewport-toolbar{position:absolute;top:14px;left:14px;display:flex;gap:6px;background:#0e0c16b3;padding:6px;border-radius:10px;border:1px solid rgba(140,255,240,.16);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);z-index:10;box-shadow:0 4px 16px #0006}.viewport-toolbar .separator{width:1px;background:#ffffff1a;margin:0 4px}.viewport-toolbar .btn.mini.tool-btn{position:relative;width:26px;min-width:26px;height:26px;padding:0;display:grid;place-items:center}.viewport-toolbar .tool-icon{display:inline-flex;align-items:center;justify-content:center;opacity:.92}.viewport-toolbar .tool-keycap{position:absolute;right:2px;bottom:1px;font-size:8px;line-height:1;opacity:.65;font-family:var(--font-mono);letter-spacing:.02em}.mode-indicator{font-size:10px;font-weight:700;display:flex;align-items:center;padding:0 8px;color:var(--accent-color)}.camera-mode-indicator{font-size:10px;font-weight:700;display:flex;align-items:center;padding:2px 8px;color:var(--text-secondary);background:#8cfff01a;border-radius:4px;transition:all .15s ease}.camera-mode-indicator.flash{color:var(--accent-color);background:#8cfff04d;box-shadow:0 0 8px #8cfff066}.demo-playback-overlay{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}.demo-playback-controls{display:flex;gap:8px;background:#0e0c16d9;padding:10px 16px;border-radius:12px;border:1px solid rgba(140,255,240,.2);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:0 4px 20px #00000080}.playback-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(140,255,240,.3);background:#14121ee6;color:var(--text-color);cursor:pointer;transition:all .2s ease}.playback-btn:hover:not(:disabled){background:#8cfff026;border-color:var(--accent-color);color:var(--accent-color)}.playback-btn:active:not(:disabled){transform:scale(.95)}.playback-btn.play{width:52px;height:52px;background:linear-gradient(135deg,#8cfff033,#8cfff00d);border-color:var(--accent-color)}.playback-btn.play:hover{background:linear-gradient(135deg,#8cfff059,#8cfff026);box-shadow:0 0 20px #8cfff04d}.playback-btn:disabled{opacity:.4;cursor:not-allowed}.demo-audio-attribution{font-size:11px;color:#ffffff80;background:#0e0c16b3;padding:4px 12px;border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.icon-btn.muted{color:#ff6464cc}.btn.icon-btn.muted:hover{color:#ff6464}.command-palette-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;padding-top:100px;z-index:5000}.command-palette{width:600px;max-height:400px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px #000c;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.command-palette input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.1);padding:16px;color:#fff;font-size:16px;outline:none}.command-palette-header{padding:12px 16px;font-size:14px;font-weight:600;color:#4a9eff;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.command-list{flex:1;overflow-y:auto}.command-item{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;cursor:pointer;transition:background .1s}.command-item:hover,.command-item.selected{background:var(--accent-color);color:#fff}.command-item .command-info{display:flex;align-items:center;gap:12px}.command-item .category{font-size:10px;text-transform:uppercase;background:#ffffff1a;padding:2px 4px;border-radius:3px;opacity:.6}.command-item .name{font-size:14px}.command-item.shortcut-item{opacity:.85}.command-item.shortcut-item:not(:hover):not(.selected){cursor:default}.command-item .shortcuts{font-family:Monaco,Consolas,monospace;font-size:11px;color:#888;background:#ffffff0d;padding:3px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.1)}.demos-panel-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:5000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.demos-panel{width:800px;max-height:80vh;background:#1a1a1a;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 50px #000c;display:flex;flex-direction:column;overflow:hidden}.demos-header{padding:20px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.demos-header h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.demos-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:20px;overflow-y:auto}.demo-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:10px}.demo-card:hover{background:#ffffff0f;border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 8px 24px #0006}.demo-card.active{border-color:var(--accent-color);background:#3574f01a}.demo-card .category{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-color);font-weight:800}.demo-card .name{font-size:15px;font-weight:700;color:#fff}.demo-card .description{font-size:12px;color:var(--text-dim);line-height:1.4;flex:1}.demo-card .badge{align-self:flex-start;font-size:10px;padding:2px 6px;background:#ffffff1a;border-radius:4px}.room-overlay{position:fixed;inset:0;pointer-events:none;display:flex;justify-content:center;align-items:flex-start;padding-top:48px;z-index:6000}.room-overlay-card{background:#0f1219e6;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 16px;min-width:320px;color:#e8f4ff;box-shadow:0 8px 24px #00000059}.room-overlay-header{display:flex;justify-content:space-between;font-size:12px;color:#a8c4ff;margin-bottom:8px}.room-overlay-title{font-weight:600;margin-bottom:6px}.room-overlay-body ul{list-style:none;padding:0;margin:0}.room-overlay-body li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.room-overlay-body .muted{color:#7a8699}.room-overlay .dot{width:8px;height:8px;border-radius:50%;background:#4dd0ff;display:inline-block}.room-badge{display:flex;align-items:center;gap:8px;background:#0000004d;padding:4px 10px;border-radius:20px;border:1px solid rgba(140,255,240,.1);font-size:10px;font-weight:700;color:var(--text-dim)}.room-badge .dot{width:6px;height:6px;background:#4dd0ff;border-radius:50%;box-shadow:0 0 8px #4dd0ff80}.room-badge .host-tag{color:gold;font-size:9px;opacity:.8}.terminal-panel{display:flex;flex-direction:column;height:100%;background:#000!important;font-family:var(--font-mono);font-size:13px;color:#ccc;overflow:hidden;border-radius:4px}.terminal-output{flex:1;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-all}.terminal-welcome{color:var(--accent-color);margin-bottom:8px;opacity:.8}.terminal-line{margin-bottom:2px}.terminal-line.error{color:#f55}.terminal-line.warn{color:#f1fa8c}.terminal-line.info{color:#8be9fd}.terminal-input-wrap{display:flex;align-items:center;padding:4px 8px;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);position:relative}.terminal-prompt{color:var(--accent-color);font-weight:700;margin-right:8px}.terminal-input{flex:1;background:transparent;border:none;outline:none!important;color:#fff;font-family:var(--font-mono);font-size:13px}.terminal-suggestions{position:absolute;bottom:100%;left:20px;background:#1e1e1e;border:1px solid var(--border-color);border-radius:4px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:100;box-shadow:0 -4px 12px #00000080}.terminal-suggestions .suggestion{padding:2px 8px;cursor:pointer;border-radius:2px}.terminal-suggestions .suggestion:hover{background:var(--accent-color);color:#fff}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-main);font-size:11px;font-weight:600;padding:6px 12px;border-radius:8px;background:#ffffff0a;color:#e8f7ff;border:1px solid rgba(140,255,240,.18);transition:all .15s ease-out;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{border-color:#8cfff066;background:#8cfff01a;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:#3574f026;border-color:#3574f066;color:#fff}.btn.primary:hover{background:#3574f040;border-color:#3574f099}.btn.danger{background:#ff46781f;border-color:#ff467859;color:#ffb0c4}.btn.danger:hover{background:#ff467833;border-color:#ff467880}.btn.mini{padding:4px 8px;font-size:10px;border-radius:6px;min-width:24px;height:24px}.btn.mini.active{background:var(--accent-color);color:#fff;border-color:#fff6;box-shadow:0 0 10px #3574f066}.icon-btn{min-width:36px!important;padding:6px 10px!important;font-size:16px;line-height:1}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.pipeline-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px!important;background:#4338ca4d;border:1px solid rgba(99,102,241,.4);transition:all .15s ease-out}.pipeline-indicator:hover{background:#4338ca80;border-color:#6366f199}.pipeline-indicator .pipeline-icon{font-size:14px}.pipeline-indicator .pipeline-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pipeline-indicator.switching{opacity:.7;pointer-events:none}.pipeline-indicator.switching .pipeline-icon{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.separator{width:1px;background:#ffffff1a;margin:0 8px;height:20px}.settings-cog{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .15s ease-out}.settings-cog:hover{background:#ffffff1a;color:var(--text-color)}.settings-cog.active{background:#3574f033;color:var(--accent-color)}.settings-panel{position:absolute;top:66px;right:10px;width:280px;background:color-mix(in srgb,var(--panel-theme-bg) 95%,transparent);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:12px;z-index:1000;box-shadow:0 8px 32px #0006;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:#0003}.settings-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.settings-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:18px;line-height:1;padding:4px;border-radius:4px;transition:all .15s}.settings-close:hover{background:#ff467833;color:#ffb0c4}.settings-content{padding:16px;display:flex;flex-direction:column;gap:16px}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding-bottom:4px;margin-top:8px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-section-title:first-child{margin-top:0}.settings-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-dim)}.settings-value{font-family:var(--font-mono);font-size:11px;color:var(--accent-color);background:#3574f01a;padding:2px 6px;border-radius:4px}.settings-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #3574f066;transition:transform .15s}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.settings-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent-color);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px #3574f066}.settings-color-preview{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.2)}.settings-color-row{display:flex;gap:8px;align-items:center}.settings-color-picker{-webkit-appearance:none;appearance:none;width:40px;height:28px;border:none;border-radius:6px;cursor:pointer;background:transparent;padding:0}.settings-color-picker::-webkit-color-swatch-wrapper{padding:0}.settings-color-picker::-webkit-color-swatch{border:1px solid rgba(255,255,255,.2);border-radius:6px}.settings-color-input{flex:1;background:#0000004d;border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-family:var(--font-mono);font-size:11px;color:var(--text-color);outline:none}.settings-color-input:focus{border-color:var(--accent-color)}.settings-select{width:100%;background:#0000004d;border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-family:var(--font-main);font-size:12px;color:var(--text-color);outline:none;cursor:pointer;transition:border-color .15s}.settings-select:hover{border-color:var(--accent-color)}.settings-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #3574f033}.settings-select option{background:#1a1a2e;color:var(--text-color);padding:8px}.settings-footer{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.settings-reset-btn{width:100%;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s}.settings-reset-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:var(--text-color)}.settings-input{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:6px 10px;color:var(--text-color);font-size:12px;font-family:monospace}.settings-input:focus{outline:none;border-color:var(--accent-color)}.settings-api-key-row{display:flex;gap:4px;margin-bottom:6px}.settings-api-key-actions{display:flex;gap:6px;margin-bottom:6px}.settings-hint{margin:0;font-size:10px;color:var(--text-dim);line-height:1.4}.settings-hint a{color:var(--accent-color);text-decoration:none}.settings-hint a:hover{text-decoration:underline}.settings-status{color:#4ade80;font-size:12px}.stats-panel{height:100%;display:flex;flex-direction:column;font-size:11px;padding:8px;gap:4px}.stat-section{margin-bottom:2px}.stat-section-header{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8cfff0b3;padding:6px 8px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.stat-section-content{display:flex;flex-direction:column}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:3px 8px;align-items:center}.stat-row:hover{background:#ffffff08}.stat-label{color:var(--text-dim);font-size:11px}.stat-value{color:var(--text-color);font-family:var(--font-mono);font-size:11px;text-align:right}.service-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;transition:background .15s}.service-row:hover{background:#ffffff0d}.service-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.service-name{flex:1;font-size:11px;color:var(--text-color)}.service-status-text{font-size:10px;font-family:var(--font-mono);color:var(--text-dim);text-transform:capitalize;min-width:60px}.service-last-check{font-size:9px;color:var(--text-dim);opacity:.6}.service-error{color:#f44336;cursor:help}.service-check-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:2px 4px;font-size:12px;border-radius:3px;transition:all .15s;opacity:0}.service-row:hover .service-check-btn{opacity:1}.service-check-btn:hover{background:#ffffff1a;color:var(--accent-color)}.maximized-overlay{position:fixed;inset:72px 0 0;z-index:999;background:#000000b3;pointer-events:auto}.editor-shell:has(.maximized-overlay) .dock-region.center-area .dock-region.center{position:fixed!important;inset:76px 10px 10px!important;width:auto!important;height:auto!important;z-index:1001!important;margin:0!important}.editor-shell:has(.maximized-overlay) .dock-region.left,.editor-shell:has(.maximized-overlay) .dock-region.right,.editor-shell:has(.maximized-overlay) .dock-region.agent,.editor-shell:has(.maximized-overlay) .dock-region.bottom,.editor-shell:has(.maximized-overlay) .resize-handle{visibility:hidden;pointer-events:none}.editor-shell:has(.maximized-overlay[data-maximized-panel=tabbed-center]) .dock-region.center [data-panel-id=modular-synth]{display:none!important}.editor-shell:has(.maximized-overlay[data-maximized-panel=modular-synth]) .dock-region.center [data-panel-id=viewport-tabs]{display:none!important}.editor-shell:has(.maximized-overlay) .dock-region.center>.panel{flex:1 1 100%!important;height:100%!important}.editor-shell:has(.maximized-overlay) .dock-region.center .center-split-handle{display:none!important}.dockview-layout{flex:1;width:100%;height:100%;background:transparent}.dockview-theme-dark,.dockview-theme-abyss,.dockview-theme-replit,.dv-container{--dv-background-color: var(--bg-color, #0a0e14);--dv-paneview-header-border-color: var(--border-color, rgba(140, 255, 240, .08));--dv-tabs-and-actions-container-background-color: var(--panel-theme-bg, rgba(10, 14, 20, .95));--dv-activegroup-visiblepanel-tab-background-color: var(--panel-active-bg, rgba(53, 116, 240, .15));--dv-activegroup-hiddenpanel-tab-background-color: var(--panel-theme-bg, rgba(10, 14, 20, .7));--dv-inactivegroup-visiblepanel-tab-background-color: var(--panel-theme-bg, rgba(10, 14, 20, .7));--dv-inactivegroup-hiddenpanel-tab-background-color: var(--panel-theme-bg, rgba(10, 14, 20, .5));--dv-tab-divider-color: var(--border-color, rgba(140, 255, 240, .08));--dv-separator-border: var(--border-color, rgba(140, 255, 240, .08));--dv-group-view-background-color: var(--panel-theme-bg, rgba(10, 14, 20, .95));--dv-tabs-container-scrollbar-color: var(--accent-color, #3574f0);--dv-icon-hover-background-color: rgba(53, 116, 240, .2);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .5);--dv-drag-over-background-color: rgba(53, 116, 240, .15);--dv-drag-over-border-color: var(--accent-color, #3574f0)}.dv-tab{font-family:var(--font-main, "Inter", -apple-system, BlinkMacSystemFont, sans-serif);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim, rgba(215, 250, 255, .6));padding:0 14px;min-height:32px;border-radius:0;transition:all .15s ease}.dv-tab:hover{color:var(--text-color, #d7faff);background:#ffffff0d}.dv-tab.dv-active-tab{color:var(--text-color, #d7faff);background:var(--panel-active-bg, rgba(53, 116, 240, .15));border-bottom:2px solid var(--accent-color, #3574f0)}.dv-tab .dv-close-btn{opacity:0;transition:opacity .15s ease}.dv-tab:hover .dv-close-btn{opacity:.6}.dv-tab .dv-close-btn:hover{opacity:1;color:#ff6b6b}.dv-tabs-container{background:var(--panel-theme-bg, rgba(10, 14, 20, .95));border-bottom:1px solid var(--border-color, rgba(140, 255, 240, .08))}.dv-content-container{background:color-mix(in srgb,var(--panel-theme-bg, rgba(10, 14, 20, .95)) 85%,transparent);border:1px solid var(--border-color, rgba(140, 255, 240, .08));border-top:none;border-radius:0 0 8px 8px}.dv-tabs-and-actions-container{background:#ffffff05;border-bottom:1px solid var(--border-color, rgba(140, 255, 240, .08))}.dv-sash-container{z-index:1000!important;pointer-events:none}.dv-sash{background:#8cfff014;transition:none;z-index:1001!important;pointer-events:auto!important;touch-action:none;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.dv-sash:before{content:"";position:absolute;z-index:-1;pointer-events:none;background:transparent}.dv-sash.dv-sash-horizontal:before{inset:-8px 0}.dv-sash.dv-sash-vertical:before{inset:0 -8px}.dv-sash.dv-sash-horizontal{height:16px!important;min-height:16px!important;margin:-6px 0!important;cursor:row-resize!important;background:linear-gradient(to bottom,transparent 0%,transparent 37.5%,rgba(140,255,240,.08) 37.5%,rgba(140,255,240,.08) 62.5%,transparent 62.5%,transparent 100%)!important}.dv-sash.dv-sash-horizontal:hover{background:linear-gradient(to bottom,transparent 0%,transparent 25%,rgba(140,255,240,.35) 25%,rgba(140,255,240,.35) 75%,transparent 75%,transparent 100%)!important}.dv-sash.dv-sash-horizontal:active,.dv-sash.dv-sash-horizontal.dv-sash-active{background:linear-gradient(to bottom,transparent 0%,transparent 25%,rgba(0,255,240,.8) 25%,rgba(0,255,240,.8) 75%,transparent 75%,transparent 100%)!important;box-shadow:0 0 8px #00fff099;transform:none!important}.dv-sash.dv-sash-vertical{width:16px!important;min-width:16px!important;margin:0 -6px!important;cursor:col-resize!important;background:linear-gradient(to right,transparent 0%,transparent 37.5%,rgba(140,255,240,.08) 37.5%,rgba(140,255,240,.08) 62.5%,transparent 62.5%,transparent 100%)!important}.dv-sash.dv-sash-vertical:hover{background:linear-gradient(to right,transparent 0%,transparent 25%,rgba(140,255,240,.35) 25%,rgba(140,255,240,.35) 75%,transparent 75%,transparent 100%)!important}.dv-sash.dv-sash-vertical:active,.dv-sash.dv-sash-vertical.dv-sash-active{background:linear-gradient(to right,transparent 0%,transparent 25%,rgba(0,255,240,.8) 25%,rgba(0,255,240,.8) 75%,transparent 75%,transparent 100%)!important;box-shadow:0 0 8px #00fff099;transform:none!important}body.dv-sash-dragging{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important}body.dv-sash-dragging:after{content:"";position:fixed;inset:0;z-index:99998;pointer-events:none}body.dv-sash-dragging .dv-sash,body.dv-sash-dragging .dv-sash-container{z-index:99999!important}body.dv-sash-dragging:has(.dv-sash-horizontal.dv-sash-active),body.dv-sash-dragging:has(.dv-sash-horizontal:active){cursor:row-resize!important}body.dv-sash-dragging:has(.dv-sash-horizontal.dv-sash-active) *,body.dv-sash-dragging:has(.dv-sash-horizontal:active) *{cursor:row-resize!important}body.dv-sash-dragging:has(.dv-sash-vertical.dv-sash-active),body.dv-sash-dragging:has(.dv-sash-vertical:active){cursor:col-resize!important}body.dv-sash-dragging:has(.dv-sash-vertical.dv-sash-active) *,body.dv-sash-dragging:has(.dv-sash-vertical:active) *{cursor:col-resize!important}@supports not selector(:has(*)){body.dv-sash-dragging,body.dv-sash-dragging *{cursor:move!important}}.dv-splitview-container{overflow:visible!important}.dv-splitview-view,.dv-group-view,body.dv-sash-dragging .dv-splitview-view,body.dv-sash-dragging .dv-group-view,body.dv-sash-dragging .dv-content-container{transition:none!important}.dv-sash-active{z-index:10000!important}.dv-drop-target-dropzone{background:#3574f01a;border:2px dashed var(--accent-color, #3574f0);border-radius:8px}.dv-floating-group{border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000080,0 0 0 1px var(--border-color, rgba(140, 255, 240, .1))}.dv-group-actions .dv-action-btn,.dv-actions-container .dv-action-btn,.dockview-header-actions .dv-action-btn{color:var(--text-dim, rgba(215, 250, 255, .6));opacity:.7;transition:all .15s ease;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:4px;cursor:pointer}.dv-group-actions .dv-action-btn:hover,.dv-actions-container .dv-action-btn:hover,.dockview-header-actions .dv-action-btn:hover{color:var(--text-color, #d7faff);opacity:1;background:#ffffff1a}.dockview-header-actions{display:flex;align-items:center;gap:2px;padding:0 4px}.dockview-header-actions .dv-action-btn-close{font-size:16px;font-weight:700}.dockview-header-actions .dv-action-btn-close:hover{color:#ff6b6b;background:#ff6b6b26}.dv-tabs-container::-webkit-scrollbar{height:4px}.dv-tabs-container::-webkit-scrollbar-track{background:transparent}.dv-tabs-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.dv-tabs-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}.dv-content-container::-webkit-scrollbar{width:8px}.dv-content-container::-webkit-scrollbar-track{background:transparent}.dv-content-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.dv-content-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}.dv-watermark{display:none}.dv-popout-window{background:var(--bg-color, #0a0e14)}.dv-group-view.dv-active-group{outline:1px solid var(--accent-color, #3574f0);outline-offset:-1px}.dv-dragged-panel{opacity:.85;box-shadow:0 8px 32px #00000080}.dv-tab .dv-lock-icon{color:var(--text-muted, rgba(215, 250, 255, .3))}.pipeline-selector-panel{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--panel-bg, #1a1a2e);border-radius:6px;font-size:12px}.pipeline-selector-panel .panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pipeline-selector-panel .panel-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary, #e0e0e0)}.pipeline-selector-panel .webgpu-warning{color:#f5a623;font-size:11px}.pipeline-selector-panel .webgpu-available{color:#4caf50;font-size:11px}.pipeline-selector-panel .pipeline-options{display:flex;flex-direction:column;gap:6px}.pipeline-selector-panel .pipeline-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--button-bg, #2a2a3e);border:1px solid var(--border-color, #3a3a4e);border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:left}.pipeline-selector-panel .pipeline-option:hover:not(.disabled):not(.active){background:var(--button-hover-bg, #3a3a4e);border-color:var(--accent-color, #6366f1)}.pipeline-selector-panel .pipeline-option.active{background:var(--accent-bg, #4338ca);border-color:var(--accent-color, #6366f1)}.pipeline-selector-panel .pipeline-option.disabled{opacity:.5;cursor:not-allowed}.pipeline-selector-panel .pipeline-icon{font-size:18px;width:24px;text-align:center}.pipeline-selector-panel .pipeline-info{display:flex;flex-direction:column;gap:2px;flex:1}.pipeline-selector-panel .pipeline-name{font-weight:600;color:var(--text-primary, #e0e0e0)}.pipeline-selector-panel .pipeline-tier{font-size:10px;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.pipeline-selector-panel .active-indicator{color:var(--accent-color, #6366f1);font-size:8px}.pipeline-selector-panel .switching-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--info-bg, #1e3a5f);border-radius:4px;color:var(--info-text, #7dd3fc)}.pipeline-selector-panel .switching-indicator .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pipeline-selector-panel .switch-error{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--error-bg, #5f1e1e);border-radius:4px;color:var(--error-text, #fca5a5)}.pipeline-selector-panel .switch-error .error-icon{color:#ef4444}.pipeline-selector-panel .quality-mode-section{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border-color, #3a3a4e)}.pipeline-selector-panel .quality-label{font-size:11px;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.pipeline-selector-panel .quality-toggle{display:flex;gap:4px}.pipeline-selector-panel .quality-btn{flex:1;padding:6px 12px;background:var(--button-bg, #2a2a3e);border:1px solid var(--border-color, #3a3a4e);border-radius:4px;color:var(--text-secondary, #888);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.pipeline-selector-panel .quality-btn:hover:not(.active){background:var(--button-hover-bg, #3a3a4e)}.pipeline-selector-panel .quality-btn.active{background:var(--accent-bg, #4338ca);border-color:var(--accent-color, #6366f1);color:var(--text-primary, #e0e0e0)}.pipeline-selector-panel .pipeline-details{padding-top:8px;border-top:1px solid var(--border-color, #3a3a4e)}.pipeline-selector-panel .pipeline-description{margin:0;font-size:11px;color:var(--text-secondary, #888);line-height:1.4}
