.modal-overlay[data-v-1b7d3cf3]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;display:flex;justify-content:center;inset:0;position:fixed;z-index:2000}.modal-content[data-v-1b7d3cf3]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0006;max-width:400px;overflow:hidden;width:90%}.modal-header[data-v-1b7d3cf3]{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3[data-v-1b7d3cf3]{font-size:1.1rem;font-weight:600;margin:0}.close-btn[data-v-1b7d3cf3]{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px}.close-btn[data-v-1b7d3cf3]:hover{background-color:var(--surface-color-hover);color:var(--text-primary)}.modal-body[data-v-1b7d3cf3]{padding:1.5rem}.modal-body label[data-v-1b7d3cf3]{color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:.5rem}.custom-input[data-v-1b7d3cf3]{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.custom-input[data-v-1b7d3cf3]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.modal-footer[data-v-1b7d3cf3]{background-color:var(--surface-color-hover);border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-overlay[data-v-b3cfcd80]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;display:flex;justify-content:center;inset:0;position:fixed;z-index:2000}.modal-content[data-v-b3cfcd80]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 40px #0006;max-width:400px;overflow:hidden;width:90%}.modal-header[data-v-b3cfcd80]{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3[data-v-b3cfcd80]{font-size:1.1rem;font-weight:600;margin:0}.close-btn[data-v-b3cfcd80]{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px}.close-btn[data-v-b3cfcd80]:hover{background-color:var(--surface-color-hover);color:var(--text-primary)}.modal-body[data-v-b3cfcd80]{padding:1.5rem}.modal-body .message[data-v-b3cfcd80]{color:var(--text-primary);font-size:1rem;line-height:1.5;margin:0}.modal-footer[data-v-b3cfcd80]{background-color:var(--surface-color-hover);border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-backdrop[data-v-80e4c82a]{align-items:center;background-color:#0009;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2000}.modal-content[data-v-80e4c82a]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #00000080;color:var(--text-primary);max-height:90vh;max-width:90vw;overflow-y:auto;width:400px}.modal-header[data-v-80e4c82a]{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 24px}.modal-header h2[data-v-80e4c82a]{font-size:1.25rem;margin:0}.close-btn[data-v-80e4c82a]{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;margin:0;opacity:.7;padding:0}.close-btn[data-v-80e4c82a]:hover{opacity:1}.modal-body[data-v-80e4c82a]{padding:24px}.settings-section[data-v-80e4c82a]{margin-bottom:24px}.settings-section h3[data-v-80e4c82a]{color:var(--text-secondary);font-size:1rem;margin:0 0 12px}.settings-section[data-v-80e4c82a]:last-child{margin-bottom:0}.section-header[data-v-80e4c82a]{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h3[data-v-80e4c82a]{margin:0}.hotkey-list[data-v-80e4c82a]{display:flex;flex-direction:column;gap:8px}.hotkey-row[data-v-80e4c82a]{align-items:center;background-color:var(--surface-color-hover);border-radius:4px;display:flex;justify-content:space-between;padding:8px}.hotkey-desc[data-v-80e4c82a]{font-size:.9rem}.hotkey-btn[data-v-80e4c82a]{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-family:monospace;min-width:80px;padding:4px 8px;text-align:center}.hotkey-btn[data-v-80e4c82a]:hover{background-color:var(--scrollbar-thumb)}.hotkey-input[data-v-80e4c82a]{background-color:var(--bg-color);border:1px solid var(--primary-color);border-radius:4px;color:var(--text-primary);font-family:monospace;outline:none;padding:4px 8px;width:150px}.btn-sm[data-v-80e4c82a]{background-color:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:4px 8px}.btn-sm[data-v-80e4c82a]:hover{background-color:var(--surface-color-hover);color:var(--text-primary)}.options-group[data-v-80e4c82a]{display:flex;flex-direction:column;gap:8px}.options-group label[data-v-80e4c82a]{align-items:center;cursor:pointer;display:flex;gap:8px}.danger-zone[data-v-80e4c82a]{border-top:1px solid var(--danger-color);margin-top:32px;padding-top:24px}.danger-zone h3[data-v-80e4c82a]{color:var(--danger-color)}.danger-zone p[data-v-80e4c82a]{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.btn-danger[data-v-80e4c82a]{background-color:transparent;border:1px solid var(--danger-color);border-radius:4px;color:var(--danger-color);cursor:pointer;font-weight:700;padding:8px 16px;transition:all .2s}.btn-danger[data-v-80e4c82a]:hover{background-color:var(--danger-color);color:#fff}.drop-overlay[data-v-e167ddb7]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--focus-ring);border:4px dashed var(--primary-color);color:var(--text-primary);display:flex;font-size:2rem;font-weight:700;justify-content:center;inset:0;pointer-events:none;position:absolute;text-shadow:0 2px 4px rgba(0,0,0,.5);z-index:1000}.custom-select[data-v-92af7137]{min-width:180px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-trigger[data-v-92af7137]{align-items:center;background-color:var(--surface-color-hover);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem .8rem;transition:all .2s ease}.select-trigger[data-v-92af7137]:hover{border-color:var(--primary-color)}.custom-select.open .select-trigger[data-v-92af7137]{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring)}.chevron[data-v-92af7137]{color:var(--text-secondary);transition:transform .2s ease}.custom-select.open .chevron[data-v-92af7137]{transform:rotate(180deg)}.select-options[data-v-92af7137]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #0003;left:0;max-height:300px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.select-option[data-v-92af7137]{align-items:center;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;justify-content:space-between;padding:.6rem .8rem;transition:background .1s ease}.select-option[data-v-92af7137]:hover{background-color:var(--surface-color-hover)}.select-option.selected[data-v-92af7137]{background-color:var(--focus-ring);font-weight:500}.check[data-v-92af7137],.select-option.selected[data-v-92af7137]{color:var(--primary-color)}.top-bar[data-v-4f48535a]{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-sizing:border-box;height:48px;justify-content:space-between;padding:.5rem 1rem}.toolbar-group[data-v-4f48535a],.top-bar[data-v-4f48535a]{align-items:center;display:flex}.toolbar-group[data-v-4f48535a]{flex:1;gap:.25rem}.toolbar-group[data-v-4f48535a]:last-child{justify-content:flex-end}.toolbar-center[data-v-4f48535a]{flex:2;justify-content:center}@media(max-width:768px){.btn-text[data-v-4f48535a]{display:none}}.zoom-level[data-v-4f48535a]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;min-width:3.5rem;text-align:center}.gallery-container[data-v-8a40e794]{background-color:var(--surface-color);border-right:1px solid var(--border-color);box-sizing:border-box;height:100%;overflow-x:hidden;overflow-y:auto;padding:12px;width:100%}.thumbnails-list[data-v-8a40e794]{display:flex;flex-direction:column;gap:12px}.thumbnail-wrapper[data-v-8a40e794]{align-items:center;aspect-ratio:1;background-color:var(--bg-color);border:2px solid transparent;border-radius:6px;cursor:pointer;display:flex;justify-content:center;overflow:hidden;position:relative;transition:all .2s ease-in-out;width:100%}.thumbnail-wrapper[data-v-8a40e794]:hover{border-color:var(--scrollbar-thumb);transform:scale(1.02)}.thumbnail-wrapper.active[data-v-8a40e794]{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--focus-ring);z-index:1}.thumbnail-img[data-v-8a40e794]{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.remove-btn[data-v-8a40e794]{align-items:center;background-color:#f00c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:none;height:24px;justify-content:center;position:absolute;right:4px;top:4px;transition:all .2s;width:24px;z-index:5}.remove-btn[data-v-8a40e794]:hover{background-color:red;transform:scale(1.1)}.thumbnail-wrapper:hover .remove-btn[data-v-8a40e794]{display:flex}.sidebar[data-v-0600db0b]{background-color:var(--surface-color);display:flex;flex-direction:column;position:relative;z-index:10}.sidebar[style*=width][data-v-0600db0b]{border-right:1px solid var(--border-color);min-width:150px}.sidebar[style*=height][data-v-0600db0b]{border-top:1px solid var(--border-color);min-height:100px;width:100%}.resize-handle[data-v-0600db0b]{position:absolute;transition:background-color .2s;z-index:20}.resize-handle[data-v-0600db0b]:active,.resize-handle[data-v-0600db0b]:hover{background-color:var(--primary-color);opacity:.3}.resize-handle.left[data-v-0600db0b]{cursor:col-resize;height:100%;right:-3px;top:0;width:6px}.resize-handle.bottom[data-v-0600db0b]{cursor:row-resize;height:6px;left:0;top:-3px;width:100%}.viewer-container[data-v-7ac19218]{background-color:var(--surface-color);overflow:hidden;position:relative}.image-wrapper[data-v-7ac19218],.viewer-container[data-v-7ac19218]{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.viewer-image[data-v-7ac19218]{transform-origin:center center;transition:transform .1s ease-out;will-change:transform}.fit-contain[data-v-7ac19218]{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.fit-width[data-v-7ac19218]{height:auto;width:100%}.fit-height[data-v-7ac19218]{height:100%;width:auto}.fit-actual[data-v-7ac19218]{max-height:none;max-width:none}.empty-state[data-v-7ac19218]{align-items:center;color:var(--text-secondary);display:flex;height:100%;justify-content:center;width:100%}.empty-state .empty-state-content[data-v-7ac19218]{align-items:center;background-color:var(--bg-color);border:2px dashed var(--border-color);border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:48px;transition:border-color .3s}.empty-state .empty-state-content svg[data-v-7ac19218]{color:var(--border-color);opacity:.7}.empty-state .empty-state-content p[data-v-7ac19218]{color:var(--text-primary);font-size:1.25rem;font-weight:500;margin:0}.empty-state .empty-state-content .empty-state-hint[data-v-7ac19218]{color:var(--text-secondary);font-size:.95rem}.viewer-container.drag-over .empty-state .empty-state-content[data-v-7ac19218]{background-color:var(--focus-ring);border-color:var(--primary-color)}.viewer-container.drag-over .empty-state .empty-state-content svg[data-v-7ac19218]{color:var(--primary-color)}.mosaic-container[data-v-c0270f50]{align-items:center;background-color:var(--bg-color);background-image:radial-gradient(var(--border-color) 1px,transparent 1px);background-size:20px 20px;box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:16px;width:100%}.mosaic-canvas[data-v-c0270f50]{height:100%;position:relative;width:100%}.mosaic-cell[data-v-c0270f50]{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;overflow:hidden;position:absolute;transition:box-shadow .2s,transform .2s}.mosaic-cell[data-v-c0270f50]:after{border:2px solid transparent;border-radius:8px;content:"";inset:0;pointer-events:none;position:absolute;transition:border-color .2s;z-index:15}.mosaic-cell.active[data-v-c0270f50]{box-shadow:0 8px 24px #00000026;z-index:10}.mosaic-cell.active[data-v-c0270f50]:after{border-color:var(--primary-color)}.mosaic-cell .drag-handle[data-v-c0270f50]{background-color:var(--surface-color);box-shadow:0 2px 5px #0000001a;color:var(--text-secondary);display:none;opacity:.9;position:absolute;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20}.mosaic-cell .drag-handle[data-v-c0270f50]:hover{background-color:var(--surface-color-hover);color:var(--primary-color)}.mosaic-cell.active .drag-handle[data-v-c0270f50],.mosaic-cell:hover .drag-handle[data-v-c0270f50]{align-items:center;display:flex;justify-content:center}.mosaic-cell .move-handle[data-v-c0270f50]{border:1px solid var(--border-color);border-radius:6px;cursor:move;height:28px;left:8px;top:8px;width:28px}.mosaic-cell .resize-handle[data-v-c0270f50]{background-color:var(--primary-color);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:14px;width:14px;z-index:25}.mosaic-cell .resize-handle[data-v-c0270f50]:hover{background-color:var(--primary-color-hover);transform:scale(1.2)}.mosaic-cell .resize-handle.top-left[data-v-c0270f50]{cursor:nw-resize;left:-6px;top:-6px}.mosaic-cell .resize-handle.top-right[data-v-c0270f50]{cursor:ne-resize;right:-6px;top:-6px}.mosaic-cell .resize-handle.bottom-left[data-v-c0270f50]{bottom:-6px;cursor:sw-resize;left:-6px}.mosaic-cell .resize-handle.bottom-right[data-v-c0270f50]{bottom:-6px;cursor:se-resize;right:-6px}.empty-mosaic[data-v-c0270f50]{align-items:center;background-color:var(--surface-color);color:var(--text-secondary);display:flex;height:100%;justify-content:center}.empty-mosaic .empty-mosaic-content[data-v-c0270f50]{align-items:center;background-color:var(--bg-color);border:2px dashed var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:32px}.empty-mosaic .empty-mosaic-content svg[data-v-c0270f50]{color:var(--border-color)}.empty-mosaic .empty-mosaic-content p[data-v-c0270f50]{color:var(--text-primary);font-size:1.2rem;font-weight:500;margin:0}.empty-mosaic .empty-mosaic-content .empty-hint[data-v-c0270f50]{color:var(--text-secondary);font-size:.9rem}.metadata-panel[data-v-426438a5]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;color:var(--text-primary);opacity:.95;padding:16px;position:absolute;right:16px;top:16px;width:300px;z-index:100}.metadata-header[data-v-426438a5]{border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:8px}.metadata-header h3[data-v-426438a5]{font-size:1rem;font-weight:500;margin:0}.metadata-content[data-v-426438a5]{display:flex;flex-direction:column;gap:8px}.metadata-row[data-v-426438a5]{align-items:center;display:flex;font-size:.85rem;gap:8px}.metadata-row .label[data-v-426438a5]{color:var(--text-secondary);min-width:70px}.metadata-row .value[data-v-426438a5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-area[data-v-febc5c9a]{background-color:var(--viewer-bg,var(--surface-color));display:flex;flex:1;height:100%;overflow:hidden;position:relative}:root{--bg-color:#f8f9fa;--surface-color:#fff;--surface-color-hover:#e9ecef;--border-color:#dee2e6;--text-primary:#212529;--text-secondary:#6c757d;--primary-color:#0d6efd;--primary-color-hover:#0b5ed7;--danger-color:#dc3545;--scrollbar-bg:#f1f3f5;--scrollbar-thumb:#ced4da;--scrollbar-thumb-hover:#adb5bd;--focus-ring:rgba(13,110,253,.25);--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}body.dark-theme{--bg-color:#121212;--surface-color:#1e1e1e;--surface-color-hover:#2a2a2a;--border-color:#333;--text-primary:#fff;--text-secondary:#a0a0a0;--primary-color:#007bff;--primary-color-hover:#0056b3;--danger-color:#dc3545;--scrollbar-bg:#1a1a1a;--scrollbar-thumb:#444;--scrollbar-thumb-hover:#555;--focus-ring:rgba(0,123,255,.25)}body,html{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);height:100vh;margin:0;overflow:hidden;padding:0;width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-bg);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}button{font-family:inherit}.btn{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:.4rem .75rem;transition:all .2s ease-in-out;white-space:nowrap}.btn:hover{background-color:var(--surface-color-hover);border-color:var(--border-color)}.btn:active{background-color:var(--border-color)}.btn.active{background-color:var(--focus-ring);border-color:#007bff80;color:var(--primary-color)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn svg{flex-shrink:0}.btn.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn.btn-primary:hover{background-color:var(--primary-color-hover)}.btn.btn-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.btn.btn-danger:hover{filter:brightness(.9)}.icon-btn{height:32px;padding:.4rem;width:32px}.separator{background-color:var(--border-color);height:20px;margin:0 .5rem;width:1px}.app-layout{background-color:var(--bg-color);color:var(--text-primary);flex-direction:column;height:100vh;width:100vw}.app-layout,.main-content{display:flex;overflow:hidden;position:relative}.main-content{flex:1;flex-direction:row}.main-content.gallery-bottom{flex-direction:column-reverse}.main-content.gallery-bottom :deep(.sidebar){border-right:none;border-top:1px solid var(--border-color);min-width:unset;width:100%}.main-content.gallery-bottom :deep(.thumbnails-list){flex-direction:row;height:100%;overflow-x:auto;overflow-y:hidden}.main-content.gallery-bottom :deep(.thumbnail-wrapper){aspect-ratio:1;height:100%;width:auto}
