:root{--bg-app: #1a1a1a;--bg-header: #2b2b2b;--bg-toolbar: #2b2b2b;--bg-panel: #2b2b2b;--bg-canvas: #3a3a3a;--bg-input: #3c3c3c;--bg-tab-active: #2b2b2b;--bg-tab-inactive: #1e1e1e;--bg-layer-hover: #333333;--bg-layer-selected: #2a3a4a;--bg-status: #2b2b2b;--bg-ruler: #2b2b2b;--bg-brush-cell: #1e1e1e;--bg-scrollbar-track: transparent;--bg-scrollbar-thumb: #555555;--text-primary: #d4d4d4;--text-secondary: #949494;--text-muted: #6e6e6e;--text-active: #ffffff;--border-main: #444444;--border-subtle: #3a3a3a;--border-input: #555555;--border-divider: #3a3a3a;--accent-active: #5294e2;--accent-selected: #4a6fa5;--accent-indicator: #f0a030;--accent-warning: #f0c040;--color-fg: #ffffff;--color-bg: #000000;--hist-1: rgba(80, 120, 200, .5);--hist-2: rgba(100, 180, 120, .4);--hist-3: rgba(200, 160, 60, .4);--hist-4: rgba(200, 80, 80, .35);--hist-5: rgba(160, 80, 200, .3);--toggle-on: #5294e2;--toggle-off: #555555;--checkbox-checked: #5294e2;--checkbox-unchecked: #555555;--sp-1: 1px;--sp-2: 2px;--sp-4: 4px;--sp-6: 6px;--sp-8: 8px;--sp-10: 10px;--sp-12: 12px;--sp-16: 16px;--sp-20: 20px;--sp-24: 24px;--sp-30: 30px;--header-h: 26px;--tooloptions-h: 40px;--toolbox-w: 44px;--panel-w: 332px;--statusbar-h: 20px;--tab-h: 20px;--layer-row-h: 32px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px;--icon-tool: 30px;--brush-cell: 63px;--ruler-size: 16px;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-base: 12px;--font-size-md: 13px;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--transition: .12s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100vw;height:100vh;display:grid;grid-template-rows:var(--header-h) var(--tooloptions-h) 1fr var(--statusbar-h);grid-template-columns:1fr;overflow:hidden}.main-content{display:grid;grid-template-columns:var(--toolbox-w) 1fr var(--panel-w);overflow:hidden;min-height:0}.header{height:var(--header-h);background:var(--bg-header);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-main)}.header-left{display:flex;align-items:center;height:100%}.header-brand{display:flex;align-items:center;padding:0 8px 0 21px;height:100%;gap:4px;cursor:pointer}.header-brand .brand-icon{width:16px;height:16px;color:var(--accent-indicator)}.header-brand .brand-text{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap}.header-brand .brand-caret{width:16px;height:16px;color:var(--text-secondary)}.header-menu{display:flex;align-items:center;gap:0;height:100%;padding-left:12px}.header-menu-item{font-size:var(--font-size-sm);color:var(--text-primary);padding:0 8px;height:100%;display:flex;align-items:center;cursor:pointer;white-space:nowrap;transition:background var(--transition);position:relative}.header-menu-item:hover,.header-menu-item.active{background:#ffffff0f}.header-menu-dropdown{position:absolute;top:100%;left:0;background:var(--bg-panel);border:1px solid var(--border-main);box-shadow:0 4px 12px #00000080;min-width:200px;z-index:1000;padding:4px 0;border-radius:0 0 var(--radius-md) var(--radius-md)}.header-menu-dropdown-item{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition)}.header-menu-dropdown-item:hover{background:var(--accent-active);color:#fff}.header-menu-dropdown-item .shortcut{color:var(--text-secondary);font-size:10px;margin-left:16px}.header-menu-dropdown-item:hover .shortcut{color:#fffc}.header-menu-dropdown-item .submenu-arrow{margin-left:10px;color:var(--text-secondary)}.header-menu-dropdown-item:hover .submenu-arrow{color:#fff}.header-right{display:flex;align-items:center;height:100%;gap:0;padding-right:9px}.header-search{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:20px;width:167px;gap:6px}.header-search input{background:transparent;border:none;outline:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-ui);width:100%}.header-search .search-icon{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.header-divider{width:1px;height:14px;background:var(--border-input);margin:0 12px;flex-shrink:0}.header-toggle{display:flex;align-items:center;gap:8px;padding:0 4px}.header-toggle-label{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:100%;cursor:pointer;transition:opacity var(--transition)}.header-icon-btn:hover{opacity:.8}.header-icon-btn svg{width:16px;height:16px;color:var(--text-secondary)}.toggle{width:22px;height:12px;border-radius:6px;position:relative;cursor:pointer;transition:background var(--transition);flex-shrink:0}.toggle.on{background:var(--toggle-on)}.toggle.off{background:var(--toggle-off)}.toggle:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;top:2px;transition:left var(--transition)}.toggle.on:after{left:12px}.toggle.off:after{left:2px}.tool-options{height:var(--tooloptions-h);background:var(--bg-toolbar);display:flex;align-items:center;padding:0 10px;border-bottom:1px solid var(--border-main);gap:0}.tool-options-group{display:flex;align-items:center;gap:2px;height:22px}.tool-options-label{font-size:var(--font-size-sm);color:var(--text-primary);margin-right:5px;white-space:nowrap}.tool-options-icon-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition)}.tool-options-icon-btn:hover{background:#ffffff14}.tool-options-icon-btn svg{width:16px;height:16px;color:var(--text-secondary)}.tool-options-divider{width:1px;height:14px;background:var(--border-input);margin:0 5px;flex-shrink:0}.tool-options-checkbox{display:flex;align-items:center;gap:3px;cursor:pointer;margin:0 5px}.tool-options-checkbox .checkbox-box{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-options-checkbox .checkbox-box svg{width:16px;height:16px}.tool-options-checkbox .checkbox-box.checked svg{color:var(--checkbox-checked)}.tool-options-checkbox .checkbox-box.unchecked svg{color:var(--checkbox-unchecked)}.tool-options-checkbox span{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.tool-options-slider-group{display:flex;align-items:center;gap:8px}.tool-options-slider-group .slider-label{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.tool-options-slider{width:105px;height:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;outline:none}.tool-options-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer}.tool-options-dropdown{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:22px;gap:4px;cursor:pointer}.tool-options-dropdown span{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.tool-options-dropdown svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.toolbox{width:var(--toolbox-w);background:var(--bg-toolbar);border-right:1px solid var(--border-main);display:flex;flex-direction:column;align-items:center;padding-top:6px;overflow-y:auto;overflow-x:hidden}.toolbox::-webkit-scrollbar{display:none}.toolbox-handle{width:10px;height:4px;border-radius:2px;background:var(--text-muted);margin-bottom:6px;flex-shrink:0}.toolbox-item{width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm);margin:2px 0;position:relative;flex-shrink:0;transition:background var(--transition)}.toolbox-item:hover{background:#ffffff0f}.toolbox-item svg{width:20px;height:20px;color:var(--text-secondary)}.toolbox-item.active{background:#ffffff14}.toolbox-item.active:before{content:"";position:absolute;left:-7px;top:0;bottom:0;width:2px;background:var(--accent-active)}.toolbox-divider{width:100%;height:1px;background:var(--border-divider);margin:5px 0;flex-shrink:0}.toolbox-colors{margin-top:auto;margin-bottom:10px;display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.toolbox-color-swatches{width:31px;height:31px;position:relative;cursor:pointer}.toolbox-color-fg{width:20px;height:20px;background:var(--color-fg);border:2px solid var(--text-secondary);position:absolute;top:0;left:0;z-index:2;border-radius:1px}.toolbox-color-bg{width:20px;height:20px;background:var(--color-bg);border:2px solid var(--text-secondary);position:absolute;bottom:0;right:0;z-index:1;border-radius:1px}.toolbox-color-actions{display:flex;gap:3px;align-items:center}.toolbox-color-actions svg{width:12px;height:12px;color:var(--text-secondary);cursor:pointer}.canvas-area{display:flex;flex-direction:column;background:var(--bg-canvas);position:relative;overflow:hidden}.canvas-tabs{display:flex;height:var(--tab-h);background:var(--bg-tab-inactive);flex-shrink:0}.canvas-tab{display:flex;align-items:center;height:var(--tab-h);padding:0 8px;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;gap:5px;border-right:1px solid var(--border-main);transition:background var(--transition)}.canvas-tab.active{background:var(--bg-tab-active);color:var(--text-active)}.canvas-tab.inactive{background:var(--bg-tab-inactive);color:var(--text-secondary)}.canvas-tab .tab-close{width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition)}.canvas-tab .tab-close:hover{background:#ffffff26}.canvas-tab .tab-close svg{width:10px;height:10px;color:var(--text-secondary)}.canvas-separator{height:2px;background:var(--border-main);flex-shrink:0}.canvas-with-rulers{display:grid;grid-template-columns:var(--ruler-size) 1fr;grid-template-rows:var(--ruler-size) 1fr;flex:1;overflow:hidden}.ruler-corner{width:var(--ruler-size);height:var(--ruler-size);background:var(--bg-ruler);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.ruler-horizontal{height:var(--ruler-size);background:var(--bg-ruler);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--border-subtle);position:relative}.ruler-vertical{width:var(--ruler-size);background:var(--bg-ruler);display:flex;flex-direction:column;align-items:flex-end;overflow:hidden;border-right:1px solid var(--border-subtle);position:relative}.ruler-tick{position:absolute;background:var(--text-muted)}.ruler-tick.major{background:var(--text-secondary)}.ruler-label{position:absolute;font-size:8px;color:var(--text-muted);font-family:var(--font-mono)}.canvas-viewport{background:repeating-conic-gradient(#323232,#323232 25%,#2a2a2a 0%,#2a2a2a 50%) 0 0 / 20px 20px;position:relative;overflow:hidden;cursor:default}.canvas-viewport.panning-ready{cursor:grab}.canvas-viewport.panning-active{cursor:grabbing}.canvas-infinite{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.canvas-image-infinite{display:block;max-width:none;image-rendering:auto;box-shadow:0 2px 20px #0006,0 0 0 1px #0003;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#323232,#323232 25%,#2a2a2a 0%,#2a2a2a 50%) 0 0 / 20px 20px}.empty-state-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 56px;background:#2b2b2bd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 32px #00000059,0 0 0 1px #ffffff08 inset}.empty-state-logo{position:relative;display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:20px;background:linear-gradient(135deg,#5294e226,#5294e20d);border:1px solid rgba(82,148,226,.2);margin-bottom:4px}.empty-state-logo svg{color:var(--accent-active);z-index:1}.empty-state-logo-glow{position:absolute;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(82,148,226,.3) 0%,transparent 70%);filter:blur(8px)}.empty-state-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:var(--text-active);margin:0;letter-spacing:-.02em}.empty-state-subtitle{font-family:Inter,sans-serif;font-size:13px;color:var(--text-secondary);margin:-4px 0 8px}.empty-state-actions{display:flex;flex-direction:column;gap:8px;width:100%}.empty-state-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0a;color:var(--text-primary);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.empty-state-btn:hover{background:#ffffff14;border-color:#ffffff29;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.empty-state-btn:active{transform:translateY(0);box-shadow:none}.empty-state-btn svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.empty-state-btn.primary{background:linear-gradient(135deg,#5294e233,#5294e21a);border-color:#5294e24d;color:var(--text-active)}.empty-state-btn.primary svg{color:var(--accent-active)}.empty-state-btn.primary:hover{background:linear-gradient(135deg,#5294e24d,#5294e226);border-color:#5294e273;box-shadow:0 4px 16px #5294e226}.right-panel{display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-main);overflow:hidden;min-height:0}.panel-resize-handle{height:5px;background:var(--border-main);cursor:row-resize;flex-shrink:0;transition:background .12s ease;position:relative}.panel-resize-handle:hover,.panel-resize-handle:active{background:var(--accent-active)}.dialogue{display:flex;flex-direction:column;border-bottom:1px solid var(--border-main);flex-shrink:0;min-height:0}.dialogue-header{display:flex;align-items:center;justify-content:space-between;height:var(--tab-h);padding:0;border-bottom:2px solid var(--border-main)}.dialogue-tabs{display:flex;height:100%}.dialogue-tab{display:flex;align-items:center;height:100%;padding:0 8px;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition)}.dialogue-tab.active{background:var(--bg-tab-active);color:var(--text-active);border-bottom:2px solid var(--accent-active);margin-bottom:-2px}.dialogue-tab.inactive{background:var(--bg-tab-inactive);color:var(--text-secondary)}.dialogue-tab+.dialogue-tab{margin-left:2px}.dialogue-more{display:flex;align-items:center;justify-content:center;width:20px;height:100%;cursor:pointer;margin-right:4px}.dialogue-more svg{width:16px;height:16px;color:var(--text-secondary)}.dialogue-bar{display:flex;align-items:center;padding:3px 9px;height:28px;gap:5px}.dialogue-bar-label{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.dialogue-input{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:22px;flex:1;gap:4px}.dialogue-input input{background:transparent;border:none;outline:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-ui);width:100%}.dialogue-input svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.dialogue-view-toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition)}.dialogue-view-toggle:hover{background:#ffffff14}.dialogue-view-toggle svg{width:16px;height:16px;color:var(--text-secondary)}.dialogue-divider{height:1px;background:var(--border-divider);margin:0 1px}.brush-grid-container{padding:2px 4px;overflow-y:auto;position:relative}.brush-grid-container::-webkit-scrollbar{width:8px}.brush-grid-container::-webkit-scrollbar-track{background:transparent}.brush-grid-container::-webkit-scrollbar-thumb{background:var(--bg-scrollbar-thumb);border-radius:4px;opacity:.5}.brush-grid-row{display:flex;gap:2px;margin-bottom:2px}.brush-cell{width:var(--brush-cell);height:var(--brush-cell);background:var(--bg-brush-cell);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition);overflow:hidden;flex-shrink:0}.brush-cell:hover{background:var(--bg-layer-hover)}.brush-cell-inner{width:70%;height:70%;background:radial-gradient(circle,var(--text-primary) 0%,transparent 70%);border-radius:50%;opacity:.7}.brush-cell-inner.variant-1{opacity:.9}.brush-cell-inner.variant-2{opacity:.5;width:50%;height:50%}.brush-cell-inner.variant-3{border-radius:0;transform:rotate(45deg);width:40%;height:40%}.brush-cell-inner.variant-4{width:80%;height:20%;border-radius:2px}.brush-cell-inner.variant-5{background:radial-gradient(circle,var(--text-primary) 0%,transparent 50%);width:90%;height:90%;opacity:.3}.dialogue-actions{display:flex;align-items:center;height:30px;padding:0 10px}.dialogue-actions-left{display:flex;gap:10px}.dialogue-actions-right{display:flex;gap:10px;margin-left:auto}.dialogue-actions-center{display:flex;gap:10px}.dialogue-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition)}.dialogue-action-btn:hover{background:#ffffff14}.dialogue-action-btn svg{width:16px;height:16px;color:var(--text-secondary)}.dialogue-handle{width:10px;height:4px;border-radius:2px;background:var(--text-muted);margin:0 auto;flex-shrink:0}.layers-blend-row{display:flex;align-items:center;padding:3px 9px;height:28px;gap:5px}.layers-dropdown{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:22px;gap:4px;cursor:pointer}.layers-dropdown span{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.layers-dropdown svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.layers-legacy{display:flex;align-items:center;gap:8px;margin-left:auto}.layers-legacy-label{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.layers-lock-row{display:flex;align-items:center;padding:3px 9px;height:28px;gap:4px}.layers-lock-label{font-size:var(--font-size-sm);color:var(--text-primary);margin-right:4px}.layers-lock-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;cursor:pointer}.layers-lock-icon svg{width:16px;height:16px;color:var(--text-secondary)}.layers-opacity-label{font-size:var(--font-size-sm);color:var(--text-primary);margin-left:4px}.layers-opacity-slider{width:76px;height:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;outline:none;margin:0 4px}.layers-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-primary);cursor:pointer}.layers-opacity-dropdown{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:22px;gap:2px;cursor:pointer;margin-left:auto}.layers-opacity-dropdown span{font-size:var(--font-size-sm);color:var(--text-primary)}.layers-opacity-dropdown svg{width:16px;height:16px;color:var(--text-secondary)}.layer-list{display:flex;flex-direction:column}.layer-row{display:flex;align-items:center;height:var(--layer-row-h);padding:0 1px;cursor:pointer;position:relative;transition:background var(--transition)}.layer-row:hover{background:var(--bg-layer-hover)}.layer-row.selected{background:var(--bg-layer-selected)}.layer-row.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent-active)}.layer-info{display:flex;align-items:center;padding-left:20px;gap:6px;flex:1;min-width:0}.layer-indent{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.layer-indent svg{width:10px;height:10px;color:var(--text-muted)}.layer-thumb{width:30px;height:30px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-shrink:0;overflow:hidden}.layer-thumb img{width:100%;height:100%;object-fit:cover}.layer-name{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-name.muted{color:var(--text-muted)}.layer-folder-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.layer-folder-icon svg{width:16px;height:16px;color:var(--accent-indicator)}.layer-status{display:flex;align-items:center;gap:5px;padding-right:10px;flex-shrink:0}.layer-status-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.layer-status-icon svg{width:16px;height:16px;color:var(--text-secondary)}.layer-status-icon.off svg{color:var(--text-muted)}.layer-search{display:flex;align-items:center;padding:3px 9px;height:28px;gap:5px}.layer-search-input{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 8px;height:22px;flex:1;gap:4px}.layer-search-input input{background:transparent;border:none;outline:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-ui);width:100%}.layer-search-input svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.histogram-container{position:relative;padding:0;overflow:hidden}.histogram-grid{position:absolute;top:0;right:0;bottom:0;left:0}.histogram-grid-line-v,.histogram-grid-line-h{position:absolute;background:#ffffff0a}.histogram-grid-line-v{width:1px;top:0;bottom:0}.histogram-grid-line-h{height:1px;left:0;right:0}.histogram-chart{position:absolute;top:0;right:0;bottom:0;left:0}.histogram-chart svg{width:100%;height:100%}.histogram-warning{position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center}.histogram-warning svg{width:24px;height:24px;color:var(--accent-warning)}.status-bar{height:var(--statusbar-h);background:var(--bg-status);display:flex;align-items:center;padding:0 10px 0 105px;border-top:1px solid var(--border-main);gap:0;overflow:hidden}.status-group{display:flex;align-items:center;gap:4px;margin-right:30px;white-space:nowrap}.status-text{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-ui)}.status-spacer{flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.header-settings{display:flex;align-items:center;cursor:pointer;gap:0;position:relative}.header-settings svg{width:16px;height:16px;color:var(--text-secondary)}.settings-dropdown{position:absolute;top:100%;right:0;background:var(--bg-panel);border:1px solid var(--border-main);box-shadow:0 4px 16px #00000080;min-width:180px;z-index:1000;padding:4px 0;border-radius:0 0 var(--radius-md) var(--radius-md)}.settings-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:background var(--transition)}.settings-dropdown-item:hover{background:var(--accent-active);color:#fff}.settings-dropdown-item svg{flex-shrink:0;color:var(--text-secondary)}.settings-dropdown-item:hover svg{color:#fff}.pref-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9000}.pref-dialog{width:740px;height:540px;background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;overflow:hidden}.pref-titlebar{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 10px;background:#222;border-bottom:1px solid var(--border-main);flex-shrink:0}.pref-titlebar-text{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.pref-titlebar-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.pref-titlebar-close:hover{background:#c44;color:#fff}.pref-body{display:flex;flex:1;min-height:0}.pref-sidebar{width:200px;background:#1e1e1e;border-right:1px solid var(--border-main);overflow-y:auto;padding:4px 0;flex-shrink:0}.pref-sidebar::-webkit-scrollbar{width:4px}.pref-sidebar::-webkit-scrollbar-thumb{background:var(--border-main);border-radius:2px}.pref-sidebar-item{display:flex;align-items:center;gap:6px;padding:5px 8px;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none}.pref-sidebar-item:hover{background:#ffffff0a}.pref-sidebar-item.active{background:var(--accent-active);color:#fff}.pref-caret{flex-shrink:0;color:var(--text-muted)}.pref-sidebar-item.active .pref-caret{color:#fff}.pref-sidebar-icon{display:flex;align-items:center;color:var(--text-secondary)}.pref-sidebar-item.active .pref-sidebar-icon{color:#fff}.pref-sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pref-content{flex:1;padding:16px 20px;overflow-y:auto;min-width:0}.pref-content::-webkit-scrollbar{width:6px}.pref-content::-webkit-scrollbar-thumb{background:var(--border-main);border-radius:3px}.pref-page-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.pref-page-divider{height:1px;background:var(--border-main);margin:10px 0 14px}.pref-page-body{display:flex;flex-direction:column;gap:16px}.pref-section{display:flex;flex-direction:column;gap:8px}.pref-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.pref-row{display:flex;align-items:center;gap:8px;padding-left:16px}.pref-label{font-size:var(--font-size-sm);color:var(--text-secondary);min-width:180px;flex-shrink:0}.pref-control{display:flex;align-items:center;gap:6px}.pref-spinner{display:flex;align-items:stretch;height:24px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);overflow:hidden}.pref-spinner input{flex:1;min-width:0;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:0 6px;outline:none}.pref-spinner input::-webkit-inner-spin-button,.pref-spinner input::-webkit-outer-spin-button{-webkit-appearance:none}.pref-spinner-btns{display:flex;flex-direction:column;border-left:1px solid var(--border-input)}.pref-spinner-btns button{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);font-size:7px;cursor:pointer;padding:0 4px;line-height:1}.pref-spinner-btns button:hover{background:#ffffff14;color:var(--text-primary)}.pref-select{height:24px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);padding:0 22px 0 6px;outline:none;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='10' viewBox='0 0 24 24' fill='none' stroke='%23949494' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.pref-select:hover{border-color:var(--accent-active)}.pref-select option{background:var(--bg-panel);color:var(--text-primary)}.pref-checkbox{display:flex;align-items:center;gap:8px;padding-left:16px;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none}.pref-checkbox-box{width:14px;height:14px;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-primary);flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.pref-checkbox-box.checked{background:var(--accent-active);border-color:var(--accent-active)}.pref-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 16px;font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.pref-warning-icon{color:var(--accent-warning);font-style:normal;font-size:14px;flex-shrink:0}.pref-info{padding-left:16px;font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.pref-placeholder{display:flex;align-items:center;justify-content:center;height:120px}.pref-placeholder-text{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.pref-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border-main);background:#222;flex-shrink:0}.pref-footer-right{display:flex;gap:6px}.pref-btn{height:26px;padding:0 14px;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--border-main);transition:background var(--transition),border-color var(--transition)}.pref-btn-primary{background:var(--accent-active);color:#fff;border-color:var(--accent-active)}.pref-btn-primary:hover{background:#6aa4ea}.pref-btn-secondary{background:var(--bg-input);color:var(--text-primary)}.pref-btn-secondary:hover{background:#4a4a4a;border-color:var(--text-muted)}
