:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e0e0e0;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{overflow-x:hidden}body{margin:0;min-width:320px;height:100vh;overflow:hidden}#app{width:100%;height:100vh;overflow:hidden}button{font-family:inherit}.image-viewer-overlay[data-v-3affb5cd]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center}.image-viewer-container[data-v-3affb5cd]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-wrapper[data-v-3affb5cd]{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center;position:relative}.full-res-image[data-v-3affb5cd]{max-width:100%;max-height:90vh;object-fit:contain;-webkit-user-select:none;user-select:none}.close-button[data-v-3affb5cd]{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.close-button[data-v-3affb5cd]:hover{background:#fff3}.nav-button[data-v-3affb5cd]{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.nav-button[data-v-3affb5cd]:hover{background:#fff3}.prev-button[data-v-3affb5cd]{left:20px}.next-button[data-v-3affb5cd]{right:20px}.image-info[data-v-3affb5cd]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;background:#0009;padding:8px 16px;border-radius:20px;font-size:14px}.metadata-panel[data-v-3affb5cd]{position:absolute;top:20px;left:20px;max-width:350px;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:16px;color:#fff;z-index:10;max-height:calc(100vh - 120px);overflow-y:auto}.metadata-header[data-v-3affb5cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}.metadata-header h3[data-v-3affb5cd]{margin:0;font-size:16px;font-weight:600}.edit-button[data-v-3affb5cd]{display:flex;align-items:center;gap:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.edit-button[data-v-3affb5cd]:hover{background:#fff3}.edit-button.active[data-v-3affb5cd]{background:#ffc10733;border-color:#ffc10780;color:#ffc107}.metadata-content[data-v-3affb5cd]{display:flex;flex-direction:column;gap:12px}.metadata-row[data-v-3affb5cd]{display:flex;flex-direction:column;gap:4px}.metadata-label[data-v-3affb5cd]{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffffb3;font-weight:500}.metadata-value[data-v-3affb5cd]{font-size:14px;padding-left:22px;display:flex;align-items:center;gap:8px}.metadata-value.filename[data-v-3affb5cd]{word-break:break-all;font-family:monospace;font-size:12px}.missing-badge[data-v-3affb5cd]{display:inline-block;background:#ffc10733;color:#ffc107;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.metadata-edit-form[data-v-3affb5cd]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-3affb5cd]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-3affb5cd]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#ffffffe6}.form-input[data-v-3affb5cd]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 12px;border-radius:4px;font-size:14px;transition:all .2s}.form-input[data-v-3affb5cd]:focus{outline:none;background:#ffffff26;border-color:#fff6}.form-input[data-v-3affb5cd]::placeholder{color:#fff6}.form-actions[data-v-3affb5cd]{display:flex;gap:8px}.submit-button[data-v-3affb5cd]{flex:1;background:#4caf50;border:none;color:#fff;padding:10px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.submit-button[data-v-3affb5cd]:hover:not(:disabled){background:#45a049}.submit-button[data-v-3affb5cd]:disabled{opacity:.6;cursor:not-allowed}.submitting-text[data-v-3affb5cd]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner-tiny[data-v-3affb5cd]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3affb5cd .8s linear infinite}.success-message[data-v-3affb5cd]{background:#4caf5033;border:1px solid rgba(76,175,80,.5);color:#4caf50;padding:10px;border-radius:4px;font-size:13px;text-align:center}.error-message[data-v-3affb5cd]{background:#d32f2f33;border:1px solid rgba(211,47,47,.5);color:#d32f2f;padding:10px;border-radius:4px;font-size:13px;text-align:center}.field-error-message[data-v-3affb5cd]{color:#ff6b6b;font-size:12px;margin-top:4px;display:block}.input-error[data-v-3affb5cd]{border-color:#ff6b6b!important}.input-error[data-v-3affb5cd]:focus{border-color:#f44!important;box-shadow:0 0 0 2px #ff6b6b33}@media (max-width: 768px){.metadata-panel[data-v-3affb5cd]{position:fixed;top:auto;bottom:80px;left:10px;right:10px;max-width:none;max-height:30vh;padding:12px}.metadata-header[data-v-3affb5cd]{margin-bottom:12px;padding-bottom:8px}.metadata-header h3[data-v-3affb5cd]{font-size:14px}.edit-button[data-v-3affb5cd]{font-size:12px;padding:5px 10px}.metadata-content[data-v-3affb5cd]{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.metadata-row[data-v-3affb5cd]{gap:2px}.metadata-row[data-v-3affb5cd]:nth-child(1),.metadata-row[data-v-3affb5cd]:nth-child(2){grid-column:1 / -1}.metadata-label[data-v-3affb5cd]{font-size:11px}.metadata-value[data-v-3affb5cd]{font-size:12px}.metadata-value.filename[data-v-3affb5cd]{font-size:10px;word-break:break-all}}.loading-spinner[data-v-3affb5cd]{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3affb5cd 1s linear infinite}@keyframes spin-3affb5cd{to{transform:rotate(360deg)}}.fade-enter-active[data-v-3affb5cd],.fade-leave-active[data-v-3affb5cd]{transition:opacity .3s}.fade-enter-from[data-v-3affb5cd],.fade-leave-to[data-v-3affb5cd]{opacity:0}.image-controls[data-v-3affb5cd]{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px;border-radius:24px;z-index:10}.control-group[data-v-3affb5cd]{display:flex;align-items:center;gap:6px}.control-button[data-v-3affb5cd]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.control-button[data-v-3affb5cd]:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.control-button[data-v-3affb5cd]:active:not(:disabled){transform:scale(.95)}.control-button[data-v-3affb5cd]:disabled{opacity:.4;cursor:not-allowed}.control-divider[data-v-3affb5cd]{width:1px;height:28px;background:#fff3;margin:0 4px}.zoom-indicator[data-v-3affb5cd]{color:#fff;font-size:13px;font-weight:500;min-width:45px;text-align:center}@media (max-width: 768px){.image-controls[data-v-3affb5cd]{top:80px;padding:6px 10px;gap:4px}.control-button[data-v-3affb5cd]{width:32px;height:32px}.control-button svg[data-v-3affb5cd]{width:16px;height:16px}.zoom-indicator[data-v-3affb5cd]{font-size:12px;min-width:40px}.control-divider[data-v-3affb5cd]{height:24px}}.filter-panel[data-v-ad71fb09]{background:#2d2d2d;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000080;width:100%}.filter-header[data-v-ad71fb09]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;transition:margin-bottom .3s ease}.filter-panel:has(.filter-grid[style*="display: none"]) .filter-header[data-v-ad71fb09]{margin-bottom:0}.filter-header-left[data-v-ad71fb09]{display:flex;align-items:center;gap:12px}.filter-header h3[data-v-ad71fb09]{margin:0;font-size:18px;color:#e0e0e0}.toggle-button[data-v-ad71fb09]{background:none;border:none;padding:4px;cursor:pointer;color:#b0b0b0;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .2s;border-radius:4px}.toggle-button[data-v-ad71fb09]:hover{color:#e0e0e0;background-color:#ffffff0d}.chevron[data-v-ad71fb09]{transition:transform .3s ease}.chevron-collapsed[data-v-ad71fb09]{transform:rotate(-90deg)}.clear-button[data-v-ad71fb09]{padding:8px 16px;background-color:#3a3a3a;color:#b0b0b0;border:1px solid #404040;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s,color .2s}.clear-button[data-v-ad71fb09]:hover:not(:disabled){background-color:#404040;color:#e0e0e0}.clear-button[data-v-ad71fb09]:disabled{opacity:.5;cursor:not-allowed}.filter-grid[data-v-ad71fb09]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.filter-field[data-v-ad71fb09]{display:flex;flex-direction:column;gap:8px}.filter-field.full-width[data-v-ad71fb09]{grid-column:1 / -1}.filter-field label[data-v-ad71fb09]{font-size:14px;font-weight:500;color:#b0b0b0}.filter-input[data-v-ad71fb09]{padding:10px 12px;border:1px solid #404040;border-radius:4px;font-size:14px;transition:border-color .2s;width:100%;box-sizing:border-box;background-color:#3a3a3a;color:#e0e0e0}.filter-input[data-v-ad71fb09]:focus{outline:none;border-color:#606060}.filter-select[data-v-ad71fb09]{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='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e0e0e0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.filter-select[data-v-ad71fb09]:disabled{opacity:.6;cursor:not-allowed}.filter-select option[data-v-ad71fb09]{background-color:#3a3a3a;color:#e0e0e0;padding:8px}.autocomplete-wrapper[data-v-ad71fb09]{position:relative}.autocomplete-loading[data-v-ad71fb09]{position:absolute;right:12px;top:12px;width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#e0e0e0;border-radius:50%;animation:spin-ad71fb09 .8s linear infinite}@keyframes spin-ad71fb09{to{transform:rotate(360deg)}}.autocomplete-dropdown[data-v-ad71fb09]{position:absolute;top:100%;left:0;right:0;background:#3a3a3a;border:1px solid #404040;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;box-shadow:0 4px 6px #00000080;z-index:10;margin-top:-1px}.autocomplete-item[data-v-ad71fb09]{padding:10px 12px;cursor:pointer;transition:background-color .2s;font-size:14px;color:#e0e0e0}.autocomplete-item[data-v-ad71fb09]:hover{background-color:#404040}.autocomplete-item[data-v-ad71fb09]:active{background-color:#505050}.error-message[data-v-ad71fb09]{color:#ff6b6b;font-size:12px;margin-top:4px;display:block}.input-error[data-v-ad71fb09]{border-color:#ff6b6b!important}.input-error[data-v-ad71fb09]:focus{border-color:#f44!important;box-shadow:0 0 0 2px #ff6b6b33}.filter-collapse-enter-active[data-v-ad71fb09],.filter-collapse-leave-active[data-v-ad71fb09]{transition:all .3s ease;max-height:500px;overflow:hidden}.filter-collapse-enter-from[data-v-ad71fb09],.filter-collapse-leave-to[data-v-ad71fb09]{max-height:0;opacity:0;margin-top:0}.filter-collapse-enter-to[data-v-ad71fb09],.filter-collapse-leave-from[data-v-ad71fb09]{max-height:500px;opacity:1}@media (max-width: 768px){.filter-panel[data-v-ad71fb09]{padding:16px}.filter-grid[data-v-ad71fb09]{grid-template-columns:repeat(2,1fr);gap:12px}.filter-header h3[data-v-ad71fb09]{font-size:16px}.clear-button[data-v-ad71fb09]{padding:6px 12px;font-size:13px}}@media (max-width: 480px){.filter-grid[data-v-ad71fb09]{grid-template-columns:1fr}}.image-gallery[data-v-c4530d54]{width:100%;height:100vh;background-color:#1a1a1a;display:flex;justify-content:center;overflow:hidden}.gallery-layout[data-v-c4530d54]{width:100%;max-width:1400px;height:100vh;display:flex;flex-direction:column;gap:1rem}.gallery-fixed-header[data-v-c4530d54]{flex-shrink:0;background-color:#1a1a1a;z-index:100;box-shadow:0 2px 8px #0000004d}.gallery-header-content[data-v-c4530d54]{padding:20px 20px 10px}.gallery-header[data-v-c4530d54]{margin:0 0 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.filter-container[data-v-c4530d54]{margin-bottom:.625rem}.gallery-scrollable-content[data-v-c4530d54]{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:1rem}.gallery-header h1[data-v-c4530d54]{margin:0;font-size:32px;color:#e0e0e0}.stats[data-v-c4530d54]{color:#b0b0b0;font-size:14px}.loading-container[data-v-c4530d54],.error-container[data-v-c4530d54]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:20px}.loading-spinner[data-v-c4530d54]{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#e0e0e0;border-radius:50%;animation:spin-c4530d54 1s linear infinite}@keyframes spin-c4530d54{to{transform:rotate(360deg)}}.error-container p[data-v-c4530d54]{color:#d32f2f;font-size:16px}.error-container button[data-v-c4530d54]{padding:10px 24px;background-color:#404040;color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-container button[data-v-c4530d54]:hover{background-color:#505050}.gallery-grid[data-v-c4530d54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gallery-item[data-v-c4530d54]{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;cursor:pointer;background-color:#2d2d2d;transition:transform .2s,box-shadow .2s}.gallery-item[data-v-c4530d54]:hover{transform:scale(1.05);box-shadow:0 8px 16px #0003}.gallery-item:hover .overlay[data-v-c4530d54]{opacity:1}.thumbnail[data-v-c4530d54]{width:100%;height:100%;object-fit:cover;display:block}.overlay[data-v-c4530d54]{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000004d,#000000b3);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;padding:12px}.metadata-overlay[data-v-c4530d54]{display:flex;flex-direction:column;gap:6px;width:100%}.metadata-item[data-v-c4530d54]{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;background:#00000080;padding:4px 8px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.metadata-item svg[data-v-c4530d54]{flex-shrink:0}.metadata-item span[data-v-c4530d54]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metadata-missing[data-v-c4530d54]{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#ffc107;background:#ffc10726;padding:6px 10px;border-radius:4px;border:1px dashed rgba(255,193,7,.5)}.metadata-missing svg[data-v-c4530d54]{flex-shrink:0}.missing-text[data-v-c4530d54]{font-weight:500}@media (max-width: 768px){.gallery-header-content[data-v-c4530d54]{padding:15px 15px 10px}.gallery-header[data-v-c4530d54]{margin-bottom:15px}.gallery-header h1[data-v-c4530d54]{font-size:24px}.gallery-scrollable-content[data-v-c4530d54]{padding:20px 15px}.gallery-grid[data-v-c4530d54]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}@media (max-width: 480px){.gallery-grid[data-v-c4530d54]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}}.load-more-container[data-v-c4530d54]{margin:40px 0;display:flex;justify-content:center}.load-more-button[data-v-c4530d54]{padding:12px 32px;background-color:#404040;color:#e0e0e0;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s,transform .1s;min-width:150px}.load-more-button[data-v-c4530d54]:hover:not(:disabled){background-color:#505050;transform:translateY(-2px)}.load-more-button[data-v-c4530d54]:active:not(:disabled){transform:translateY(0)}.load-more-button[data-v-c4530d54]:disabled{opacity:.7;cursor:not-allowed}.loading-text[data-v-c4530d54]{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner-small[data-v-c4530d54]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-c4530d54 .8s linear infinite}.end-message[data-v-c4530d54]{margin:40px 0;text-align:center;color:#b0b0b0;font-size:14px;padding:20px}.end-message p[data-v-c4530d54]{margin:0}.no-results[data-v-c4530d54]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px}.no-results p[data-v-c4530d54]{color:#b0b0b0;font-size:16px;margin:0}.no-results button[data-v-c4530d54]{padding:10px 24px;background-color:#404040;color:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.no-results button[data-v-c4530d54]:hover{background-color:#505050}.page-navigation[data-v-c4530d54]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0;flex-wrap:wrap}.nav-button[data-v-c4530d54]{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#404040;color:#e0e0e0;border:1px solid #505050;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.nav-button[data-v-c4530d54]:hover:not(:disabled){background-color:#505050;border-color:#606060;transform:translateY(-1px)}.nav-button[data-v-c4530d54]:active:not(:disabled){transform:translateY(0)}.nav-button[data-v-c4530d54]:disabled{opacity:.4;cursor:not-allowed}.nav-button svg[data-v-c4530d54]{flex-shrink:0}.page-input-container[data-v-c4530d54]{display:flex;align-items:center;gap:8px;padding:0 8px;background-color:#2d2d2d;border:1px solid #404040;border-radius:6px;height:38px}.page-input-container label[data-v-c4530d54]{color:#b0b0b0;font-size:14px;font-weight:500;white-space:nowrap}.page-input[data-v-c4530d54]{width:70px;padding:6px 8px;background-color:#3a3a3a;color:#e0e0e0;border:1px solid #505050;border-radius:4px;font-size:14px;text-align:center}.page-input[data-v-c4530d54]:focus{outline:none;border-color:#707070;background-color:#404040}.page-input[data-v-c4530d54]::-webkit-outer-spin-button,.page-input[data-v-c4530d54]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-input[type=number][data-v-c4530d54]{-moz-appearance:textfield}.page-total[data-v-c4530d54]{color:#b0b0b0;font-size:14px;white-space:nowrap}.go-button[data-v-c4530d54]{padding:6px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap}.go-button[data-v-c4530d54]:hover:not(:disabled){background-color:#45a049;transform:translateY(-1px)}.go-button[data-v-c4530d54]:active:not(:disabled){transform:translateY(0)}.go-button[data-v-c4530d54]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.page-navigation[data-v-c4530d54]{gap:6px;padding:12px 0}.nav-button[data-v-c4530d54]{padding:6px 12px;font-size:13px}.nav-button span[data-v-c4530d54]{display:none}.page-input-container[data-v-c4530d54]{height:34px}.page-input[data-v-c4530d54]{width:60px;font-size:13px}.page-input-container label[data-v-c4530d54],.page-total[data-v-c4530d54]{font-size:13px}.go-button[data-v-c4530d54]{padding:5px 12px;font-size:13px}}@media (max-width: 480px){.page-navigation[data-v-c4530d54]{gap:4px}.nav-button[data-v-c4530d54]{padding:6px 10px}.page-input[data-v-c4530d54]{width:50px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;min-width:100vw}
