.dv-scrollable{position:relative;overflow:hidden}.dv-scrollable .dv-scrollbar{position:absolute;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 .dv-scrollbar-horizontal{bottom:0;left:0;height:4px}.dv-scrollable .dv-scrollbar-vertical{right:0;top:0;width:4px}.dv-scrollable:hover .dv-scrollbar,.dv-scrollable.dv-scrollable-resizing .dv-scrollbar,.dv-scrollable.dv-scrollable-scrolling .dv-scrollbar{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;height:100%;background-color:var(--dv-group-view-background-color);overflow:hidden;flex-direction:column}.dv-groupview:focus{outline:none}.dv-groupview>.dv-content-container{flex-grow:1;min-height:0;outline:none}.dv-groupview.dv-groupview-header-bottom{flex-direction:column-reverse}.dv-groupview.dv-groupview-header-left{flex-direction:row}.dv-groupview.dv-groupview-header-right{flex-direction:row-reverse}.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;-webkit-user-select:none;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%;width: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-tabs-container-vertical{width:100%;height:fit-content;max-height:100%;writing-mode:vertical-rl}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before,.dv-tabs-container.dv-vertical .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)}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{width:1px;height:100%}.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{width:100%;height:1px}.dv-tabs-container::-webkit-scrollbar{height:3px}.dv-tabs-container::-webkit-scrollbar-track{background:transparent}.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-container-vertical .dv-tab{padding:.5rem .25rem}.dv-tabs-overflow-container{flex-direction:column;height:unset;max-height:min(50vh,400px);overflow-y:auto;border:1px solid var(--dv-tab-divider-color);background-color:var(--dv-group-view-background-color);scrollbar-width:thin}.dv-tabs-overflow-container::-webkit-scrollbar{width:6px}.dv-tabs-overflow-container::-webkit-scrollbar-track{background:transparent}.dv-tabs-overflow-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color);border-radius:3px}.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-tabs-and-actions-container .dv-right-actions-container.dv-right-actions-container-vertical{flex-direction:column}.dv-tabs-and-actions-container.dv-groupview-header-vertical{flex-direction:column;height:auto;width:var(--dv-tabs-and-actions-container-height)}.dv-watermark{display:flex;height:100%}.dockview-theme-dark{--dv-group-view-background-color: var(--bg-surface, #1a2332);--dv-activegroup-visiblepanel-tab-background-color: var(--bg-surface, #1a2332);--dv-activegroup-hiddenpanel-tab-background-color: var(--bg-elevated, #243044);--dv-inactivegroup-visiblepanel-tab-background-color: var(--bg-elevated, #243044);--dv-inactivegroup-hiddenpanel-tab-background-color: var(--bg-elevated, #243044);--dv-tabs-and-actions-container-background-color: var(--bg-elevated, #243044);--dv-activegroup-visiblepanel-tab-color: var(--text-primary, #e8edf2);--dv-activegroup-hiddenpanel-tab-color: var(--text-muted, #556677);--dv-inactivegroup-visiblepanel-tab-color: var(--text-secondary, #8899aa);--dv-inactivegroup-hiddenpanel-tab-color: var(--text-muted, #556677);--dv-tab-divider-color: var(--border, #2a3a4a);--dv-separator-border: var(--border, #2a3a4a);--dv-paneview-header-border-color: var(--border, #2a3a4a);--dv-drag-over-background-color: rgba(59, 130, 246, .15);--dv-drag-over-border-color: var(--accent, #3b82f6);--dv-sash-color: var(--border, #2a3a4a);--dv-sash-hover-color: var(--accent, #3b82f6);--dv-active-sash-color: var(--accent, #3b82f6)}.dockview-theme-dark .dv-tabs-container{min-height:30px}.dockview-theme-dark .dv-tab{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;font-weight:500;padding:4px 12px;border-radius:4px 4px 0 0;transition:background .12s,color .12s}.dockview-theme-dark .dv-tab:hover{background:var(--bg-hover, #2d3a4f)}.dockview-theme-dark .dv-tab.dv-active-tab{position:relative}.dockview-theme-dark .dv-tab.dv-active-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent, #3b82f6)}.dockview-theme-dark .dv-groupview-panel{background:var(--bg-surface, #1a2332)}.dockview-theme-dark .dv-floating-group{border-radius:8px;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d;border:1px solid var(--border, #2a3a4a);overflow:hidden}.dockview-theme-dark .dv-sash{transition:background .12s}.dockview-theme-dark .dv-drop-target-dropzone{border-radius:4px}.dockview-theme-dark .dv-default-tab-action{color:var(--text-muted, #556677);transition:color .12s}.dockview-theme-dark .dv-default-tab-action:hover{color:var(--text-primary, #e8edf2)}.dockview-theme-dark .dv-groupview-panel ::-webkit-scrollbar{width:8px;height:8px}.dockview-theme-dark .dv-groupview-panel ::-webkit-scrollbar-track{background:transparent}.dockview-theme-dark .dv-groupview-panel ::-webkit-scrollbar-thumb{background:var(--border, #2a3a4a);border-radius:4px;border:2px solid transparent;background-clip:content-box}.dockview-theme-dark .dv-groupview-panel ::-webkit-scrollbar-thumb:hover{background:var(--accent, #3b82f6);border:2px solid transparent;background-clip:content-box}.menu-bar{display:flex;flex-direction:row;flex-wrap:nowrap;gap:0;background:var(--bg-secondary);height:28px;min-height:28px;max-height:28px;align-items:stretch;border-bottom:1px solid var(--border);position:relative;z-index:1000;padding:0;-webkit-app-region:drag}.menu-bar button,.menu-bar .menu-root{-webkit-app-region:no-drag}.menu-root{position:relative;display:flex;align-items:stretch;flex-shrink:0}.menu-root-right{margin-left:auto}.menu-button{position:relative;padding:0 10px;height:100%;display:flex;align-items:center;font-size:12px;color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;border:none;background:transparent;border-radius:0;white-space:nowrap;transition:color .08s,background-color .08s}.menu-button:hover{color:var(--text-primary);background:#ffffff0f}.menu-button.open{color:var(--text-primary);background:var(--bg-tertiary)}.menu-dropdown{position:absolute;top:100%;left:0;background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 16px #00000080;min-width:200px;z-index:1001;display:flex;flex-direction:column;padding:3px 0}.menu-dropdown-right{left:auto;right:0}.menu-item{padding:5px 24px 5px 12px;background:transparent;border:none;color:var(--text-primary);font-size:12px;display:flex;align-items:center;gap:16px;cursor:default;text-align:left;width:100%;box-sizing:border-box;border-radius:0;transition:background-color .06s}.menu-item:hover:not(.disabled){background:var(--accent);color:#fff}.menu-item:hover:not(.disabled) .menu-shortcut{color:#ffffffb3}.menu-item.disabled{color:var(--text-disabled);cursor:not-allowed}.menu-item-checkbox{padding-left:8px}.menu-checkbox{display:inline-block;width:18px;text-align:center;font-size:12px;color:var(--accent);flex-shrink:0}.menu-label{flex:1}.menu-shortcut{font-size:11px;color:var(--text-disabled);margin-left:auto;white-space:nowrap}.menu-separator{height:1px;background:var(--border);margin:3px 0}.about-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000}.about-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:24px;max-width:400px;box-shadow:0 8px 32px #00000080}.about-dialog h2{margin:0 0 12px;color:var(--text-primary);font-size:18px;font-weight:600}.about-dialog p{margin:8px 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.about-dialog .about-version{color:var(--text-primary)}.about-close-btn{margin-top:16px;padding:6px 20px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background .15s}.about-close-btn:hover{background:var(--accent-hover)}.status-bar{display:flex;align-items:center;gap:0;height:28px;background-color:var(--bg-secondary);border-top:1px solid var(--bg-primary);padding:0;font-size:11px;overflow-x:auto;overflow-y:hidden}.status-bar-left{display:flex;align-items:center;gap:0;flex:0 1 auto;padding:0 8px}.status-bar-center{display:flex;align-items:center;gap:2px;flex:1 1 auto;padding:0 8px;justify-content:center;flex-wrap:wrap}.status-bar-right{display:flex;align-items:center;gap:2px;flex:0 1 auto;padding:0 8px}.status-item{display:flex;align-items:center;gap:4px;color:var(--text-primary);white-space:nowrap}.status-item label{color:var(--text-secondary);font-weight:500}.status-input{width:50px;padding:2px 4px;background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);font-size:10px;border-radius:2px}.status-divider{width:1px;height:16px;background-color:var(--border);margin:0 4px}.status-btn{padding:2px 6px;background-color:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-secondary);font-size:10px;cursor:pointer;border-radius:2px;transition:all .1s ease;white-space:nowrap}.status-btn:hover{background-color:var(--border-light);border-color:var(--text-secondary);color:var(--text-primary)}.status-btn:active{background-color:var(--accent-active)}.status-bar-value{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.status-bar-value:hover{color:var(--accent)}.status-bar-input{width:50px;padding:2px 4px;background:var(--bg-tertiary);border:1px solid var(--accent);color:var(--text-primary);border-radius:2px;font-size:11px;font-family:inherit}.status-bar-input:focus{outline:none;box-shadow:0 0 3px #4a9eff66}.status-bar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.export-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:850}.export-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:24px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.export-dialog h2{font-size:18px;margin-bottom:16px;font-weight:600}.export-dialog h3{font-size:14px;margin-top:16px;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.export-format-tabs{display:flex;gap:0;margin-bottom:16px}.export-format-tabs button{flex:1;padding:8px 12px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .15s,color .15s}.export-format-tabs button:first-child{border-radius:4px 0 0 4px;border-right:none}.export-format-tabs button:last-child{border-radius:0 4px 4px 0}.export-format-tabs button:not(:first-child):not(:last-child){border-right:none}.export-format-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.export-setting{display:flex;align-items:center;gap:12px;margin-bottom:8px}.export-setting label{flex:0 0 120px;font-size:13px;color:var(--text-secondary)}.export-setting input,.export-setting select{flex:1;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px}.export-setting input:focus,.export-setting select:focus{outline:none;border-color:var(--accent)}.export-setting input[type=checkbox]{flex:0;width:16px;height:16px}.export-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.export-status{margin-top:12px;padding:8px 12px;border-radius:4px;font-size:13px}.export-status.success{background:#2ecc7126;color:var(--success);border:1px solid var(--success)}.export-status.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.export-status.exporting{background:#e945601a;color:var(--accent);border:1px solid var(--accent)}.export-info{font-size:12px;color:var(--text-secondary);opacity:.7;margin-top:4px}.recovery-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:950}.recovery-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:32px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d;animation:recovery-slide-up .3s ease-out}@keyframes recovery-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.recovery-modal h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.recovery-subtitle{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.recovery-thumbnail{margin:0 0 20px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;min-height:120px;max-height:200px}.recovery-thumbnail img{width:100%;height:100%;object-fit:contain}.recovery-details{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.detail-row:not(:last-child){border-bottom:1px solid var(--border);margin-bottom:6px}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-family:Monaco,Courier New,monospace}.recovery-actions{display:flex;gap:12px;justify-content:flex-end}.btn-discard,.btn-restore{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-discard{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.btn-discard:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.btn-restore{background:var(--accent);color:#fff}.btn-restore:hover{background:var(--accent-hover);box-shadow:0 4px 12px #3b82f64d}.btn-restore:active{transform:scale(.98)}.color-core-container{display:flex;flex-direction:column;gap:6px;padding:8px 12px}.color-core-header{display:flex;justify-content:space-between;align-items:center}.color-core-header h3{margin:0;font-size:12px;font-weight:600;color:var(--text-primary)}.btn-add-swap{flex:0 0 auto;width:24px;height:24px;padding:0;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-add-swap:hover{background:var(--accent-hover)}.btn-add-swap:active{background:var(--accent-active)}.color-core-body{display:flex;align-items:stretch;gap:6px;position:relative}.height-axis{display:flex;flex-direction:column-reverse;position:relative;width:50px;height:250px}.height-label{position:absolute;right:0;transform:translateY(50%);font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;white-space:nowrap;padding-right:4px;text-align:right;width:40px}.color-bar-wrapper{flex:1;position:relative;height:250px;border:1px solid var(--border);border-radius:3px;background:var(--bg-base);min-width:60px;cursor:grab;-webkit-user-select:none;user-select:none}.color-bar-wrapper:active{cursor:grabbing}.color-bar{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.color-band{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.2);transition:opacity .15s;-webkit-user-select:none;user-select:none;overflow:hidden}.color-band:hover{opacity:.85}.color-band:last-child{border-bottom:none}.band-label{color:#ffffffe6;font-size:11px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;max-width:90%}.swap-handle{position:absolute;left:50%;transform:translate(-50%);width:100%;height:20px;cursor:grab;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-user-select:none;user-select:none}.swap-handle:active{cursor:grabbing}.handle-line{position:relative;width:100%;height:3px;background:var(--text-primary);border:1px solid var(--bg-base);border-radius:1px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.handle-grip{position:absolute;width:8px;height:8px;background:var(--bg-base);border:2px solid var(--text-primary);border-radius:50%;left:50%;transform:translate(-50%)}.handle-close{position:absolute;top:-8px;right:-12px;width:18px;height:18px;padding:0;background:var(--error);color:#fff;border:none;border-radius:50%;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;z-index:11}.swap-handle:hover .handle-close{opacity:1}.handle-close:hover{background:var(--danger-hover)}.filament-picker-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:800}.color-core-container{z-index:800}.filament-picker-content{background:var(--bg-surface);border-radius:6px;padding:16px;min-width:320px;max-width:400px;max-height:70vh;box-shadow:0 4px 20px #00000040;display:flex;flex-direction:column;gap:10px}.filament-picker-content h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.filament-picker-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.filament-option{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-elevated);border:none;border-left:3px solid var(--text-muted);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.filament-option:hover{background:var(--bg-hover)}.filament-swatch{flex:0 0 16px;width:16px;height:16px;border-radius:2px;border:1px solid var(--border)}.filament-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-message{padding:12px;text-align:center;color:var(--text-muted);font-size:12px;margin:0;font-style:italic}.filament-picker-clear{padding:5px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;margin-top:4px;font-family:inherit}.filament-picker-clear:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:768px){.color-core-container{padding:8px}.color-bar-wrapper,.height-axis{height:200px}.height-label{font-size:10px}.filament-picker-content{min-width:280px;max-height:60vh}}.layer-stack{display:flex;flex-direction:column;gap:4px;padding:8px 12px}.layer-stack-header{display:flex;justify-content:space-between;align-items:center}.layer-stack-header h3{margin:0;font-size:12px;font-weight:600;color:var(--text-primary)}.layer-stack-empty{font-size:11px;color:var(--text-muted);font-style:italic;margin:4px 0}.layer-list{display:flex;flex-direction:column;gap:2px}.layer-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .1s,border-color .1s;font-size:11px}.layer-row:hover{background:var(--bg-elevated)}.layer-row.active{border-color:var(--accent);background:var(--accent-bg)}.layer-row.dragging{box-shadow:0 2px 8px #00000026;z-index:10}.layer-drag-handle{cursor:grab;color:var(--text-muted);font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.layer-drag-handle:active{cursor:grabbing}.layer-swatch{width:16px;height:16px;border-radius:2px;border:1px solid var(--border);flex-shrink:0}.layer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.layer-z{flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary)}.layer-delete{flex:0 0 auto;width:20px;height:20px;padding:0;border:none;border-radius:2px;background:transparent;color:var(--error);font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .1s,background .1s}.layer-row:hover .layer-delete{opacity:1}.layer-delete:hover{background:var(--error-bg)}.layer-scrub{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:11px}.layer-scrub label{flex:0 0 auto;color:var(--text-secondary);font-weight:500}.layer-scrub input[type=range]{flex:1;cursor:pointer}.layer-scrub-value{flex:0 0 auto;font-family:JetBrains Mono,monospace;color:var(--text-secondary);font-size:11px;min-width:80px;text-align:right}.layer-add-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:750}.layer-stack{z-index:750}.layer-add-modal{background:var(--bg-surface);border-radius:6px;padding:16px;min-width:280px;box-shadow:0 4px 16px #0003;display:flex;flex-direction:column;gap:10px}.layer-add-modal h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.layer-add-modal select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-family:inherit}.layer-add-modal-actions{display:flex;gap:6px;justify-content:flex-end}.layer-add-modal-actions button{padding:5px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;font-weight:500;background:var(--accent);color:#fff;font-family:inherit}.layer-add-modal-actions .btn-cancel{background:var(--bg-elevated);color:var(--text-primary)}.viewport-3d-wrapper{display:flex;flex-direction:column;width:100%;height:100%;min-height:400px;position:relative}.viewport-3d-toolbar{display:flex;gap:4px;padding:4px 8px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.viewport-btn{padding:3px 8px;border:1px solid var(--border);border-radius:3px;background:var(--bg-base);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.viewport-btn:hover{background:var(--bg-elevated)}.viewport-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.viewport-3d-container{flex:1;width:100%;min-height:0;overflow:hidden}.viewport-3d-container canvas{display:block;width:100%!important;height:100%!important}.viewport-3d-settings{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 8px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.v3d-setting-row{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.v3d-setting-row label{white-space:nowrap;min-width:60px;font-weight:500}.v3d-setting-row input[type=range]{width:110px;accent-color:var(--accent);cursor:pointer}.v3d-setting-value{min-width:30px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px}.v3d-explode-slider{display:flex;align-items:center;gap:4px;padding:0 4px;font-size:11px;color:var(--text-secondary)}.v3d-explode-slider label{white-space:nowrap;font-weight:500}.v3d-explode-slider input[type=range]{width:90px;accent-color:var(--accent);cursor:pointer}.v3d-camera-presets{display:flex;gap:2px;margin-left:4px;padding-left:6px;border-left:1px solid var(--border)}.v3d-preset-btn{font-size:11px!important;padding:2px 6px!important;min-width:unset!important}.color-match-editor{display:flex;flex-direction:column;gap:4px}.cme-header{display:flex;justify-content:space-between;align-items:center}.cme-header h3{margin:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}.btn-add-layer{padding:3px 8px;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s;font-family:inherit}.btn-add-layer:hover:not(:disabled){background:var(--accent-hover)}.btn-add-layer:disabled{opacity:.5;cursor:not-allowed}.cme-empty{font-size:11px;color:var(--text-muted);font-style:italic;margin:4px 0}.cme-layers{display:flex;flex-direction:column;gap:2px}.cme-layer-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px}.cme-layer-idx{flex:0 0 20px;font-weight:600;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.cme-swatch{flex:0 0 16px;width:16px;height:16px;border-radius:3px;border:1px solid var(--border)}.cme-filament-select{flex:1;min-width:0;padding:2px 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;background:var(--bg-base);color:var(--text-primary);font-family:inherit}.cme-actions{display:flex;gap:2px;flex:0 0 auto}.cme-btn{width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:3px;background:var(--bg-base);color:var(--text-secondary);cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}.cme-btn:hover:not(:disabled){background:var(--bg-elevated)}.cme-btn:disabled{opacity:.35;cursor:not-allowed}.cme-btn-remove{color:var(--error);font-size:12px;font-weight:700}.cme-btn-remove:hover:not(:disabled){background:var(--error-bg)}.cme-settings{margin-top:2px}.solver-panel{display:flex;flex-direction:column;height:100%}.solver-section{display:flex;flex-direction:column;gap:4px;padding:8px 16px 10px;border-bottom:1px solid var(--border)}.solver-section:last-child{border-bottom:none}.solver-section h3{margin:0 0 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}.solver-setting{display:flex;align-items:center;justify-content:space-between;height:26px}.solver-setting label{font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.solver-setting input[type=number],.solver-setting input[type=text],.solver-setting select{width:100px;height:24px;padding:2px 8px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-primary);font-family:inherit}.solver-setting input[type=number]:focus,.solver-setting input[type=text]:focus,.solver-setting select:focus{outline:none;border-color:var(--border-focus)}.solver-setting input[type=number]:disabled,.solver-setting select:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed}.solver-setting input[type=checkbox]{margin:0;cursor:pointer;accent-color:var(--accent)}.solver-setting input[type=checkbox]+label{flex:1;margin:0;cursor:pointer}.solve-mode-select{width:130px}.solver-setting input[type=range]{flex:1;min-width:60px;max-width:120px;cursor:pointer}.solver-value{min-width:32px;text-align:right;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.btn-solve{width:100%;padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s;font-family:inherit}.btn-solve:hover:not(:disabled){background:var(--accent-hover)}.btn-solve:disabled{opacity:.5;cursor:not-allowed}.btn-solve.solving{background:var(--accent-active)}.btn-auto-place{width:100%;padding:5px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s;font-family:inherit}.btn-auto-place:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-auto-place:disabled{opacity:.5;cursor:not-allowed}.auto-place-message{font-size:11px;color:var(--text-muted);text-align:center;padding:2px 0}.solver-stat{display:flex;justify-content:space-between;align-items:center;height:22px;font-size:11px;color:var(--text-secondary)}.solver-stat .value{font-weight:600;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px}.auto-preview-status{font-size:11px;color:var(--text-muted);font-weight:500;margin-left:6px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.solver-hint{padding:5px 8px;background:#ffb4321a;border:1px solid rgba(255,180,50,.2);border-radius:4px;font-size:11px;color:var(--text-secondary);line-height:1.4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:850}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:24px;width:380px;max-height:80vh;overflow-y:auto}.modal-content h3{margin-bottom:16px;font-size:16px}.form-row{margin-bottom:12px}.form-row label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.form-row input[type=text],.form-row input[type=number],.form-row select,.form-row textarea{width:100%;padding:7px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent)}.colour-input{display:flex;gap:8px;align-items:center}.colour-input input[type=color]{width:40px;height:32px;padding:2px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);cursor:pointer}.hex-text{flex:1}.form-error{padding:8px;background:var(--error-bg);border:1px solid var(--error);border-radius:4px;color:var(--error);font-size:12px;margin-bottom:12px}.form-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-cancel{padding:8px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:13px}.btn-save{padding:8px 16px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-save:hover:not(:disabled){background:var(--accent-hover)}.filament-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);flex:1;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px 8px}.panel-header h2{font-size:15px;font-weight:600}.panel-header .count{font-size:12px;color:var(--text-secondary)}.search-input{margin:0 12px 8px;padding:7px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;outline:none}.search-input:focus{border-color:var(--accent)}.material-tabs{display:flex;gap:4px;padding:0 12px 8px}.tab{padding:4px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-size:12px;cursor:pointer}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-row{display:flex;justify-content:space-between;align-items:center;padding:0 12px 8px;gap:8px}.owned-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.owned-toggle input{cursor:pointer}.brand-select{padding:3px 6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;color:var(--text-primary);font-size:12px;max-width:140px}.filament-list{flex:1;overflow-y:auto;padding:0 8px}.filament-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px;cursor:default;transition:background .1s}.filament-row:hover{background:var(--bg-primary)}.filament-row.owned{border-left:2px solid var(--success)}.filament-row.selected{background:#007bff14}.select-checkbox{cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.selected-count{color:var(--accent);font-weight:600}.btn-owned{background:none;border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:12px;padding:2px 6px;color:var(--text-secondary);transition:all .15s}.btn-owned.active{border-color:var(--success);color:var(--success)}.colour-swatch{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.filament-info{flex:1;min-width:0}.filament-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filament-meta{font-size:11px;color:var(--text-secondary)}.filament-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.btn-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:2px;opacity:0;transition:opacity .1s}.filament-row:hover .btn-delete{opacity:1}.btn-delete:hover{color:var(--error);background:var(--error-bg)}.btn-add{margin:8px 12px 12px;padding:8px;background:var(--bg-primary);border:1px dashed var(--border);border-radius:4px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.btn-add:hover{border-color:var(--accent);color:var(--accent)}.loading,.empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.enhance-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;position:relative}.preview-container{flex-shrink:0;height:200px;overflow:auto;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:8px}.preview-canvas{max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}.enhance-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px}.presets-row{display:flex;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.preset-btn{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.preset-btn:hover{border-color:var(--accent);color:var(--text-primary)}.preset-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.slider-sections{display:flex;flex-direction:column;flex:1;gap:0;overflow-y:auto;overflow-x:hidden;padding:0}.slider-section{display:flex;flex-direction:column;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.slider-section:last-child{border-bottom:none}.section-header{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.slider-row{display:flex;align-items:center;gap:8px;min-height:24px}.slider-row label{font-size:12px;color:var(--text-secondary);width:80px;flex-shrink:0;text-align:left}.slider-row input[type=range]{flex:1;min-width:80px;accent-color:var(--accent);cursor:pointer;height:4px}.slider-row .value{font-size:12px;color:var(--text-secondary);width:40px;text-align:right;flex-shrink:0;font-weight:500}.checkbox-row{justify-content:flex-start;min-height:28px}.checkbox-input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.enhance-footer{display:flex;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.btn-reset{flex:1;min-width:120px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.btn-reset:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-primary{flex:1;min-width:120px;padding:8px 12px;background:var(--accent);border:1px solid var(--accent);border-radius:4px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary:hover:not(:disabled){opacity:.9}.processing-indicator{position:absolute;bottom:8px;right:8px;font-size:11px;color:var(--text-secondary);padding:4px 8px;background:var(--bg-secondary);border-radius:3px;pointer-events:none}.processing-indicator.processing{color:var(--accent);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.slider-sections::-webkit-scrollbar{width:6px}.slider-sections::-webkit-scrollbar-track{background:var(--bg-primary)}.slider-sections::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.slider-sections::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.hugeforge-panel{display:flex;flex-direction:column;height:100%}.hugeforge-section{display:flex;flex-direction:column;gap:4px;padding:8px 16px 10px;border-bottom:1px solid var(--border)}.hugeforge-section:last-child{border-bottom:none}.hugeforge-section h3{margin:0 0 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}.hugeforge-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px}.hugeforge-setting label{flex:0 0 auto;color:var(--text-secondary);font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer}.hugeforge-setting label input[type=checkbox]{cursor:pointer;margin:0;accent-color:var(--accent)}.hugeforge-setting input[type=number],.hugeforge-setting input[type=range]{flex:1;min-width:60px;max-width:120px;padding:2px 8px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-primary);font-family:inherit;height:24px}.hugeforge-setting input[type=range]{padding:0;border:none;cursor:pointer;height:auto}.hugeforge-setting input[type=number]:disabled{background:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed}.hugeforge-setting input[type=number]:focus{outline:none;border-color:var(--border-focus)}.btn-compute,.btn-add-division,.btn-batch-export{width:100%;padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s;font-family:inherit}.btn-compute:hover:not(:disabled),.btn-add-division:hover:not(:disabled),.btn-batch-export:hover:not(:disabled){background:var(--accent-hover)}.btn-compute:disabled,.btn-add-division:disabled,.btn-batch-export:disabled{opacity:.5;cursor:not-allowed}.btn-batch-export.exporting{background:var(--accent-active)}.btn-remove-division{padding:3px 6px;background:var(--danger);color:#fff;border:none;border-radius:3px;font-size:11px;cursor:pointer;transition:background .15s}.btn-remove-division:hover{background:var(--danger-hover)}.hugeforge-button-group{display:flex;gap:6px;flex-wrap:wrap}.hugeforge-button-group .btn-add-division{flex:1;min-width:120px}.tile-preview-canvas{max-height:200px;max-width:100%;border:1px solid var(--border);border-radius:4px;background:var(--bg-base);display:block;margin:0 auto}.division-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:6px;background:var(--bg-base)}.division-item{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px}.division-item span{flex:1;color:var(--text-secondary)}.tile-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:6px;background:var(--bg-base)}.tile-item{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px}.tile-info{font-weight:600;color:var(--text-primary)}.tile-dims{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:11px}.batch-progress{display:flex;align-items:center;gap:6px;margin-top:4px}.progress-bar{flex:1;height:20px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .3s;display:flex;align-items:center;justify-content:center}.progress-text{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:35px;text-align:right;font-family:JetBrains Mono,monospace}.batch-message{padding:6px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);text-align:center;margin-top:4px}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.plugin-manager{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-primary);border-radius:8px}.plugin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.plugin-header h2{margin:0;font-size:18px;color:var(--text-primary)}.btn-install{padding:8px 16px;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.btn-install:hover:not(:disabled){background:var(--accent-hover)}.btn-install:disabled{opacity:.5;cursor:not-allowed}.plugin-error{padding:12px;background:var(--error-bg);border:1px solid var(--error);border-radius:4px;color:var(--error);font-size:13px;margin-bottom:8px}.plugin-loading,.plugin-empty{text-align:center;padding:32px;color:var(--text-secondary);font-size:13px}.plugin-list{display:flex;flex-direction:column;gap:12px}.plugin-card{display:flex;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;align-items:flex-start}.plugin-status{display:flex;justify-content:center;align-items:flex-start;padding-top:2px}.status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-dot.enabled{background:var(--success, #4ade80)}.status-dot.disabled{background:var(--text-secondary);opacity:.5}.plugin-info{flex:1;min-width:0}.plugin-name{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.plugin-version{margin:0 0 2px;font-size:12px;color:var(--text-secondary)}.plugin-author{margin:0 0 6px;font-size:12px;color:var(--text-secondary)}.plugin-description{margin:0 0 6px;font-size:13px;color:var(--text-primary);line-height:1.4}.plugin-type{margin:0 0 4px;font-size:11px;color:var(--text-secondary);padding:2px 6px;background:var(--bg-primary);border-radius:3px;display:inline-block}.plugin-installed{margin:4px 0 0;font-size:11px;color:var(--text-secondary)}.plugin-actions{display:flex;gap:8px;flex-shrink:0}.btn-toggle,.btn-uninstall{padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:12px;transition:all .2s}.btn-toggle:hover,.btn-uninstall:hover{border-color:var(--accent);color:var(--accent)}.btn-disable{color:var(--warning, #facc15);border-color:var(--warning, #facc15)}.btn-uninstall{color:var(--error, #ef4444);border-color:var(--error, #ef4444)}.btn-uninstall:hover{background:#ef44441a}.settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:900}.settings-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0006;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.settings-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.close-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.settings-tabs{display:flex;border-bottom:1px solid var(--border);background-color:var(--bg-primary)}.settings-tab{flex:1;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-bottom:3px solid transparent;transition:all .2s}.settings-tab:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-content{flex:1;overflow-y:auto;padding:20px}.settings-section{display:flex;flex-direction:column;gap:24px}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-label,.setting-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.setting-control{display:flex;align-items:center;gap:12px}.setting-control input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.setting-control label{margin:0;font-weight:400;font-size:13px;color:var(--text-secondary);cursor:pointer}.setting-control input[type=range]{flex:1;height:6px;cursor:pointer}.setting-control input[type=number]{width:80px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-tertiary);color:var(--text-primary)}.setting-control input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 4px #4a9eff4d}.value-display{min-width:40px;text-align:right;font-size:13px;color:var(--text-secondary);font-weight:500}.setting-group select{padding:8px 12px;border:1px solid var(--border);border-radius:4px;font-size:13px;background-color:var(--bg-tertiary);cursor:pointer;color:var(--text-primary)}.setting-group select:hover{border-color:var(--text-secondary)}.setting-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 4px #4a9eff4d}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:var(--bg-primary)}.settings-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:600px){.settings-card{width:95%;max-height:90vh}.settings-header,.settings-content{padding:16px}}:root{--bg-base: #0f1419;--bg-surface: #1a2332;--bg-elevated: #243044;--bg-hover: #2d3a4f;--text-primary: #e8edf2;--text-secondary: #8899aa;--text-muted: #556677;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-active: #2563eb;--accent-subtle: #1e3a5f;--border: #2a3a4a;--border-focus: #3b82f6;--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--error-bg: #3c1414;--bg-primary: var(--bg-base);--bg-secondary: var(--bg-surface);--bg-tertiary: var(--bg-elevated)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--accent);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary);overflow:hidden;height:100vh;-webkit-user-select:none;user-select:none}#root{height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100vh}.menu-bar{height:28px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;flex-direction:row;align-items:center;padding:0 8px;gap:4px}.menu-bar-item{padding:4px 12px;color:var(--text-primary);background:none;border:none;cursor:pointer;font-size:13px;transition:background .15s;border-radius:3px}.menu-bar-item:hover{background:var(--bg-tertiary)}.menu-dropdown{position:absolute;background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;min-width:150px;z-index:100;box-shadow:0 4px 12px #0000004d}.menu-dropdown-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:13px;transition:background .1s}.menu-dropdown-item:hover{background:var(--bg-tertiary)}.menu-dropdown-separator{height:1px;background:var(--border);margin:4px 0}.toolbar-row{height:32px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;flex-direction:row;align-items:center;padding:0 8px;gap:8px;overflow-x:auto}.toolbar-btn{padding:6px 12px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:12px;white-space:nowrap;transition:background .15s,border .15s;flex-shrink:0}.toolbar-btn:hover{background:var(--accent-active);border-color:var(--accent)}.toolbar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-select{padding:4px 8px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:12px;flex-shrink:0}.toolbar-select:hover{background:var(--accent-active);border-color:var(--accent)}.toolbar-input{padding:4px 6px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;font-size:12px;width:50px;flex-shrink:0}.toolbar-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 4px #4a9eff4d}.toolbar-slider{width:100px;height:4px;flex-shrink:0}.toolbar-separator{width:1px;height:20px;background:var(--border);flex-shrink:0}.toolbar-label{font-size:12px;color:var(--text-secondary);margin-right:4px;white-space:nowrap;flex-shrink:0}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.viewport-area{flex:1;display:flex;flex-direction:row;overflow:hidden}.viewport-2d{flex:1;min-width:0;overflow:auto;background:var(--bg-primary);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center}.image-canvas{max-width:100%;max-height:100%;object-fit:contain;display:block}.empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);font-size:16px}.color-core-column{width:320px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);overflow-y:auto}.viewport-3d{flex:1;min-width:0;background:var(--bg-primary);overflow:hidden;position:relative}.mesh-core-column{width:160px;flex-shrink:0;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto}.color-slider-panel{height:180px;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;padding:8px}.color-slider-panel-header{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:6px;padding:0 4px}.color-slider-panel-content{flex:1;overflow-x:auto;overflow-y:hidden;display:flex;gap:8px;padding-bottom:4px}.layer-column{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--bg-tertiary);border-radius:3px;flex-shrink:0;width:60px}.td-slider{width:30px;height:100px;writing-mode:bt-lr;flex-shrink:0}.layer-btn{width:40px;height:24px;border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:11px;color:var(--text-primary);transition:all .15s}.layer-btn:hover{border-color:var(--accent);box-shadow:0 0 4px #4a9eff4d}.depth-value{font-size:10px;color:var(--text-secondary);text-align:center}.status-bar{height:28px;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:12px;font-size:12px;color:var(--text-secondary)}.status-bar-item{display:flex;align-items:center;gap:6px;padding:0 6px}.status-bar-section{display:flex;align-items:center;gap:8px;border-right:1px solid var(--border);padding-right:8px}.status-bar-section:last-child{border-right:none}.status-bar-btn{padding:4px 10px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:11px;transition:all .15s}.status-bar-btn:hover{background:var(--accent-active);border-color:var(--accent);color:var(--text-primary)}.btn-primary{padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--accent-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:13px;transition:all .15s}.btn-secondary:hover{background:var(--accent-active);border-color:var(--accent)}.btn-settings{padding:6px 12px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:14px;transition:all .15s}.btn-settings:hover{background:var(--accent-active);border-color:var(--accent)}.btn-dismiss{background:none;border:none;color:var(--text-secondary);cursor:pointer;margin-left:12px;text-decoration:underline}.btn-dismiss:hover{color:var(--text-primary)}.error-banner{padding:10px 20px;background:var(--error-bg);border-bottom:1px solid var(--error);color:var(--error);font-size:13px;display:flex;align-items:center;justify-content:space-between}.floating-window{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;z-index:1000;display:flex;flex-direction:column;min-width:300px}.floating-window-header{height:28px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:move;-webkit-user-select:none;user-select:none}.floating-window-title{font-size:13px;font-weight:600;color:var(--text-primary)}.floating-window-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .15s}.floating-window-close:hover{color:var(--text-primary)}.floating-window-content{flex:1;overflow:auto;padding:12px}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;padding:6px 8px;font-size:13px;font-family:inherit}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 4px #4a9eff4d}input[type=checkbox],input[type=radio]{cursor:pointer}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;border:1px solid var(--border)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer;border:1px solid var(--border)}input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border-radius:50%;cursor:pointer;border:1px solid var(--border)}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.image-info{flex-shrink:0}.image-info table{border-collapse:collapse;font-size:13px}.image-info td{padding:3px 16px 3px 0}.image-info .label{color:var(--text-secondary);font-weight:500;white-space:nowrap}.view-toggle{display:flex;gap:0;align-self:flex-start}.view-toggle button{padding:.3rem .75rem;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.view-toggle button:first-child{border-radius:3px 0 0 3px;border-right:none}.view-toggle button:last-child{border-radius:0 3px 3px 0}.view-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.child-window-container{width:100%;height:100vh;background:var(--bg-primary);color:var(--text-primary);overflow:auto}.canvas-container{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-primary);border-radius:3px;border:1px solid var(--border)}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1e2d3dd9;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 64px;border:3px dashed var(--accent);border-radius:16px;color:var(--text-primary);font-size:20px;font-weight:500}.drop-overlay-icon{font-size:48px}.dockview-container{flex:1;min-height:0}.panel-scroll{overflow-y:auto;height:100%}.panel-pad{padding:12px 16px}.btn-row{display:flex;gap:6px;margin-bottom:12px}.btn-primary{flex:1;padding:7px 12px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s;font-family:inherit}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{flex:1;padding:7px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.btn-secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-block{display:block;width:100%;padding:7px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;text-align:center;margin-bottom:4px;transition:all .15s;font-family:inherit}.btn-block:hover{background:var(--bg-elevated);color:var(--text-primary)}.toggle-group{display:flex;background:var(--bg-base);border-radius:6px;padding:2px;margin-bottom:10px}.toggle-btn{flex:1;padding:5px 8px;background:transparent;color:var(--text-muted);border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.toggle-btn.active{background:var(--accent);color:#fff}.toggle-btn:not(.active):hover{color:var(--text-primary);background:var(--bg-hover)}.field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:8px}.form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;height:28px}.form-label{font-size:12px;color:var(--text-secondary);font-weight:500}.form-select{background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:3px 24px 3px 8px;font-size:11px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238899aa'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.form-select:focus{border-color:var(--border-focus);outline:none}.input-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;height:28px}.input-label{font-size:12px;color:var(--text-secondary);font-weight:500}.input-field{width:72px;height:26px;background:var(--bg-base);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12px;text-align:right;padding:0 8px}.input-field:focus{border-color:var(--border-focus);outline:none}.input-unit{font-size:10px;color:var(--text-muted);margin-left:4px}.slider-row{margin-bottom:8px}.slider-row .form-label{display:block;margin-bottom:4px}.slider-track{display:flex;align-items:center;gap:8px}.slider-value{min-width:30px;text-align:right;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.checkbox-row{display:flex;align-items:center;gap:8px;height:28px;margin-bottom:4px}.custom-checkbox{width:16px;height:16px;background:var(--bg-base);border:1px solid var(--border);border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.custom-checkbox.checked{background:var(--accent);border-color:var(--accent)}.custom-checkbox.checked:after{content:"✓";font-size:10px;color:#fff}.info-card{background:var(--bg-base);border-radius:6px;padding:10px 12px;margin-bottom:8px}.info-row{display:flex;justify-content:space-between;margin-bottom:3px;font-size:11px}.info-key{color:var(--text-muted)}.info-value{color:var(--text-primary);font-family:JetBrains Mono,monospace}.dock-section{border-bottom:1px solid var(--border)}.dock-section-header{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background .15s;gap:8px}.dock-section-header:hover{background:var(--bg-hover)}.dock-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);flex:1}.dock-section-chevron{font-size:10px;color:var(--text-muted);transition:transform .2s}.dock-section-chevron.collapsed{transform:rotate(-90deg)}.dock-section-actions{display:flex;gap:4px}.dock-section-content{padding:0 16px 12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-muted)}.empty-icon{font-size:32px;opacity:.4}.empty-title{font-size:14px;font-weight:500}.empty-subtitle{font-size:12px}.viewport-2d{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-base);overflow:hidden}.viewport-2d .image-canvas{max-width:100%;max-height:100%;object-fit:contain}input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:var(--bg-base);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;border:2px solid var(--bg-surface)}.auth-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-base);color:var(--text-secondary);font-size:1.1rem}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-base);padding:1rem}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:420px;box-shadow:0 8px 32px #0006}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h1{color:var(--text-primary);font-size:1.5rem;margin:0 0 .25rem}.auth-header p{color:var(--text-muted);font-size:.85rem;margin:0}.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.auth-tab{flex:1;padding:.6rem 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:color .15s,border-color .15s}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-error{background:var(--error-bg);color:var(--error);padding:.6rem .8rem;border-radius:6px;font-size:.85rem;margin-bottom:1rem;border:1px solid var(--error)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.3rem}.auth-field label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.auth-field input{background:var(--bg-base);border:1px solid var(--border);border-radius:6px;padding:.55rem .75rem;color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .15s}.auth-field input:focus{border-color:var(--border-focus)}.char-count{text-align:right;font-size:.75rem;color:var(--text-muted)}.password-strength{height:3px;border-radius:2px;margin-top:.2rem;transition:width .3s,background .3s}.password-strength.weak{width:33%;background:var(--error)}.password-strength.medium{width:66%;background:var(--warning)}.password-strength.strong{width:100%;background:var(--success)}.auth-submit{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.65rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:.25rem}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;color:var(--text-muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-oauth{display:flex;flex-direction:column;gap:.5rem}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.auth-oauth-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.feedback-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:90%;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.feedback-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.feedback-header h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.feedback-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:.2rem;line-height:1}.feedback-close:hover{color:var(--text-primary)}.feedback-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.feedback-tab{flex:1;padding:.5rem 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.feedback-tab:hover{color:var(--text-primary)}.feedback-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.feedback-form{display:flex;flex-direction:column;gap:.75rem}.feedback-form label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.feedback-form input,.feedback-form textarea,.feedback-form select{background:var(--bg-base);border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem;color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .15s;font-family:inherit}.feedback-form input:focus,.feedback-form textarea:focus,.feedback-form select:focus{border-color:var(--border-focus)}.feedback-form textarea{min-height:100px;resize:vertical}.feedback-success{text-align:center;padding:2rem 1rem;color:var(--success);font-size:.95rem}.feedback-history{display:flex;flex-direction:column;gap:.75rem}.feedback-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.9rem}.feedback-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:.75rem}.feedback-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.feedback-category-badge{background:var(--accent-subtle);color:var(--accent);padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.feedback-status-badge{background:var(--bg-hover);color:var(--text-secondary);padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500}.feedback-item-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.3rem}.feedback-item-body{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin-bottom:.3rem}.feedback-item-date{color:var(--text-muted);font-size:.7rem}.feedback-response{margin:8px 0;padding:10px 12px;background:#3b82f614;border-left:3px solid var(--accent);border-radius:0 4px 4px 0}.feedback-response-label{font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.feedback-response-text{margin:4px 0 0;font-size:.85rem;color:var(--text-primary);white-space:pre-wrap;line-height:1.4}.menu-user-info{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding:0 .75rem}.menu-user-name{color:var(--text-secondary);font-size:.8rem;font-weight:500}.menu-tier-badge{background:var(--accent-subtle);color:var(--accent);padding:.1rem .4rem;border-radius:3px;font-size:.65rem;font-weight:600;text-transform:uppercase}.menu-user-logout{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:.75rem;padding:.2rem .5rem;cursor:pointer;transition:color .15s,border-color .15s}.menu-user-logout:hover{color:var(--text-primary);border-color:var(--text-secondary)}.menu-admin-link{font-size:12px;color:var(--accent);text-decoration:none;padding:2px 8px;border:1px solid var(--accent);border-radius:3px;transition:all .15s}.menu-admin-link:hover{background:var(--accent);color:#fff}.admin-page{display:flex;height:100vh;background:var(--bg-base);color:var(--text-primary)}.admin-sidebar{width:220px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.admin-sidebar-header{padding:20px 16px 16px;border-bottom:1px solid var(--border)}.admin-sidebar-header h2{margin:0;font-size:18px;font-weight:700;color:var(--accent);font-style:italic}.admin-sidebar-subtitle{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.admin-nav{flex:1;padding:8px 0;display:flex;flex-direction:column}.admin-nav-item{display:block;width:100%;padding:10px 20px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;text-align:left;cursor:pointer;transition:all .15s}.admin-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav-item.active{background:#3b82f61a;color:var(--accent);border-left:3px solid var(--accent);padding-left:17px}.admin-sidebar-footer{padding:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.admin-user-info{font-size:13px;color:var(--text-secondary)}.admin-back-link{font-size:13px;color:var(--accent);text-decoration:none}.admin-back-link:hover{text-decoration:underline}.admin-content{flex:1;overflow-y:auto;padding:32px 40px}.admin-page-title{margin:0 0 24px;font-size:24px;font-weight:600}.admin-section-title{margin:24px 0 12px;font-size:14px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px}.admin-stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.admin-stat-value{font-size:28px;font-weight:700;line-height:1;margin-bottom:6px}.admin-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.admin-loading{padding:20px;color:var(--text-muted)}.admin-error{padding:10px 14px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:13px}.admin-count{font-size:13px;color:var(--text-muted);margin:0 0 12px}.admin-empty{padding:32px;text-align:center;color:var(--text-muted)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:hover{background:var(--bg-hover)}.admin-table-primary{font-weight:500}.admin-table-secondary{color:var(--text-secondary);font-size:13px}.admin-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;color:#fff;font-weight:500}.admin-select{background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px;cursor:pointer}.admin-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.admin-textarea{width:100%;background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:8px;font-size:13px;font-family:inherit;resize:vertical;box-sizing:border-box}.admin-btn-primary{margin-top:8px;padding:6px 16px;font-size:13px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .15s}.admin-btn-primary:hover{opacity:.9}.admin-btn-primary:disabled{opacity:.5;cursor:wait}.admin-btn-secondary{padding:4px 12px;font-size:12px;background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s}.admin-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-input{background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px;width:150px}.admin-input:focus{outline:none;border-color:var(--accent)}.admin-reset-form{display:flex;align-items:center;gap:6px}.admin-success{padding:10px 14px;margin-bottom:16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-size:13px}.admin-filter-bar{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.admin-filter-btn{padding:5px 14px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.admin-filter-btn:hover{background:var(--bg-hover)}.admin-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-feedback-list{display:flex;flex-direction:column;gap:8px}.admin-feedback-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.admin-feedback-header{padding:12px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s}.admin-feedback-header:hover{background:var(--bg-hover)}.admin-feedback-title{flex:1;font-size:14px;font-weight:500}.admin-feedback-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.admin-feedback-chevron{font-size:11px;color:var(--text-muted)}.admin-feedback-body{padding:0 16px 16px;border-top:1px solid var(--border)}.admin-feedback-text{font-size:14px;color:var(--text-secondary);margin:12px 0;white-space:pre-wrap;line-height:1.5}.admin-feedback-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-feedback-controls .admin-label{margin:0}.admin-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}.admin-label-hint{font-weight:400;opacity:.6}.admin-settings-group{margin-bottom:24px}.admin-settings-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.admin-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--bg-surface)}.admin-settings-row:hover{background:var(--bg-hover)}.admin-settings-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.admin-settings-key{font-size:13px;font-weight:500;font-family:JetBrains Mono,monospace;color:var(--text-primary)}.admin-settings-desc{font-size:12px;color:var(--text-muted)}.admin-settings-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-settings-value{font-size:13px;font-family:JetBrains Mono,monospace;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-settings-edit{display:flex;align-items:center;gap:6px}
