.sidebar[data-v-db4cf5ad]{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border-color);flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar[data-v-db4cf5ad]:before{content:"";pointer-events:none;background:linear-gradient(#f9731608 0%,#0000 100%);height:200px;position:absolute;top:0;left:0;right:0}.sidebar-content[data-v-db4cf5ad]{height:100%;padding:var(--space-lg) var(--space-md);z-index:1;flex-direction:column;display:flex;position:relative}.logo[data-v-db4cf5ad]{align-items:center;gap:var(--space-sm);padding:0 var(--space-sm);margin-bottom:var(--space-xl);display:flex}.logo-icon[data-v-db4cf5ad]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);border-radius:var(--radius-md);width:36px;height:36px;box-shadow:var(--shadow-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-icon[data-v-db4cf5ad] svg{color:#fff}.logo-text[data-v-db4cf5ad]{font-size:var(--text-lg);background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.nav[data-v-db4cf5ad]{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.nav-item[data-v-db4cf5ad]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);padding:10px 12px;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-indicator[data-v-db4cf5ad]{background:linear-gradient(180deg, var(--primary-color) 0%, var(--primary-light) 100%);opacity:0;width:3px;height:20px;transition:all var(--transition-base);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-item[data-v-db4cf5ad]:hover{background:var(--hover-bg);color:var(--text-primary)}.nav-item:hover .nav-indicator[data-v-db4cf5ad]{opacity:.5;transform:translateY(-50%)scaleY(1)}.nav-item.router-link-exact-active[data-v-db4cf5ad]{background:var(--primary-glow);color:var(--primary-color)}.nav-item.router-link-exact-active .nav-indicator[data-v-db4cf5ad]{opacity:1;transform:translateY(-50%)scaleY(1)}.nav-item[data-v-db4cf5ad] svg{transition:transform var(--transition-base);flex-shrink:0}.nav-item[data-v-db4cf5ad]:hover svg{transform:scale(1.1)}.nav-item span[data-v-db4cf5ad]{font-size:var(--text-sm);font-weight:500}.storage-info[data-v-db4cf5ad]{padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-top:auto;position:relative;overflow:hidden}.storage-info[data-v-db4cf5ad]:before{content:"";background:linear-gradient(90deg, transparent, var(--primary-color), transparent);opacity:.3;height:1px;position:absolute;top:0;left:0;right:0}.storage-header[data-v-db4cf5ad]{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-sm);font-weight:500;display:flex}.storage-progress[data-v-db4cf5ad]{background:var(--border-color);border-radius:var(--radius-full);height:4px;margin-bottom:var(--space-sm);overflow:hidden}.storage-bar[data-v-db4cf5ad]{background:linear-gradient(90deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);position:relative;overflow:hidden}.storage-bar[data-v-db4cf5ad]:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer-db4cf5ad;position:absolute;inset:0}@keyframes shimmer-db4cf5ad{0%{transform:translate(-100%)}to{transform:translate(100%)}}.storage-text[data-v-db4cf5ad]{font-size:var(--text-xs);color:var(--text-primary);justify-content:space-between;font-weight:500;display:flex}.storage-total[data-v-db4cf5ad]{color:var(--text-muted);font-weight:400}.topbar[data-v-6c18bb7f]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:60px;padding:0 var(--space-lg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.search-box[data-v-6c18bb7f]{align-items:center;gap:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:320px;transition:all var(--transition-base);padding:8px 14px;display:flex}.search-box[data-v-6c18bb7f]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow)}.search-box svg[data-v-6c18bb7f]{color:var(--text-muted);flex-shrink:0}.search-box input[data-v-6c18bb7f]{font-size:var(--text-sm);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%}.search-box input[data-v-6c18bb7f]::placeholder{color:var(--text-muted)}.search-kbd[data-v-6c18bb7f]{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);padding:2px 6px;font-family:inherit;font-size:11px}.topbar-actions[data-v-6c18bb7f]{align-items:center;gap:var(--space-md);display:flex}.action-btn[data-v-6c18bb7f]{border-radius:var(--radius-md);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.action-btn[data-v-6c18bb7f]:hover{background:var(--hover-bg);color:var(--text-primary)}.notification-badge[data-v-6c18bb7f]{background:var(--danger-color);border:2px solid var(--bg-secondary);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.user-area[data-v-6c18bb7f]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base);padding:4px 10px 4px 4px;display:flex;position:relative}.user-area[data-v-6c18bb7f]:hover{background:var(--hover-bg)}.user-avatar[data-v-6c18bb7f]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-md);width:34px;height:34px;box-shadow:var(--shadow-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-avatar img[data-v-6c18bb7f]{object-fit:cover;width:100%;height:100%}.avatar-text[data-v-6c18bb7f]{font-size:var(--text-sm);color:#fff;font-weight:600}.avatar-text-lg[data-v-6c18bb7f]{font-size:var(--text-lg);color:#fff;font-weight:600}.user-name[data-v-6c18bb7f]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-area>svg[data-v-6c18bb7f]{color:var(--text-secondary);transition:transform var(--transition-base)}.user-area>svg.rotated[data-v-6c18bb7f]{transform:rotate(180deg)}.dropdown[data-v-6c18bb7f]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:240px;box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-enter-active[data-v-6c18bb7f],.dropdown-leave-active[data-v-6c18bb7f]{transition:all var(--transition-base)}.dropdown-enter-from[data-v-6c18bb7f],.dropdown-leave-to[data-v-6c18bb7f]{opacity:0;transform:translateY(-8px)scale(.98)}.dropdown-header[data-v-6c18bb7f]{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-secondary);display:flex}.dropdown-avatar[data-v-6c18bb7f]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.dropdown-avatar img[data-v-6c18bb7f]{object-fit:cover;width:100%;height:100%}.dropdown-info[data-v-6c18bb7f]{flex:1;min-width:0}.dropdown-name[data-v-6c18bb7f]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dropdown-email[data-v-6c18bb7f]{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-divider[data-v-6c18bb7f]{background:var(--border-color);height:1px}.dropdown-item[data-v-6c18bb7f]{align-items:center;gap:var(--space-sm);width:100%;padding:10px var(--space-md);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--transition-base);background:0 0;border:none;display:flex}.dropdown-item[data-v-6c18bb7f]:hover{background:var(--hover-bg)}.dropdown-item svg[data-v-6c18bb7f]{color:var(--text-secondary);flex-shrink:0}.dropdown-item.danger[data-v-6c18bb7f]{color:var(--danger-color)}.dropdown-item.danger[data-v-6c18bb7f]:hover{background:var(--danger-bg)}.dropdown-item.danger svg[data-v-6c18bb7f]{color:var(--danger-color)}.layout[data-v-b8a5a9c0]{height:100vh;display:flex}.main-wrapper[data-v-b8a5a9c0]{flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content[data-v-b8a5a9c0]{background-color:var(--bg-color);flex:1;overflow-y:auto}.auth-container[data-v-7207eb0f]{background:var(--bg-color);min-height:100vh;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bg[data-v-7207eb0f]{z-index:0;position:absolute;inset:0}.bg-gradient[data-v-7207eb0f]{background:radial-gradient(#f9731614 0%,#0000 50%);width:200%;height:200%;animation:30s linear infinite rotate-7207eb0f;position:absolute;top:-50%;left:-50%}@keyframes rotate-7207eb0f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bg-grid[data-v-7207eb0f]{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.auth-card[data-v-7207eb0f]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);padding:var(--space-2xl) var(--space-xl);border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:var(--shadow-xl);z-index:1;background:#18181be6;animation:.4s slideUp-7207eb0f;position:relative}@keyframes slideUp-7207eb0f{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header[data-v-7207eb0f]{text-align:center;margin-bottom:var(--space-xl)}.logo[data-v-7207eb0f]{width:56px;height:56px;margin:0 auto var(--space-md);background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);justify-content:center;align-items:center;display:flex}.logo svg[data-v-7207eb0f]{color:#fff}.auth-header h1[data-v-7207eb0f]{font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 var(--space-xs);letter-spacing:-.02em;font-weight:700}.auth-header p[data-v-7207eb0f]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-footer[data-v-7207eb0f]{margin-top:var(--space-xl);text-align:center;padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.auth-footer[data-v-7207eb0f] p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-footer[data-v-7207eb0f] a{color:var(--primary-color);cursor:pointer;transition:color var(--transition-fast);font-weight:600}.auth-footer[data-v-7207eb0f] a:hover{color:var(--primary-light);text-decoration:none}.form-group[data-v-5a71d1c8]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-5a71d1c8]{font-size:var(--text-xs);color:var(--text-secondary);transition:color var(--transition-fast);font-weight:500}.form-group:focus-within label[data-v-5a71d1c8]{color:var(--primary-color)}.form-group input[data-v-5a71d1c8]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--transition-base);padding:10px 14px}.form-group input[data-v-5a71d1c8]:hover{border-color:var(--border-hover)}.form-group input[data-v-5a71d1c8]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-secondary)}.form-group input[data-v-5a71d1c8]::placeholder{color:var(--text-muted)}.form-group.has-error input[data-v-5a71d1c8]{border-color:var(--danger-color)}.form-group.has-error input[data-v-5a71d1c8]:focus{box-shadow:0 0 0 3px #ef444426}.error-message[data-v-5a71d1c8]{font-size:var(--text-xs);color:var(--danger-color);animation:.2s slideDown-5a71d1c8}@keyframes slideDown-5a71d1c8{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn[data-v-70a66dba]{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn[data-v-70a66dba]:before{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.btn[data-v-70a66dba]:hover:before{opacity:1}.btn[data-v-70a66dba]:active{transform:scale(.98)}.btn[data-v-70a66dba]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn[data-v-70a66dba]:disabled:before{display:none}.btn-sm[data-v-70a66dba]{font-size:var(--text-xs);padding:6px 12px}.btn-md[data-v-70a66dba]{font-size:var(--text-sm);padding:10px 18px}.btn-lg[data-v-70a66dba]{font-size:var(--text-base);padding:12px 24px}.btn-primary[data-v-70a66dba]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary[data-v-70a66dba]:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-light) 0%, var(--primary-color) 100%);transform:translateY(-1px);box-shadow:0 6px 16px #f9731659}.btn-secondary[data-v-70a66dba]{background:var(--hover-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-70a66dba]:hover:not(:disabled){background:var(--active-bg);border-color:var(--border-hover)}.btn-ghost[data-v-70a66dba]{color:var(--text-secondary);background:0 0}.btn-ghost[data-v-70a66dba]:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.btn-danger[data-v-70a66dba]{background:var(--danger-color);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger[data-v-70a66dba]:hover:not(:disabled){background:var(--danger-light);transform:translateY(-1px);box-shadow:0 6px 16px #ef444459}.btn-spinner[data-v-70a66dba]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin-70a66dba}@keyframes spin-70a66dba{to{transform:rotate(360deg)}}.login-form[data-v-46c48692]{gap:var(--space-sm);flex-direction:column;display:flex}.checkbox-label[data-v-1222dd84]{font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:6px;line-height:1.5;display:flex}.checkbox-label input[data-v-1222dd84]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary-color);flex-shrink:0;margin-top:2px}.checkbox-label[data-v-1222dd84] a{color:var(--primary-color);text-decoration:none}.checkbox-label[data-v-1222dd84] a:hover{text-decoration:underline}.register-form[data-v-44d6ecdd]{gap:var(--space-sm);flex-direction:column;display:flex}.form-options[data-v-44d6ecdd]{margin-top:4px}.select-dropdown[data-v-ecd7c67d]{display:inline-block;position:relative}.select-trigger[data-v-ecd7c67d]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:8px;min-width:140px;padding:8px 12px;display:flex}.select-trigger[data-v-ecd7c67d]:hover{border-color:var(--primary-color);background:var(--card-bg)}.select-trigger.open[data-v-ecd7c67d]{border-color:var(--primary-color);background:var(--card-bg);box-shadow:0 0 0 3px var(--primary-glow)}.select-value[data-v-ecd7c67d]{text-align:left;flex:1}.select-value.placeholder[data-v-ecd7c67d]{color:var(--text-muted)}.select-arrow[data-v-ecd7c67d]{color:var(--text-muted);transition:transform var(--transition-base);flex-shrink:0}.select-trigger.open .select-arrow[data-v-ecd7c67d]{color:var(--primary-color);transform:rotate(180deg)}.select-options[data-v-ecd7c67d]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:200px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.select-option[data-v-ecd7c67d]{border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.select-option[data-v-ecd7c67d]:hover{background:var(--hover-bg)}.select-option.selected[data-v-ecd7c67d]{color:var(--primary-color);background:var(--primary-glow)}.check-icon[data-v-ecd7c67d]{color:var(--primary-color)}.dropdown-enter-active[data-v-ecd7c67d],.dropdown-leave-active[data-v-ecd7c67d]{transition:all var(--transition-fast)}.dropdown-enter-from[data-v-ecd7c67d],.dropdown-leave-to[data-v-ecd7c67d]{opacity:0;transform:translateY(-8px)}.upload-wrapper[data-v-36bcd5c0]{flex-direction:column;display:flex}.upload-zone[data-v-36bcd5c0]{border:2px dashed var(--border-color);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center;cursor:pointer;background:var(--card-bg);transition:all var(--transition-base);position:relative;overflow:hidden}.upload-zone[data-v-36bcd5c0]:hover{border-color:var(--primary-color);background:#f9731608}.upload-zone.dragging[data-v-36bcd5c0]{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-glow), var(--shadow-glow);background:#f9731614;border-style:solid;transform:scale(1.01)}.upload-decorations[data-v-36bcd5c0]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.decoration[data-v-36bcd5c0]{background:linear-gradient(135deg, var(--primary-color), transparent);opacity:.05;border-radius:50%;position:absolute}.decoration-1[data-v-36bcd5c0]{width:300px;height:300px;top:-100px;right:-100px}.decoration-2[data-v-36bcd5c0]{width:200px;height:200px;bottom:-50px;left:-50px}.upload-content[data-v-36bcd5c0]{z-index:1;position:relative}.upload-icon[data-v-36bcd5c0]{color:var(--text-muted);margin-bottom:var(--space-lg);transition:all var(--transition-base);display:inline-block}.upload-zone:hover .upload-icon[data-v-36bcd5c0]{color:var(--primary-color);transform:scale(1.1)}.upload-icon.active[data-v-36bcd5c0]{color:var(--primary-color);animation:.6s ease-in-out infinite bounce-36bcd5c0;transform:scale(1.2)}@keyframes bounce-36bcd5c0{0%,to{transform:scale(1.2)}50%{transform:scale(1.3)}}.upload-title[data-v-36bcd5c0]{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--space-xs);font-weight:600}.upload-subtitle[data-v-36bcd5c0]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-lg)}.album-select-wrapper[data-v-36bcd5c0]{top:var(--space-md);right:var(--space-md);z-index:2;position:absolute}.upload-btn[data-v-36bcd5c0]{background:var(--hover-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:inline-flex}.upload-btn[data-v-36bcd5c0]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.upload-btn[data-v-36bcd5c0]:active{transform:scale(.98)}.upload-btn input[data-v-36bcd5c0]{display:none}.result-list[data-v-36bcd5c0]{margin-top:var(--space-lg)}.result-container[data-v-36bcd5c0]{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.result-item[data-v-36bcd5c0]{align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast);animation:.2s slideUp-36bcd5c0;display:flex}.result-item[data-v-36bcd5c0]:last-child{border-bottom:none}.result-item[data-v-36bcd5c0]:hover{background:var(--bg-secondary)}.result-item.success[data-v-36bcd5c0]{background:#10b98108}.result-item.error[data-v-36bcd5c0]{background:#ef444408}@keyframes slideUp-36bcd5c0{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-thumb-wrapper[data-v-36bcd5c0]{border-radius:var(--radius-md);background:var(--bg-color);flex-shrink:0;width:52px;height:52px;overflow:hidden}.result-thumb[data-v-36bcd5c0]{object-fit:cover;width:100%;height:100%}.result-thumb-placeholder[data-v-36bcd5c0]{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.result-info[data-v-36bcd5c0]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.file-name-row[data-v-36bcd5c0]{align-items:center;gap:var(--space-sm);display:flex}.file-name[data-v-36bcd5c0]{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.progress-percent[data-v-36bcd5c0]{color:var(--primary-color);text-align:right;flex-shrink:0;min-width:36px;font-size:12px;font-weight:600}.file-meta[data-v-36bcd5c0]{align-items:center;gap:var(--space-sm);display:flex}.file-size[data-v-36bcd5c0]{color:var(--text-muted);font-size:12px}.progress-bar[data-v-36bcd5c0]{background:var(--border-color);border-radius:var(--radius-full);flex:1;min-width:80px;height:4px;overflow:hidden}.progress-bar-fill[data-v-36bcd5c0]{background:linear-gradient(90deg, var(--primary-color), var(--primary-light));border-radius:var(--radius-full);height:100%;transition:width var(--transition-fast)}.status-indicator[data-v-36bcd5c0]{padding-left:var(--space-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-badge[data-v-36bcd5c0]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.status-badge.success[data-v-36bcd5c0]{background:var(--success-color);color:#fff}.status-badge.error[data-v-36bcd5c0]{background:var(--danger-color);color:#fff}.status-text[data-v-36bcd5c0]{font-size:12px}.status-text.pending[data-v-36bcd5c0]{color:var(--text-muted)}.status-text.error[data-v-36bcd5c0]{color:var(--danger-color)}.result-actions[data-v-36bcd5c0]{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.upload-spinner[data-v-36bcd5c0]{width:28px;height:28px;color:var(--primary-color);justify-content:center;align-items:center;display:flex}.upload-spinner svg[data-v-36bcd5c0]{animation:1s linear infinite spin-36bcd5c0}@keyframes spin-36bcd5c0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-btn[data-v-36bcd5c0]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-btn[data-v-36bcd5c0]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.05)}.results-enter-active[data-v-36bcd5c0],.results-leave-active[data-v-36bcd5c0]{transition:all var(--transition-base)}.results-enter-from[data-v-36bcd5c0],.results-leave-to[data-v-36bcd5c0]{opacity:0;transform:translateY(-10px)}.home[data-v-6167ec02]{padding:var(--space-lg)}.preview-overlay[data-v-df9cb498]{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-enter-active[data-v-df9cb498],.preview-leave-active[data-v-df9cb498]{transition:opacity .25s}.preview-enter-from[data-v-df9cb498],.preview-leave-to[data-v-df9cb498]{opacity:0}.preview-loading[data-v-df9cb498]{justify-content:center;align-items:center;display:flex;position:absolute}.loading-spinner[data-v-df9cb498]{border:3px solid #ffffff1a;border-top-color:var(--primary-color);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin-df9cb498}@keyframes spin-df9cb498{to{transform:rotate(360deg)}}.preview-close[data-v-df9cb498]{top:var(--space-lg);right:var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;width:48px;height:48px;transition:all var(--transition-base);z-index:10;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.preview-close[data-v-df9cb498]:hover{background:var(--danger-color);border-color:var(--danger-color);transform:scale(1.1)}.preview-img[data-v-df9cb498]{object-fit:contain;cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:90vw;max-height:85vh;transition:transform .1s}.preview-img.dragging[data-v-df9cb498]{cursor:grabbing}.preview-toolbar[data-v-df9cb498]{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);background:#141414d9;border:1px solid #ffffff1a;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toolbar-btn[data-v-df9cb498]{border-radius:var(--radius-md);color:#ffffffe6;cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);background:#ffffff14;border:1px solid #ffffff0d;justify-content:center;align-items:center;display:flex}.toolbar-btn[data-v-df9cb498]:hover{background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.08)}.toolbar-btn[data-v-df9cb498]:active{transform:scale(.95)}.toolbar-text[data-v-df9cb498]{text-align:center;min-width:55px;font-size:var(--text-sm);color:#ffffffe6;font-weight:500}.toolbar-divider[data-v-df9cb498]{width:1px;height:24px;margin:0 var(--space-xs);background:#ffffff26}.preview-info[data-v-df9cb498]{bottom:var(--space-xl);right:var(--space-xl);padding:var(--space-sm) var(--space-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#141414d9;border:1px solid #ffffff1a;flex-direction:column;gap:4px;display:flex;position:absolute}.info-name[data-v-df9cb498]{font-size:var(--text-sm);color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.info-meta[data-v-df9cb498]{font-size:var(--text-xs);color:#ffffff80}.context-menu[data-v-51fe7503]{z-index:1000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:160px;box-shadow:var(--shadow-lg);padding:var(--space-xs);animation:.15s scaleIn-51fe7503;position:fixed}@keyframes scaleIn-51fe7503{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.menu-item[data-v-51fe7503]{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 12px;display:flex}.menu-item[data-v-51fe7503]:hover{background:var(--hover-bg)}.menu-item.danger[data-v-51fe7503]{color:var(--danger-color)}.menu-item.danger[data-v-51fe7503]:hover{background:var(--danger-bg)}.menu-item svg[data-v-51fe7503]{color:var(--text-secondary);transition:color var(--transition-fast);flex-shrink:0}.menu-item:hover svg[data-v-51fe7503]{color:var(--text-primary)}.menu-item.danger svg[data-v-51fe7503],.menu-item.danger:hover svg[data-v-51fe7503]{color:var(--danger-color)}.menu-divider[data-v-51fe7503]{background:var(--border-color);height:1px;margin:var(--space-xs) 8px}.timeline-container[data-v-6d61b63f]{min-height:200px}.loading-wrapper[data-v-6d61b63f],.empty-wrapper[data-v-6d61b63f]{justify-content:center;align-items:center;padding:80px 0;display:flex}.loading-state-inner[data-v-6d61b63f],.empty-state-inner[data-v-6d61b63f]{align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:var(--text-lg);flex-direction:column;display:flex}.loading-spinner[data-v-6d61b63f]{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-6d61b63f}.empty-icon[data-v-6d61b63f]{opacity:.5;font-size:48px}.timeline[data-v-6d61b63f]{position:relative}.timeline-group[data-v-6d61b63f]{margin-bottom:var(--space-xl);animation:.3s fadeIn-6d61b63f}@keyframes fadeIn-6d61b63f{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.timeline-header[data-v-6d61b63f]{margin-bottom:var(--space-md);align-items:center;display:flex;position:relative}.timeline-line[data-v-6d61b63f]{width:2px;height:calc(100% + var(--space-md));background:linear-gradient(180deg, var(--primary-color), var(--border-color));position:absolute;top:50%;left:7px;transform:translateY(-50%)}.timeline-group:first-child .timeline-line[data-v-6d61b63f]{height:calc(50% + var(--space-md));top:0}.timeline-group:last-child .timeline-line[data-v-6d61b63f]{height:calc(50% + var(--space-md));top:50%}.timeline-dot[data-v-6d61b63f]{background:linear-gradient(135deg, var(--primary-color), var(--primary-light));border:3px solid var(--bg-color);width:16px;height:16px;margin-right:var(--space-md);z-index:1;box-shadow:0 0 0 3px var(--primary-glow);border-radius:50%;flex-shrink:0;position:relative}.timeline-label[data-v-6d61b63f]{align-items:center;gap:var(--space-sm);display:flex}.timeline-date[data-v-6d61b63f]{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.timeline-relative[data-v-6d61b63f]{font-size:var(--text-sm);color:var(--text-secondary);background:var(--hover-bg);border-radius:var(--radius-full);padding:2px 8px}.timeline-count[data-v-6d61b63f]{font-size:var(--text-sm);color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-full);margin-left:auto;padding:2px 10px}.timeline-content[data-v-6d61b63f]{margin-left:20px}.selection-bar[data-v-6d61b63f]{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--primary-glow);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);display:flex}.select-all[data-v-6d61b63f]{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);display:flex}.select-all input[data-v-6d61b63f]{width:16px;height:16px;accent-color:var(--primary-color)}.selection-count[data-v-6d61b63f]{font-size:var(--text-sm);color:var(--text-secondary)}.clear-btn[data-v-6d61b63f]{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;margin-left:auto;padding:4px 12px}.clear-btn[data-v-6d61b63f]:hover{background:var(--hover-bg)}.timeline-images[data-v-6d61b63f]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.image-card[data-v-6d61b63f]{border-radius:var(--radius-lg);cursor:pointer;background:var(--card-bg);outline-offset:0;transition:all var(--transition-base);outline:2px solid #0000;position:relative;overflow:hidden}.image-card[data-v-6d61b63f]:hover{box-shadow:var(--shadow-lg);outline-color:var(--primary-color);transform:translateY(-4px)}.image-card.selected[data-v-6d61b63f]{outline-color:var(--primary-color);outline-offset:2px}.select-indicator[data-v-6d61b63f]{background:var(--primary-color);color:#fff;z-index:10;opacity:0;width:24px;height:24px;transition:opacity var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.image-card:hover .select-indicator[data-v-6d61b63f],.image-card.selected .select-indicator[data-v-6d61b63f]{opacity:1}.image-card-inner[data-v-6d61b63f]{aspect-ratio:1;background:var(--bg-color);position:relative;overflow:hidden}.image-card img[data-v-6d61b63f]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);will-change:transform}.image-card:hover img[data-v-6d61b63f]{transform:scale(1.08)}.image-overlay[data-v-6d61b63f]{opacity:0;transition:opacity var(--transition-base);padding:var(--space-md);pointer-events:none;border-radius:var(--radius-lg);background:linear-gradient(#0000 50%,#000000bf 100%);justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.image-card:hover .image-overlay[data-v-6d61b63f]{opacity:1}.image-actions[data-v-6d61b63f]{gap:var(--space-xs);display:flex}.image-action-btn[data-v-6d61b63f]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);pointer-events:auto;background:#fff3;border:1px solid #fff3;justify-content:center;align-items:center;display:flex}.image-action-btn[data-v-6d61b63f]:hover{background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.1)}.image-info[data-v-6d61b63f]{padding:var(--space-sm)}.image-name[data-v-6d61b63f]{font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.load-sentinel[data-v-6d61b63f]{padding:var(--space-xl) 0;justify-content:center;align-items:center;min-height:60px;display:flex}.loading-more[data-v-6d61b63f]{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-sm);display:flex}.loading-spinner-sm[data-v-6d61b63f]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-6d61b63f}@keyframes spin-6d61b63f{to{transform:rotate(360deg)}}.loading-text[data-v-6d61b63f]{margin-left:var(--space-xs)}.no-more[data-v-6d61b63f]{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-full)}.modal-overlay[data-v-8d35cd93]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detail-dialog[data-v-8d35cd93]{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-lg);width:90%;max-width:400px;max-height:80vh;overflow-y:auto}.detail-header[data-v-8d35cd93]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.detail-header h3[data-v-8d35cd93]{font-size:var(--text-lg);font-weight:500}.detail-close[data-v-8d35cd93]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.detail-close[data-v-8d35cd93]:hover{background:var(--hover-bg);color:var(--text-primary)}.detail-content[data-v-8d35cd93]{margin-bottom:var(--space-md)}.detail-preview[data-v-8d35cd93]{background:var(--bg-color);border-radius:var(--radius-sm);padding:var(--space-md);justify-content:center;align-items:center;min-height:150px;max-height:200px;display:flex}.detail-preview img[data-v-8d35cd93]{object-fit:contain;max-width:100%;max-height:180px}.detail-info[data-v-8d35cd93]{gap:var(--space-sm);flex-direction:column;display:flex}.info-item[data-v-8d35cd93]{padding:var(--space-xs) 0;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;display:flex}.info-item[data-v-8d35cd93]:last-child{border-bottom:none}.info-label[data-v-8d35cd93]{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0}.info-value[data-v-8d35cd93]{font-size:var(--text-sm);color:var(--text-primary);text-align:right;word-break:break-all}.detail-actions[data-v-8d35cd93]{gap:var(--space-md);justify-content:flex-end;display:flex}.detail-btn[data-v-8d35cd93]{border-radius:var(--radius-sm);min-width:90px;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);align-items:center;gap:var(--space-xs);padding:6px 16px;display:flex}.detail-btn.primary[data-v-8d35cd93]{background:var(--primary-color);color:#fff;border:none}.detail-btn.primary[data-v-8d35cd93]:hover{background:var(--primary-light)}.modal-overlay[data-v-7fa87c5c]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-7fa87c5c]{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;max-width:400px}.confirm-dialog h3[data-v-7fa87c5c]{font-size:var(--text-lg);margin-bottom:var(--space-md);font-weight:500}.confirm-dialog p[data-v-7fa87c5c]{color:var(--text-secondary);margin-bottom:var(--space-lg)}.confirm-actions[data-v-7fa87c5c]{gap:var(--space-md);justify-content:center;display:flex}.confirm-btn[data-v-7fa87c5c]{border-radius:var(--radius-sm);min-width:90px;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);padding:6px 16px}.confirm-btn.cancel[data-v-7fa87c5c]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.confirm-btn.cancel[data-v-7fa87c5c]:hover{border-color:var(--text-muted);background:var(--hover-bg)}.confirm-btn[data-v-7fa87c5c]{background:var(--primary-color);color:#fff;border:none}.confirm-btn[data-v-7fa87c5c]:hover:not(:disabled){background:var(--primary-light)}.confirm-btn.danger[data-v-7fa87c5c]{color:#fff;background:#ef4444;border:none}.confirm-btn.danger[data-v-7fa87c5c]:hover:not(:disabled){background:#dc2626}.confirm-btn[data-v-7fa87c5c]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-76c5c76d]{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;padding:80px 0;display:flex}.empty-state p[data-v-76c5c76d]{font-size:var(--text-base)}.action-btn[data-v-76c5c76d]{margin-top:var(--space-md);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base);background:0 0;padding:6px 12px}.action-btn[data-v-76c5c76d]:hover{background:var(--primary-color);color:#fff}.modal-overlay[data-v-3850a785]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-3850a785]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:360px}.dialog-header[data-v-3850a785]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-3850a785]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-3850a785]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-3850a785]:hover{background:var(--hover-bg);color:var(--text-primary)}.dialog-content[data-v-3850a785]{margin-bottom:var(--space-lg)}.image-name[data-v-3850a785]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-md)}.album-list[data-v-3850a785]{gap:var(--space-xs);flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.album-item[data-v-3850a785]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.album-item[data-v-3850a785]:hover{background:var(--hover-bg)}.album-item input[type=radio][data-v-3850a785]{width:16px;height:16px;accent-color:var(--primary-color)}.album-name[data-v-3850a785]{font-size:var(--text-sm);color:var(--text-primary);flex:1}.album-count[data-v-3850a785]{font-size:var(--text-xs);color:var(--text-muted)}.loading[data-v-3850a785]{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted);display:flex}.spinner[data-v-3850a785]{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-3850a785}@keyframes spin-3850a785{to{transform:rotate(360deg)}}.dialog-actions[data-v-3850a785]{gap:var(--space-md);justify-content:flex-end;display:flex}.btn[data-v-3850a785]{border-radius:var(--radius-md);min-width:90px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:8px 16px;font-weight:500}.btn.cancel[data-v-3850a785]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-3850a785]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-3850a785]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-3850a785]:hover{background:var(--primary-light)}.modal-overlay[data-v-f6115697]{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-f6115697]{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-color);width:90%;max-width:400px}.dialog-header[data-v-f6115697]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dialog-header h3[data-v-f6115697]{font-size:var(--text-lg);margin:0;font-weight:600}.close-btn[data-v-f6115697]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.close-btn[data-v-f6115697]:hover{background:var(--hover-bg);color:var(--text-primary)}.dialog-content[data-v-f6115697]{margin-bottom:var(--space-lg)}.image-name[data-v-f6115697]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-md);word-break:break-all}.form-group[data-v-f6115697]{text-align:left}.form-group label[data-v-f6115697]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.form-group textarea[data-v-f6115697]{width:100%;padding:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--transition-base);resize:vertical;font-family:inherit}.form-group textarea[data-v-f6115697]:focus{border-color:var(--primary-color);outline:none}.dialog-actions[data-v-f6115697]{gap:var(--space-md);justify-content:flex-end;display:flex}.btn[data-v-f6115697]{border-radius:var(--radius-md);min-width:90px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);padding:8px 16px;font-weight:500}.btn.cancel[data-v-f6115697]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-f6115697]:hover{background:var(--hover-bg);color:var(--text-primary)}.btn.primary[data-v-f6115697]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-f6115697]:hover{background:var(--primary-light)}.images-page[data-v-6c4c0cd8]{padding:var(--space-lg);min-height:100%}.page-header[data-v-6c4c0cd8]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.page-title[data-v-6c4c0cd8]{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.page-stats[data-v-6c4c0cd8]{align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.toggle-btn[data-v-6c4c0cd8]{background:var(--primary-color);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);border:none;padding:4px 12px}.toggle-btn[data-v-6c4c0cd8]:hover{background:var(--primary-light)}.storage-info[data-v-6c4c0cd8]{background:var(--bg-secondary);border-radius:var(--radius-full);padding:2px 8px}.batch-actions[data-v-6c4c0cd8]{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--primary-glow);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);font-size:var(--text-sm);display:flex}.batch-btn[data-v-6c4c0cd8]{border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);border:none;padding:6px 16px}.batch-btn.move[data-v-6c4c0cd8]{background:var(--primary-color);color:#fff}.batch-btn.move[data-v-6c4c0cd8]:hover{background:var(--primary-light)}.batch-btn.delete[data-v-6c4c0cd8]{background:var(--error-bg);color:var(--error-color)}.batch-btn.delete[data-v-6c4c0cd8]:hover{opacity:.8}.pagination[data-v-adc69c03]{justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);display:flex}.page-btn[data-v-adc69c03]{min-width:32px;height:32px;padding:0 var(--space-sm);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.page-btn[data-v-adc69c03]:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-hover);color:var(--text-primary)}.page-btn.active[data-v-adc69c03]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-btn[data-v-adc69c03]:disabled{opacity:.4;cursor:not-allowed}.image-grid-container[data-v-34f8ac30]{min-height:200px}.loading-wrapper[data-v-34f8ac30]{justify-content:center;align-items:center;padding:80px 0;display:flex}.loading-state-inner[data-v-34f8ac30]{color:var(--text-muted);font-size:var(--text-lg)}.empty-wrapper[data-v-34f8ac30]{justify-content:center;align-items:center;padding:80px 0;display:flex}.empty-state-inner[data-v-34f8ac30]{color:var(--text-muted);font-size:var(--text-lg)}.image-grid[data-v-34f8ac30]{gap:var(--space-sm);flex-wrap:wrap;align-items:flex-start;display:flex}.image-card[data-v-34f8ac30]{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);background:var(--bg-color);flex-shrink:0;justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.image-card[data-v-34f8ac30]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.image-card img[data-v-34f8ac30]{object-fit:contain;width:auto;height:100%;transition:transform var(--transition-slow)}.image-card:hover img[data-v-34f8ac30]{transform:scale(1.05)}.image-card.selectable[data-v-34f8ac30]{cursor:pointer;outline-offset:0;outline:2px solid #0000}.image-card.selectable[data-v-34f8ac30]:hover{box-shadow:var(--shadow-lg);outline-color:var(--primary-color);transform:translateY(-4px)}.image-card.selectable:hover .select-overlay[data-v-34f8ac30]{opacity:1}.select-overlay[data-v-34f8ac30]{color:#fff;justify-content:center;align-items:center;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-base);font-size:var(--text-sm);background:#0009;flex-direction:column;font-weight:500;display:flex;position:absolute;inset:0}.select-overlay svg[data-v-34f8ac30]{color:var(--primary-color)}.modal-overlay[data-v-801549ce]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog[data-v-801549ce]{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:600px}.dialog h3[data-v-801549ce]{font-size:var(--text-lg);margin-bottom:var(--space-lg);font-weight:500}.form-group[data-v-801549ce]{margin-bottom:var(--space-md);text-align:left}.form-group label[data-v-801549ce]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.form-group input[data-v-801549ce],.form-group textarea[data-v-801549ce]{width:100%;padding:var(--space-sm);background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);transition:border-color var(--transition-base)}.form-group input[data-v-801549ce]:focus,.form-group textarea[data-v-801549ce]:focus{border-color:var(--primary-color);outline:none}.form-group textarea[data-v-801549ce]{resize:vertical;font-family:inherit}.actions[data-v-801549ce]{gap:var(--space-md);margin-top:var(--space-lg);justify-content:center;display:flex}.btn[data-v-801549ce]{border-radius:var(--radius-sm);min-width:90px;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);padding:6px 16px}.btn.cancel[data-v-801549ce]{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0}.btn.cancel[data-v-801549ce]:hover{border-color:var(--text-muted);background:var(--hover-bg)}.btn.primary[data-v-801549ce]{background:var(--primary-color);color:#fff;border:none}.btn.primary[data-v-801549ce]:hover{background:var(--primary-light)}.album-card[data-v-0aaa838b]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.album-card[data-v-0aaa838b]:hover{border-color:var(--primary-color);box-shadow:var(--shadow-primary);transform:translateY(-4px)}.album-cover[data-v-0aaa838b]{aspect-ratio:1;background:var(--hover-bg);position:relative;overflow:hidden}.album-cover img[data-v-0aaa838b]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.album-card:hover .album-cover img[data-v-0aaa838b]{transform:scale(1.05)}.album-cover-placeholder[data-v-0aaa838b]{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg, var(--hover-bg) 0%, var(--active-bg) 100%);justify-content:center;align-items:center;display:flex}.album-info[data-v-0aaa838b]{padding:var(--space-md)}.album-name[data-v-0aaa838b]{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:600}.album-desc[data-v-0aaa838b]{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.album-meta[data-v-0aaa838b]{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;display:flex}.album-actions[data-v-0aaa838b]{top:var(--space-sm);right:var(--space-sm);gap:var(--space-xs);opacity:0;transition:all var(--transition-base);display:flex;position:absolute;transform:translateY(-8px)}.album-card:hover .album-actions[data-v-0aaa838b]{opacity:1;transform:translateY(0)}.action-btn[data-v-0aaa838b]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:32px;height:32px;transition:all var(--transition-base);background:#000000b3;border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex}.action-btn[data-v-0aaa838b]:hover{background:#000000d9;transform:scale(1.1)}.action-btn.danger[data-v-0aaa838b]:hover{background:var(--danger-color);border-color:var(--danger-color)}.loading-state[data-v-128e4e9c]{color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;padding:80px 0;display:flex}.spinner[data-v-128e4e9c]{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-128e4e9c}@keyframes spin-128e4e9c{to{transform:rotate(360deg)}}.albums-page[data-v-148c41b2]{padding:var(--space-lg);min-height:100%}.page-header[data-v-148c41b2]{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.page-title[data-v-148c41b2]{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.page-stats[data-v-148c41b2]{align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.create-btn[data-v-148c41b2]{align-items:center;gap:var(--space-xs);background:var(--primary-color);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);border:none;padding:6px 12px;display:flex}.create-btn[data-v-148c41b2]:hover{background:var(--primary-light)}.album-grid[data-v-148c41b2]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.back-btn[data-v-148c41b2]{align-items:center;gap:var(--space-xs);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;padding:6px 12px;display:flex}.back-btn[data-v-148c41b2]:hover{background:var(--hover-bg);color:var(--text-primary)}.breadcrumb[data-v-148c41b2]{align-items:center;gap:var(--space-md);display:flex}.cover-selection-hint[data-v-148c41b2]{align-items:center;gap:var(--space-sm);color:var(--primary-color);font-weight:500;display:flex}.cancel-cover-btn[data-v-148c41b2]{border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);background:0 0;padding:4px 12px}.cancel-cover-btn[data-v-148c41b2]:hover{background:var(--primary-color);color:#fff}.set-cover-btn[data-v-148c41b2]{align-items:center;gap:var(--space-xs);background:var(--primary-color);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-base);border:none;padding:4px 12px;display:flex}.set-cover-btn[data-v-148c41b2]:hover{background:var(--primary-light)}.mine-page[data-v-36441da2]{padding:var(--space-lg);max-width:640px}.page-header[data-v-36441da2]{margin-bottom:var(--space-xl)}.page-title[data-v-36441da2]{font-size:var(--text-xl);color:var(--text-primary);font-weight:600}.profile-card[data-v-36441da2]{align-items:center;gap:var(--space-lg);padding:var(--space-xl);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:var(--space-xl);display:flex}.avatar[data-v-36441da2]{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--primary-color), var(--primary-light));flex-shrink:0;width:80px;height:80px;overflow:hidden}.avatar img[data-v-36441da2]{object-fit:cover;width:100%;height:100%}.avatar-placeholder[data-v-36441da2]{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;font-weight:600;display:flex}.profile-info[data-v-36441da2]{flex:1;min-width:0}.nick[data-v-36441da2]{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--space-xs);font-weight:600}.email[data-v-36441da2]{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-xs)}.description[data-v-36441da2]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.stats-section[data-v-36441da2]{margin-bottom:var(--space-xl)}.section-title[data-v-36441da2]{font-size:var(--text-base);color:var(--text-primary);margin:0 0 var(--space-md);font-weight:600}.storage-card[data-v-36441da2]{padding:var(--space-lg);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.loading[data-v-36441da2]{text-align:center;color:var(--text-secondary);padding:var(--space-md)}.storage-header[data-v-36441da2]{margin-bottom:var(--space-md)}.storage-used[data-v-36441da2]{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600}.storage-total[data-v-36441da2]{font-size:var(--text-base);color:var(--text-secondary);margin-left:var(--space-xs)}.storage-bar[data-v-36441da2]{background:var(--border-color);border-radius:var(--radius-full);height:8px;margin-bottom:var(--space-md);overflow:hidden}.storage-fill[data-v-36441da2]{background:linear-gradient(90deg, var(--primary-color), var(--primary-light));border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.storage-meta[data-v-36441da2]{font-size:var(--text-sm);color:var(--text-secondary);justify-content:space-between;display:flex}.info-section[data-v-36441da2]{margin-bottom:var(--space-xl)}.website-link[data-v-36441da2]{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--primary-color);font-size:var(--text-sm);transition:all var(--transition-base);text-decoration:none;display:inline-flex}.website-link[data-v-36441da2]:hover{background:var(--primary-glow);border-color:var(--primary-color)}.edit-section[data-v-36441da2]{margin-bottom:var(--space-xl);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.section-header[data-v-36441da2]{padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.section-desc[data-v-36441da2]{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-xs) 0 0}.edit-form[data-v-36441da2]{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.form-actions[data-v-36441da2]{margin-top:var(--space-sm)}.settings-page[data-v-2a65e2e3]{padding:var(--space-md);min-height:100%}.page-header[data-v-2a65e2e3]{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.page-title[data-v-2a65e2e3]{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.settings-container[data-v-2a65e2e3]{gap:var(--space-md);flex-direction:column;display:flex}.tabs-wrapper[data-v-2a65e2e3]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:4px}.tabs[data-v-2a65e2e3]{gap:4px;display:flex}.tab-item[data-v-2a65e2e3]{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;padding:6px 14px;font-weight:500}.tab-item[data-v-2a65e2e3]:hover{color:var(--text-primary);background:var(--hover-bg)}.tab-item.active[data-v-2a65e2e3]{background:var(--primary-color);color:#fff}.settings-content[data-v-2a65e2e3]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.settings-section[data-v-2a65e2e3]{padding:var(--space-md)}.setting-list[data-v-2a65e2e3]{gap:var(--space-sm);flex-direction:column;display:flex}.setting-item[data-v-2a65e2e3]{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.setting-label[data-v-2a65e2e3]{align-items:center;gap:6px;display:flex}.label-text[data-v-2a65e2e3]{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.public-badge[data-v-2a65e2e3]{background:var(--primary-bg);color:var(--primary-color);border-radius:var(--radius-full);padding:1px 6px;font-size:10px}.setting-control[data-v-2a65e2e3]{flex-shrink:0}.setting-input[data-v-2a65e2e3]{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--transition-base);min-width:160px;padding:10px 14px}.setting-input[data-v-2a65e2e3]:hover{border-color:var(--border-hover)}.setting-input[data-v-2a65e2e3]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-secondary);outline:none}.setting-input[data-v-2a65e2e3]::placeholder{color:var(--text-muted)}.setting-value[data-v-2a65e2e3]{color:var(--text-secondary);font-size:var(--text-sm)}.switch-btn[data-v-2a65e2e3]{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-color);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);align-items:center;padding:4px 12px;display:flex}.switch-btn[data-v-2a65e2e3]:hover{border-color:var(--primary-color)}.switch-btn.active[data-v-2a65e2e3]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.setting-actions[data-v-2a65e2e3]{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}:root{--primary-color:#a78bfa;--primary-light:#c4b5fd;--primary-dark:#8b5cf6;--primary-shadow:#a78bfa4d;--primary-glow:#a78bfa26;--success-color:#10b981;--success-light:#34d399;--success-bg:#10b9811a;--danger-color:#ef4444;--danger-light:#f87171;--danger-bg:#ef44441a;--warning-color:#f59e0b;--warning-light:#fbbf24;--warning-bg:#f59e0b1a;--info-color:#3b82f6;--info-light:#60a5fa;--info-bg:#3b82f61a;--bg-color:#09090b;--bg-secondary:#0f0f12;--bg-gradient:radial-gradient(ellipse at top, #18181b 0%, #09090b 100%);--card-bg:#18181b;--card-bg-hover:#1f1f23;--sidebar-bg:#18181b;--hover-bg:#27272a;--active-bg:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-inverse:#09090b;--border-color:#27272a;--border-hover:#3f3f46;--border-active:#52525b;--border-light:#ffffff14;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 24px #0009;--shadow-xl:0 16px 48px #000000b3;--shadow-primary:0 4px 12px #a78bfa40;--shadow-glow:0 0 20px #a78bfa33;--sidebar-width:240px;--sidebar-collapsed:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--transition-fast:.15s;--transition-base:.2s;--transition-slow:.3s;--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:26px}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-color);line-height:1.5}#app{height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus{outline:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}html{scroll-behavior:smooth}::selection{background:var(--primary-color);color:#fff}::selection{background:var(--primary-color);color:#fff}.transition-all{transition:all var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-colors{transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-light);background:#18181bcc}.glow-primary{box-shadow:var(--shadow-glow)}.toast-container[data-v-69a48232]{top:var(--space-lg);right:var(--space-lg);z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast[data-v-69a48232]{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:auto;min-width:280px;max-width:400px;display:flex}.toast.success[data-v-69a48232]{border-color:var(--success-color);background:#10b98140}.toast.success[data-v-69a48232] svg{color:var(--success-color)}.toast.error[data-v-69a48232]{background:#ef444440;border-color:#ef4444}.toast.error[data-v-69a48232] svg{color:#ef4444}.toast.warning[data-v-69a48232]{background:#f59e0b40;border-color:#f59e0b}.toast.warning[data-v-69a48232] svg{color:#f59e0b}.toast.info[data-v-69a48232]{border-color:var(--primary-color);background:#6366f140}.toast.info[data-v-69a48232] svg{color:var(--primary-color)}.toast-text[data-v-69a48232]{font-size:var(--text-sm);color:var(--text-primary);flex:1;line-height:1.4}.toast-close[data-v-69a48232]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.toast-close[data-v-69a48232]:hover{color:var(--text-primary);background:#ffffff1a}.toast-enter-active[data-v-69a48232],.toast-leave-active[data-v-69a48232]{transition:all var(--transition-slow)}.toast-enter-from[data-v-69a48232],.toast-leave-to[data-v-69a48232]{opacity:0;transform:translate(100%)}
/*$vite$:1*/