.app-navbar[data-v-46059f3e]{position:sticky;top:0;z-index:var(--z-navbar);background:var(--color-bg-blur);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border-default);box-shadow:var(--shadow-navbar)}.navbar-container[data-v-46059f3e]{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--spacing-6);height:64px;display:flex;align-items:center;gap:var(--spacing-8)}.navbar-brand[data-v-46059f3e]{display:flex;align-items:center;gap:var(--spacing-3);min-width:220px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;color:inherit}.brand-logo[data-v-46059f3e]{font-size:2rem;line-height:1;transition:var(--transition-transform)}.navbar-brand:hover .brand-logo[data-v-46059f3e]{transform:scale(1.1)}.brand-info[data-v-46059f3e]{display:flex;flex-direction:column;gap:var(--spacing-0-5)}.brand-name[data-v-46059f3e]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.brand-subtitle[data-v-46059f3e]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1}.navbar-nav[data-v-46059f3e]{flex:1;display:flex;gap:var(--spacing-1)}.nav-link{&[data-v-46059f3e]{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-fast)}&[data-v-46059f3e]:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}&.nav-link--active[data-v-46059f3e]{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}}.nav-icon[data-v-46059f3e]{font-size:1.2rem;line-height:1}.navbar-actions[data-v-46059f3e]{display:flex;align-items:center;gap:var(--spacing-3)}.action-btn{&[data-v-46059f3e]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-fast);text-decoration:none;color:inherit}&[data-v-46059f3e]:hover{background:var(--color-neutral-100)}}.action-icon[data-v-46059f3e]{font-size:1.2rem}.user-menu[data-v-46059f3e]{position:relative}.user-avatar{&[data-v-46059f3e]{display:flex;align-items:center;gap:var(--spacing-2);height:36px;padding:0 var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast)}&[data-v-46059f3e]:hover{background:var(--color-neutral-100)}}.avatar-icon[data-v-46059f3e]{font-size:1.2rem}.avatar-name[data-v-46059f3e]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.avatar-chevron[data-v-46059f3e]{font-size:.7rem;color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.user-dropdown[data-v-46059f3e]{position:absolute;top:calc(100% + var(--spacing-2));right:0;min-width:200px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);overflow:hidden;transform-origin:top right}.dropdown-item{&[data-v-46059f3e]{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-fast)}&[data-v-46059f3e]:hover{background:var(--color-neutral-50)}&.dropdown-item--danger{&[data-v-46059f3e]{color:var(--color-error-500)}&[data-v-46059f3e]:hover{background:var(--color-error-50)}}}.dropdown-icon[data-v-46059f3e]{font-size:1.1rem}.dropdown-enter-active[data-v-46059f3e],.dropdown-leave-active[data-v-46059f3e]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dropdown-enter-from[data-v-46059f3e],.dropdown-leave-to[data-v-46059f3e]{opacity:0;transform:translateY(-8px) scale(.95)}.dropdown-enter-to[data-v-46059f3e],.dropdown-leave-from[data-v-46059f3e]{opacity:1;transform:translateY(0) scale(1)}@media (max-width:768px){.avatar-name[data-v-46059f3e],.brand-subtitle[data-v-46059f3e],.navbar-nav[data-v-46059f3e]{display:none}.navbar-container[data-v-46059f3e]{padding:0 var(--spacing-4)}}.app-button{&[data-v-61c8eb90]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-button);cursor:pointer;transition:var(--transition-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;text-decoration:none}&[data-v-61c8eb90]:disabled{cursor:not-allowed;opacity:.5}&[data-v-61c8eb90]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}&[data-v-61c8eb90]:active:not(:disabled){transform:scale(.98)}}.app-button--small[data-v-61c8eb90]{height:32px;padding:0 var(--spacing-3);font-size:var(--font-size-sm)}.app-button--medium[data-v-61c8eb90]{height:40px;padding:0 var(--spacing-4);font-size:var(--font-size-base)}.app-button--large[data-v-61c8eb90]{height:48px;padding:0 var(--spacing-6);font-size:var(--font-size-lg)}.app-button--primary{&[data-v-61c8eb90]{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-button)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}}.app-button--secondary{&[data-v-61c8eb90]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1.5px solid var(--color-border-default)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--color-neutral-50);border-color:var(--color-border-strong)}}.app-button--tertiary{&[data-v-61c8eb90]{background:transparent;color:var(--color-primary-600)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--color-primary-50)}}.app-button--danger{&[data-v-61c8eb90]{background:var(--color-error-500);color:var(--color-text-inverse);box-shadow:var(--shadow-button)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--color-error-600);box-shadow:var(--shadow-button-hover)}}.app-button--success{&[data-v-61c8eb90]{background:var(--color-success-500);color:var(--color-text-inverse);box-shadow:var(--shadow-button)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--color-success-600);box-shadow:var(--shadow-button-hover)}}.app-button--ghost{&[data-v-61c8eb90]{background:transparent;color:var(--color-text-secondary)}&[data-v-61c8eb90]:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-text-primary)}}.app-button--full-width[data-v-61c8eb90]{width:100%}.app-button--loading[data-v-61c8eb90]{pointer-events:none}.app-button--icon-only[data-v-61c8eb90]{aspect-ratio:1;padding:0}.button-spinner[data-v-61c8eb90]{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-61c8eb90 .6s linear infinite}.button-icon[data-v-61c8eb90]{font-size:1.2em;line-height:1}.button-label[data-v-61c8eb90]{line-height:1}@keyframes spin-61c8eb90{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.category-item[data-v-f4eb27f6],.category-tree[data-v-f4eb27f6]{display:flex;flex-direction:column}.category-content[data-v-f4eb27f6]{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.category-content[data-v-f4eb27f6]:hover{background:var(--color-neutral-100)}.category-content:hover .category-actions[data-v-f4eb27f6]{opacity:1}.category-content.active[data-v-f4eb27f6]{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.category-content.editing[data-v-f4eb27f6]{background:var(--color-neutral-50);cursor:default}.category-content.drag-over[data-v-f4eb27f6]{background:var(--color-primary-100);border:2px dashed var(--color-primary-500)}.expand-icon[data-v-f4eb27f6]{font-size:.7rem;color:var(--color-text-tertiary);transition:var(--transition-fast);cursor:pointer}.expand-icon-placeholder[data-v-f4eb27f6],.expand-icon[data-v-f4eb27f6]{width:12px;display:inline-block}.category-icon[data-v-f4eb27f6]{font-size:1rem}.category-name[data-v-f4eb27f6]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.category-name-input[data-v-f4eb27f6]{flex:1;font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-primary-300);border-radius:var(--radius-sm);background:#fff;outline:none}.category-name-input[data-v-f4eb27f6]:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-50)}.category-count[data-v-f4eb27f6]{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.category-actions[data-v-f4eb27f6]{display:flex;gap:var(--spacing-1);opacity:0;transition:var(--transition-fast)}.category-content.editing .category-actions[data-v-f4eb27f6]{opacity:1}.action-btn[data-v-f4eb27f6]{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.2rem;border-radius:var(--radius-sm);transition:var(--transition-fast);line-height:1}.action-btn[data-v-f4eb27f6]:hover{background:var(--color-neutral-200);transform:scale(1.1)}.action-btn.delete[data-v-f4eb27f6]:hover{background:var(--color-error-50)}.action-btn.save[data-v-f4eb27f6]{color:var(--color-success-600)}.action-btn.save[data-v-f4eb27f6]:hover{background:var(--color-success-50)}.action-btn.cancel[data-v-f4eb27f6]{color:var(--color-error-600)}.action-btn.cancel[data-v-f4eb27f6]:hover{background:var(--color-error-50)}.category-children[data-v-f4eb27f6]{margin-left:var(--spacing-4);border-left:1px solid var(--color-border-default);padding-left:var(--spacing-2)}.tree-footer[data-v-f4eb27f6]{padding:var(--spacing-3) 0;margin-top:var(--spacing-2);border-top:1px solid var(--color-border-default)}.add-category-btn[data-v-f4eb27f6]{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-primary-50);border:1px dashed var(--color-primary-300);border-radius:var(--radius-md);color:var(--color-primary-600);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.add-category-btn[data-v-f4eb27f6]:hover{background:var(--color-primary-100);border-color:var(--color-primary-500);transform:translateY(-1px)}.add-icon[data-v-f4eb27f6]{font-size:1rem;line-height:1}.add-text[data-v-f4eb27f6]{line-height:1}.file-list[data-v-51456636]{background:var(--color-bg-primary);border-radius:var(--radius-card);padding:var(--spacing-6);box-shadow:var(--shadow-card)}.list-toolbar[data-v-51456636]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.toolbar-left[data-v-51456636]{display:flex;align-items:baseline;gap:var(--spacing-3)}.list-title[data-v-51456636]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.list-count[data-v-51456636]{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.toolbar-right[data-v-51456636]{display:flex;align-items:center;gap:var(--spacing-4)}.view-switcher[data-v-51456636]{display:flex;gap:var(--spacing-1);padding:2px;background:var(--color-neutral-100);border-radius:var(--radius-base)}.view-btn[data-v-51456636]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);font-size:1.2rem}.view-btn.active[data-v-51456636]{background:var(--color-bg-primary);color:var(--color-primary-600);box-shadow:var(--shadow-xs)}.view-btn[data-v-51456636]:hover:not(.active){color:var(--color-text-primary)}.sort-select[data-v-51456636]{height:32px;padding:0 var(--spacing-3);border:1.5px solid var(--color-border-default);border-radius:var(--radius-base);font-size:var(--font-size-sm);background:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast)}.sort-select[data-v-51456636]:hover{border-color:var(--color-border-strong)}.sort-select[data-v-51456636]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.file-grid[data-v-51456636]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-4)}.file-card[data-v-51456636]{position:relative;background:var(--color-bg-primary);border:1.5px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:var(--transition-base)}.file-card[data-v-51456636]:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-card:hover .file-actions[data-v-51456636]{opacity:1}.file-card.selected[data-v-51456636]{border-color:var(--color-primary-600);box-shadow:0 0 0 2px var(--color-primary-100)}.file-preview[data-v-51456636]{position:relative;aspect-ratio:1;background:var(--color-neutral-50);display:flex;align-items:center;justify-content:center;overflow:hidden}.file-preview img[data-v-51456636]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-icon-large[data-v-51456636]{font-size:3rem}.file-checkbox[data-v-51456636]{position:absolute;top:var(--spacing-2);left:var(--spacing-2);display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer}.file-checkbox input[data-v-51456636]{position:absolute;opacity:0;cursor:pointer}.file-checkbox input:checked~.checkmark[data-v-51456636]{background:var(--color-primary-600);border-color:var(--color-primary-600)}.file-checkbox input:checked~.checkmark[data-v-51456636]:after{display:block}.checkmark[data-v-51456636]{position:absolute;top:0;left:0;width:24px;height:24px;background:hsla(0,0%,100%,.9);border:2px solid var(--color-neutral-400);border-radius:var(--radius-sm);backdrop-filter:blur(10px);transition:var(--transition-fast)}.checkmark[data-v-51456636]:after{content:"";position:absolute;display:none;left:7px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.file-info[data-v-51456636]{padding:var(--spacing-3)}.file-name[data-v-51456636]{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta[data-v-51456636]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.file-actions[data-v-51456636]{position:absolute;bottom:var(--spacing-2);right:var(--spacing-2);display:flex;gap:var(--spacing-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.action-icon[data-v-51456636]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsla(0,0%,100%,.95);border:none;border-radius:var(--radius-base);font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-fast);backdrop-filter:blur(10px)}.action-icon[data-v-51456636]:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.action-icon.danger[data-v-51456636]:hover{background:var(--color-error-500);color:#fff}.file-table-wrapper[data-v-51456636]{overflow-x:auto}.file-table[data-v-51456636]{width:100%;border-collapse:separate;border-spacing:0}.file-table thead[data-v-51456636]{border-bottom:1.5px solid var(--color-border-default)}.file-table th[data-v-51456636]{padding:var(--spacing-3) var(--spacing-4);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-table th[data-v-51456636]:hover{color:var(--color-text-primary)}.file-table tbody tr[data-v-51456636]{transition:var(--transition-fast)}.file-table tbody tr[data-v-51456636]:hover{background:var(--color-neutral-50)}.file-table tbody tr:hover .action-buttons[data-v-51456636]{opacity:1}.file-table tbody tr.selected[data-v-51456636]{background:var(--color-primary-50)}.file-table td[data-v-51456636]{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-default)}.col-checkbox[data-v-51456636],.col-icon[data-v-51456636]{width:40px;text-align:center}.col-name[data-v-51456636]{width:auto}.col-size[data-v-51456636]{width:120px}.col-date[data-v-51456636]{width:180px}.col-actions[data-v-51456636]{width:120px;text-align:right}.sort-indicator[data-v-51456636]{margin-left:var(--spacing-1);color:var(--color-primary-600);font-size:var(--font-size-xs)}.file-icon[data-v-51456636]{font-size:1.5rem}.file-name-text[data-v-51456636]{font-weight:var(--font-weight-medium)}.file-row[data-v-51456636]{cursor:pointer}.action-buttons[data-v-51456636]{display:flex;gap:var(--spacing-2);justify-content:flex-end;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.empty-state[data-v-51456636]{text-align:center;padding:var(--spacing-16) var(--spacing-8)}.empty-icon[data-v-51456636]{font-size:4rem;margin-bottom:var(--spacing-4);opacity:.5}.empty-title[data-v-51456636]{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-2) 0}.empty-hint[data-v-51456636]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}@media (max-width:1024px){.file-grid[data-v-51456636]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:768px){.file-grid[data-v-51456636]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-3)}.file-table .col-date[data-v-51456636]{display:none}.list-toolbar[data-v-51456636]{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.toolbar-right[data-v-51456636]{width:100%;justify-content:space-between}}#app-container[data-v-33e06d74]{min-height:100vh;background:var(--color-bg-secondary)}.main-layout[data-v-33e06d74]{display:flex;height:calc(100vh - 64px);max-width:var(--container-2xl);margin:0 auto}.sidebar[data-v-33e06d74]{width:260px;background:var(--color-bg-primary);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;overflow-y:auto}.sidebar-section[data-v-33e06d74]{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.sidebar-section[data-v-33e06d74]:last-child{border-bottom:none}.section-header[data-v-33e06d74]{margin-bottom:var(--spacing-3)}.section-header h3[data-v-33e06d74]{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.quick-access[data-v-33e06d74]{display:flex;flex-direction:column;gap:var(--spacing-1)}.access-item[data-v-33e06d74]{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.access-item[data-v-33e06d74]:hover{background:var(--color-neutral-100)}.access-item.active[data-v-33e06d74]{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.access-icon[data-v-33e06d74]{font-size:1.2rem}.access-label[data-v-33e06d74]{flex:1;font-size:var(--font-size-sm)}.access-count[data-v-33e06d74]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-neutral-100);padding:2px 6px;border-radius:var(--radius-full)}.access-item.active .access-count[data-v-33e06d74]{background:var(--color-primary-100);color:var(--color-primary-700)}.content-area[data-v-33e06d74]{flex:1;display:flex;flex-direction:column;overflow:hidden}.content-header[data-v-33e06d74]{padding:var(--spacing-4) var(--spacing-6);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.breadcrumb[data-v-33e06d74]{display:flex;align-items:center;gap:var(--spacing-2)}.breadcrumb-item[data-v-33e06d74]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.header-actions[data-v-33e06d74]{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.bulk-actions[data-v-33e06d74]{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning-50);border:1px solid var(--color-warning-200);border-radius:var(--radius-lg)}.selected-count[data-v-33e06d74]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-warning-700);white-space:nowrap}.file-content[data-v-33e06d74]{flex:1;overflow-y:auto;background:var(--color-bg-primary)}.loading-state[data-v-33e06d74]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);gap:var(--spacing-4)}.spinner[data-v-33e06d74]{width:40px;height:40px;border:3px solid var(--color-border-default);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin-33e06d74 .8s linear infinite}@keyframes spin-33e06d74{to{transform:rotate(1turn)}}.loading-state p[data-v-33e06d74]{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.action-message[data-v-33e06d74]{position:fixed;bottom:var(--spacing-8);left:50%;transform:translateX(-50%);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);color:var(--color-text-inverse);z-index:var(--z-notification);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium)}.action-message.success[data-v-33e06d74]{background-color:var(--color-success-500)}.action-message.error[data-v-33e06d74]{background-color:var(--color-error-500)}.result-box[data-v-33e06d74]{margin:var(--spacing-4);padding:var(--spacing-4);border-radius:var(--radius-lg);border-left:4px solid}.result-box.success[data-v-33e06d74]{background-color:var(--color-success-50);border-color:var(--color-success-500);color:var(--color-success-700)}.result-box.error[data-v-33e06d74]{background-color:var(--color-error-50);border-color:var(--color-error-500);color:var(--color-error-700)}.modal-overlay[data-v-33e06d74]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);backdrop-filter:blur(4px)}.upload-modal[data-v-33e06d74]{background:var(--color-bg-primary);border-radius:var(--radius-xl);width:90%;max-width:600px;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto}.modal-header[data-v-33e06d74]{padding:var(--spacing-6);border-bottom:1px solid var(--color-border-default);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-33e06d74]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.close-btn[data-v-33e06d74]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-tertiary);transition:var(--transition-fast);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.close-btn[data-v-33e06d74]:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}.modal-body[data-v-33e06d74]{padding:var(--spacing-6)}.upload-box[data-v-33e06d74]{display:flex;flex-direction:column;gap:var(--spacing-4)}.file-input[data-v-33e06d74]{width:100%;padding:var(--spacing-4);border:2px dashed var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-fast)}.file-input[data-v-33e06d74]:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}.file-input[data-v-33e06d74]::file-selector-button{background:var(--gradient-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);transition:var(--transition-fast)}.file-input[data-v-33e06d74]::file-selector-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.upload-meta[data-v-33e06d74]{display:flex;flex-direction:column;gap:var(--spacing-2)}.upload-meta label[data-v-33e06d74]{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.category-select[data-v-33e06d74]{padding:var(--spacing-3);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast);color:var(--color-text-primary)}.category-select[data-v-33e06d74]:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.progress-container[data-v-33e06d74]{margin-top:var(--spacing-4)}.progress-container p[data-v-33e06d74]{margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.progress-bar[data-v-33e06d74]{width:100%;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar-inner[data-v-33e06d74]{height:100%;background:var(--gradient-primary);transition:width .3s ease}.modal-enter-active[data-v-33e06d74],.modal-leave-active[data-v-33e06d74]{transition:opacity var(--duration-base) var(--ease-out)}.modal-enter-active .upload-modal[data-v-33e06d74],.modal-leave-active .upload-modal[data-v-33e06d74]{transition:transform var(--duration-base) var(--ease-out)}.modal-enter-from[data-v-33e06d74],.modal-leave-to[data-v-33e06d74]{opacity:0}.modal-enter-from .upload-modal[data-v-33e06d74],.modal-leave-to .upload-modal[data-v-33e06d74]{transform:scale(.95) translateY(20px)}@media (max-width:768px){.sidebar[data-v-33e06d74]{display:none}.content-header[data-v-33e06d74]{flex-direction:column;align-items:flex-start}}[data-v-5efee958]:root{--theme-color:#667eea}.login-container[data-v-5efee958]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.background-animation[data-v-5efee958]{position:absolute;width:100%;height:100%;overflow:hidden}.circle[data-v-5efee958]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.1);animation:float-5efee958 20s ease-in-out infinite}.circle[data-v-5efee958]:first-child{width:300px;height:300px;top:-150px;left:-150px;animation-delay:0s}.circle[data-v-5efee958]:nth-child(2){width:200px;height:200px;bottom:-100px;right:-100px;animation-delay:5s}.circle[data-v-5efee958]:nth-child(3){width:400px;height:400px;top:50%;right:-200px;animation-delay:10s}@keyframes float-5efee958{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-50px) rotate(180deg)}}.login-card[data-v-5efee958]{background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border-radius:20px;padding:3rem 2.5rem;width:90%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3);position:relative;z-index:1;animation:slideUp-5efee958 .6s ease-out}@keyframes slideUp-5efee958{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo-section[data-v-5efee958]{text-align:center;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:center}.logo-icon[data-v-5efee958]{font-size:4rem;margin-bottom:1rem;animation:bounce-5efee958 2s infinite;display:block}@keyframes bounce-5efee958{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo-section h1[data-v-5efee958]{font-size:2rem;font-weight:700;color:#2c3e50;margin:.5rem 0;background:linear-gradient(135deg,var(--theme-color) 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;width:100%}.subtitle[data-v-5efee958]{color:#7f8c8d;font-size:.95rem;margin:0;display:block;width:100%}.login-form[data-v-5efee958]{display:flex;flex-direction:column;gap:1.5rem}.input-group[data-v-5efee958]{position:relative;display:flex;align-items:center;background:#f8f9fa;border-radius:12px;overflow:hidden;border:2px solid transparent;transition:all .3s ease}.input-group[data-v-5efee958]:focus-within{border-color:var(--theme-color);background:#fff;box-shadow:0 4px 12px rgba(102,126,234,.15)}.input-icon[data-v-5efee958]{padding:0 1rem;font-size:1.3rem;color:#7f8c8d}.input-group input[data-v-5efee958]{flex:1;padding:1rem 1rem 1rem 0;border:none;background:transparent;font-size:1rem;color:#2c3e50;outline:none}.input-group input[data-v-5efee958]::-moz-placeholder{color:#bdc3c7}.input-group input[data-v-5efee958]::placeholder{color:#bdc3c7}.login-button[data-v-5efee958]{background:linear-gradient(135deg,var(--theme-color) 0,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.4)}.login-button[data-v-5efee958]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.5)}.login-button[data-v-5efee958]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-5efee958]:disabled{opacity:.7;cursor:not-allowed}.loading-spinner[data-v-5efee958]{display:inline-block;animation:spin-5efee958 1s linear infinite}@keyframes spin-5efee958{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-5efee958]{background:#ffe6e6;color:#e74c3c;padding:.8rem;border-radius:8px;text-align:center;border-left:4px solid #e74c3c;animation:shake-5efee958 .5s}@keyframes shake-5efee958{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@media (max-width:480px){.login-card[data-v-5efee958]{padding:2rem 1.5rem}.logo-section h1[data-v-5efee958]{font-size:1.5rem}}.app-card[data-v-b8f818b0]{background:var(--color-bg-primary);border-radius:var(--radius-card);overflow:hidden;transition:var(--transition-base)}.app-card--elevated{&[data-v-b8f818b0]{box-shadow:var(--shadow-card)}&.app-card--hoverable[data-v-b8f818b0]:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}}.app-card--outlined{&[data-v-b8f818b0]{border:1.5px solid var(--color-border-default)}&.app-card--hoverable[data-v-b8f818b0]:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-sm)}}.app-card--filled{&[data-v-b8f818b0]{background:var(--color-bg-secondary)}&.app-card--hoverable[data-v-b8f818b0]:hover{background:var(--color-bg-tertiary)}}.app-card--clickable[data-v-b8f818b0]{cursor:pointer}.card-media[data-v-b8f818b0]{position:relative;width:100%;background:var(--color-neutral-100);overflow:hidden}.card-content{&.app-card--padding-none &[data-v-b8f818b0]{padding:0}&.app-card--padding-small &[data-v-b8f818b0]{padding:var(--spacing-3)}&.app-card--padding-medium &[data-v-b8f818b0]{padding:var(--spacing-6)}&.app-card--padding-large &[data-v-b8f818b0]{padding:var(--spacing-8)}}.card-footer[data-v-b8f818b0]{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border-default);display:flex;gap:var(--spacing-3);justify-content:flex-end;align-items:center}.app-input-wrapper[data-v-6c42adc4]{display:flex;flex-direction:column;gap:var(--spacing-2)}.app-input-label[data-v-6c42adc4]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-1)}.required-mark[data-v-6c42adc4]{color:var(--color-error-500)}.input-container{&[data-v-6c42adc4]{position:relative;display:flex;align-items:center;background:var(--color-bg-primary);border:1.5px solid var(--color-border-default);border-radius:var(--radius-input);transition:var(--transition-base)}&[data-v-6c42adc4]:hover:not(.input-container--disabled){border-color:var(--color-border-strong)}&.input-container--focused[data-v-6c42adc4]{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}&.input-container--error{&[data-v-6c42adc4]{border-color:var(--color-error-500)}&.input-container--focused[data-v-6c42adc4]{box-shadow:var(--shadow-focus-error)}}&.input-container--disabled[data-v-6c42adc4]{background:var(--color-neutral-50);cursor:not-allowed}&.input-container--readonly[data-v-6c42adc4]{background:var(--color-neutral-50)}}.input-container--small[data-v-6c42adc4]{height:32px}.input-container--medium[data-v-6c42adc4]{height:40px}.input-container--large[data-v-6c42adc4]{height:48px}.app-input{&[data-v-6c42adc4]{flex:1;height:100%;padding:0 var(--spacing-4);font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background:transparent;border:none;outline:none}&[data-v-6c42adc4]::-moz-placeholder{color:var(--color-text-tertiary)}&[data-v-6c42adc4]::placeholder{color:var(--color-text-tertiary)}&[data-v-6c42adc4]:disabled{cursor:not-allowed;color:var(--color-text-disabled)}&.app-input--has-prefix[data-v-6c42adc4]{padding-left:var(--spacing-10)}&.app-input--has-suffix[data-v-6c42adc4]{padding-right:var(--spacing-10)}}.input-icon{&[data-v-6c42adc4]{position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:100%;color:var(--color-text-tertiary);pointer-events:none;font-size:var(--font-size-lg)}&.input-icon--prefix[data-v-6c42adc4]{left:0}&.input-icon--suffix[data-v-6c42adc4]{right:0}}.input-clear{&[data-v-6c42adc4]{position:absolute;right:var(--spacing-2);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:var(--color-neutral-200);border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);font-size:var(--font-size-xs)}&[data-v-6c42adc4]:hover{background:var(--color-neutral-300);color:var(--color-text-primary)}}.input-message[data-v-6c42adc4]{font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding-left:var(--spacing-1)}.input-error[data-v-6c42adc4]{color:var(--color-error-500)}.input-hint[data-v-6c42adc4]{color:var(--color-text-tertiary)}#albums-container[data-v-89eef416]{min-height:100vh;background:var(--color-bg-secondary)}main[data-v-89eef416]{max-width:var(--container-2xl);margin:0 auto;padding:var(--spacing-6)}.albums-section[data-v-89eef416]{background:var(--color-bg-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-8)}.albums-header[data-v-89eef416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:2px solid var(--color-border-default)}.header-left[data-v-89eef416]{display:flex;align-items:baseline;gap:var(--spacing-4)}.albums-header h2[data-v-89eef416]{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.album-count[data-v-89eef416]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.loading-state[data-v-89eef416]{text-align:center;padding:var(--spacing-16)}.loading-spinner[data-v-89eef416]{width:48px;height:48px;margin:0 auto var(--spacing-4);border:4px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spin-89eef416 1s linear infinite}@keyframes spin-89eef416{to{transform:rotate(1turn)}}.loading-state p[data-v-89eef416]{color:var(--color-text-tertiary);font-size:var(--font-size-lg)}.empty-state[data-v-89eef416]{text-align:center;padding:var(--spacing-20)}.empty-icon[data-v-89eef416]{font-size:5rem;margin-bottom:var(--spacing-6);opacity:.5}.empty-title[data-v-89eef416]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-2) 0}.empty-hint[data-v-89eef416]{font-size:var(--font-size-base);color:var(--color-text-tertiary);margin:0}.albums-grid[data-v-89eef416]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.album-cover[data-v-89eef416]{position:relative;width:100%;height:240px;background:var(--color-neutral-100);overflow:hidden}.album-cover img[data-v-89eef416]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:var(--transition-base)}.album-cover:hover img[data-v-89eef416]{transform:scale(1.05)}.no-cover[data-v-89eef416]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.no-cover-icon[data-v-89eef416]{font-size:4rem;margin-bottom:var(--spacing-2)}.no-cover p[data-v-89eef416]{margin:0;font-size:var(--font-size-sm)}.album-overlay[data-v-89eef416]{position:absolute;top:var(--spacing-3);right:var(--spacing-3);display:flex;gap:var(--spacing-2);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.album-cover:hover .album-overlay[data-v-89eef416]{opacity:1}.action-btn[data-v-89eef416]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.95);border:none;border-radius:var(--radius-full);font-size:1.1rem;cursor:pointer;backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.action-btn[data-v-89eef416]:hover{transform:scale(1.15);box-shadow:var(--shadow-md)}.action-btn.danger[data-v-89eef416]:hover{background:var(--color-error-500);color:#fff}.album-info[data-v-89eef416]{padding:var(--spacing-5)}.album-name[data-v-89eef416]{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.album-description[data-v-89eef416]{margin:0 0 var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.album-meta[data-v-89eef416]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.photo-count[data-v-89eef416]{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.meta-icon[data-v-89eef416]{font-size:1rem}.template-badge[data-v-89eef416]{background:var(--gradient-primary);color:#fff;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.album-date[data-v-89eef416]{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.modal-overlay[data-v-89eef416]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn-89eef416 var(--duration-base) var(--ease-out)}@keyframes fadeIn-89eef416{0%{opacity:0}to{opacity:1}}.modal-content[data-v-89eef416]{background:var(--color-bg-primary);border-radius:var(--radius-xl);width:90%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:slideUp-89eef416 var(--duration-base) var(--ease-out)}@keyframes slideUp-89eef416{0%{opacity:0;transform:translateY(32px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-89eef416]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--color-border-default)}.modal-header h3[data-v-89eef416]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn[data-v-89eef416]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-base);font-size:var(--font-size-xl);color:var(--color-text-tertiary);cursor:pointer;transition:var(--transition-fast)}.close-btn[data-v-89eef416]:hover{background:var(--color-neutral-100);color:var(--color-error-500)}.modal-body[data-v-89eef416]{padding:var(--spacing-8);display:flex;flex-direction:column;gap:var(--spacing-6)}.form-group[data-v-89eef416]{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label[data-v-89eef416]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-textarea[data-v-89eef416]{width:100%;padding:var(--spacing-3);border:1.5px solid var(--color-border-default);border-radius:var(--radius-input);font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);resize:vertical;transition:var(--transition-base)}.form-textarea[data-v-89eef416]:hover{border-color:var(--color-border-strong)}.form-textarea[data-v-89eef416]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-textarea[data-v-89eef416]::-moz-placeholder{color:var(--color-text-tertiary)}.form-textarea[data-v-89eef416]::placeholder{color:var(--color-text-tertiary)}.template-options[data-v-89eef416]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.template-option[data-v-89eef416]{cursor:pointer}.template-preview[data-v-89eef416]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);border:2px solid var(--color-border-default);border-radius:var(--radius-lg);transition:var(--transition-fast)}.template-option.active .template-preview[data-v-89eef416]{border-color:var(--color-primary-600);background:var(--color-primary-50)}.template-preview[data-v-89eef416]:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.template-icon[data-v-89eef416]{font-size:2rem}.template-name[data-v-89eef416]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.modal-footer[data-v-89eef416]{display:flex;gap:var(--spacing-3);justify-content:flex-end;padding-top:var(--spacing-4);border-top:1px solid var(--color-border-default)}.toast-error[data-v-89eef416]{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);padding:var(--spacing-4) var(--spacing-6);background:var(--color-error-500);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium);z-index:var(--z-notification);animation:slideInRight-89eef416 var(--duration-base) var(--ease-out)}@keyframes slideInRight-89eef416{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.albums-grid[data-v-89eef416]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.template-options[data-v-89eef416]{grid-template-columns:1fr}}#album-detail-container[data-v-8a4ef102]{min-height:100vh;background:var(--color-bg-secondary);max-width:var(--container-2xl);margin:0 auto;padding:var(--spacing-6)}.modern-header[data-v-8a4ef102]{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px rgba(102,126,234,.3);margin-bottom:var(--spacing-6);padding:var(--spacing-6);border-radius:var(--radius-xl);display:flex;justify-content:space-between;align-items:center;color:#fff}.header-left[data-v-8a4ef102]{display:flex;align-items:center;gap:var(--spacing-4)}.header-left h1[data-v-8a4ef102]{margin:0;font-size:2rem;font-weight:700}.album-desc[data-v-8a4ef102]{margin:.5rem 0 0 0;color:hsla(0,0%,100%,.9);font-size:1rem}.back-btn[data-v-8a4ef102]{background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.3);color:#fff;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);cursor:pointer;font-weight:600;transition:all .3s;backdrop-filter:blur(10px)}.back-btn[data-v-8a4ef102]:hover{background:hsla(0,0%,100%,.3);transform:translateX(-4px)}.add-photo-btn[data-v-8a4ef102]{background:#fff;color:#667eea;border:none;padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:1rem;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:all .3s}.add-photo-btn[data-v-8a4ef102]:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.share-btn[data-v-8a4ef102]{background:hsla(0,0%,100%,.2);border:2px solid hsla(0,0%,100%,.3);color:#fff;padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s;backdrop-filter:blur(10px);margin-right:1rem}.share-btn[data-v-8a4ef102]:hover{background:hsla(0,0%,100%,.3);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.empty-state[data-v-8a4ef102],.loading-state[data-v-8a4ef102]{text-align:center;padding:4rem 2rem;color:#7f8c8d}.empty-icon[data-v-8a4ef102]{font-size:5rem;margin-bottom:1rem}.empty-title[data-v-8a4ef102]{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:1rem 0}.hint[data-v-8a4ef102]{color:#95a5a6;font-size:1rem;margin-bottom:var(--spacing-6)}.add-photo-btn-large[data-v-8a4ef102]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 3rem;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-size:1.1rem;box-shadow:0 4px 12px rgba(102,126,234,.3);transition:all .3s}.add-photo-btn-large[data-v-8a4ef102]:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,126,234,.4)}.photos-grid[data-v-8a4ef102]{-moz-column-count:3;column-count:3;-moz-column-gap:var(--spacing-4);column-gap:var(--spacing-4);padding:1rem 0}@media (max-width:1200px){.photos-grid[data-v-8a4ef102]{-moz-column-count:2;column-count:2}}@media (max-width:768px){.photos-grid[data-v-8a4ef102]{-moz-column-count:1;column-count:1}}.photo-card[data-v-8a4ef102]{background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .4s cubic-bezier(.4,0,.2,1);-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:1.5rem;display:inline-block;width:100%}.photo-card[data-v-8a4ef102]:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.12)}.photo-image-wrapper[data-v-8a4ef102]{position:relative;width:100%;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.photo-image-wrapper img[data-v-8a4ef102]{width:100%;height:auto;display:block;-o-object-fit:cover;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1),filter .3s}.photo-image-wrapper img.loading[data-v-8a4ef102]{filter:blur(10px);transform:scale(1.1)}.photo-image-wrapper:hover img[data-v-8a4ef102]{transform:scale(1.08)}.photo-overlay[data-v-8a4ef102]{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6));display:flex;align-items:center;justify-content:center;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.photo-image-wrapper:hover .photo-overlay[data-v-8a4ef102]{opacity:1;background:rgba(0,0,0,.5)}.view-icon[data-v-8a4ef102]{font-size:3rem;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));transform:scale(.8);transition:transform .3s cubic-bezier(.4,0,.2,1)}.photo-image-wrapper:hover .view-icon[data-v-8a4ef102]{transform:scale(1)}.photo-info[data-v-8a4ef102]{padding:1.5rem}.photo-header[data-v-8a4ef102]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.photo-number[data-v-8a4ef102]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.photo-actions[data-v-8a4ef102]{display:flex;gap:.5rem}.action-btn[data-v-8a4ef102]{background:#f8f9fa;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s;display:flex;align-items:center;justify-content:center}.action-btn[data-v-8a4ef102]:hover{background:#e9ecef;transform:scale(1.1)}.action-btn.delete[data-v-8a4ef102]:hover{background:#fee;color:#e74c3c}.photo-hover-actions[data-v-8a4ef102]{position:absolute;top:1rem;right:1rem;opacity:0;transition:opacity .3s}.photo-image-wrapper:hover .photo-hover-actions[data-v-8a4ef102]{opacity:1}.hover-action-btn[data-v-8a4ef102]{background:rgba(102,126,234,.95);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s;box-shadow:0 4px 12px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.hover-action-btn[data-v-8a4ef102]:hover{background:#667eea;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.4)}.current-cover-badge[data-v-8a4ef102]{background:rgba(255,215,0,.95);color:#333;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;box-shadow:0 4px 12px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.caption-input[data-v-8a4ef102]{width:100%;font-size:1.1rem;font-weight:600;border:none;border-bottom:2px solid #e9ecef;padding:.5rem 0;margin-bottom:.8rem;transition:border-color .3s}.caption-input[data-v-8a4ef102]:focus{outline:none;border-bottom-color:#667eea}.caption-input[data-v-8a4ef102]::-moz-placeholder{color:#bbb;font-weight:400}.caption-input[data-v-8a4ef102]::placeholder{color:#bbb;font-weight:400}.story-textarea[data-v-8a4ef102]{width:100%;font-size:.95rem;line-height:1.6;border:2px solid #e9ecef;border-radius:var(--radius-md);padding:.8rem;resize:vertical;transition:border-color .3s;font-family:inherit}.story-textarea[data-v-8a4ef102]:focus{outline:none;border-color:#667eea}.story-textarea[data-v-8a4ef102]::-moz-placeholder{color:#aaa}.story-textarea[data-v-8a4ef102]::placeholder{color:#aaa}.photo-viewer[data-v-8a4ef102]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn-8a4ef102 .3s}@keyframes fadeIn-8a4ef102{0%{opacity:0}to{opacity:1}}.viewer-content[data-v-8a4ef102]{position:relative;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.viewer-close[data-v-8a4ef102]{position:absolute;top:-50px;right:0;background:hsla(0,0%,100%,.2);border:none;color:#fff;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:2rem;transition:all .3s;backdrop-filter:blur(10px)}.viewer-close[data-v-8a4ef102]:hover{background:hsla(0,0%,100%,.3);transform:rotate(90deg)}.viewer-next[data-v-8a4ef102],.viewer-prev[data-v-8a4ef102]{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.2);border:none;color:#fff;width:60px;height:60px;border-radius:50%;cursor:pointer;font-size:2.5rem;transition:all .3s;backdrop-filter:blur(10px)}.viewer-prev[data-v-8a4ef102]{left:-80px}.viewer-next[data-v-8a4ef102]{right:-80px}.viewer-next[data-v-8a4ef102]:hover,.viewer-prev[data-v-8a4ef102]:hover{background:hsla(0,0%,100%,.3);transform:translateY(-50%) scale(1.1)}.viewer-image-wrapper[data-v-8a4ef102]{flex:1;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.viewer-image-wrapper img[data-v-8a4ef102]{max-width:100%;max-height:70vh;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md)}.viewer-info[data-v-8a4ef102]{background:hsla(0,0%,100%,.1);backdrop-filter:blur(20px);padding:1.5rem;border-radius:var(--radius-lg);color:#fff;position:relative;display:flex;flex-direction:column;gap:1rem}.viewer-main-info h3[data-v-8a4ef102]{margin:0 0 .5rem 0;font-size:1.5rem}.viewer-main-info p[data-v-8a4ef102]{margin:0;color:hsla(0,0%,100%,.9);line-height:1.6}.viewer-metadata[data-v-8a4ef102]{display:flex;gap:var(--spacing-4);flex-wrap:wrap;padding-top:.5rem;border-top:1px solid hsla(0,0%,100%,.2)}.metadata-item[data-v-8a4ef102]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:hsla(0,0%,100%,.85)}.meta-label[data-v-8a4ef102]{font-weight:600}.viewer-counter[data-v-8a4ef102]{position:absolute;top:1.5rem;right:1.5rem;background:rgba(0,0,0,.3);padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.viewer-hint[data-v-8a4ef102]{position:absolute;bottom:1rem;right:1.5rem;display:flex;gap:var(--spacing-4);font-size:.85rem;color:hsla(0,0%,100%,.7);animation:fadeInHint-8a4ef102 .5s ease-in}.viewer-hint span[data-v-8a4ef102]{background:rgba(0,0,0,.3);padding:.4rem .8rem;border-radius:var(--radius-lg);backdrop-filter:blur(10px)}@keyframes fadeInHint-8a4ef102{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-8a4ef102]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-8a4ef102 .3s}.modal-content.photo-selector[data-v-8a4ef102]{background:#fff;border-radius:20px;width:90%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.4)}.modal-header[data-v-8a4ef102]{padding:var(--spacing-6);border-bottom:1px solid #e9ecef}.modal-header h3[data-v-8a4ef102]{margin:0 0 1rem 0;font-size:1.5rem;color:#2c3e50}.filter-bar[data-v-8a4ef102]{display:flex;gap:1rem}.category-filter[data-v-8a4ef102]{flex:1;padding:.8rem 1rem;border:2px solid #e9ecef;border-radius:var(--radius-lg);font-size:1rem;cursor:pointer;transition:all .3s}.category-filter[data-v-8a4ef102]:focus{outline:none;border-color:#667eea}.images-grid[data-v-8a4ef102]{flex:1;overflow-y:auto;padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-4)}.image-card[data-v-8a4ef102]{position:relative;border:3px solid transparent;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .3s;aspect-ratio:1}.image-card[data-v-8a4ef102]:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.2)}.image-card.selected[data-v-8a4ef102]{border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.2)}.image-card img[data-v-8a4ef102]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-overlay[data-v-8a4ef102]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);padding:1rem .8rem .8rem;color:#fff;opacity:0;transition:opacity .3s}.image-card:hover .image-overlay[data-v-8a4ef102]{opacity:1}.image-name[data-v-8a4ef102]{font-size:.85rem;font-weight:500;margin-bottom:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.categories-tags[data-v-8a4ef102]{display:flex;gap:.3rem;flex-wrap:wrap}.category-tag[data-v-8a4ef102]{background:rgba(102,126,234,.9);color:#fff;padding:.2rem .6rem;border-radius:var(--radius-lg);font-size:.7rem;font-weight:500}.selected-badge[data-v-8a4ef102]{position:absolute;top:.8rem;right:.8rem;background:#667eea;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:scaleIn-8a4ef102 .3s}@keyframes scaleIn-8a4ef102{0%{transform:scale(0)}to{transform:scale(1)}}.modal-footer[data-v-8a4ef102]{padding:1.5rem 2rem;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:1rem}.btn-primary[data-v-8a4ef102],.btn-secondary[data-v-8a4ef102]{padding:.9rem 2rem;border-radius:var(--radius-lg);border:none;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s}.btn-secondary[data-v-8a4ef102]{background:#f8f9fa;color:#495057}.btn-secondary[data-v-8a4ef102]:hover{background:#e9ecef}.btn-primary[data-v-8a4ef102]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.btn-primary[data-v-8a4ef102]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-8a4ef102]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,126,234,.4)}@media (max-width:768px){.images-grid[data-v-8a4ef102]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.viewer-prev[data-v-8a4ef102]{left:10px}.viewer-next[data-v-8a4ef102]{right:10px}.modern-header[data-v-8a4ef102]{flex-direction:column;gap:1rem}.header-right[data-v-8a4ef102]{display:flex;gap:.5rem;width:100%}.add-photo-btn[data-v-8a4ef102],.share-btn[data-v-8a4ef102]{flex:1;padding:.8rem 1rem}}#settings-container[data-v-790645df]{min-height:100vh;background:var(--color-bg-secondary)}main[data-v-790645df]{max-width:var(--container-xl);margin:0 auto;padding:var(--spacing-6)}.settings-wrapper[data-v-790645df]{display:flex;justify-content:center}.settings-content[data-v-790645df]{background:var(--color-bg-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-card);width:100%;max-width:800px}.settings-panel[data-v-790645df]{padding:var(--spacing-8)}.panel-header[data-v-790645df]{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:2px solid var(--color-border-default)}.panel-header h3[data-v-790645df]{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.panel-desc[data-v-790645df]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.settings-form[data-v-790645df]{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-group[data-v-790645df]{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label[data-v-790645df]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.color-picker-wrapper[data-v-790645df]{display:flex;flex-direction:column;gap:var(--spacing-4)}.preset-colors[data-v-790645df]{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-3)}.color-preset[data-v-790645df]{position:relative;width:100%;aspect-ratio:1;border:2px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-base);display:flex;align-items:center;justify-content:center}.color-preset[data-v-790645df]:hover{transform:scale(1.1);box-shadow:var(--shadow-md);z-index:1}.color-preset.active[data-v-790645df]{border-color:var(--color-primary-600);border-width:3px;box-shadow:0 0 0 3px rgba(102,126,234,.2)}.check-icon[data-v-790645df]{color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-shadow:0 1px 3px rgba(0,0,0,.3)}.custom-color[data-v-790645df]{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--color-neutral-50);border-radius:var(--radius-lg)}.custom-color-label[data-v-790645df]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:0}.color-input[data-v-790645df]{width:60px;height:40px;border:2px solid var(--color-border-default);border-radius:var(--radius-base);cursor:pointer;transition:var(--transition-base)}.color-input[data-v-790645df]:hover{border-color:var(--color-border-strong)}.color-value[data-v-790645df]{font-family:var(--font-family-mono,"Monaco","Courier New",monospace);font-size:var(--font-size-sm);color:var(--color-text-tertiary);background:var(--color-bg-primary);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-base);border:1px solid var(--color-border-default)}.form-actions[data-v-790645df]{padding-top:var(--spacing-4)}.toast[data-v-790645df]{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium);z-index:var(--z-notification);animation:slideInRight-790645df var(--duration-base) var(--ease-out);color:#fff}.toast.success[data-v-790645df]{background:var(--color-success-500)}.toast.error[data-v-790645df]{background:var(--color-error-500)}@keyframes slideInRight-790645df{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}:root{--color-primary-50:#f0f4ff;--color-primary-100:#e0eaff;--color-primary-200:#c7d7fe;--color-primary-300:#a5b9fc;--color-primary-400:#8b97f8;--color-primary-500:#667eea;--color-primary-600:#5568d3;--color-primary-700:#4553b8;--color-primary-800:#3a4794;--color-primary-900:#2e3a7a;--gradient-primary:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 100%);--gradient-primary-hover:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%);--color-neutral-0:#fff;--color-neutral-50:#f9fafb;--color-neutral-100:#f3f4f6;--color-neutral-200:#e5e7eb;--color-neutral-300:#d1d5db;--color-neutral-400:#9ca3af;--color-neutral-500:#6b7280;--color-neutral-600:#4b5563;--color-neutral-700:#374151;--color-neutral-800:#1f2937;--color-neutral-900:#111827;--color-success-50:#ecfdf5;--color-success-500:#10b981;--color-success-600:#059669;--color-success-700:#047857;--color-warning-50:#fffbeb;--color-warning-200:#fde68a;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-error-50:#fef2f2;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-info-50:#eff6ff;--color-info-500:#3b82f6;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-bg-inverse:#1f2937;--color-bg-overlay:rgba(0,0,0,.5);--color-bg-blur:hsla(0,0%,100%,.8);--color-bg-blur-dark:rgba(0,0,0,.8);--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-disabled:#d1d5db;--color-text-inverse:#fff;--color-text-link:#667eea;--color-text-link-hover:#5568d3;--color-border-default:#e5e7eb;--color-border-strong:#d1d5db;--color-border-focus:var(--color-primary-500)}@media (prefers-color-scheme:dark){:root{--color-bg-primary:#111827;--color-bg-secondary:#1f2937;--color-bg-tertiary:#374151;--color-bg-inverse:#fff;--color-bg-blur:rgba(31,41,55,.8);--color-text-primary:#f9fafb;--color-text-secondary:#d1d5db;--color-text-tertiary:#9ca3af;--color-text-inverse:#111827;--color-border-default:#374151;--color-border-strong:#4b5563}}:root{--spacing-0:0;--spacing-px:1px;--spacing-0-5:0.125rem;--spacing-1:0.25rem;--spacing-1-5:0.375rem;--spacing-2:0.5rem;--spacing-2-5:0.625rem;--spacing-3:0.75rem;--spacing-3-5:0.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--content-width-narrow:640px;--content-width-medium:768px;--content-width-wide:1024px;--content-width-full:1280px;--font-family-primary:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto","Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-mono:"SF Mono","Monaco","Cascadia Code","Courier New","Consolas","Liberation Mono",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-size-7xl:4.5rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}:root{--radius-none:0;--radius-xs:0.125rem;--radius-sm:0.25rem;--radius-base:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--radius-card:var(--radius-xl);--radius-button:var(--radius-lg);--radius-input:var(--radius-lg);--radius-modal:var(--radius-2xl);--radius-badge:var(--radius-full);--shadow-none:none;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-base:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-md:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.35);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--shadow-focus:0 0 0 3px rgba(102,126,234,.2);--shadow-focus-error:0 0 0 3px rgba(239,68,68,.2);--shadow-focus-success:0 0 0 3px rgba(16,185,129,.2);--shadow-glow:0 0 20px rgba(102,126,234,.3);--shadow-glow-lg:0 0 40px rgba(102,126,234,.4);--shadow-primary:0 4px 12px rgba(102,126,234,.3);--shadow-primary-lg:0 8px 24px rgba(102,126,234,.4);--shadow-card:var(--shadow-base);--shadow-card-hover:var(--shadow-lg);--shadow-button:var(--shadow-sm);--shadow-button-hover:var(--shadow-md);--shadow-modal:var(--shadow-2xl);--shadow-dropdown:var(--shadow-lg);--shadow-navbar:0 1px 3px 0 rgba(0,0,0,.05)}@media (prefers-color-scheme:dark){:root{--shadow-xs:0 1px 2px 0 rgba(0,0,0,.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.4),0 1px 2px -1px rgba(0,0,0,.4);--shadow-base:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.4);--shadow-md:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -4px rgba(0,0,0,.4);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.5),0 8px 10px -6px rgba(0,0,0,.5)}}:root{--duration-instant:0ms;--duration-fast:150ms;--duration-base:250ms;--duration-slow:350ms;--duration-slower:500ms;--duration-slowest:700ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-apple:cubic-bezier(0.25,0.1,0.25,1);--ease-apple-in:cubic-bezier(0.42,0,1,1);--ease-apple-out:cubic-bezier(0,0,0.58,1);--ease-material:cubic-bezier(0.4,0,0.2,1);--ease-material-decelerate:cubic-bezier(0,0,0.2,1);--ease-material-accelerate:cubic-bezier(0.4,0,1,1);--ease-material-sharp:cubic-bezier(0.4,0,0.6,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-elastic:cubic-bezier(0.68,-0.6,0.32,1.6);--transition-fast:all var(--duration-fast) var(--ease-out);--transition-base:all var(--duration-base) var(--ease-out);--transition-slow:all var(--duration-slow) var(--ease-out);--transition-colors:color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);--transition-transform:transform var(--duration-base) var(--ease-apple);--transition-opacity:opacity var(--duration-base) var(--ease-out);--transition-shadow:box-shadow var(--duration-base) var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.animate-fade-in{animation:fadeIn var(--duration-base) var(--ease-out)}.animate-slide-up{animation:slideUp var(--duration-base) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-base) var(--ease-out)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}:root{--z-base:1;--z-behind:-1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-overlay:400;--z-modal-backdrop:500;--z-modal:600;--z-popover:700;--z-tooltip:800;--z-notification:900;--z-toast:1000;--z-debug:9999;--z-navbar:var(--z-sticky);--z-sidebar:var(--z-fixed);--z-dialog:var(--z-modal);--z-drawer:var(--z-modal);--z-context-menu:var(--z-popover)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-secondary);min-height:100vh}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full);border:2px solid var(--color-neutral-100)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}::-moz-selection{background:var(--color-primary-100);color:var(--color-primary-900)}::selection{background:var(--color-primary-100);color:var(--color-primary-900)}a{color:var(--color-text-link);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--color-text-link-hover)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}