:root{--color-background-primary: #fafafa;--color-background-secondary: #f5f5f5;--color-background-tertiary: #e5e5e5;--color-background-inverse: #171717;--color-background-overlay: rgba(0, 0, 0, .5);--color-background-overlay-dark: rgba(0, 0, 0, .3);--color-background-card: #fafafa;--color-background-subtle: #f5f5f5;--color-background-paper: #ffffff;--color-background-hover: #f5f5f5;--color-background-muted: #e5e5e5;--color-text-primary: #171717;--color-text-secondary: #404040;--color-text-tertiary: #666666;--color-text-inverse: #fafafa;--color-text-disabled: #a3a3a3;--color-text-link: #9a3412;--color-text-link-hover: #7c2d12;--color-text-subtle: #525252;--color-text-muted: #5f6368;--color-border-default: #e5e5e5;--color-border-light: #f5f5f5;--color-border-medium: #d4d4d4;--color-border-strong: #a3a3a3;--color-border-focus: #f97316;--color-border-subtle: #e5e5e5;--color-border: #e5e5e5;--color-border-main: #e5e5e5;--color-brand-primary: #ea580c;--color-brand-secondary: #f97316;--color-brand-tertiary: #fb923c;--color-primary: #ea580c;--color-interactive-primary: #ea580c;--color-interactive-primary-hover: #c2410c;--color-interactive-primary-active: #9a3412;--color-interactive-primary-disabled: #d4d4d4;--color-interactive-secondary: #f5f5f5;--color-interactive-secondary-hover: #e5e5e5;--color-interactive-secondary-active: #d4d4d4;--color-interactive-tertiary: transparent;--color-interactive-tertiary-hover: #f5f5f5;--color-interactive-tertiary-active: #e5e5e5;--color-interactive-overlay: #f5f5f5;--color-interactive-hover: #f5f5f5;--color-shadow-sm: rgba(0, 0, 0, .05);--color-shadow-md: rgba(0, 0, 0, .1);--color-shadow-lg: rgba(0, 0, 0, .15);--color-shadow-xl: rgba(0, 0, 0, .2);--color-shadow-2xl: rgba(0, 0, 0, .25);--color-status-success: #16a34a;--color-status-success-bg: #f0fdf4;--color-status-success-border: #bbf7d0;--color-status-success-text: #15803d;--color-status-success-hover: #15803d;--color-status-warning: #d97706;--color-status-warning-bg: #fffbeb;--color-status-warning-border: #fde68a;--color-status-warning-text: #b45309;--color-status-warning-code-bg: #fef3c7;--color-status-error: #dc2626;--color-status-error-bg: #fef2f2;--color-status-error-border: #fecaca;--color-status-error-text: #b91c1c;--color-status-error-hover: #b91c1c;--color-status-info: #2563eb;--color-status-info-bg: #eff6ff;--color-status-info-border: #bfdbfe;--color-status-info-text: #1d4ed8;--color-status-purple: #9333ea;--color-status-purple-hover: #7e22ce;--color-status-warning-hover: #b45309;--color-status-warning-background: #fffbeb;--color-status-error-background: #fef2f2;--color-status-error-background-dark: #450a0a;--color-status-error-dark: #f87171;--color-status-error-text-dark: #fca5a5;--color-status-warningBackgroundDark: rgba(245, 158, 11, .1);--color-status-warningBorderDark: rgba(245, 158, 11, .3);--color-white: #ffffff;--color-white-alpha-90: rgba(255, 255, 255, .9);--color-white-alpha-80: rgba(255, 255, 255, .8);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-60: rgba(255, 255, 255, .6);--color-white-alpha-50: rgba(255, 255, 255, .5);--color-white-alpha-40: rgba(255, 255, 255, .4);--color-white-alpha-35: rgba(255, 255, 255, .35);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-05: rgba(255, 255, 255, .05);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-15: rgba(0, 0, 0, .15);--color-black-alpha-20: rgba(0, 0, 0, .2);--color-black-alpha-25: rgba(0, 0, 0, .25);--color-black-alpha-30: rgba(0, 0, 0, .3);--color-black-alpha-40: rgba(0, 0, 0, .4);--color-black-alpha-50: rgba(0, 0, 0, .5);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-80: rgba(0, 0, 0, .8);--color-black-alpha-90: rgba(0, 0, 0, .9);--color-black-alpha-95: rgba(0, 0, 0, .95);--color-blue-alpha-40: rgba(79, 172, 254, .4);--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #b91c1c;--color-error-100: #fee2e2;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-error-background: #fef2f2;--color-action-delete-bg: var(--color-status-error);--color-action-delete-text: #ffffff;--color-action-delete-hover-bg: var(--color-status-error-hover, #b91c1c);--color-error-dark: #b91c1c;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-success-text: #15803d;--color-success-100: #dcfce7;--color-success-dark: #15803d;--color-success-background: #f0fdf4;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #b45309;--color-warning-background: #fffbeb;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--color-info-text: #1d4ed8;--color-info: #2563eb;--color-gray-100: #f3f4f6;--color-gray-300: #d1d5db;--color-gray-700: #374151;--color-background-disabled: #e5e7eb;--color-background: #ffffff;--color-background-selected: #eff6ff;--color-background-hover-dark: #333333;--color-background-overlay-light: rgba(0, 0, 0, .3);--color-text-accent: #9a3412;--color-text-placeholder: #a3a3a3;--color-text-muted-dark: #737373;--color-text-primary-dark: #ffffff;--color-text-secondary-dark: #a3a3a3;--color-text-selected-dark: #dbeafe;--color-interactive-focus: rgba(249, 115, 22, .3);--color-interactive-primary-shadow: rgba(234, 88, 12, .25);--color-interactive-primary-alpha-40: rgba(234, 88, 12, .4);--color-interactive-primary-alpha-60: rgba(234, 88, 12, .6);--color-border-focus-shadow: rgba(249, 115, 22, .2);--color-border-primary: #e5e5e5;--color-border-secondary: #d4d4d4;--color-border-hover: #d4d4d4;--color-border-muted: #e5e5e5;--color-border-default-dark: #404040;--color-border-subtle-dark: #404040;--color-shadow-xs: rgba(0, 0, 0, .03);--color-bg-primary: #fafafa;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #e5e5e5;--color-focus-ring: rgba(249, 115, 22, .3);--color-focus-ring-primary: rgba(59, 130, 246, .1);--color-focus-ring-error: rgba(239, 68, 68, .1);--color-primary-main: #ea580c;--color-primary-light: #fb923c;--color-primary-dark: #c2410c;--color-primary-hover: #c2410c;--color-primary-background: #fff7ed;--color-primary-border: #fdba74;--color-primary-contrast: #ffffff;--color-primary-contrast-text: #ffffff;--color-primary-700: #c2410c;--color-primary-800: #9a3412;--color-primary-900: #7c2d12;--color-primary-alpha-10: rgba(234, 88, 12, .1);--color-button-primary-bg: var(--color-interactive-primary);--color-button-primary-text: var(--color-text-inverse);--color-button-primary-hover: var(--color-interactive-primary-hover);--color-button-secondary-bg: var(--color-interactive-secondary);--color-button-secondary-text: var(--color-text-primary);--color-button-secondary-hover: var(--color-interactive-secondary-hover);--color-button-tertiary-bg: transparent;--color-button-tertiary-text: var(--color-text-secondary);--color-button-tertiary-hover: var(--color-interactive-tertiary-hover);--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Mono", "Droid Sans Mono", monospace;--font-fam: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-h1: 2.25rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-heading-h2: 1.5rem;--font-size-body-base: 1rem;--font-size-body-small: .875rem;--font-size-body-medium: 1rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-semiBold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.025em;--line-height-snug: 1.375;--typography-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--typography-font-weight-bold: 700;--typography-font-weight-medium: 500;--typography-font-weight-semibold: 600;--typography-heading-h1-size: 2.25rem;--typography-heading-h1-line-height: 1.2;--typography-heading-h2-size: 1.5rem;--typography-heading-h2-line-height: 1.3;--typography-heading-h3-size: 1.25rem;--typography-heading-h3-line-height: 1.4;--typography-heading-h4-size: 1.125rem;--typography-body-large-size: 1.125rem;--typography-body-large-line-height: 1.6;--typography-body-base-size: 1rem;--typography-body-base-line-height: 1.5;--typography-body-small-size: .875rem;--typography-body-small-line-height: 1.4;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-xxs: .125rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--spacing-5xl: 5rem;--spacing-6xl: 6rem;--spacing-7xl: 8rem;--spacing-base-2: .5rem;--spacing-base-3: .75rem;--spacing-base-4: 1rem;--spacing-base-6: 1.5rem;--spacing-base-8: 2rem;--spacing-element-md: 1rem;--spacing-element-small: .5rem;--spacing-element-tiny: .25rem;--spacing-container-lg: 2rem;--spacing-container-large: 2rem;--spacing-section-small: 1rem;--spacing-section-medium: 2rem;--spacing-section-large: 3rem;--spacing-card-padding-large: 1.5rem;--spacing-grid-gap-large: 1.5rem;--spacing-flex-gap-small: .5rem;--spacing-flex-gap-medium: 1rem;--spacing-flex-gap-large: 1.5rem;--spacing-badge-padding: .25rem .5rem;--spacing-table-cell: .75rem;--spacing-text-small: .25rem;--spacing-text-xsmall: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--border-radius-sm: .25rem;--border-radius-lg: .5rem;--border-radius-xl: 1rem;--border-radius-full: 9999px;--spacing-border-radius-xl: 1rem;--spacing-border-radius-medium: .5rem;--spacing-border-radius-full: 9999px;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-5xl: 64rem;--container-6xl: 72rem;--container-7xl: 80rem;--color-gallery-header: #EB6144;--gallery-header-bg: #EB6144;--color-gallery-sidebar: #EB6144;--gallery-sidebar-bg: #EB6144;--color-gallery-content: #EDEDEF;--gallery-main-bg: #EDEDEF;--color-gallery-action-bar: #F0AEA4;--gallery-action-bar-bg: #F0AEA4;--color-gallery-actionbar: #F0AEA4;--color-gallery-actionbar-text: #4A2520;--color-gallery-actionbar-icon: #4A2520;--color-gallery-sidebar-text: #ffffff;--color-gallery-sidebar-text-secondary: rgba(255, 255, 255, .9);--color-gallery-button-primary-bg: rgba(255, 255, 255, .2);--color-gallery-button-primary-text: #ffffff;--color-gallery-button-primary-hover: rgba(255, 255, 255, .3);--color-gallery-button-secondary-bg: transparent;--color-gallery-button-secondary-text: #ffffff;--color-gallery-button-secondary-border: rgba(255, 255, 255, .7);--color-gallery-button-secondary-hover: rgba(255, 255, 255, .1);--color-gallery-sidebar-button-border: rgba(255, 255, 255, .5);--color-gallery-sidebar-button-hover-bg: rgba(255, 255, 255, .15);--color-gallery-header-button-border: rgba(255, 255, 255, .5);--color-gallery-header-button-hover-bg: rgba(255, 255, 255, .15);--gallery-sidebar-width: 280px;--gallery-header-height: 64px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--color-primary-50: #fff7ed;--color-primary-100: #ffedd5;--color-primary-200: #fed7aa;--color-primary-300: #fdba74;--color-primary-400: #fb923c;--color-primary-500: #f97316;--color-primary-600: #ea580c;--color-surface: #ffffff;--color-surface-secondary: #f8fafc;--color-surface-tertiary: #f1f5f9;--z-sticky: 10;--z-modal: 1050;--z-index-modal: 1000;--z-toast: 1000;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--radius-full: 9999px;--icon-size-sm: 16px;--icon-size-default: 20px;--icon-size-lg: 24px;--bar-height-desktop: 56px;--bar-height-mobile: 48px;--transition-duration-fast: .15s;--transition-duration-normal: .2s;--transition-duration-slow: .3s;--transition-timing-ease: ease-in-out;--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out}html[data-theme=dark]{--color-background-primary: #171717;--color-background-secondary: #262626;--color-background-tertiary: #404040;--color-background-inverse: #fafafa;--color-background-overlay: rgba(0, 0, 0, .7);--color-background-overlay-dark: rgba(0, 0, 0, .5);--color-background-card: #262626;--color-background-subtle: #171717;--color-background-paper: #262626;--color-background-hover: #333333;--color-background-muted: #404040;--color-text-primary: #fafafa;--color-text-secondary: #d4d4d4;--color-text-tertiary: #a3a3a3;--color-text-inverse: #171717;--color-text-disabled: #525252;--color-text-link: #fb923c;--color-text-link-hover: #fdba74;--color-text-subtle: #a3a3a3;--color-text-muted: #9CA3AF;--color-border-default: #404040;--color-border-light: #262626;--color-border-medium: #525252;--color-border-strong: #737373;--color-border-focus: #fb923c;--color-border-subtle: #404040;--color-border: #404040;--color-border-main: #404040;--color-brand-primary: #f97316;--color-brand-secondary: #fb923c;--color-brand-tertiary: #fdba74;--color-primary: #f97316;--color-interactive-primary: #f97316;--color-interactive-primary-hover: #fb923c;--color-interactive-primary-active: #fdba74;--color-interactive-primary-disabled: #404040;--color-interactive-secondary: #404040;--color-interactive-secondary-hover: #525252;--color-interactive-secondary-active: #737373;--color-interactive-tertiary: transparent;--color-interactive-tertiary-hover: #262626;--color-interactive-tertiary-active: #404040;--color-interactive-overlay: #404040;--color-interactive-hover: #262626;--color-shadow-sm: rgba(0, 0, 0, .2);--color-shadow-md: rgba(0, 0, 0, .3);--color-shadow-lg: rgba(0, 0, 0, .4);--color-shadow-xl: rgba(0, 0, 0, .5);--color-shadow-2xl: rgba(0, 0, 0, .6);--color-status-success: #4ade80;--color-status-success-bg: #052e16;--color-status-success-border: #166534;--color-status-success-text: #86efac;--color-status-success-hover: #22c55e;--color-status-warning: #fbbf24;--color-status-warning-bg: #451a03;--color-status-warning-border: #92400e;--color-status-warning-text: #fcd34d;--color-status-warning-code-bg: #78350f;--color-status-error: #f87171;--color-status-error-bg: #450a0a;--color-status-error-border: #991b1b;--color-status-error-text: #fca5a5;--color-status-error-hover: #ef4444;--color-status-info: #60a5fa;--color-status-info-bg: #172554;--color-status-info-border: #1e40af;--color-status-info-text: #93c5fd;--color-status-purple: #a855f7;--color-status-purple-hover: #9333ea;--color-status-warning-hover: #fbbf24;--color-status-warning-background: #451a03;--color-status-error-background: #450a0a;--color-status-error-background-dark: #450a0a;--color-status-error-dark: #f87171;--color-status-error-text-dark: #fca5a5;--color-status-warningBackgroundDark: rgba(251, 191, 36, .15);--color-status-warningBorderDark: rgba(251, 191, 36, .4);--color-action-delete-bg: #dc2626;--color-action-delete-text: #ffffff;--color-action-delete-hover-bg: var(--color-status-error-hover, #ef4444);--color-white: #ffffff;--color-white-alpha-90: rgba(255, 255, 255, .9);--color-white-alpha-80: rgba(255, 255, 255, .8);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-60: rgba(255, 255, 255, .6);--color-white-alpha-50: rgba(255, 255, 255, .5);--color-white-alpha-40: rgba(255, 255, 255, .4);--color-white-alpha-35: rgba(255, 255, 255, .35);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-05: rgba(255, 255, 255, .05);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-15: rgba(0, 0, 0, .15);--color-black-alpha-20: rgba(0, 0, 0, .2);--color-black-alpha-25: rgba(0, 0, 0, .25);--color-black-alpha-30: rgba(0, 0, 0, .3);--color-black-alpha-40: rgba(0, 0, 0, .4);--color-black-alpha-50: rgba(0, 0, 0, .5);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-80: rgba(0, 0, 0, .8);--color-black-alpha-90: rgba(0, 0, 0, .9);--color-black-alpha-95: rgba(0, 0, 0, .95);--color-blue-alpha-40: rgba(96, 165, 250, .4);--color-error: #f87171;--color-error-bg: #450a0a;--color-error-border: #991b1b;--color-error-text: #fca5a5;--color-error-100: #7f1d1d;--color-error-700: #fca5a5;--color-error-800: #fecaca;--color-error-background: #450a0a;--color-error-dark: #ef4444;--color-success: #4ade80;--color-success-bg: #052e16;--color-success-border: #166534;--color-success-text: #86efac;--color-success-100: #14532d;--color-success-dark: #22c55e;--color-success-background: #052e16;--color-warning: #fbbf24;--color-warning-bg: #451a03;--color-warning-border: #92400e;--color-warning-text: #fcd34d;--color-warning-background: #451a03;--color-info-bg: #172554;--color-info-border: #1e40af;--color-info-text: #93c5fd;--color-info: #60a5fa;--color-gray-100: #374151;--color-gray-300: #6b7280;--color-gray-700: #d1d5db;--color-background-disabled: #374151;--color-background: #262626;--color-background-selected: #1e3a5f;--color-background-hover-dark: #333333;--color-background-overlay-light: rgba(0, 0, 0, .5);--color-text-accent: #fb923c;--color-text-placeholder: #525252;--color-text-muted-dark: #a3a3a3;--color-text-primary-dark: #fafafa;--color-text-secondary-dark: #d4d4d4;--color-text-selected-dark: #93c5fd;--color-interactive-focus: rgba(251, 146, 60, .3);--color-interactive-primary-shadow: rgba(249, 115, 22, .35);--color-interactive-primary-alpha-40: rgba(249, 115, 22, .4);--color-interactive-primary-alpha-60: rgba(249, 115, 22, .6);--color-border-focus-shadow: rgba(251, 146, 60, .25);--color-border-primary: #404040;--color-border-secondary: #525252;--color-border-hover: #525252;--color-border-muted: #404040;--color-border-default-dark: #404040;--color-border-subtle-dark: #404040;--color-shadow-xs: rgba(0, 0, 0, .1);--color-bg-primary: #171717;--color-bg-secondary: #262626;--color-bg-tertiary: #404040;--color-focus-ring: rgba(251, 146, 60, .3);--color-focus-ring-primary: rgba(251, 146, 60, .4);--color-focus-ring-error: rgba(248, 113, 113, .4);--color-primary-main: #f97316;--color-primary-light: #fdba74;--color-primary-dark: #ea580c;--color-primary-hover: #fb923c;--color-primary-background: #451a03;--color-primary-border: #ca8a04;--color-primary-contrast: #171717;--color-primary-contrast-text: #171717;--color-primary-700: #fb923c;--color-primary-800: #fdba74;--color-primary-900: #fde68a;--color-primary-alpha-10: rgba(249, 115, 22, .1);--color-button-primary-bg: var(--color-interactive-primary);--color-button-primary-text: var(--color-text-inverse);--color-button-primary-hover: var(--color-interactive-primary-hover);--color-button-secondary-bg: var(--color-interactive-secondary);--color-button-secondary-text: var(--color-text-primary);--color-button-secondary-hover: var(--color-interactive-secondary-hover);--color-button-tertiary-bg: transparent;--color-button-tertiary-text: var(--color-text-secondary);--color-button-tertiary-hover: var(--color-interactive-tertiary-hover);--color-gallery-header: #212836;--gallery-header-bg: #212836;--color-gallery-sidebar: #212836;--gallery-sidebar-bg: #212836;--color-gallery-content: #5F5F5F;--gallery-main-bg: #5F5F5F;--color-gallery-action-bar: #40434A;--gallery-action-bar-bg: #40434A;--color-gallery-actionbar: #3A4A5C;--color-gallery-actionbar-text: #fafafa;--color-gallery-actionbar-icon: #fafafa;--color-gallery-sidebar-text: #fafafa;--color-gallery-sidebar-text-secondary: #d4d4d4;--color-gallery-button-primary-bg: rgba(255, 255, 255, .15);--color-gallery-button-primary-text: #fafafa;--color-gallery-button-primary-hover: rgba(255, 255, 255, .25);--color-gallery-button-secondary-bg: transparent;--color-gallery-button-secondary-text: #fafafa;--color-gallery-button-secondary-border: rgba(255, 255, 255, .5);--color-gallery-button-secondary-hover: rgba(255, 255, 255, .1);--color-gallery-sidebar-button-border: rgba(255, 255, 255, .4);--color-gallery-sidebar-button-hover-bg: rgba(255, 255, 255, .1);--color-gallery-header-button-border: rgba(255, 255, 255, .4);--color-gallery-header-button-hover-bg: rgba(255, 255, 255, .1);--color-primary-50: #451a03;--color-primary-100: #78350f;--color-primary-200: #92400e;--color-primary-300: #a16207;--color-primary-400: #ca8a04;--color-primary-500: #eab308;--color-primary-600: #f59e0b;--color-surface: #262626;--color-surface-secondary: #374151;--color-surface-tertiary: #4b5563;--color-viewer-header-bg: var(--color-gallery-actionbar);--color-viewer-main-bg: var(--color-gallery-content);--color-viewer-footer-bg: var(--color-gallery-actionbar);--color-viewer-canvas-bg: var(--color-gallery-content);--color-viewer-nav-bg: rgba(0, 0, 0, .6);--color-viewer-nav-bg-hover: rgba(0, 0, 0, .8);--color-viewer-nav-icon: #ffffff;--pv-header-bg: rgba(0, 0, 0, .85);--pv-footer-bg: rgba(0, 0, 0, .85);--pv-slider-bg: rgba(0, 0, 0, .85);--pv-canvas-bg: #1a1a1a;--pv-page-bg: #0a0a0a;--pv-accent: #f97316;--pv-accent-hover: #ea580c;--pv-accent-glow: rgba(249, 115, 22, .3);--pv-text-primary: #ffffff;--pv-text-secondary: rgba(255, 255, 255, .7);--pv-text-tertiary: rgba(255, 255, 255, .4);--pv-border-color: rgba(255, 255, 255, .08);--pv-btn-bg: rgba(255, 255, 255, .08);--pv-btn-bg-hover: rgba(255, 255, 255, .15);--pv-btn-bg-active: rgba(255, 255, 255, .2);--pv-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--pv-title-size: 14px;--pv-title-weight: 600;--pv-title-tracking: .01em;--pv-caption-size: 12px;--pv-caption-weight: 400;--pv-footer-text-size: 11px;--pv-folder-heading-size: 18px;--pv-folder-heading-weight: 700;--pv-folder-heading-tracking: -.01em;--pv-body-size: 14px;--pv-body-line-height: 1.6;--pv-header-height-mobile: 48px;--pv-header-height-desktop: 56px;--pv-footer-height-mobile: 48px;--pv-footer-height-desktop: 56px;--pv-header-padding: 8px 16px;--pv-btn-gap: 8px;--pv-slider-padding: 8px 16px;--pv-slider-gap: 8px;--pv-thumb-width: 72px;--pv-thumb-height: 54px;--pv-thumb-width-mobile: 56px;--pv-thumb-height-mobile: 42px;--pv-radius-sm: 6px;--pv-radius-md: 8px;--pv-blur: blur(12px);--pv-transition-fast: .15s ease;--pv-transition-normal: .2s ease;--pv-transition-slow: .3s ease-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif);font-size:var(--font-size-base, 1rem);line-height:var(--line-height-normal, 1.5);color:var(--color-text-primary, #171717);background-color:var(--color-background-primary, #fafafa);min-height:100vh}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-border-focus, #f97316);outline-offset:2px}[class*=rootFolderButton]:focus,[class*=rootFolderButton]:focus-visible,[class*=addFolderButton]:focus,[class*=addFolderButton]:focus-visible,[class*=sidebarItem]:focus,[class*=sidebarItem]:focus-visible,[class*=sidebarSectionHeader]:focus,[class*=sidebarSectionHeader]:focus-visible{outline:none!important;border:none!important;box-shadow:inset 0 0 0 2px var(--color-white-alpha-30)!important}aside button:focus,aside button:focus-visible,nav button:focus,nav button:focus-visible,[data-testid*=sidebar] button:focus,[data-testid*=sidebar] button:focus-visible{outline:none!important}.gallery-sidebar-item:focus,.gallery-sidebar-item:focus-visible,.folder-item:focus,.folder-item:focus-visible{outline:none!important}.sidebar button:focus,.sidebar button:focus-visible{outline:none!important;box-shadow:inset 0 0 0 2px var(--color-white-alpha-30)!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-background-secondary, #f5f5f5)}::-webkit-scrollbar-thumb{background:var(--color-border-medium, #d4d4d4);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong, #a3a3a3)}::-moz-selection{background-color:var(--color-interactive-primary, #ea580c);color:var(--color-text-inverse, #fafafa)}::selection{background-color:var(--color-interactive-primary, #ea580c);color:var(--color-text-inverse, #fafafa)}button{font-family:inherit;font-size:inherit;line-height:inherit}a{color:var(--color-text-link, #ea580c);text-decoration:none}a:hover{color:var(--color-text-link-hover, #c2410c);text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-sans);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug, 1.375);color:var(--color-text-primary)}h1{font-size:var(--typography-heading-h1-size, 2.25rem);line-height:var(--typography-heading-h1-line-height, 1.2)}h2{font-size:var(--typography-heading-h2-size, 1.5rem);line-height:var(--typography-heading-h2-line-height, 1.3)}h3{font-size:var(--typography-heading-h3-size, 1.25rem);line-height:var(--typography-heading-h3-line-height, 1.4)}h4{font-size:var(--typography-heading-h4-size, 1.125rem)}h5{font-size:var(--typography-body-base-size, 1rem)}h6{font-size:var(--typography-body-small-size, .875rem)}p{font-size:var(--typography-body-base-size, 1rem);line-height:var(--typography-body-base-line-height, 1.5);color:var(--color-text-primary)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:var(--typography-body-small-size, .875rem);line-height:var(--typography-body-small-line-height, 1.4)}.text-base{font-size:var(--typography-body-base-size, 1rem);line-height:var(--typography-body-base-line-height, 1.5)}.text-lg{font-size:var(--typography-body-large-size, 1.125rem);line-height:var(--typography-body-large-line-height, 1.6)}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:var(--font-size-3xl, 1.875rem);line-height:2.25rem}.text-4xl{font-size:var(--font-size-4xl, 2.25rem);line-height:2.5rem}.text-5xl{font-size:var(--font-size-5xl, 3rem);line-height:1}.font-normal{font-weight:var(--font-weight-normal, 400)}.font-medium{font-weight:var(--font-weight-medium, 500)}.font-semibold{font-weight:var(--font-weight-semibold, 600)}.font-bold{font-weight:var(--font-weight-bold, 700)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-text-accent)}.text-success{color:var(--color-status-success)}.text-warning{color:var(--color-status-warning)}.text-error{color:var(--color-status-error)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.underline{text-decoration:underline}.no-underline{text-decoration:none}.line-through{text-decoration:line-through}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{word-wrap:break-word;overflow-wrap:break-word}.break-all{word-break:break-all}.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}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.hidden{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.h-full{height:100%}.min-w-0{min-width:0}.min-h-0{min-height:0}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:var(--transition-timing-ease);transition-duration:var(--transition-duration-normal)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--transition-timing-ease);transition-duration:var(--transition-duration-normal)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--transition-timing-ease);transition-duration:var(--transition-duration-normal)}.transition-transform{transition-property:transform;transition-timing-function:var(--transition-timing-ease);transition-duration:var(--transition-duration-normal)}.duration-fast{transition-duration:var(--transition-duration-fast)}.duration-normal{transition-duration:var(--transition-duration-normal)}.duration-slow{transition-duration:var(--transition-duration-slow)}.border{border-width:1px;border-style:solid;border-color:var(--color-border-default)}.border-0{border-width:0}.border-2{border-width:2px}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-full{border-radius:var(--border-radius-full)}.shadow-sm{box-shadow:0 1px 2px 0 var(--color-shadow-sm)}.shadow{box-shadow:0 1px 3px 0 var(--color-shadow-md),0 1px 2px -1px var(--color-shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px var(--color-shadow-md),0 2px 4px -2px var(--color-shadow-sm)}.shadow-lg{box-shadow:0 10px 15px -3px var(--color-shadow-lg),0 4px 6px -4px var(--color-shadow-md)}.shadow-xl{box-shadow:0 20px 25px -5px var(--color-shadow-xl),0 8px 10px -6px var(--color-shadow-lg)}.shadow-none{box-shadow:none}.bg-primary{background-color:var(--color-background-primary)}.bg-secondary{background-color:var(--color-background-secondary)}.bg-tertiary{background-color:var(--color-background-tertiary)}.bg-transparent{background-color:transparent}.alert{border-radius:var(--border-radius-lg);padding:var(--spacing-4);border-width:1px;border-style:solid;display:flex;align-items:flex-start;gap:var(--spacing-3);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.alert-info{background-color:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.alert-success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.alert-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.alert-error{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.alert-icon-container{display:flex;align-items:flex-start;justify-content:center;flex-shrink:0;width:20px;height:20px;font-size:16px}.alert-content-container{flex:1;min-width:0}.alert-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.alert-content{font-size:var(--font-size-base)}.alert-close-button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-sm);font-size:14px;color:currentColor;opacity:.7;transition:opacity var(--transition-normal);flex-shrink:0;padding:0}.alert-close-button:hover{opacity:1}.alert-close-button:focus{outline:2px solid currentColor;outline-offset:2px}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-base);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-full);border:1px solid transparent;white-space:nowrap;gap:var(--spacing-1)}.badge-xs{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);height:18px}.badge-sm{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3);height:22px}.badge-md{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-4);height:26px}.badge-default{background-color:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.badge-primary{background-color:var(--color-primary);color:var(--color-white)}.badge-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error-text)}.badge-dot{width:8px;height:8px;border-radius:50%;padding:0;min-width:8px}.badge-icon{display:flex;align-items:center;justify-content:center}.badge-xs .badge-icon{width:10px;height:10px}.badge-sm .badge-icon{width:12px;height:12px}.badge-md .badge-icon{width:14px;height:14px}.badge-content{display:inline-block}.badge-remove-button{display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:50%;color:currentColor;opacity:.7;transition:opacity var(--transition-normal);margin-left:var(--spacing-1);padding:0}.badge-xs .badge-remove-button{width:10px;height:10px;font-size:8px}.badge-sm .badge-remove-button{width:12px;height:12px;font-size:10px}.badge-md .badge-remove-button{width:14px;height:14px;font-size:10px}.badge-remove-button:hover{opacity:1}.badge-remove-button:focus{outline:2px solid currentColor;outline-offset:2px}.button{font-family:var(--font-family-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:var(--spacing-xs)}.button-xs{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);height:var(--spacing-2xl);min-width:var(--spacing-4xl)}.button-sm{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);height:var(--spacing-3xl);min-width:var(--spacing-5xl)}.button-md{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);height:var(--spacing-4xl);min-width:var(--spacing-6xl)}.button-lg{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-xl);height:var(--spacing-5xl);min-width:var(--spacing-7xl)}.button-primary{background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-color:var(--color-interactive-primary)}.button-primary:hover:not(:disabled){background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}.button-primary:active:not(:disabled){background-color:var(--color-interactive-primary-active);border-color:var(--color-interactive-primary-active)}.button-secondary{background-color:var(--color-interactive-secondary);color:var(--color-text-primary);border-color:var(--color-border-default)}.button-secondary:hover:not(:disabled){background-color:var(--color-interactive-secondary-hover);border-color:var(--color-border-medium)}.button-secondary:active:not(:disabled){background-color:var(--color-interactive-secondary-active);border-color:var(--color-border-strong)}.button-tertiary{background-color:var(--color-interactive-tertiary);color:var(--color-text-primary);border-color:transparent}.button-tertiary:hover:not(:disabled){background-color:var(--color-interactive-tertiary-hover)}.button-tertiary:active:not(:disabled){background-color:var(--color-interactive-tertiary-active)}.button-danger{background-color:var(--color-status-error);color:var(--color-text-inverse);border-color:var(--color-status-error)}.button-danger:hover:not(:disabled){background-color:var(--color-error-700);border-color:var(--color-error-700)}.button-danger:active:not(:disabled){background-color:var(--color-error-800);border-color:var(--color-error-800)}.button-disabled{background-color:var(--color-text-disabled);border-color:var(--color-text-disabled);color:var(--color-text-inverse);cursor:not-allowed;opacity:.6}.button-full-width{width:100%}.button-left-icon,.button-right-icon{display:inline-flex;align-items:center;justify-content:center}.button-text{display:inline-flex;align-items:center}.button-spinner{border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:button-spin 1s linear infinite}.button-spinner-xs{width:12px;height:12px}.button-spinner-sm{width:14px;height:14px}.button-spinner-md{width:16px;height:16px}.button-spinner-lg{width:18px;height:18px}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button:focus-visible{outline:2px solid var(--color-interactive-primary);outline-offset:2px}.card{background-color:var(--color-background-primary);border:1px solid var(--color-border-default);border-radius:var(--border-radius-lg);transition:all var(--transition-duration-fast) var(--transition-timing-ease)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--spacing-sm)}.card-padding-md{padding:var(--spacing-md)}.card-padding-lg{padding:var(--spacing-lg)}.card-padding-xl{padding:var(--spacing-xl)}.card-shadow-none{box-shadow:none}.card-shadow-sm{box-shadow:var(--shadow-sm)}.card-shadow-md{box-shadow:var(--shadow-md)}.card-shadow-lg{box-shadow:var(--shadow-lg)}.card-shadow-xl{box-shadow:var(--shadow-xl)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-medium)}.card-clickable:active{box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.card-clickable:focus-visible{outline:2px solid var(--color-interactive-primary);outline-offset:2px}.category-select-container{position:relative;width:100%}.category-select-container-disabled{opacity:.6;cursor:not-allowed}.category-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-element-xs) var(--spacing-element-sm);min-height:var(--spacing-element-base);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);background-color:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-trigger:hover{border-color:var(--color-border-hover);background-color:var(--color-background-hover)}.category-select-trigger:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-color:var(--color-primary-500)}.category-select-trigger:disabled{background-color:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed}.category-select-trigger-open{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.category-select-trigger-compact{padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);min-height:calc(var(--spacing-element-base) * .75);font-size:var(--font-size-xs)}.category-select-container-error .category-select-trigger{border-color:var(--color-status-error-border)}.category-select-container-error .category-select-trigger:focus,.category-select-container-error .category-select-trigger-open{border-color:var(--color-status-error-border);box-shadow:0 0 0 3px var(--color-status-error-bg)}.category-select-trigger-content{flex:1;display:flex;align-items:center;min-width:0}.category-select-selected-category{display:flex;align-items:center;gap:var(--spacing-element-xs);min-width:0}.category-select-category-color{width:12px;height:12px;border-radius:50%;border:1px solid var(--color-border-light);flex-shrink:0}.category-select-category-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-select-placeholder{color:var(--color-text-placeholder);font-style:italic}.category-select-chevron-icon{width:16px;height:16px;color:var(--color-text-secondary);transition:transform var(--transition-duration-fast) var(--transition-timing-ease);flex-shrink:0}.category-select-trigger-open .category-select-chevron-icon{transform:rotate(180deg)}.category-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:calc(var(--spacing-element-xs) * .5);background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);max-height:300px;overflow:hidden;animation:category-select-dropdown-slide-in var(--transition-duration-fast) var(--transition-timing-ease)}@keyframes category-select-dropdown-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.category-select-category-list{max-height:200px;overflow-y:auto}.category-select-category-option{display:flex;align-items:center;gap:var(--spacing-element-xs);width:100%;padding:var(--spacing-element-xs) var(--spacing-element-sm);text-align:left;background:none;border:none;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-category-option:hover{background-color:var(--color-background-hover)}.category-select-category-option:focus{outline:2px solid var(--color-primary-500);outline-offset:-2px;background-color:var(--color-primary-50)}.category-select-category-option-selected{background-color:var(--color-primary-50);color:var(--color-primary-700)}.category-select-preset-badge{margin-left:auto;padding:calc(var(--spacing-element-xs) * .25) calc(var(--spacing-element-xs) * .5);background-color:var(--color-background-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);border-radius:var(--border-radius-sm)}.category-select-create-section{border-top:1px solid var(--color-border-light);padding:var(--spacing-element-xs)}.category-select-create-button{display:flex;align-items:center;gap:var(--spacing-element-xs);width:100%;padding:var(--spacing-element-xs);background:none;border:1px dashed var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-create-button:hover{border-color:var(--color-primary-500);color:var(--color-primary-600);background-color:var(--color-primary-50)}.category-select-create-button:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.category-select-create-button:disabled{opacity:.5;cursor:not-allowed}.category-select-create-icon{width:16px;height:16px}.category-select-create-form{display:flex;flex-direction:column;gap:var(--spacing-element-xs)}.category-select-create-input-group{display:flex;gap:var(--spacing-element-xs)}.category-select-create-input{flex:1;padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);background-color:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);outline:none;transition:border-color var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-create-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.category-select-create-input:disabled{background-color:var(--color-background-disabled);color:var(--color-text-disabled)}.category-select-color-input{width:40px;height:32px;padding:2px;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);background-color:var(--color-background-primary);cursor:pointer}.category-select-color-input:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.category-select-color-input:disabled{opacity:.5;cursor:not-allowed}.category-select-create-actions{display:flex;gap:var(--spacing-element-xs)}.category-select-create-confirm-button{flex:1;display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background-color:var(--color-primary-500);color:var(--color-primary-contrast);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-create-confirm-button:hover:not(:disabled){background-color:var(--color-primary-600)}.category-select-create-confirm-button:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.category-select-create-confirm-button:disabled{background-color:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed}.category-select-create-cancel-button{padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background:none;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease)}.category-select-create-cancel-button:hover:not(:disabled){background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.category-select-create-cancel-button:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.category-select-create-cancel-button:disabled{opacity:.5;cursor:not-allowed}.category-select-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:category-select-spin 1s linear infinite}@keyframes category-select-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.category-select-error-message{margin-top:calc(var(--spacing-element-xs) * .5);padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background-color:var(--color-status-error-bg);color:var(--color-status-error-text);border:1px solid var(--color-status-error-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.custom-field-editor-container{display:flex;flex-direction:column;gap:var(--spacing-section-medium, 1.5rem);width:100%}.custom-field-editor-container-compact{gap:var(--spacing-element-base, .5rem)}.custom-field-editor-container-disabled{opacity:.6;pointer-events:none}.custom-field-editor-fields-list{display:flex;flex-direction:column;gap:var(--spacing-section-medium, 1.5rem)}.custom-field-editor-field-item{display:flex;flex-direction:column;gap:var(--spacing-element-base, .5rem);padding:var(--spacing-container-padding, 1rem);background-color:var(--color-background-secondary, var(--color-background-secondary));border-radius:8px;border:1px solid var(--color-border-default, var(--color-border-default));transition:all .2s ease}.custom-field-editor-field-item:hover{background-color:var(--color-interactive-hover, var(--color-background-secondary));border-color:var(--color-interactive-primary, var(--color-primary-main))}.custom-field-editor-field-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-element-base, .5rem)}.custom-field-editor-field-info{display:flex;align-items:center;gap:var(--spacing-element-base, .5rem);flex:1}.custom-field-editor-field-name{font-size:var(--typography-body-base-fontSize, 1rem);font-weight:600;color:var(--color-text-primary, var(--color-text-primary));display:flex;align-items:center;gap:.25rem}.custom-field-editor-required-mark{color:var(--color-status-error, var(--color-status-error));font-weight:700}.custom-field-editor-field-type{font-size:.875rem;color:var(--color-text-secondary, var(--color-text-secondary));font-style:italic}.custom-field-editor-delete-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, var(--color-text-secondary));transition:all .2s ease}.custom-field-editor-delete-button:hover{background-color:var(--color-status-error, var(--color-status-error));color:var(--color-text-inverse, var(--color-background-primary))}.custom-field-editor-delete-button:disabled{opacity:.5;cursor:not-allowed}.custom-field-editor-delete-icon{width:1rem;height:1rem}.custom-field-editor-field-input{width:100%}.custom-field-editor-number-input,.custom-field-editor-date-input{width:100%;padding:var(--spacing-element-base, .5rem);border:1px solid var(--color-border-default, var(--color-border-default));border-radius:4px;font-size:var(--typography-body-base-fontSize, 1rem);background-color:var(--color-background-primary, var(--color-background-primary));color:var(--color-text-primary, var(--color-text-primary));transition:all .2s ease}.custom-field-editor-number-input:focus,.custom-field-editor-date-input:focus{outline:none;border-color:var(--color-interactive-primary, var(--color-primary-main));box-shadow:var(--shadow-focus, 0 0 0 2px var(--color-primary-background))}.custom-field-editor-number-input-compact,.custom-field-editor-date-input-compact{padding:calc(var(--spacing-element-base, .5rem) * .75);font-size:.875rem}.custom-field-editor-number-input-error,.custom-field-editor-date-input-error{border-color:var(--color-status-error, var(--color-status-error));box-shadow:0 0 0 2px var(--color-status-error-background)}.custom-field-editor-date-input-container{position:relative;display:flex;align-items:center}.custom-field-editor-date-icon{position:absolute;right:var(--spacing-element-base, .5rem);width:1rem;height:1rem;color:var(--color-text-secondary, var(--color-text-secondary));pointer-events:none}.custom-field-editor-unsupported-field{padding:var(--spacing-element-base, .5rem);background-color:var(--color-status-warningBackgroundDark, rgba(245, 158, 11, .1));border:1px solid var(--color-status-warningBorderDark, rgba(245, 158, 11, .3));border-radius:4px;color:var(--color-status-warning, #f59e0b);font-size:.875rem;text-align:center}.custom-field-editor-field-error,.custom-field-editor-create-error,.custom-field-editor-global-error{padding:var(--spacing-element-base, .5rem);background-color:var(--color-status-error-background);border:1px solid var(--color-status-error-border);border-radius:4px;color:var(--color-status-error, var(--color-status-error));font-size:.875rem}.custom-field-editor-global-error{margin-top:var(--spacing-element-base, .5rem)}.custom-field-editor-create-section{border-top:1px solid var(--color-border-default, var(--color-border-default));padding-top:var(--spacing-section-medium, 1.5rem)}.custom-field-editor-create-button{display:flex;align-items:center;gap:var(--spacing-element-base, .5rem);padding:var(--spacing-element-base, .5rem) var(--spacing-container-padding, 1rem);background-color:var(--color-interactive-primary, var(--color-primary-main));color:var(--color-text-inverse, var(--color-background-primary));border:none;border-radius:6px;font-size:var(--typography-body-base-fontSize, 1rem);font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.custom-field-editor-create-button:hover{background-color:var(--color-primary-main);transform:translateY(-1px);box-shadow:var(--shadow-contextMenu, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06))}.custom-field-editor-create-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.custom-field-editor-create-icon{width:1.25rem;height:1.25rem}.custom-field-editor-create-form{display:flex;flex-direction:column;gap:var(--spacing-section-medium, 1.5rem);padding:var(--spacing-container-padding, 1rem);background-color:var(--color-background-tertiary, #f3f4f6);border-radius:8px;border:1px solid var(--color-border-default, var(--color-border-default))}.custom-field-editor-create-input-group{display:flex;flex-direction:column;gap:calc(var(--spacing-element-base, .5rem) * .5)}.custom-field-editor-create-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary, var(--color-text-primary))}.custom-field-editor-create-input,.custom-field-editor-create-select{padding:var(--spacing-element-base, .5rem);border:1px solid var(--color-border-default, var(--color-border-default));border-radius:4px;font-size:var(--typography-body-base-fontSize, 1rem);background-color:var(--color-background-primary, var(--color-background-primary));color:var(--color-text-primary, var(--color-text-primary));transition:all .2s ease}.custom-field-editor-create-input:focus,.custom-field-editor-create-select:focus{outline:none;border-color:var(--color-interactive-primary, var(--color-primary-main));box-shadow:var(--shadow-focus, 0 0 0 2px var(--color-primary-background))}.custom-field-editor-create-input-error{border-color:var(--color-status-error, var(--color-status-error));box-shadow:0 0 0 2px var(--color-status-error-background)}.custom-field-editor-create-checkbox-group{display:flex;align-items:center;gap:var(--spacing-element-base, .5rem)}.custom-field-editor-create-checkbox-label{display:flex;align-items:center;gap:calc(var(--spacing-element-base, .5rem) * .5);font-size:.875rem;color:var(--color-text-primary, var(--color-text-primary));cursor:pointer}.custom-field-editor-create-checkbox{width:1rem;height:1rem;accent-color:var(--color-interactive-primary, var(--color-primary-main))}.custom-field-editor-create-actions{display:flex;gap:var(--spacing-element-base, .5rem);justify-content:flex-end}.custom-field-editor-create-confirm-button,.custom-field-editor-create-cancel-button{padding:calc(var(--spacing-element-base, .5rem) * .75) var(--spacing-container-padding, 1rem);border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:4rem}.custom-field-editor-create-confirm-button{background-color:var(--color-interactive-primary, var(--color-primary-main));color:var(--color-text-inverse, var(--color-background-primary))}.custom-field-editor-create-confirm-button:hover:not(:disabled){background-color:var(--color-primary-main)}.custom-field-editor-create-confirm-button:disabled{opacity:.6;cursor:not-allowed}.custom-field-editor-create-cancel-button{background-color:var(--color-background-secondary, var(--color-background-secondary));color:var(--color-text-primary, var(--color-text-primary));border:1px solid var(--color-border-default, var(--color-border-default))}.custom-field-editor-create-cancel-button:hover:not(:disabled){background-color:var(--color-interactive-hover, var(--color-background-secondary));border-color:var(--color-text-secondary, var(--color-text-secondary))}.custom-field-editor-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:custom-field-editor-spin 1s linear infinite}@keyframes custom-field-editor-spin{to{transform:rotate(360deg)}}.custom-field-editor-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-element-base, .5rem);padding:calc(var(--spacing-section-medium, 1.5rem) * 2);text-align:center}.custom-field-editor-empty-message{font-size:var(--typography-body-base-fontSize, 1rem);color:var(--color-text-secondary, var(--color-text-secondary));margin:0}.custom-field-editor-empty-hint{font-size:.875rem;color:var(--color-text-muted, #64748b);margin:0}.favorite-button{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-sm);transition:all .2s ease-in-out;outline:none}.favorite-button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.favorite-button:hover:not(.favorite-button-disabled):not(.favorite-button-loading){background-color:var(--color-bg-secondary);transform:scale(1.05)}.favorite-button:active:not(.favorite-button-disabled):not(.favorite-button-loading){transform:scale(.95)}.favorite-button-small{padding:var(--spacing-element-xs);min-width:24px;min-height:24px}.favorite-button-medium{padding:var(--spacing-element-sm);min-width:32px;min-height:32px}.favorite-button-large{padding:var(--spacing-element-base);min-width:40px;min-height:40px}.favorite-button-favorited .favorite-button-icon{color:var(--color-status-error);animation:favorite-button-heartbeat .3s ease-in-out}.favorite-button-favorited:hover:not(.favorite-button-disabled):not(.favorite-button-loading) .favorite-button-icon{color:var(--color-status-error);filter:brightness(1.1)}.favorite-button-icon{color:var(--color-text-secondary);transition:color .2s ease-in-out}.favorite-button:hover:not(.favorite-button-disabled):not(.favorite-button-loading) .favorite-button-icon{color:var(--color-status-error)}.favorite-button-loading{cursor:wait}.favorite-button-loading .favorite-button-icon{opacity:.6}.favorite-button-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.favorite-button-loading-indicator .favorite-button-icon{animation:favorite-button-spin 1s linear infinite;color:var(--color-brand-primary)}.favorite-button-disabled{cursor:not-allowed;opacity:.5}.favorite-button-disabled .favorite-button-icon{color:var(--color-text-muted)}@keyframes favorite-button-heartbeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes favorite-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .favorite-button:hover:not(.favorite-button-disabled):not(.favorite-button-loading){background-color:var(--color-bg-tertiary)}[data-theme=dark] .favorite-button-favorited .favorite-button-icon{color:var(--color-status-error)}[data-theme=dark] .favorite-button-icon{color:var(--color-text-secondary)}[data-theme=dark] .favorite-button:hover:not(.favorite-button-disabled):not(.favorite-button-loading) .favorite-button-icon{color:var(--color-status-error)}[data-theme=dark] .favorite-button-disabled .favorite-button-icon{color:var(--color-text-muted)}@media (prefers-contrast: high){.favorite-button{border:1px solid var(--color-text-secondary)}.favorite-button-favorited{border-color:var(--color-status-error);background-color:var(--color-status-error)}.favorite-button-favorited .favorite-button-icon{color:var(--color-bg-primary)}}@media (prefers-reduced-motion: reduce){.favorite-button,.favorite-button-icon,.favorite-button-loading-indicator .favorite-button-icon{animation:none;transition:none}.favorite-button:hover:not(.favorite-button-disabled):not(.favorite-button-loading){transform:none}.favorite-button:active:not(.favorite-button-disabled):not(.favorite-button-loading){transform:none}}.inline-editor-container{position:relative;width:100%;min-height:var(--spacing-element-base)}.inline-editor-container-compact{min-height:calc(var(--spacing-element-base) * .75)}.inline-editor-container-editing{z-index:10}.inline-editor-container-disabled{opacity:.6;cursor:not-allowed}.inline-editor-display{padding:var(--spacing-element-xs) var(--spacing-element-sm);min-height:var(--spacing-element-base);border:1px solid transparent;border-radius:var(--border-radius-sm);background-color:transparent;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease);display:flex;align-items:center;word-break:break-word}.inline-editor-display:hover{background-color:var(--color-background-hover);border-color:var(--color-border-light)}.inline-editor-display:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;background-color:var(--color-background-hover)}.inline-editor-display-compact{padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);min-height:calc(var(--spacing-element-base) * .75);font-size:var(--font-size-xs)}.inline-editor-display-empty{color:var(--color-text-secondary);font-style:italic}.inline-editor-placeholder{color:var(--color-text-placeholder);font-style:italic}.inline-editor-edit-container{position:relative;width:100%}.inline-editor-input{width:100%;padding:var(--spacing-element-xs) var(--spacing-element-sm);min-height:var(--spacing-element-base);border:2px solid var(--color-primary-500);border-radius:var(--border-radius-sm);background-color:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);outline:none;transition:border-color var(--transition-duration-fast) var(--transition-timing-ease);resize:none}.inline-editor-input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-100)}.inline-editor-input:disabled{background-color:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed}.inline-editor-input-compact{padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);min-height:calc(var(--spacing-element-base) * .75);font-size:var(--font-size-xs)}.inline-editor-input-multiline{resize:vertical;overflow-y:auto}.inline-editor-saving-indicator{position:absolute;top:50%;right:var(--spacing-element-sm);transform:translateY(-50%);display:flex;align-items:center;gap:var(--spacing-element-xs);background-color:var(--color-background-primary);padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);z-index:20}.inline-editor-spinner{width:12px;height:12px;border:2px solid var(--color-border-light);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:inline-editor-spin 1s linear infinite}.inline-editor-saving-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.inline-editor-error-message{margin-top:calc(var(--spacing-element-xs) * .5);padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background-color:var(--color-status-error-bg);color:var(--color-status-error-text);border:1px solid var(--color-status-error-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.inline-editor-container-error .inline-editor-input{border-color:var(--color-status-error-border)}.inline-editor-container-error .inline-editor-input:focus{border-color:var(--color-status-error-border);box-shadow:0 0 0 3px var(--color-status-error-bg)}@keyframes inline-editor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes inline-editor-focus-pulse{0%,to{box-shadow:0 0 0 2px var(--color-primary-500)}50%{box-shadow:0 0 0 4px var(--color-primary-300)}}@media (prefers-reduced-motion: no-preference){.inline-editor-display:focus{animation:inline-editor-focus-pulse 2s ease-in-out infinite}}.input-container{display:flex;flex-direction:column}.input-container-full-width{width:100%}.input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.input-label-required{color:var(--color-status-error);margin-left:var(--spacing-xs)}.input-wrapper{position:relative;display:flex;align-items:center}.input{font-family:var(--font-family-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);transition:all var(--transition-duration-fast) var(--transition-timing-ease);outline:none;width:100%}.input-xs{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);height:var(--spacing-2xl)}.input-sm{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);height:var(--spacing-3xl)}.input-md{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);height:var(--spacing-4xl)}.input-lg{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-xl);height:var(--spacing-5xl)}.input-default{border-color:var(--color-border-default)}.input-default:hover:not(:disabled){border-color:var(--color-border-medium)}.input-default:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-border-focus-shadow)}.input-error{border-color:var(--color-status-error)}.input-error:focus{border-color:var(--color-status-error);box-shadow:0 0 0 2px var(--color-error-100)}.input-success{border-color:var(--color-status-success)}.input-success:focus{border-color:var(--color-status-success);box-shadow:0 0 0 2px var(--color-success-100)}.input-disabled{background-color:var(--color-background-secondary);color:var(--color-text-disabled);border-color:var(--color-border-light);cursor:not-allowed}.input-with-left-icon{padding-left:var(--spacing-3xl)}.input-with-right-icon{padding-right:var(--spacing-3xl)}.input-left-icon,.input-right-icon{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);pointer-events:none}.input-left-icon{left:var(--spacing-md)}.input-right-icon{right:var(--spacing-md)}.input-error-message{font-size:var(--font-size-sm);color:var(--color-status-error);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.input-help-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.loading-spinner-container{display:flex;align-items:center;justify-content:center}.loading-spinner{border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spinner-spin 1s linear infinite}.loading-spinner-small{width:var(--icon-size-sm);height:var(--icon-size-sm)}.loading-spinner-medium{width:var(--icon-size-lg);height:var(--icon-size-lg)}.loading-spinner-large{width:var(--icon-size-xl);height:var(--icon-size-xl)}@keyframes loading-spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.session-timeout-modal-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px)}.session-timeout-modal{background-color:var(--color-background-primary);border-radius:var(--border-radius-xl);padding:var(--spacing-8);max-width:500px;width:90%;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-subtle);animation:session-timeout-modal-slide-in var(--transition-slow) ease-out}.session-timeout-modal-header{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.session-timeout-modal-icon{font-size:3rem;animation:session-timeout-modal-pulse 2s infinite}.session-timeout-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-family:var(--font-family-sans);margin:0}.session-timeout-modal-content{margin-bottom:var(--spacing-6)}.session-timeout-modal-message{font-size:var(--font-size-base);color:var(--color-text-secondary);font-family:var(--font-family-sans);line-height:1.6;margin-bottom:var(--spacing-4)}.session-timeout-modal-countdown{display:flex;align-items:center;justify-content:center;padding:var(--spacing-6);background-color:var(--color-background-secondary);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-4)}.session-timeout-modal-countdown-text{font-size:3rem;font-weight:var(--font-weight-bold);color:var(--color-primary);font-family:var(--font-family-mono);letter-spacing:.05em}.session-timeout-modal-countdown-text-urgent{color:var(--color-error)}.session-timeout-modal-status-message{font-size:var(--font-size-base);color:var(--color-text-primary);font-family:var(--font-family-sans);text-align:center;margin:0}.session-timeout-modal-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end}.session-timeout-modal-primary-button,.session-timeout-modal-secondary-button{padding:var(--spacing-3) var(--spacing-6);border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans);cursor:pointer;transition:all var(--transition-normal);border:none}.session-timeout-modal-primary-button{background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md)}.session-timeout-modal-primary-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.session-timeout-modal-primary-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.session-timeout-modal-secondary-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-subtle)}.session-timeout-modal-secondary-button:hover{background-color:var(--color-background-secondary)}.session-timeout-modal-secondary-button:focus{outline:2px solid var(--color-border-default);outline-offset:2px}@keyframes session-timeout-modal-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes session-timeout-modal-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.tag-input-container{position:relative;width:100%}.tag-input-container-disabled{opacity:.6;cursor:not-allowed}.tag-input-tags-container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-element-xs);padding:var(--spacing-element-xs) var(--spacing-element-sm);min-height:var(--spacing-element-base);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);background-color:var(--color-background-primary);transition:border-color var(--transition-duration-fast) var(--transition-timing-ease)}.tag-input-tags-container:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.tag-input-container-error .tag-input-tags-container{border-color:var(--color-status-error-border)}.tag-input-container-error .tag-input-tags-container:focus-within{border-color:var(--color-status-error-border);box-shadow:0 0 0 3px var(--color-status-error-bg)}.tag-input-container-compact .tag-input-tags-container{padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);min-height:calc(var(--spacing-element-base) * .75);gap:calc(var(--spacing-element-xs) * .5)}.tag-input-tag{display:flex;align-items:center;gap:calc(var(--spacing-element-xs) * .5);padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background-color:var(--color-primary-100);color:var(--color-primary-700);border:1px solid var(--color-primary-200);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:var(--line-height-tight);max-width:200px;transition:all var(--transition-duration-fast) var(--transition-timing-ease)}.tag-input-tag:hover{background-color:var(--color-primary-200);border-color:var(--color-primary-300)}.tag-input-container-compact .tag-input-tag{padding:calc(var(--spacing-element-xs) * .25) calc(var(--spacing-element-xs) * .5);font-size:calc(var(--font-size-xs) * .9)}.tag-input-tag-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.tag-input-tag-remove-button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-primary-600);cursor:pointer;transition:var(--transitions-base, all .2s ease)}.tag-input-tag-remove-button:hover{background-color:var(--color-primary-300);color:var(--color-primary-800)}.tag-input-tag-remove-button:focus{outline:2px solid var(--color-border-focus);outline-offset:1px}.tag-input-tag-remove-button:disabled{opacity:.5;cursor:not-allowed}.tag-input-tag-remove-icon{width:12px;height:12px}.tag-input-container-compact .tag-input-tag-remove-button{width:14px;height:14px}.tag-input-container-compact .tag-input-tag-remove-icon{width:10px;height:10px}.tag-input-input{flex:1;min-width:120px;padding:0;border:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);outline:none}.tag-input-input::-moz-placeholder{color:var(--color-text-placeholder)}.tag-input-input::placeholder{color:var(--color-text-placeholder)}.tag-input-input:disabled{color:var(--color-text-disabled);cursor:not-allowed}.tag-input-input-compact{font-size:var(--font-size-xs);min-width:100px}.tag-input-suggestions{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:calc(var(--spacing-element-xs) * .5);background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto}.tag-input-suggestion{display:block;width:100%;padding:var(--spacing-element-xs) var(--spacing-element-sm);text-align:left;background:none;border:none;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-base);cursor:pointer;transition:background-color var(--transition-duration-fast) var(--transition-timing-ease)}.tag-input-suggestion:hover,.tag-input-suggestion-selected{background-color:var(--color-primary-50);color:var(--color-primary-700)}.tag-input-suggestion:focus{outline:2px solid var(--color-primary-500);outline-offset:-2px}.tag-input-error-message{margin-top:calc(var(--spacing-element-xs) * .5);padding:calc(var(--spacing-element-xs) * .5) var(--spacing-element-xs);background-color:var(--color-status-error-bg);color:var(--color-status-error-text);border:1px solid var(--color-status-error-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.tag-input-processing-indicator{position:absolute;top:50%;right:var(--spacing-element-sm);transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;z-index:10}.tag-input-spinner{width:16px;height:16px;border:2px solid var(--color-border-light);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:tag-input-spin 1s linear infinite}@keyframes tag-input-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);color:var(--color-white);padding:var(--spacing-4);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--spacing-3);min-width:300px;max-width:500px;z-index:9999;animation:toast-slide-in-up var(--transition-slow) ease-out,toast-fade-out var(--transition-slow) ease-in 2.7s}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-error)}.toast-warning{background-color:var(--color-warning)}.toast-info{background-color:var(--color-primary)}.toast-icon{font-size:var(--font-size-xl);flex-shrink:0}.toast-message{flex:1;font-size:var(--font-size-base);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium)}.toast-close-button{background-color:transparent;border:none;color:var(--color-white);cursor:pointer;font-size:var(--typography-body-large-size);padding:var(--spacing-1);opacity:.8;transition:var(--transitions-base, all .2s ease);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm)}.toast-close-button:hover{opacity:1}.toast-close-button:focus{outline:2px solid var(--color-white);outline-offset:2px}@keyframes toast-slide-in-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}.user-menu-container{position:relative}.user-menu-button{display:flex;align-items:center;border-radius:var(--radius-full);transition:var(--transitions-base, all .2s ease);cursor:pointer;border:none;background:transparent;color:var(--color-text-primary)}.user-menu-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-interactive-focus)}.user-menu-button-header{gap:var(--spacing-xs);padding:var(--spacing-xs)}.user-menu-button-header:hover{background-color:var(--color-interactive-tertiary-hover)}.user-menu-button-gallery{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-gallery-sidebar-text)}.user-menu-button-gallery:hover{background-color:var(--color-white-alpha-15)}.user-menu-avatar{border-radius:var(--border-radius-full);-o-object-fit:cover;object-fit:cover}.user-menu-avatar-header{width:2rem;height:2rem}.user-menu-avatar-gallery{width:2rem;height:2rem;border:2px solid var(--color-border-medium)}@media (min-width: 768px){.user-menu-avatar-gallery{width:2.5rem;height:2.5rem}}.user-menu-avatar-placeholder{border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--color-interactive-primary);color:var(--color-text-inverse);font-weight:600}.user-menu-avatar-placeholder-header,.user-menu-avatar-placeholder-gallery{width:2rem;height:2rem;font-size:var(--font-size-sm)}@media (min-width: 768px){.user-menu-avatar-placeholder-gallery{width:2.5rem;height:2.5rem;font-size:var(--font-size-base)}}.user-menu-username{color:var(--color-text-secondary);font-size:var(--font-size-sm);display:none}@media (min-width: 640px){.user-menu-username{display:block}}.user-menu-chevron{width:1rem;height:1rem;color:var(--color-text-muted);transition:transform var(--transition-normal);display:none}@media (min-width: 640px){.user-menu-chevron{display:block}}.user-menu-chevron-open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;z-index:50;margin-top:var(--spacing-sm);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.user-menu-dropdown-header{right:0;width:12rem;background-color:var(--color-background-primary);border:1px solid var(--color-border-default)}.user-menu-dropdown-gallery{right:0;width:14rem;background-color:var(--color-background-secondary);border:1px solid var(--color-border-medium)}.user-menu-user-info{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-medium);display:flex;align-items:center;gap:var(--spacing-sm)}.user-menu-user-info-avatar{width:2.5rem;height:2.5rem;border-radius:var(--border-radius-full);-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-border-medium);flex-shrink:0}.user-menu-user-info-avatar-placeholder{width:2.5rem;height:2.5rem;border-radius:var(--border-radius-full);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.user-menu-user-info-text{flex:1;min-width:0}.user-menu-user-info-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-menu-user-info-email{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-menu-menu-items{padding:var(--spacing-xs)}.user-menu-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-normal)}.user-menu-menu-item:hover{background-color:var(--color-interactive-hover)}.user-menu-menu-item:focus{outline:none;background-color:var(--color-interactive-hover)}.user-menu-logout-item{color:var(--color-status-error)}.user-menu-logout-item:hover{background-color:var(--color-status-error-bg)}.user-menu-menu-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.user-menu-divider{height:1px;background-color:var(--color-border-default);margin:var(--spacing-xs) 0}.detail-panel-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay-dark);z-index:1000;animation:detail-panel-fade-in .2s ease-out}@keyframes detail-panel-fade-in{0%{opacity:0}to{opacity:1}}.detail-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background-color:var(--color-background-primary);box-shadow:0 20px 25px -5px var(--color-shadow-md),0 10px 10px -5px var(--color-shadow-sm);z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease-out}.detail-panel-open{transform:translate(0)}.detail-panel-closed{transform:translate(100%)}.detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--color-border-default);background-color:var(--color-background-secondary)}.detail-panel-title{margin:0;font-size:2rem;font-weight:700;color:var(--color-text-primary)}.detail-panel-close-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.detail-panel-close-button:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary)}.detail-panel-close-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-background)}.detail-panel-close-icon{width:24px;height:24px}.detail-panel-content{flex:1;overflow-y:auto;padding:1.5rem 1rem}.detail-panel-section{margin-bottom:1.5rem}.detail-panel-section:last-child{margin-bottom:0}.detail-panel-section-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-default);padding-bottom:.5rem}.detail-panel-field{margin-bottom:1rem}.detail-panel-field:last-child{margin-bottom:0}.detail-panel-field-label{display:block;margin-bottom:.5rem;font-size:1rem;font-weight:500;color:var(--color-text-primary)}.detail-panel-required-mark{color:var(--color-status-error);margin-left:.25rem}.detail-panel-footer{border-top:1px solid var(--color-border-default);padding:1rem;background-color:var(--color-background-secondary)}.detail-panel-global-error{margin-bottom:1rem;padding:.75rem;background-color:var(--color-status-error-background);border:1px solid var(--color-status-error-border);border-radius:6px;color:var(--color-status-error);font-size:1rem}.detail-panel-unsaved-warning{margin-bottom:1rem;padding:.75rem;background-color:var(--color-status-warning-background);border:1px solid var(--color-status-warning-border);border-radius:6px;color:var(--color-status-warning);font-size:1rem;text-align:center}.detail-panel-actions{display:flex;gap:.75rem;justify-content:flex-end}.detail-panel-cancel-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-background-primary);color:var(--color-text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.detail-panel-cancel-button:hover{background-color:var(--color-background-secondary);border-color:var(--color-border-muted);color:var(--color-text-primary)}.detail-panel-cancel-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-background)}.detail-panel-cancel-button:disabled{opacity:.5;cursor:not-allowed}.detail-panel-save-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.detail-panel-save-button-enabled{background-color:var(--color-primary-main);color:var(--color-background-primary)}.detail-panel-save-button-enabled:hover{background-color:var(--color-primary-main)}.detail-panel-save-button-enabled:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-border)}.detail-panel-save-button-disabled{background-color:var(--color-border-default);color:var(--color-text-secondary);cursor:not-allowed}.detail-panel-save-icon{width:20px;height:20px}@media (max-width: 768px){.detail-panel{width:100vw;max-width:100vw}.detail-panel-header{padding:.75rem}.detail-panel-title{font-size:1.5rem}.detail-panel-content{padding:1rem .75rem}.detail-panel-footer{padding:.75rem}.detail-panel-actions{flex-direction:column-reverse}.detail-panel-cancel-button,.detail-panel-save-button{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.detail-panel{transition:none}.detail-panel-overlay{animation:none}}.duplicate-confirm-dialog-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal, 1000);padding:var(--spacing-element-base)}.duplicate-confirm-dialog{background-color:var(--color-background-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border-default)}.duplicate-confirm-dialog-header{display:flex;align-items:flex-start;gap:var(--spacing-element-base);padding:var(--spacing-element-base);border-bottom:1px solid var(--color-border-default)}.duplicate-confirm-dialog-header-icon{flex-shrink:0;width:2.5rem;height:2.5rem;background-color:var(--color-status-warning);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.duplicate-confirm-dialog-header-icon-svg{width:1.5rem;height:1.5rem;color:var(--color-text-inverse)}.duplicate-confirm-dialog-header-content{flex:1;min-width:0}.duplicate-confirm-dialog-title{font-size:var(--font-size-heading-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-element-small) 0;line-height:var(--typography-heading-h2-line-height)}.duplicate-confirm-dialog-subtitle{font-size:var(--font-size-body-small);color:var(--color-text-secondary);margin:0;line-height:var(--typography-body-small-line-height)}.duplicate-confirm-dialog-close-button{flex-shrink:0;width:2rem;height:2rem;background-color:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.duplicate-confirm-dialog-close-button:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary)}.duplicate-confirm-dialog-close-icon{width:1.25rem;height:1.25rem}.duplicate-confirm-dialog-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-element-base);padding:var(--spacing-element-base)}.duplicate-confirm-dialog-file-info{border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.duplicate-confirm-dialog-file-header{background-color:var(--color-background-secondary);padding:var(--spacing-element-small) var(--spacing-element-base);border-bottom:1px solid var(--color-border-default)}.duplicate-confirm-dialog-file-title{font-size:var(--font-size-body-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.duplicate-confirm-dialog-file-details{padding:var(--spacing-element-base);display:flex;gap:var(--spacing-element-base);align-items:flex-start}.duplicate-confirm-dialog-file-icon-container{flex-shrink:0;width:3rem;height:3rem;background-color:var(--color-background-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.duplicate-confirm-dialog-file-icon{width:1.5rem;height:1.5rem;color:var(--color-text-secondary)}.duplicate-confirm-dialog-file-metadata{flex:1;min-width:0}.duplicate-confirm-dialog-file-name{font-size:var(--font-size-body-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-element-small);word-break:break-word}.duplicate-confirm-dialog-file-size{font-size:var(--font-size-body-small);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-tiny)}.duplicate-confirm-dialog-file-date{font-size:var(--font-size-body-small);color:var(--color-text-secondary)}.duplicate-confirm-dialog-apply-to-all-container{padding:0 var(--spacing-element-base) var(--spacing-element-base);border-bottom:1px solid var(--color-border-default)}.duplicate-confirm-dialog-apply-to-all-label{display:flex;align-items:center;gap:var(--spacing-element-small);cursor:pointer;font-size:var(--font-size-body-small);color:var(--color-text-primary)}.duplicate-confirm-dialog-apply-to-all-checkbox{width:1rem;height:1rem;accent-color:var(--color-interactive-primary)}.duplicate-confirm-dialog-apply-to-all-text{flex:1}.duplicate-confirm-dialog-actions{display:flex;gap:var(--spacing-element-small);padding:var(--spacing-element-base);justify-content:flex-end}.duplicate-confirm-dialog-replace-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border:1px solid var(--color-interactive-primary);border-radius:var(--radius-md);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.duplicate-confirm-dialog-replace-button:hover{background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}.duplicate-confirm-dialog-keep-both-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--color-status-success);color:var(--color-text-inverse);border:1px solid var(--color-status-success);border-radius:var(--radius-md);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-element-tiny)}.duplicate-confirm-dialog-keep-both-button:hover{background-color:var(--color-status-success-hover);border-color:var(--color-status-success-hover)}.duplicate-confirm-dialog-suggested-name{font-size:.75rem;opacity:.9;font-weight:var(--font-weight-normal)}.duplicate-confirm-dialog-skip-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.duplicate-confirm-dialog-skip-button:hover{background-color:var(--color-interactive-hover);border-color:var(--color-border-medium)}@media (max-width: 768px){.duplicate-confirm-dialog{max-width:95vw;margin:var(--spacing-element-small)}.duplicate-confirm-dialog-comparison{grid-template-columns:1fr}.duplicate-confirm-dialog-actions{flex-direction:column}.duplicate-confirm-dialog-replace-button,.duplicate-confirm-dialog-keep-both-button,.duplicate-confirm-dialog-skip-button{width:100%;justify-content:center}}@media (max-width: 480px){.duplicate-confirm-dialog-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-element-small)}.duplicate-confirm-dialog-close-button{align-self:flex-end;margin-top:calc(-1 * var(--spacing-element-base))}.duplicate-confirm-dialog-file-details{flex-direction:column;align-items:center;text-align:center}.duplicate-confirm-dialog-file-icon-container{width:4rem;height:4rem}.duplicate-confirm-dialog-file-icon{width:2rem;height:2rem}}.favorites-section{display:flex;flex-direction:column;gap:var(--spacing-element-sm);padding:var(--spacing-element-base);border-radius:var(--border-radius-base);background:transparent;border:none;box-shadow:none;transition:var(--transition-normal);position:relative;overflow:hidden}.favorites-section:before{display:none}.favorites-section:hover{transform:none}.favorites-section-compact{padding:var(--spacing-element-sm);gap:var(--spacing-element-xs)}.favorites-section-read-only{opacity:.8}.favorites-section-read-only .favorites-section-clear-button,.favorites-section-read-only .favorites-section-filter-button{cursor:not-allowed}.favorites-section-loading .favorites-section-filter-button{cursor:wait}.favorites-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-element-sm)}.favorites-section-title-container{display:flex;align-items:center;gap:var(--spacing-element-xs);flex:1}.favorites-section-title-icon{color:var(--color-status-warning);flex-shrink:0;transition:var(--transition-fast);filter:drop-shadow(0 2px 4px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(255,255,255,.4));animation:favorites-section-pulse 2s ease-in-out infinite}.favorites-section:hover .favorites-section-title-icon{color:var(--color-brand-primary);transform:scale(1.15);filter:drop-shadow(0 3px 6px rgba(0,0,0,.8)) drop-shadow(0 0 12px rgba(255,255,255,.6))}.favorites-section-title{font:var(--typography-heading-h3);color:var(--color-text-primary);margin:0;flex:1}.favorites-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--spacing-element-xs);background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-interactive-primary-hover) 100%);color:var(--color-bg-primary);border-radius:var(--border-radius-full);font:var(--typography-body-small);font-weight:600;flex-shrink:0;box-shadow:0 2px 6px var(--color-interactive-primary-shadow);transition:var(--transition-fast);position:relative;overflow:hidden}.favorites-section:hover .favorites-section-count{transform:scale(1.05)}.favorites-section-count:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--color-white-alpha-30),transparent);animation:favorites-section-shimmer 2s infinite}.favorites-section-clear-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease-in-out}.favorites-section-clear-button:hover{background-color:var(--color-bg-tertiary);color:var(--color-status-error)}.favorites-section-clear-button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.favorites-section-clear-button svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(255,255,255,.4))}.favorites-section-clear-button:hover svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.8)) drop-shadow(0 0 12px rgba(255,255,255,.6));transform:scale(1.1)}.favorites-section-error-message{display:flex;align-items:center;gap:var(--spacing-element-xs);padding:var(--spacing-element-sm);background-color:var(--color-status-error-bg);border:1px solid var(--color-status-error);border-radius:var(--border-radius-sm);color:var(--color-status-error)}.favorites-section-error-icon{flex-shrink:0}.favorites-section-error-text{font:var(--typography-body-small);flex:1}.favorites-section-filter-button{display:flex;align-items:center;gap:var(--spacing-element-sm);width:100%;padding:var(--spacing-element-sm);border:none;background-color:transparent;border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-primary);font:var(--typography-body-base);transition:all .2s ease-in-out}.favorites-section-filter-button:hover:not(.favorites-section-filter-button-disabled){background-color:var(--color-white-alpha-10)}.favorites-section-filter-button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.favorites-section-filter-button-active{background-color:var(--color-white-alpha-15);color:var(--color-gallery-sidebar-text)}.favorites-section-filter-button-active .favorites-section-filter-icon{color:var(--color-gallery-sidebar-text)}.favorites-section-filter-button-disabled{opacity:.5;cursor:not-allowed}.favorites-section-filter-button-disabled:hover{background-color:transparent}.favorites-section-filter-icon{color:var(--color-status-warning);flex-shrink:0;transition:var(--transition-fast);filter:drop-shadow(0 2px 4px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(255,255,255,.4))}.favorites-section-filter-button:hover:not(.favorites-section-filter-button-disabled) .favorites-section-filter-icon{color:var(--color-brand-primary);transform:scale(1.15);filter:drop-shadow(0 3px 6px rgba(0,0,0,.8)) drop-shadow(0 0 12px rgba(255,255,255,.6))}.favorites-section-filter-button-active .favorites-section-filter-icon{color:var(--color-bg-primary);filter:drop-shadow(0 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 8px rgba(255,255,255,.8))}.favorites-section-filter-text{flex:1;text-align:left}.favorites-section-loading-icon{animation:favorites-section-spin 1s linear infinite;color:var(--color-brand-primary);flex-shrink:0}.favorites-section-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-element-sm);padding:var(--spacing-element-lg);text-align:center}.favorites-section-empty-icon{color:var(--color-text-muted);opacity:.5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(255,255,255,.3))}.favorites-section-empty-text{font:var(--typography-body-base);color:var(--color-text-secondary);margin:0}.favorites-section-empty-hint{font:var(--typography-body-small);color:var(--color-text-muted);margin:0}.favorites-section-favorites-list{display:flex;flex-direction:column;gap:var(--spacing-element-xs)}.favorites-section-favorite-item{display:flex;align-items:center;gap:var(--spacing-element-xs);padding:var(--spacing-element-xs);border-radius:var(--border-radius-sm);background-color:transparent;border:none}.favorites-section-favorite-item-icon{color:var(--color-text-secondary);flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)) drop-shadow(0 0 4px rgba(255,255,255,.3))}.favorites-section-favorite-item-text{font:var(--typography-body-small);color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorites-section-more-indicator{padding:var(--spacing-element-xs);text-align:center;font:var(--typography-body-small);color:var(--color-text-muted);font-style:italic}@keyframes favorites-section-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes favorites-section-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes favorites-section-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}[data-theme=dark] .favorites-section{background-color:transparent;border-color:transparent}[data-theme=dark] .favorites-section-filter-button{background-color:transparent}[data-theme=dark] .favorites-section-filter-button:hover:not(.favorites-section-filter-button-disabled){background-color:var(--color-white-alpha-10)}[data-theme=dark] .favorites-section-filter-button-active{background-color:var(--color-white-alpha-15);color:var(--color-gallery-sidebar-text)}[data-theme=dark] .favorites-section-favorite-item{background-color:transparent;border-color:transparent}[data-theme=dark] .favorites-section-clear-button:hover{background-color:var(--color-white-alpha-10)}@media (prefers-contrast: high){.favorites-section{border:none}.favorites-section-filter-button{border:1px solid var(--color-gallery-sidebar-text-secondary)}.favorites-section-filter-button-active{border:2px solid var(--color-gallery-sidebar-text)}.favorites-section-favorite-item{border:1px solid var(--color-gallery-sidebar-text-secondary)}}@media (prefers-reduced-motion: reduce){.favorites-section-filter-button,.favorites-section-clear-button,.favorites-section-filter-icon,.favorites-section-loading-icon{transition:none;animation:none}}.folder-context-menu{position:fixed;background-color:var(--color-background-primary);border:1px solid var(--color-border-default);border-radius:.375rem;box-shadow:0 4px 6px -1px var(--color-shadow-md),0 2px 4px -1px var(--color-shadow-sm);z-index:1000;min-width:12rem;padding:var(--spacing-sm);animation:folder-context-menu-fade-in .15s ease-out;outline:none}@keyframes folder-context-menu-fade-in{0%{opacity:0;transform:scale(.95) translateY(-.25rem)}to{opacity:1;transform:scale(1) translateY(0)}}.folder-context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm);border:none;background:transparent;text-align:left;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);border-radius:.25rem;transition:background-color .15s ease-in-out;min-height:2.5rem}.folder-context-menu-item:hover{background-color:var(--color-interactive-hover)}.folder-context-menu-item-focused{background-color:var(--color-interactive-hover);outline:2px solid var(--color-interactive-primary);outline-offset:-2px}.folder-context-menu-item:active{background-color:var(--color-background-secondary);transform:translateY(.0625rem)}.folder-context-menu-icon{font-size:1rem;line-height:1;flex-shrink:0;width:1.25rem;text-align:center}.folder-context-menu-text{flex:1;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (prefers-reduced-motion: reduce){.folder-context-menu{animation:none}.folder-context-menu-item{transition:none}.folder-context-menu-item:active{transform:none}}@media (prefers-contrast: high){.folder-context-menu{border-width:2px}.folder-context-menu-item-focused{outline-width:3px}.folder-context-menu-item:hover{border:1px solid var(--color-interactive-primary)}}@media print{.folder-context-menu{display:none}}@media (hover: none) and (pointer: coarse){.folder-context-menu-item{min-height:3rem;padding:.75rem var(--spacing-sm)}.folder-context-menu-item:hover{background-color:transparent}}@media (max-width: 480px){.folder-context-menu{min-width:10rem;max-width:calc(100vw - 2rem)}.folder-context-menu-text{font-size:.875rem}}@media (prefers-reduced-motion: no-preference){.folder-context-menu-item-focused{animation:folder-context-menu-focus-pulse 2s infinite}}@keyframes folder-context-menu-focus-pulse{0%,to{box-shadow:0 0 0 2px var(--color-interactive-primary)}50%{box-shadow:0 0 0 4px var(--color-interactive-focus)}}.folder-create-input-container{display:flex;flex-direction:column;padding:var(--spacing-sm);background-color:var(--color-background-secondary);border:1px solid var(--color-border-default);border-radius:.25rem;margin:var(--spacing-sm) 0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.folder-create-input-container-has-error{border-color:var(--color-status-error);background-color:var(--color-status-error-bg)}.folder-create-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.folder-create-input-folder-icon{font-size:1rem;line-height:1;color:var(--color-text-secondary);flex-shrink:0}.folder-create-input{flex:1;padding:.375rem .5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-background-primary);border:1px solid var(--color-border-default);border-radius:.25rem;outline:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;min-width:0}.folder-create-input:focus{border-color:var(--color-interactive-primary);box-shadow:0 0 0 2px var(--color-interactive-focus)}.folder-create-input-container-has-error .folder-create-input{border-color:var(--color-status-error)}.folder-create-input-container-has-error .folder-create-input:focus{border-color:var(--color-status-error);box-shadow:0 0 0 2px var(--color-focus-ring-error)}.folder-create-input::-moz-placeholder{color:var(--color-text-placeholder);opacity:1}.folder-create-input::placeholder{color:var(--color-text-placeholder);opacity:1}.folder-create-input-char-counter{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;padding:0 .25rem}.folder-create-input:invalid+.folder-create-input-char-counter,.folder-create-input-container-has-error .folder-create-input-char-counter{color:var(--color-status-error)}.folder-create-input-error-message{margin-top:.25rem;font-size:.875rem;color:var(--color-status-error);line-height:1.4;display:flex;align-items:flex-start;gap:.25rem}.folder-create-input-error-message:before{content:"⚠️";flex-shrink:0;font-size:.75rem;margin-top:.125rem}.folder-create-input-help-text{margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted);line-height:1.4}@media (prefers-reduced-motion: reduce){.folder-create-input-container,.folder-create-input{transition:none}}@media (prefers-contrast: high){.folder-create-input:focus{outline:2px solid var(--color-interactive-primary);outline-offset:2px}.folder-create-input-container-has-error .folder-create-input:focus{outline-color:var(--color-status-error)}.folder-create-input-error-message{font-weight:600}}@media (max-width: 480px){.folder-create-input-wrapper{flex-wrap:wrap}.folder-create-input-char-counter{order:3;width:100%;text-align:right;padding-top:.25rem}}@media print{.folder-create-input-container{border:1px solid var(--color-text-primary);background-color:transparent}.folder-create-input{border:1px solid var(--color-text-primary)}.folder-create-input-help-text{display:none}}.folder-delete-dialog-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:folder-delete-dialog-overlay-fade-in .2s ease-out;padding:var(--spacing-md)}@keyframes folder-delete-dialog-overlay-fade-in{0%{opacity:0}to{opacity:1}}.folder-delete-dialog{background-color:var(--color-background-primary);border-radius:.5rem;box-shadow:0 20px 25px -5px var(--color-shadow-lg),0 10px 10px -5px var(--color-shadow-sm);max-width:28rem;width:100%;max-height:90vh;overflow:hidden;animation:folder-delete-dialog-slide-in .2s ease-out;outline:none}@keyframes folder-delete-dialog-slide-in{0%{opacity:0;transform:scale(.95) translateY(-1rem)}to{opacity:1;transform:scale(1) translateY(0)}}.folder-delete-dialog-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm);border-bottom:1px solid var(--color-border-default)}.folder-delete-dialog-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.25}.folder-delete-dialog-content{padding:var(--spacing-lg)}.folder-delete-dialog-message{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.5}.folder-delete-dialog-warning-message{color:var(--color-status-warning);font-weight:500}.folder-delete-dialog-warning-box{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-status-warning-bg);border:1px solid var(--color-status-warning);border-radius:.375rem;margin-top:var(--spacing-sm)}.folder-delete-dialog-warning-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.folder-delete-dialog-warning-text{font-size:.875rem;color:var(--color-text-secondary);line-height:1.4}.folder-delete-dialog-footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border-default);background-color:var(--color-background-secondary);justify-content:flex-end}.folder-delete-dialog-button{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border-default);border-radius:.375rem;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .15s ease-in-out;min-width:5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.folder-delete-dialog-cancel-button{background-color:var(--color-background-primary);color:var(--color-text-primary);border-color:var(--color-border-default)}.folder-delete-dialog-cancel-button:hover{background-color:var(--color-interactive-hover);border-color:var(--color-text-secondary)}.folder-delete-dialog-cancel-button:active{background-color:var(--color-background-secondary);transform:translateY(.0625rem)}.folder-delete-dialog-confirm-button{background-color:var(--color-status-error);color:var(--color-text-inverse);border-color:var(--color-status-error)}.folder-delete-dialog-confirm-button:hover{background-color:var(--color-status-error-hover);border-color:var(--color-status-error-hover)}.folder-delete-dialog-confirm-button:active{background-color:var(--color-error-dark);border-color:var(--color-error-dark);transform:translateY(.0625rem)}.folder-delete-dialog-button-focused{outline:2px solid var(--color-interactive-primary);outline-offset:2px;z-index:1}html[data-theme=dark] .folder-delete-dialog-warning-box{background-color:var(--color-status-warningBackgroundDark);border-color:var(--color-status-warningBorderDark)}@media (prefers-reduced-motion: reduce){.folder-delete-dialog-overlay,.folder-delete-dialog{animation:none}.folder-delete-dialog-button{transition:none}.folder-delete-dialog-button:active{transform:none}}@media (prefers-contrast: high){.folder-delete-dialog{border:2px solid var(--color-border-default)}.folder-delete-dialog-button-focused{outline-width:3px}.folder-delete-dialog-warning-box{border-width:2px}.folder-delete-dialog-confirm-button{background-color:var(--color-status-error-hover);border-color:var(--color-status-error-hover)}}@media print{.folder-delete-dialog-overlay{display:none}}@media (hover: none) and (pointer: coarse){.folder-delete-dialog-button{min-height:3rem;padding:.75rem var(--spacing-lg)}.folder-delete-dialog-button:hover{background-color:initial;border-color:initial}.folder-delete-dialog-cancel-button:hover{background-color:var(--color-background-primary);border-color:var(--color-border-default)}.folder-delete-dialog-confirm-button:hover{background-color:var(--color-status-error);border-color:var(--color-status-error)}}@media (max-width: 480px){.folder-delete-dialog-overlay{padding:var(--spacing-sm)}.folder-delete-dialog{max-width:100%;margin:0}.folder-delete-dialog-footer{flex-direction:column-reverse}.folder-delete-dialog-button{width:100%;justify-content:center}.folder-delete-dialog-title{font-size:1.125rem}.folder-delete-dialog-message{font-size:.875rem}}@media (prefers-reduced-motion: no-preference){.folder-delete-dialog-button-focused{animation:folder-delete-dialog-focus-pulse 2s infinite}}@keyframes folder-delete-dialog-focus-pulse{0%,to{box-shadow:0 0 0 2px var(--color-interactive-primary)}50%{box-shadow:0 0 0 4px var(--color-interactive-focus)}}@media (max-height: 600px) and (orientation: portrait){.folder-delete-dialog{max-height:95vh}.folder-delete-dialog-content,.folder-delete-dialog-header,.folder-delete-dialog-footer{padding:var(--spacing-sm) var(--spacing-lg)}}.folder-item.folder-item-selected{background-color:var(--color-interactive-primary-alpha-40);color:var(--color-text-primary);font-weight:500;position:relative;border-radius:.25rem}.folder-item.folder-item-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--color-interactive-primary) 0%,var(--color-interactive-primary-alpha-60) 100%);border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--color-interactive-primary-alpha-40)}.folder-item.folder-item-selected:hover{background-color:var(--color-interactive-primary-alpha-60)}@media (prefers-reduced-motion: reduce){.folder-item,.folder-item-expand-button,.folder-item-expand-icon{transition:none}.folder-item-dragging{transform:none}}@media (prefers-contrast: high){.folder-item:focus{outline-width:3px}.folder-item-selected{border:2px solid var(--color-interactive-primary)}.folder-item-name-input:focus{border-width:2px}}.folder-tree-drag-error{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background-color:var(--color-status-error);color:var(--color-text-inverse);border-radius:4px;font-size:.875rem}.folder-tree-error-close-button{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0;margin-left:var(--spacing-sm);line-height:1;opacity:.8;transition:opacity .2s ease}.folder-tree-error-close-button:hover{opacity:1}.folder-tree-error-close-button:focus{outline:2px solid var(--color-white-alpha-50);outline-offset:2px}.folder-tree-drag-feedback{position:fixed;top:10px;right:10px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-radius:4px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px var(--color-shadow-lg);z-index:1000;pointer-events:none;animation:folder-tree-fade-in-slide .2s ease-out}.folder-tree-content-drag-feedback{position:fixed;top:10px;right:10px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-status-success);color:var(--color-text-inverse);border-radius:4px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px var(--color-shadow-lg);z-index:1000;pointer-events:none;animation:folder-tree-fade-in-slide .2s ease-out}@keyframes folder-tree-fade-in-slide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.folder-tree-container-drop-zone{border-color:var(--color-interactive-primary);background-color:var(--color-interactive-focus)}.folder-tree-container-drop-zone:after{content:"ここにドロップしてフォルダーに移動";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--spacing-md);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-radius:4px;font-size:.875rem;font-weight:500;white-space:nowrap;pointer-events:none;z-index:10}@media (max-width: 768px){.folder-tree-tree-content{padding:var(--spacing-sm)}.folder-tree-drag-feedback,.folder-tree-content-drag-feedback{top:5px;right:5px;font-size:.8rem;padding:.375rem var(--spacing-sm)}.folder-tree-container{border-radius:0;border-left:none;border-right:none}}html[data-theme=dark] .folder-tree-container{background-color:transparent}html[data-theme=dark] .folder-tree-children-container:before{background-color:var(--color-border-default)}html[data-theme=dark] .folder-tree-loading{color:var(--color-text-secondary)}html[data-theme=dark] .folder-tree-empty{color:var(--color-text-muted)}html[data-theme=dark] .folder-tree-root-folder-button{color:var(--color-text-primary);background:transparent}html[data-theme=dark] .folder-tree-root-folder-button:hover{background-color:var(--color-white-alpha-10)}html[data-theme=dark] .folder-tree-root-folder-button-selected{background-color:var(--color-white-alpha-15);color:var(--color-text-selected-dark)}@media (prefers-contrast: high){.folder-tree-container{border-width:2px}.folder-tree-drag-error{border:2px solid currentColor}.folder-tree-drag-feedback,.folder-tree-content-drag-feedback{border:2px solid var(--color-white-alpha-50)}}@media (prefers-reduced-motion: reduce){.folder-tree-loading:before{animation:none}.folder-tree-drag-feedback,.folder-tree-content-drag-feedback{animation:none}*{transition:none!important}}.metadata-filter-panel-container{background-color:var(--color-background-paper);border:1px solid var(--color-border-main);border-radius:var(--border-radius-base);padding:var(--spacing-container-padding);margin-bottom:var(--spacing-element-base)}.metadata-filter-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-element-base)}.metadata-filter-panel-title{font-size:var(--typography-heading-h3-font-size);font-weight:var(--typography-heading-h3-font-weight);color:var(--color-text-primary);margin:0}.metadata-filter-panel-header-actions{display:flex;align-items:center;gap:var(--spacing-element-base)}.metadata-filter-panel-filter-count{font-size:var(--typography-body-small-font-size);color:var(--color-text-secondary)}.metadata-filter-panel-section{margin-bottom:var(--spacing-element-large)}.metadata-filter-panel-section:last-child{margin-bottom:0}.metadata-filter-panel-section-title{font-size:var(--typography-body-base-font-size);font-weight:var(--typography-body-base-font-weight);color:var(--color-text-primary);margin:0 0 var(--spacing-element-small) 0}.metadata-filter-panel-tag-search-container{margin-bottom:var(--spacing-element-base)}.metadata-filter-panel-tag-search-input{position:relative;margin-bottom:var(--spacing-element-base)}.metadata-filter-panel-search-input{width:100%;padding:var(--spacing-element-base) var(--spacing-element-base) var(--spacing-element-base) 40px;font-size:var(--typography-body-base-font-size);color:var(--color-text-primary);background-color:var(--color-background-muted);border:1px solid var(--color-border-main);border-radius:var(--border-radius-small);outline:none;transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-filter-panel-search-input:focus{border-color:var(--color-primary-main);box-shadow:0 0 0 2px var(--color-primary-light)}.metadata-filter-panel-search-input::-moz-placeholder{color:var(--color-text-secondary)}.metadata-filter-panel-search-input::placeholder{color:var(--color-text-secondary)}.metadata-filter-panel-search-icon{position:absolute;left:var(--spacing-element-base);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-secondary);pointer-events:none}.metadata-filter-panel-search-spinner{position:absolute;right:var(--spacing-element-base);top:50%;transform:translateY(-50%);color:var(--color-primary-main);animation:metadata-filter-panel-spin 1s linear infinite}@keyframes metadata-filter-panel-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.metadata-filter-panel-tag-suggestions{background-color:var(--color-background-paper);border:1px solid var(--color-border-main);border-radius:var(--border-radius-small);max-height:200px;overflow-y:auto;margin-bottom:var(--spacing-element-base);box-shadow:var(--shadow-elevation-small)}.metadata-filter-panel-tag-suggestion{width:100%;padding:var(--spacing-element-base);font-size:var(--typography-body-base-font-size);color:var(--color-text-primary);background-color:transparent;border:none;text-align:left;cursor:pointer;transition:background-color var(--transition-duration-base) var(--transition-easing-standard)}.metadata-filter-panel-tag-suggestion:hover{background-color:var(--color-background-muted)}.metadata-filter-panel-tag-suggestion:focus{background-color:var(--color-primary-light);outline:none}.metadata-filter-panel-selected-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-element-small)}.metadata-filter-panel-tag-chip{display:inline-flex;align-items:center;background-color:var(--color-primary-light);color:var(--color-primary-main);font-size:var(--typography-body-small-font-size);padding:var(--spacing-element-small) var(--spacing-element-base);border-radius:16px;border:1px solid var(--color-primary-main);transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-filter-panel-tag-chip:hover{background-color:var(--color-primary-main);color:var(--color-primary-contrast-text)}.metadata-filter-panel-tag-remove-button{margin-left:var(--spacing-element-small);background-color:transparent;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;transition:background-color var(--transition-duration-base) var(--transition-easing-standard)}.metadata-filter-panel-tag-remove-button:hover{background-color:var(--color-background-overlay-light)}.metadata-filter-panel-tag-remove-button:focus{outline:2px solid currentColor;outline-offset:1px}.metadata-filter-panel-category-list{display:flex;flex-direction:column;gap:var(--spacing-element-small)}.metadata-filter-panel-category-button{display:block;width:100%;padding:var(--spacing-element-base);font-size:var(--typography-body-base-font-size);color:var(--color-text-primary);background-color:transparent;border:1px solid var(--color-border-main);border-radius:var(--border-radius-small);text-align:left;cursor:pointer;transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-filter-panel-category-button:hover{background-color:var(--color-background-muted);border-color:var(--color-primary-main)}.metadata-filter-panel-category-button:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.metadata-filter-panel-category-button-selected{background-color:var(--color-primary-main);color:var(--color-primary-contrast-text);border-color:var(--color-primary-main)}.metadata-filter-panel-category-button-selected:hover{background-color:var(--color-primary-dark)}.metadata-filter-panel-category-content{display:flex;align-items:center}.metadata-filter-panel-category-color{width:12px;height:12px;border-radius:50%;margin-right:var(--spacing-element-base);flex-shrink:0}.metadata-filter-panel-empty-message{font-size:var(--typography-body-small-font-size);color:var(--color-text-secondary);font-style:italic;margin:0;text-align:center;padding:var(--spacing-element-large)}@media (max-width: 768px){.metadata-filter-panel-container{padding:var(--spacing-element-base)}.metadata-filter-panel-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-element-small)}.metadata-filter-panel-header-actions{width:100%;justify-content:space-between}.metadata-filter-panel-selected-tags{gap:var(--spacing-element-extra-small)}.metadata-filter-panel-tag-chip{font-size:var(--typography-body-extra-small-font-size);padding:var(--spacing-element-extra-small) var(--spacing-element-small)}}@media (max-width: 480px){.metadata-filter-panel-title{font-size:var(--typography-heading-h4-font-size)}.metadata-filter-panel-section-title{font-size:var(--typography-body-small-font-size)}.metadata-filter-panel-search-input{padding:var(--spacing-element-small) var(--spacing-element-small) var(--spacing-element-small) 36px;font-size:var(--typography-body-small-font-size)}.metadata-filter-panel-search-icon{width:16px;height:16px;left:var(--spacing-element-small)}}.metadata-integrated-content-item-selection-button{position:absolute;top:var(--spacing-element-small);left:var(--spacing-element-small);width:24px;height:24px;border-radius:50%;border:2px solid var(--color-primary-main);background-color:var(--color-background-paper);color:var(--color-text-secondary);cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;font-size:var(--typography-body-small-font-size);font-weight:var(--typography-body-base-font-weight);transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-selection-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-main)}.metadata-integrated-content-item-selection-button:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.metadata-integrated-content-item-selection-button-selected{background-color:var(--color-primary-main);color:var(--color-primary-contrast-text)}.metadata-integrated-content-item-drag-handle{position:absolute;top:var(--spacing-element-small);right:var(--spacing-element-small);width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:grab;z-index:2;font-size:var(--typography-body-small-font-size);color:var(--color-text-secondary);opacity:0;transition:opacity var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-drag-handle:active{cursor:grabbing}.metadata-integrated-content-item-editable-field{position:relative;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;color:var(--color-text-primary);font-size:var(--typography-body-base-size);transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-editable-field:hover{background-color:var(--color-background-muted)}.metadata-integrated-content-item-editable-field:focus{outline:2px solid var(--color-primary-main);outline-offset:1px}.metadata-integrated-content-item-edit-icon{opacity:0;margin-left:var(--spacing-element-small);transition:opacity var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-editable-field:hover .metadata-integrated-content-item-edit-icon,.metadata-integrated-content-item-editable-field:focus .metadata-integrated-content-item-edit-icon{opacity:1}.metadata-integrated-content-item-favorite-button{background:transparent;border:none;cursor:pointer;transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-favorite-button:hover{transform:scale(1.1)}.metadata-integrated-content-item-favorite-button:focus{outline:2px solid var(--color-primary-main);outline-offset:2px}.metadata-integrated-content-item-favorite-button-active{color:var(--color-status-warning)}.metadata-integrated-content-item-list-item{display:grid;grid-template-columns:var(--spacing-element-large) 80px 1fr 2fr 1fr 150px 100px;gap:var(--spacing-element-base);align-items:center;padding:var(--spacing-element-base) var(--spacing-container-padding);background-color:var(--color-background-paper);border-bottom:1px solid var(--color-border-main);position:relative;cursor:pointer;transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-list-item:hover{background-color:var(--color-background-muted)}.metadata-integrated-content-item-list-item:hover .metadata-integrated-content-item-drag-handle{opacity:1}.metadata-integrated-content-item-list-item-selected{background-color:var(--color-primary-light);border-color:var(--color-primary-main)}.metadata-integrated-content-item-list-item-dragging{opacity:.5;transform:rotate(2deg);box-shadow:var(--shadow-elevation-medium)}.metadata-integrated-content-item-list-thumbnail{width:60px;height:45px;border-radius:var(--border-radius-small);overflow:hidden;background-color:var(--color-background-muted)}.metadata-integrated-content-item-list-thumbnail-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.metadata-integrated-content-item-list-title,.metadata-integrated-content-item-list-description,.metadata-integrated-content-item-list-tags,.metadata-integrated-content-item-list-category,.metadata-integrated-content-item-list-actions{min-height:40px;display:flex;align-items:center}.metadata-integrated-content-item-list-title .metadata-integrated-content-item-editable-field,.metadata-integrated-content-item-list-description .metadata-integrated-content-item-editable-field{padding:var(--spacing-element-small);border-radius:var(--border-radius-small)}.metadata-integrated-content-item-grid-item{position:relative;background-color:var(--color-background-paper);border:1px solid var(--color-border-main);border-radius:var(--border-radius-base);overflow:hidden;cursor:pointer;transition:all var(--transition-duration-base) var(--transition-easing-standard)}.metadata-integrated-content-item-grid-item:hover{border-color:var(--color-primary-main);box-shadow:var(--shadow-elevation-small)}.metadata-integrated-content-item-grid-item:hover .metadata-integrated-content-item-drag-handle{opacity:1}.metadata-integrated-content-item-grid-item-selected{border-color:var(--color-primary-main);box-shadow:var(--shadow-elevation-medium)}.metadata-integrated-content-item-grid-item-dragging{opacity:.5;transform:rotate(2deg);box-shadow:var(--shadow-elevation-large)}.metadata-integrated-content-item-grid-image-container{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius-md)}.metadata-integrated-content-item-grid-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.metadata-integrated-content-item-grid-hover-overlay{position:absolute;inset:0;background:none;opacity:0;transition:opacity var(--transition-duration-base) var(--transition-easing-standard);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--spacing-element-base);pointer-events:none}.metadata-integrated-content-item-grid-item:hover .metadata-integrated-content-item-grid-hover-overlay{opacity:1}.metadata-integrated-content-item-grid-title-overlay{background:var(--color-black-alpha-80);color:var(--color-white);padding:var(--spacing-element-small) var(--spacing-element-base);border-radius:var(--radius-sm);backdrop-filter:blur(4px);pointer-events:auto;margin:0}.metadata-integrated-content-item-grid-overlay-title{color:var(--color-white);text-shadow:0 1px 2px var(--color-black-alpha-80);margin:0;font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);text-align:center}.metadata-integrated-content-item-grid-favorite-button{position:absolute;top:var(--spacing-element-small);right:var(--spacing-element-small);width:32px;height:32px;border-radius:50%;background:var(--color-black-alpha-80);color:var(--color-white);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);pointer-events:auto;transition:all var(--transition-duration-base) var(--transition-easing-standard);opacity:0}.metadata-integrated-content-item-grid-item:hover .metadata-integrated-content-item-grid-favorite-button{opacity:1}.metadata-integrated-content-item-grid-favorite-button:hover{background:var(--color-black-alpha-90);transform:scale(1.1)}.metadata-integrated-content-item-grid-favorite-button-active{background:var(--color-status-warning);color:var(--color-white);opacity:1}.metadata-integrated-content-item-grid-favorite-button-active:hover{background:var(--color-status-warning);opacity:.9}.metadata-integrated-content-item-grid-item-large .metadata-integrated-content-item-grid-image-container{aspect-ratio:1/1}.metadata-integrated-content-item-grid-info,.metadata-integrated-content-item-grid-title,.metadata-integrated-content-item-grid-meta,.metadata-integrated-content-item-grid-date,.metadata-integrated-content-item-grid-size{display:none}@media (max-width: 1200px){.metadata-integrated-content-item-list-item{grid-template-columns:var(--spacing-element-large) 60px 1fr 1.5fr .8fr 120px 80px}}@media (max-width: 768px){.metadata-integrated-content-item-list-item{grid-template-columns:var(--spacing-element-large) 50px 1fr 1fr .6fr 100px 60px;padding:var(--spacing-element-small) var(--spacing-element-base)}.metadata-integrated-content-item-list-thumbnail{width:40px;height:30px}.metadata-integrated-content-item-grid-info{padding:var(--spacing-element-small)}.metadata-integrated-content-item-grid-title{font-size:var(--typography-body-small-font-size)}.metadata-integrated-content-item-grid-meta{font-size:var(--typography-body-extra-small-font-size)}}@media (max-width: 480px){.metadata-integrated-content-item-list-item{grid-template-columns:1fr;grid-template-rows:auto;gap:var(--spacing-element-small);padding:var(--spacing-element-base)}.metadata-integrated-content-item-list-thumbnail{grid-column:1;grid-row:1;justify-self:center;width:60px;height:45px}.metadata-integrated-content-item-list-title{grid-column:1;grid-row:2}.metadata-integrated-content-item-list-description{grid-column:1;grid-row:3}.metadata-integrated-content-item-list-tags{grid-column:1;grid-row:4}.metadata-integrated-content-item-list-category{grid-column:1;grid-row:5}.metadata-integrated-content-item-list-actions{grid-column:1;grid-row:6;justify-self:center}}.metadata-integrated-gallery-page-container{display:flex;flex-direction:column;height:100vh;background-color:var(--color-gallery-content);color:var(--color-text-primary);font-family:var(--font-family-sans)}.metadata-integrated-gallery-page-main-layout{display:flex;flex:1;overflow:hidden}.metadata-integrated-gallery-page-content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;background-color:var(--color-gallery-content)}.metadata-integrated-gallery-page-content-area>*:first-child{flex-shrink:0!important;min-height:56px}@media (max-width: 768px){.metadata-integrated-gallery-page-main-layout{flex-direction:column}}[data-theme=dark] .metadata-integrated-gallery-page-container{background-color:var(--color-gallery-content);color:var(--color-text-primary)}@media (prefers-reduced-motion: reduce){.metadata-integrated-gallery-page-content-area{transition:none}}@media print{.metadata-integrated-gallery-page-container{height:auto;background-color:var(--color-white);color:var(--color-text-primary)}.metadata-integrated-gallery-page-content-area{margin-left:0}}.metadata-integrated-main-content-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-gallery-content)}.metadata-integrated-main-content-filter-section{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-default);background-color:var(--color-background-card)}.metadata-integrated-main-content-filter-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-body-base);cursor:pointer;transition:all var(--transition-normal)}.metadata-integrated-main-content-filter-toggle:hover{background-color:var(--color-background-secondary);border-color:var(--color-interactive-primary)}.metadata-integrated-main-content-filter-toggle:focus{outline:2px solid var(--color-interactive-primary);outline-offset:2px}.metadata-integrated-main-content-filter-toggle-icon{font-size:var(--font-size-body-small);color:var(--color-text-secondary);transition:transform var(--transition-normal)}.metadata-integrated-main-content-filter-toggle[aria-expanded=true] .metadata-integrated-main-content-filter-toggle-icon{transform:rotate(90deg)}.metadata-integrated-main-content-list-header{display:grid;grid-template-columns:var(--spacing-lg) 80px 1fr 2fr 1fr 150px 100px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border-default);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-small);color:var(--color-text-secondary);position:sticky;top:0;z-index:1}.metadata-integrated-main-content-header-thumbnail,.metadata-integrated-main-content-header-title,.metadata-integrated-main-content-header-description,.metadata-integrated-main-content-header-tags,.metadata-integrated-main-content-header-category,.metadata-integrated-main-content-header-actions{padding:var(--spacing-xs) 0;text-transform:uppercase;letter-spacing:.5px}.metadata-integrated-main-content-content-grid{flex:1;overflow-y:auto;padding:var(--spacing-md)}.metadata-integrated-main-content-content-grid-view-mode-list{display:flex;flex-direction:column;gap:1px;padding:0}.metadata-integrated-main-content-content-grid-view-mode-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);align-content:start}.metadata-integrated-main-content-content-grid-view-mode-medium{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm);align-content:start}.metadata-integrated-main-content-loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.metadata-integrated-main-content-loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-default);border-top:3px solid var(--color-interactive-primary);border-radius:50%;animation:metadata-integrated-main-content-spin 1s linear infinite}@keyframes metadata-integrated-main-content-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metadata-integrated-main-content-loading-text{font-size:var(--font-size-body-base);color:var(--color-text-secondary);margin:0}.metadata-integrated-main-content-empty-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:center}.metadata-integrated-main-content-empty-icon{font-size:64px;opacity:.5}.metadata-integrated-main-content-empty-title{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-text-primary);margin:0}.metadata-integrated-main-content-empty-description{font-size:var(--font-size-body-base);color:var(--color-text-secondary);margin:0;max-width:400px}@media (max-width: 1200px){.metadata-integrated-main-content-list-header{grid-template-columns:var(--spacing-lg) 60px 1fr 1.5fr .8fr 120px 80px}}@media (max-width: 768px){.metadata-integrated-main-content-list-header{grid-template-columns:var(--spacing-lg) 50px 1fr 1fr .6fr 100px 60px;font-size:var(--font-size-body-small)}.metadata-integrated-main-content-content-grid-view-mode-large{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-sm)}.metadata-integrated-main-content-content-grid-view-mode-medium{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-xs)}}@media (max-width: 480px){.metadata-integrated-main-content-list-header{display:none}.metadata-integrated-main-content-content-grid-view-mode-large,.metadata-integrated-main-content-content-grid-view-mode-medium{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-xs)}}[data-theme=dark] .metadata-integrated-main-content-container{background-color:var(--color-gallery-content)}[data-theme=dark] .metadata-integrated-main-content-filter-section{background-color:var(--color-background-card);border-bottom-color:var(--color-border-default)}[data-theme=dark] .metadata-integrated-main-content-list-header{background-color:var(--color-background-tertiary);border-bottom-color:var(--color-border-default);color:var(--color-text-secondary)}[data-theme=dark] .metadata-integrated-main-content-filter-toggle{color:var(--color-text-primary);border-color:var(--color-border-default)}[data-theme=dark] .metadata-integrated-main-content-filter-toggle:hover{background-color:var(--color-background-secondary);border-color:var(--color-interactive-primary)}@media (prefers-reduced-motion: reduce){.metadata-integrated-main-content-loading-spinner{animation:none}.metadata-integrated-main-content-filter-toggle,.metadata-integrated-main-content-filter-toggle-icon{transition:none}}@media print{.metadata-integrated-main-content-filter-section{display:none}.metadata-integrated-main-content-content-grid{display:block;-moz-columns:2;columns:2;-moz-column-gap:var(--spacing-lg);column-gap:var(--spacing-lg)}.metadata-integrated-main-content-loading-container,.metadata-integrated-main-content-empty-container{display:none}}.metadata-list-view-container{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--color-background-primary)}.metadata-list-view-header{display:grid;grid-template-columns:5rem 1fr 1fr 200px 150px 120px;gap:var(--spacing-element-base);padding:var(--spacing-element-base);background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border-default);font-weight:var(--font-weight-semibold);font-size:.875rem;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.metadata-list-view-header-thumbnail,.metadata-list-view-header-title,.metadata-list-view-header-description,.metadata-list-view-header-tags,.metadata-list-view-header-category,.metadata-list-view-header-actions{display:flex;align-items:center;padding:var(--spacing-element-small)}.metadata-list-view-list-container{flex:1;overflow-y:auto;padding:var(--spacing-element-base)}.metadata-list-view-list-item{display:grid;grid-template-columns:5rem 1fr 1fr 200px 150px 120px;gap:var(--spacing-element-base);align-items:center;padding:var(--spacing-element-base);margin-bottom:var(--spacing-element-base);border-radius:var(--border-radius-xl);background-color:var(--color-background-tertiary);transition:all .2s;box-shadow:0 10px 15px -3px var(--color-shadow-md)}.metadata-list-view-list-item:hover{box-shadow:0 20px 25px -5px var(--color-shadow-md);outline:2px solid var(--color-interactive-primary);outline-offset:0}.metadata-list-view-list-item-selectable{cursor:pointer}.metadata-list-view-list-item-draggable{cursor:move}.metadata-list-view-list-item-dragging{opacity:.5;transform:rotate(2deg)}.metadata-list-view-list-item-selected{outline:4px solid var(--color-interactive-primary);outline-offset:0;background-color:var(--color-background-selected)}.metadata-list-view-item-thumbnail{width:5rem;height:5rem;flex-shrink:0;border-radius:var(--border-radius-lg);overflow:hidden;background-color:var(--color-background-muted)}.metadata-list-view-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none}.metadata-list-view-item-title,.metadata-list-view-item-description{min-width:0;padding-right:var(--spacing-element-small)}.metadata-list-view-item-tags{min-width:0;max-width:200px;padding-right:var(--spacing-element-small)}.metadata-list-view-item-category{min-width:0;max-width:150px;padding-right:var(--spacing-element-small)}.metadata-list-view-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-element-small);min-width:120px}.metadata-list-view-favorite-button{padding:var(--spacing-element-small);color:var(--color-text-muted);transition:color .2s;background:transparent;border:none;cursor:pointer;border-radius:var(--border-radius-base)}.metadata-list-view-favorite-button:hover{color:var(--color-text-primary);background-color:var(--color-interactive-hover)}.metadata-list-view-favorite-button-active{padding:var(--spacing-element-small);color:var(--color-status-error);background:transparent;border:none;cursor:pointer;border-radius:var(--border-radius-base)}.metadata-list-view-favorite-button-active:hover{background-color:var(--color-interactive-hover)}.metadata-list-view-favorite-icon{width:1.25rem;height:1.25rem}.metadata-list-view-detail-button{padding:var(--spacing-element-small);color:var(--color-text-muted);transition:color .2s;background:transparent;border:none;cursor:pointer;border-radius:var(--border-radius-base)}.metadata-list-view-detail-button:hover{color:var(--color-text-primary);background-color:var(--color-interactive-hover)}.metadata-list-view-detail-icon{width:1rem;height:1rem}.metadata-list-view-item-date{font-size:.75rem;color:var(--color-text-muted);text-align:right;white-space:nowrap}.metadata-list-view-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-section-medium);gap:var(--spacing-element-base)}.metadata-list-view-spinner{width:2rem;height:2rem;border:2px solid var(--color-background-muted);border-top:2px solid var(--color-interactive-primary);border-radius:50%;animation:metadata-list-view-spin 1s linear infinite}@keyframes metadata-list-view-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.metadata-list-view-loading-text{color:var(--color-text-secondary);font-size:var(--font-size-body-base)}.metadata-list-view-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-section-medium)}.metadata-list-view-error-message{color:var(--color-status-error);font-size:var(--font-size-body-base);text-align:center;padding:var(--spacing-element-base);border-radius:var(--border-radius-base);background-color:var(--color-status-warningBackgroundDark);border:1px solid var(--color-status-warningBorderDark)}.metadata-list-view-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-section-medium);gap:var(--spacing-element-base);text-align:center}.metadata-list-view-empty-icon{font-size:3rem;opacity:.5}.metadata-list-view-empty-title{font-size:var(--font-size-heading-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.metadata-list-view-empty-description{font-size:var(--font-size-body-base);color:var(--color-text-secondary);max-width:400px}@media (max-width: 1200px){.metadata-list-view-header,.metadata-list-view-list-item{grid-template-columns:4rem 1fr 1fr 150px 120px 100px}.metadata-list-view-item-tags{max-width:150px}.metadata-list-view-item-category{max-width:120px}.metadata-list-view-item-actions{min-width:100px}}@media (max-width: 900px){.metadata-list-view-header,.metadata-list-view-list-item{grid-template-columns:4rem 1fr 120px 80px}.metadata-list-view-header-description,.metadata-list-view-item-description,.metadata-list-view-header-tags,.metadata-list-view-item-tags{display:none}}@media (max-width: 600px){.metadata-list-view-header,.metadata-list-view-list-item{grid-template-columns:3rem 1fr 60px}.metadata-list-view-header-category,.metadata-list-view-item-category{display:none}.metadata-list-view-item-actions{min-width:60px}.metadata-list-view-item-date{display:none}}.metadata-list-view-list-item:focus-within{outline:2px solid var(--color-interactive-primary);outline-offset:2px}@media (prefers-contrast: high){.metadata-list-view-list-item{border:2px solid var(--color-border-default)}.metadata-list-view-list-item-selected{border-color:var(--color-interactive-primary);background-color:var(--color-background-primary)}}@media (prefers-reduced-motion: reduce){.metadata-list-view-list-item,.metadata-list-view-favorite-button,.metadata-list-view-detail-button,.metadata-list-view-spinner{transition:none;animation:none}}@media print{.metadata-list-view-item-actions{display:none}.metadata-list-view-list-item{box-shadow:none;border:1px solid var(--color-border-default)}}.share-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:var(--color-background-overlay);padding:var(--spacing-md)}.share-modal{background-color:var(--color-background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.share-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-default)}.share-modal-header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.share-modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.share-modal-close-button{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--border-radius-md);color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-normal)}.share-modal-close-button:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary)}.share-modal-close-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-interactive-focus)}.share-modal-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.share-modal-tabs{display:flex;border-bottom:1px solid var(--color-border-default);background-color:var(--color-background-secondary)}.share-modal-tab{flex:1;padding:var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:400;cursor:pointer;transition:all var(--transition-normal)}.share-modal-tab:hover{color:var(--color-text-primary);background-color:var(--color-interactive-hover)}.share-modal-tab:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-interactive-focus)}.share-modal-tab-active{border-bottom-color:var(--color-interactive-primary);color:var(--color-interactive-primary);font-weight:600}.share-modal-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.share-modal-panel{animation:share-modal-fade-in var(--transition-normal) ease-in}@keyframes share-modal-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.share-modal-placeholder{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-base)}.share-modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border-default);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.share-modal-close-footer-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-interactive-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.share-modal-close-footer-button:hover{background-color:var(--color-interactive-hover)}.share-modal-close-footer-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-interactive-focus)}@media (prefers-reduced-motion: reduce){.sidebar-folders-v2-create-button{transition:none}.sidebar-folders-v2-create-button:hover,.sidebar-folders-v2-create-button:active{transform:none}}@media (prefers-contrast: high){.sidebar-folders-v2-container{border-width:var(--border-width-medium)}.sidebar-folders-v2-header{border-bottom-width:var(--border-width-medium)}.sidebar-folders-v2-create-button:focus{outline-width:var(--border-width-thick)}}html[data-theme=dark] .sidebar-folders-v2-container{background-color:transparent;border-color:var(--color-border-subtle-dark)}html[data-theme=dark] .sidebar-folders-v2-header{background-color:transparent;border-bottom-color:var(--color-border-subtle-dark)}html[data-theme=dark] .sidebar-folders-v2-title{color:var(--color-text-primary)}html[data-theme=dark] .sidebar-folders-v2-create-button{color:var(--color-text-secondary)}html[data-theme=dark] .sidebar-folders-v2-create-button:hover{background-color:var(--color-background-hover);color:var(--color-text-primary)}html[data-theme=dark] .sidebar-folders-v2-error-message{background-color:var(--color-status-error-background-dark);border-bottom-color:var(--color-status-error-dark);color:var(--color-status-error-text-dark)}@media (max-width: 768px){.sidebar-folders-v2-header{padding:var(--spacing-element-small)}.sidebar-folders-v2-title{font-size:var(--font-size-body-small)}.sidebar-folders-v2-create-button{width:var(--size-icon-small);height:var(--size-icon-small)}}@media print{.sidebar-folders-v2-container{border:var(--border-width-thin) solid var(--color-text-primary);background-color:transparent}.sidebar-folders-v2-create-button{display:none}.sidebar-folders-v2-error-message{background-color:transparent;border:var(--border-width-thin) solid var(--color-text-primary)}}.upload-modal-upload-area:hover,.upload-modal-upload-area-drag-over{border-color:var(--color-interactive-primary);background-color:var(--color-interactive-tertiary-hover)}.upload-modal-file-item-uploading{border-color:var(--color-interactive-primary);background-color:var(--color-interactive-tertiary-hover);box-shadow:0 2px 4px var(--color-shadow-sm)}.upload-modal-file-item-completed{border-color:var(--color-status-success);background-color:var(--color-status-success-bg)}.upload-modal-file-item-error{border-color:var(--color-status-error);background-color:var(--color-status-error-bg)}.upload-modal-status-duplicate-check{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-status-warning)}.upload-modal-status-skipped{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-secondary)}.upload-modal-original-name{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);font-weight:var(--typography-font-weight-normal)}.virtualized-metadata-list-view-container{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--color-background-primary)}.virtualized-metadata-list-view-header{display:grid;grid-template-columns:80px 1fr 1fr 200px 150px 120px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.virtualized-metadata-list-view-header-thumbnail,.virtualized-metadata-list-view-header-title,.virtualized-metadata-list-view-header-description,.virtualized-metadata-list-view-header-tags,.virtualized-metadata-list-view-header-category,.virtualized-metadata-list-view-header-actions{display:flex;align-items:center;padding:var(--spacing-sm)}.virtualized-metadata-list-view-virtual-list-container{flex:1;width:100%;overflow:hidden}.virtualized-metadata-list-view-virtual-list{flex:1;width:100%;outline:none}.virtualized-metadata-list-view-list-item{display:grid;grid-template-columns:80px 1fr 1fr 200px 150px 120px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-default);background-color:var(--color-background-primary);transition:all .2s ease;cursor:pointer;align-items:center}.virtualized-metadata-list-view-list-item:hover{background-color:var(--color-interactive-hover)}.virtualized-metadata-list-view-list-item-selectable{cursor:pointer}.virtualized-metadata-list-view-list-item-draggable{cursor:grab}.virtualized-metadata-list-view-list-item-draggable:active{cursor:grabbing}.virtualized-metadata-list-view-list-item-selected{background-color:var(--color-background-selected);border-left:3px solid var(--color-interactive-primary)}.virtualized-metadata-list-view-list-item-dragging{opacity:.5;transform:rotate(2deg);box-shadow:0 4px 12px var(--color-shadow-lg)}.virtualized-metadata-list-view-item-thumbnail{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:4px;overflow:hidden;background-color:var(--color-background-muted)}.virtualized-metadata-list-view-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px}.virtualized-metadata-list-view-item-title,.virtualized-metadata-list-view-item-description,.virtualized-metadata-list-view-item-tags,.virtualized-metadata-list-view-item-category{display:flex;align-items:center;min-height:40px;padding:var(--spacing-sm)}.virtualized-metadata-list-view-item-actions{display:flex;align-items:center;gap:var(--spacing-sm);justify-content:flex-end}.virtualized-metadata-list-view-favorite-button,.virtualized-metadata-list-view-favorite-button-active,.virtualized-metadata-list-view-detail-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:all .2s ease}.virtualized-metadata-list-view-favorite-button:hover,.virtualized-metadata-list-view-detail-button:hover{background-color:var(--color-interactive-hover)}.virtualized-metadata-list-view-favorite-button-active{background-color:var(--color-status-error);color:var(--color-text-inverse)}.virtualized-metadata-list-view-favorite-button-active:hover{background-color:var(--color-status-error-hover)}.virtualized-metadata-list-view-favorite-icon,.virtualized-metadata-list-view-detail-icon{width:16px;height:16px}.virtualized-metadata-list-view-favorite-button-active .virtualized-metadata-list-view-favorite-icon{fill:currentColor}.virtualized-metadata-list-view-item-date{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.virtualized-metadata-list-view-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-sm)}.virtualized-metadata-list-view-spinner{width:32px;height:32px;border:3px solid var(--color-background-muted);border-top:3px solid var(--color-interactive-primary);border-radius:50%;animation:virtualized-metadata-list-view-spin 1s linear infinite}@keyframes virtualized-metadata-list-view-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.virtualized-metadata-list-view-loading-text{font-size:var(--font-size-base);color:var(--color-text-secondary)}.virtualized-metadata-list-view-error-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.virtualized-metadata-list-view-error-message{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-status-warningBackgroundDark);border:1px solid var(--color-status-warningBorderDark);border-radius:4px;color:var(--color-status-error);font-size:var(--font-size-base)}.virtualized-metadata-list-view-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-sm);text-align:center}.virtualized-metadata-list-view-empty-icon{font-size:3rem;opacity:.5}.virtualized-metadata-list-view-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.virtualized-metadata-list-view-empty-description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px}@media (max-width: 1024px){.virtualized-metadata-list-view-header,.virtualized-metadata-list-view-list-item{grid-template-columns:60px 1fr 120px 100px}.virtualized-metadata-list-view-header-description,.virtualized-metadata-list-view-header-tags,.virtualized-metadata-list-view-item-description,.virtualized-metadata-list-view-item-tags{display:none}}@media (max-width: 768px){.virtualized-metadata-list-view-header,.virtualized-metadata-list-view-list-item{grid-template-columns:50px 1fr 80px}.virtualized-metadata-list-view-header-category,.virtualized-metadata-list-view-item-category{display:none}.virtualized-metadata-list-view-item-actions{flex-direction:column;gap:4px}.virtualized-metadata-list-view-item-date{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.virtualized-metadata-list-view-list-item,.virtualized-metadata-list-view-favorite-button,.virtualized-metadata-list-view-favorite-button-active,.virtualized-metadata-list-view-detail-button{transition:none}.virtualized-metadata-list-view-spinner{animation:none}}.virtualized-metadata-list-view-list-item:focus-visible{outline:2px solid var(--color-interactive-primary);outline-offset:-2px}.virtualized-metadata-list-view-favorite-button:focus-visible,.virtualized-metadata-list-view-favorite-button-active:focus-visible,.virtualized-metadata-list-view-detail-button:focus-visible{outline:2px solid var(--color-interactive-primary);outline-offset:2px}@media (prefers-contrast: high){.virtualized-metadata-list-view-list-item{border-bottom:2px solid var(--color-border-default)}.virtualized-metadata-list-view-list-item-selected{border-left:4px solid var(--color-interactive-primary)}.virtualized-metadata-list-view-error-message{border:2px solid var(--color-status-error)}}.monitoring-status-success{color:var(--color-status-success)}.monitoring-status-warning{color:var(--color-status-warning)}.monitoring-status-error{color:var(--color-status-error)}.monitoring-text-primary{color:var(--color-text-primary)}.monitoring-health-circle-success{background-color:var(--color-status-success)}.monitoring-health-circle-warning{background-color:var(--color-status-warning)}.monitoring-health-circle-error{background-color:var(--color-status-error)}.monitoring-requirement-passed{color:var(--color-status-success)}.monitoring-requirement-failed{color:var(--color-status-error)}.monitoring-chart-bar-success{background-color:var(--color-status-success)}.monitoring-chart-bar-error,.monitoring-alert-severity-critical,.monitoring-alert-severity-high{background-color:var(--color-status-error)}.monitoring-alert-severity-medium{background-color:var(--color-status-warning)}.monitoring-alert-severity-low,.monitoring-alert-severity-default{background-color:var(--color-status-info)}.monitoring-alert-item-critical,.monitoring-alert-item-high{border-left-color:var(--color-status-error)}.monitoring-alert-item-medium{border-left-color:var(--color-status-warning)}.monitoring-alert-item-low,.monitoring-alert-item-default{border-left-color:var(--color-status-info)}.monitoring-alert-badge-critical,.monitoring-alert-badge-high{background-color:var(--color-status-error)}.monitoring-alert-badge-medium{background-color:var(--color-status-warning)}.monitoring-alert-badge-low,.monitoring-alert-badge-default{background-color:var(--color-status-info)}.monitoring-expand-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease-in-out}.monitoring-expand-button:hover{background-color:var(--color-surface-secondary);color:var(--color-text-primary)}.monitoring-content{padding:var(--spacing-md)}.monitoring-health-indicator{display:flex;align-items:center;gap:var(--spacing-sm)}.monitoring-health-circle{width:12px;height:12px;border-radius:50%}.monitoring-health-circle-compact{width:8px;height:8px}.monitoring-health-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.monitoring-compact-view{display:flex;flex-direction:column;gap:var(--spacing-sm)}.monitoring-compact-metrics{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.monitoring-compact-alerts{display:flex;flex-direction:column;gap:var(--spacing-xs)}.monitoring-more-alerts{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-xs)}.monitoring-expanded-view{min-width:300px}.monitoring-tabs{display:flex;border-bottom:1px solid var(--color-border-default);margin-bottom:var(--spacing-md)}.monitoring-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease-in-out}.monitoring-tab:hover{color:var(--color-text-primary);background-color:var(--color-surface-secondary)}.monitoring-tab-active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600)}.monitoring-tab-badge{background-color:var(--color-status-error);color:var(--color-white);font-size:var(--font-size-xs, .75rem);padding:2px 6px;border-radius:var(--radius-full);margin-left:var(--spacing-xs)}.monitoring-no-data{text-align:center;color:var(--color-text-tertiary);padding:var(--spacing-xl)}.monitoring-metrics-tab{display:flex;flex-direction:column;gap:var(--spacing-md)}.monitoring-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-sm)}.monitoring-section-title{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.monitoring-metric-value-good{color:var(--color-status-success)}.monitoring-metric-value-warning{color:var(--color-status-warning)}.monitoring-metric-value-bad{color:var(--color-status-error)}.monitoring-alerts-tab{display:flex;flex-direction:column;gap:var(--spacing-sm)}.monitoring-no-alerts{text-align:center;padding:var(--spacing-xl)}.monitoring-no-alerts-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.monitoring-config-tab{display:flex;flex-direction:column;gap:var(--spacing-md)}.monitoring-config-section{padding:var(--spacing-md);background-color:var(--color-surface-secondary);border-radius:var(--radius-md)}.monitoring-control-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-default);background-color:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease-in-out}.monitoring-control-button:hover{background-color:var(--color-surface-secondary)}.monitoring-control-button-active{background-color:var(--color-primary-500);color:var(--color-white);border-color:var(--color-primary-500)}.monitoring-status-active{color:var(--color-status-success);font-weight:var(--font-weight-semibold)}.monitoring-status-inactive{color:var(--color-text-muted)}.header{display:flex;align-items:center;justify-content:space-between;height:var(--spacing-16, 4rem);padding:0 var(--spacing-4, 1rem);background-color:var(--color-background-card);border-bottom:1px solid var(--color-border-default);box-shadow:0 1px 3px var(--color-shadow-sm);position:sticky;top:0;z-index:100}.header-left-section,.header-right-section{display:flex;align-items:center;gap:var(--spacing-3, .75rem)}.header-icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-10, 2.5rem);height:var(--spacing-10, 2.5rem);padding:var(--spacing-2, .5rem);background-color:transparent;border:none;border-radius:var(--radius-md, .375rem);color:var(--color-interactive-primary);cursor:pointer;transition:all var(--transition-normal)}.header-icon-button:hover:not(:disabled){background-color:var(--color-interactive-tertiary-hover);transform:scale(1.05)}.header-icon-button:active:not(:disabled){background-color:var(--color-interactive-tertiary-active);transform:scale(.95)}.header-icon-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.header-icon-button:disabled{opacity:.6;cursor:default}.header-app-icon{width:var(--spacing-6, 1.5rem);height:var(--spacing-6, 1.5rem);display:block}.header-menu-button{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-10, 2.5rem);height:var(--spacing-10, 2.5rem);padding:var(--spacing-2, .5rem);background-color:transparent;border:none;border-radius:var(--radius-md, .375rem);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal)}.header-menu-button:hover{background-color:var(--color-interactive-tertiary-hover)}.header-menu-button:active{background-color:var(--color-interactive-tertiary-active);transform:scale(.95)}.header-menu-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.header-menu-icon{width:var(--spacing-5, 1.25rem);height:var(--spacing-5, 1.25rem);display:block}.header-title{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semiBold, 600);line-height:var(--line-height-tight, 1.25);color:var(--color-text-primary);margin:0}@media (max-width: 640px){.header{padding:0 var(--spacing-3, .75rem)}.header-title{font-size:var(--font-size-lg, 1.125rem)}}.container{width:100%;box-sizing:border-box}.container-xs{max-width:var(--container-xs)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-3xl{max-width:var(--container-3xl)}.container-4xl{max-width:var(--container-4xl)}.container-5xl{max-width:var(--container-5xl)}.container-6xl{max-width:var(--container-6xl)}.container-7xl{max-width:var(--container-7xl)}.container-full{max-width:100%}.container-padding-none{padding:0}.container-padding-xs{padding:var(--spacing-2)}.container-padding-sm{padding:var(--spacing-3)}.container-padding-md{padding:var(--spacing-4)}.container-padding-lg{padding:var(--spacing-6)}.container-padding-xl{padding:var(--spacing-8)}.container-padding-responsive{padding:var(--spacing-4)}@media (min-width: 768px){.container-padding-responsive{padding:var(--spacing-6)}}@media (min-width: 1024px){.container-padding-responsive{padding:var(--spacing-8)}}.container-centered{margin-left:auto;margin-right:auto}.container-full-height{height:100vh;min-height:100vh}.sidebar{background-color:var(--color-background-primary);height:100vh;position:fixed;top:0;z-index:999;transition:all var(--transition-slow);display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.sidebar-left{left:0;border-right:1px solid var(--color-border-default)}.sidebar-right{right:0;border-left:1px solid var(--color-border-default)}.sidebar-sm{width:200px}.sidebar-sm.sidebar-collapsed{width:60px}.sidebar-md{width:240px}.sidebar-md.sidebar-collapsed{width:64px}.sidebar-lg{width:280px}.sidebar-lg.sidebar-collapsed{width:72px}.sidebar-xl{width:320px}.sidebar-xl.sidebar-collapsed{width:80px}.sidebar.sidebar-mobile:not(.sidebar-overlay){transform:translate(-100%)}.sidebar.sidebar-mobile.sidebar-right:not(.sidebar-overlay){transform:translate(100%)}.sidebar.sidebar-mobile.sidebar-overlay{z-index:1001}.sidebar-overlay-backdrop{position:fixed;inset:0;background-color:var(--color-background-overlay);z-index:998;backdrop-filter:blur(4px)}.sidebar-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.sidebar-content{flex:1;overflow:auto;padding:var(--spacing-3)}.sidebar-footer{padding:var(--spacing-4);border-top:1px solid var(--color-border-default);flex-shrink:0}.sidebar-collapse-button{position:absolute;top:var(--spacing-4);right:var(--spacing-2);width:var(--icon-size-md);height:var(--icon-size-md);border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--transition-normal);padding:0}.sidebar-collapse-button:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary)}.sidebar-collapse-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.stack{display:flex}.stack-horizontal{flex-direction:row}.stack-vertical{flex-direction:column}.stack-spacing-none{gap:0}.stack-spacing-small{gap:var(--spacing-2)}.stack-spacing-medium{gap:var(--spacing-4)}.stack-spacing-large{gap:var(--spacing-6)}.stack-spacing-xlarge{gap:var(--spacing-8)}.stack-align-start{align-items:flex-start}.stack-align-center{align-items:center}.stack-align-end{align-items:flex-end}.stack-align-stretch{align-items:stretch}.stack-justify-start{justify-content:flex-start}.stack-justify-center{justify-content:center}.stack-justify-end{justify-content:flex-end}.stack-justify-between{justify-content:space-between}.stack-justify-around{justify-content:space-around}.stack-justify-evenly{justify-content:space-evenly}.theme-toggle-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2, .5rem);background-color:var(--color-interactive-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md, .375rem);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal)}.theme-toggle-button:hover{background-color:var(--color-interactive-secondary-hover);border-color:var(--color-border-medium)}.theme-toggle-button:active{background-color:var(--color-interactive-secondary-active);transform:scale(.95)}.theme-toggle-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.theme-toggle-button:disabled{opacity:.5;cursor:not-allowed}.theme-toggle-icon{width:100%;height:100%;display:block}.theme-toggle-sm{width:var(--spacing-8, 2rem);height:var(--spacing-8, 2rem)}.theme-toggle-sm .theme-toggle-icon{width:var(--spacing-4, 1rem);height:var(--spacing-4, 1rem)}.theme-toggle-md{width:var(--spacing-10, 2.5rem);height:var(--spacing-10, 2.5rem)}.theme-toggle-md .theme-toggle-icon{width:var(--spacing-5, 1.25rem);height:var(--spacing-5, 1.25rem)}.theme-toggle-lg{width:var(--spacing-12, 3rem);height:var(--spacing-12, 3rem)}.theme-toggle-lg .theme-toggle-icon{width:var(--spacing-6, 1.5rem);height:var(--spacing-6, 1.5rem)}.dashboard-container{max-width:1400px;margin:0 auto;padding:var(--spacing-container-padding);width:100%}.dashboard-header-section{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-large) var(--spacing-section-medium);margin-bottom:var(--spacing-section-medium);color:var(--color-text-primary);box-shadow:var(--shadow-lg);text-align:center}.dashboard-header-title{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-font-weight-bold);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h1-line-height)}.dashboard-header-subtitle{font-size:var(--typography-body-large-size);opacity:.9;font-family:var(--typography-font-family-sans);line-height:var(--typography-body-large-line-height)}.dashboard-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-grid-gap-large);margin-bottom:var(--spacing-section-medium)}@media (max-width: 1024px){.dashboard-cards-grid{grid-template-columns:1fr}}.dashboard-card{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-card-padding-large);box-shadow:var(--shadow-sm);border:2px solid var(--color-border-default);transition:all var(--transition-duration-fast) var(--transition-timing-ease);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-flex-gap-medium);min-height:300px}.dashboard-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.dashboard-card-non-clickable{cursor:default}.dashboard-card-non-clickable:hover{transform:none;box-shadow:var(--shadow-sm)}.dashboard-card-header{display:flex;align-items:center;gap:var(--spacing-flex-gap-medium)}.dashboard-card-icon{width:48px;height:48px;border-radius:var(--spacing-border-radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-inverse);background-color:var(--color-interactive-primary)}.dashboard-card-title{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h3-line-height)}.dashboard-card-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-flex-gap-medium)}.dashboard-info-item{margin-bottom:var(--spacing-element-small)}.dashboard-info-label{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-tiny);font-family:var(--typography-font-family-sans);line-height:var(--typography-body-small-line-height)}.dashboard-info-value{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);line-height:var(--typography-body-base-line-height)}.dashboard-info-value-large{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h2-line-height)}.dashboard-info-value-highlight{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-interactive-primary);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h2-line-height)}.dashboard-progress-bar{width:100%;height:8px;background-color:var(--color-background-tertiary);border-radius:var(--spacing-border-radius-full);overflow:hidden;margin-top:var(--spacing-element-small)}.dashboard-progress-fill{height:100%;background-color:var(--color-interactive-primary);border-radius:var(--spacing-border-radius-full);transition:width var(--transition-duration-fast) var(--transition-timing-ease)}.dashboard-button{width:100%;padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-radius:var(--spacing-border-radius-medium);text-align:center;font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);font-family:var(--typography-font-family-sans);border:none;cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-timing-ease);margin-bottom:var(--spacing-element-small)}.dashboard-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background-color:var(--color-interactive-primary-hover)}.dashboard-button:active{transform:translateY(0)}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-base-4);background-color:var(--color-background-secondary)}.forgot-password-card{width:100%;max-width:28rem;background-color:var(--color-background-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-base-8)}.forgot-password-header{margin-bottom:var(--spacing-base-6);text-align:center}.forgot-password-title{font-size:var(--font-size-heading-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-base-3) 0}.forgot-password-subtitle{font-size:var(--font-size-body-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.forgot-password-form{display:flex;flex-direction:column;gap:var(--spacing-base-4)}.forgot-password-error-message{padding:var(--spacing-base-3);background-color:var(--color-status-error-bg);border:1px solid var(--color-status-error);border-radius:var(--border-radius-md);color:var(--color-status-error);font-size:var(--font-size-body-small);text-align:center}.forgot-password-success-message{padding:var(--spacing-base-4);background-color:var(--color-status-success-bg);border:1px solid var(--color-status-success);border-radius:var(--border-radius-md);color:var(--color-status-success);font-size:var(--font-size-body-base);text-align:center;margin-bottom:var(--spacing-base-4)}.forgot-password-input-group{display:flex;flex-direction:column;gap:var(--spacing-base-2)}.forgot-password-label{font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.forgot-password-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;padding:var(--spacing-base-3) var(--spacing-base-4);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-body-base);outline:none;transition:all var(--transition-normal)}.forgot-password-input:focus{border-color:var(--color-interactive-primary);box-shadow:0 0 0 3px var(--color-interactive-primary-shadow)}.forgot-password-input-disabled{background-color:var(--color-background-secondary);opacity:.6;cursor:not-allowed}.forgot-password-submit-button{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:var(--spacing-base-2);padding:var(--spacing-base-3) var(--spacing-base-8);border:none;font-size:var(--font-size-body-base);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);color:var(--color-text-inverse);background-color:var(--color-interactive-primary);cursor:pointer;outline:none;transition:all var(--transition-normal)}.forgot-password-submit-button:hover:not(:disabled){background-color:var(--color-interactive-primary-hover)}.forgot-password-submit-button:focus{box-shadow:0 0 0 2px var(--color-background-primary),0 0 0 4px var(--color-interactive-primary)}.forgot-password-submit-button-disabled{background-color:var(--color-border-default);cursor:not-allowed;opacity:.6}.forgot-password-spinner{width:16px;height:16px;border:2px solid var(--color-text-inverse);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.forgot-password-link-container{text-align:center;margin-top:var(--spacing-base-4)}.forgot-password-link{background:none;border:none;color:var(--color-interactive-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-body-small);cursor:pointer;text-decoration:none;padding:0;transition:color var(--transition-normal)}.forgot-password-link:hover{color:var(--color-interactive-primary-hover);text-decoration:underline}.forgot-password-link:focus{outline:2px solid var(--color-interactive-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}.gallery-page{display:grid;grid-template-areas:"header header" "sidebar main";grid-template-columns:280px 1fr;grid-template-rows:auto 1fr;height:100vh;height:100dvh;width:100%;max-width:100vw;background-color:var(--color-background-primary);color:var(--color-text-primary);overflow:hidden}.gallery-page.sidebar-collapsed{grid-template-columns:0 1fr}.gallery-header{grid-area:header;background-color:var(--color-gallery-header);border-bottom:1px solid var(--color-border-primary);z-index:100}.gallery-sidebar{grid-area:sidebar}.gallery-main{grid-area:main;display:flex;flex-direction:column;overflow:hidden;min-width:0;background-color:var(--color-gallery-content)}.gallery-folder-bar{display:none}@media (max-width: 768px){.gallery-folder-bar{display:flex;align-items:center;gap:var(--spacing-2, 8px);padding:var(--spacing-2, 8px) var(--spacing-4, 16px);background-color:var(--color-gallery-content);border-bottom:1px solid var(--color-border-primary, #e5e5e5);color:var(--color-text-primary);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;flex-shrink:0;min-height:36px}.gallery-folder-bar:active{background-color:var(--color-background-secondary)}.gallery-folder-bar-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}}.gallery-toolbar{flex-shrink:0;min-height:56px;background-color:var(--color-gallery-actionbar);position:relative;z-index:10}.gallery-content{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;padding:var(--spacing-container-padding);background-color:var(--color-gallery-content);position:relative;z-index:1;scrollbar-width:none;-ms-overflow-style:none}.gallery-content::-webkit-scrollbar{width:0;height:0;display:none}@media (max-width: 1024px){.gallery-page{grid-template-columns:240px 1fr}}@media (max-width: 768px){.gallery-page{grid-template-areas:"header" "main";grid-template-columns:1fr;grid-template-rows:auto 1fr}}@media (prefers-reduced-motion: reduce){.gallery-sidebar{transition:none;animation:none}}.gallery-toolbar button{color:var(--color-gallery-actionbar-text)}.gallery-toolbar .btn-secondary{background-color:var(--color-gallery-button-secondary-bg);color:var(--color-gallery-button-secondary-text)}.gallery-toolbar .btn-secondary:hover{background-color:var(--color-gallery-button-secondary-hover)}.lp{--lp-bg: #535353;--lp-bg-alt: #3D3D3D;--lp-bg-card: #4a4a4a;--lp-bg-card-hover: #5a5a5a;--lp-text: #ffffff;--lp-text-sub: #cccccc;--lp-text-muted: #999999;--lp-accent: #FF6B35;--lp-accent-hover: #e55a28;--lp-secondary: #31A8FF;--lp-header-bg: #2B2B2B;--lp-border: #666666;--lp-radius: 12px;--lp-radius-sm: 8px;--lp-max-width: 1200px;--lp-section-padding: 80px 24px}.lp{background:var(--lp-bg);color:var(--lp-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;width:100%}.lp *{box-sizing:border-box}.lp-section-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:16px;line-height:1.3}.lp-section-title--left{text-align:left}.lp-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--gallery-header-bg, #212836);backdrop-filter:blur(12px);border-bottom:1px solid var(--lp-border)}.lp-header__inner{max-width:var(--lp-max-width);margin:0 auto;padding:0 24px;height:var(--gallery-header-height, 64px);display:flex;align-items:center;justify-content:space-between}.lp-header__logo{display:flex;align-items:center;gap:8px}.lp-header__logo-text{font-size:1.2rem;font-weight:700;color:var(--lp-text)}.lp-header__nav{display:flex;align-items:center;gap:12px}.lp-header__lang-btn{background:transparent;border:1px solid var(--lp-border);color:var(--lp-text-sub);padding:6px 12px;border-radius:var(--lp-radius-sm);cursor:pointer;font-size:.85rem;transition:border-color .2s}.lp-header__lang-btn:hover{border-color:var(--lp-text-sub)}.lp-header__login-btn{background:transparent;border:1px solid var(--lp-secondary);color:var(--lp-secondary);padding:8px 20px;border-radius:var(--lp-radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s,color .2s}.lp-header__login-btn:hover{background:var(--lp-secondary);color:var(--lp-text)}.lp-header__trial-btn{background:var(--lp-accent);border:none;color:var(--lp-text);padding:8px 20px;border-radius:var(--lp-radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}.lp-header__trial-btn:hover{background:var(--lp-accent-hover);transform:translateY(-1px)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:var(--lp-radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.lp-btn--primary{background:var(--lp-accent);color:var(--lp-text)}.lp-btn--primary:hover{background:var(--lp-accent-hover);transform:translateY(-1px)}.lp-btn--secondary{background:transparent;border:1px solid var(--lp-border);color:var(--lp-text)}.lp-btn--secondary:hover{border-color:var(--lp-text-sub);background:#ffffff0d}.lp-btn--trial{background:transparent;border:2px solid var(--lp-accent);color:var(--lp-accent)}.lp-btn--trial:hover{background:var(--lp-accent);color:var(--lp-text);transform:translateY(-1px)}.lp-btn--large{padding:18px 48px;font-size:1.1rem}.lp-hero{padding:140px 24px 80px;text-align:center;background:var(--lp-bg-alt)}.lp-hero__badge,.lp-hero__title,.lp-hero__subtitle,.lp-hero__actions{max-width:var(--lp-max-width);margin-left:auto;margin-right:auto}.lp-hero__badge{display:inline-block;background:#31a8ff1f;color:var(--lp-secondary);padding:6px 16px;border-radius:20px;font-size:.85rem;margin-bottom:24px;border:1px solid rgba(49,168,255,.3)}.lp-hero__title{font-size:3.2rem;font-weight:800;line-height:1.2;margin-bottom:20px}.lp-hero__accent{color:var(--lp-accent)}.lp-hero__subtitle{font-size:1.15rem;color:var(--lp-text-sub);max-width:640px;margin:0 auto 36px;line-height:1.7}.lp-hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.lp-problem{padding:var(--lp-section-padding);background:var(--lp-bg-alt)}.lp-problem__inner{max-width:var(--lp-max-width);margin:0 auto;text-align:center}.lp-problem__title{font-size:2rem;font-weight:700;margin-bottom:16px;line-height:1.4}.lp-problem__highlight{color:var(--lp-accent)}.lp-problem__description{color:var(--lp-text-sub);font-size:1.05rem;max-width:600px;margin:0 auto 32px}.lp-problem__preview{max-width:800px;margin:0 auto}.lp-problem__preview-label{font-size:.85rem;color:var(--lp-text-muted);margin-bottom:12px}.lp-problem__iframe{width:100%;height:450px;border:1px solid var(--lp-border);border-radius:var(--lp-radius);background:#000}.lp-features{padding:var(--lp-section-padding);max-width:var(--lp-max-width);margin:0 auto}.lp-features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.lp-features__card{background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius);padding:32px 24px;text-align:center;transition:border-color .2s,transform .2s}.lp-features__card:hover{border-color:var(--lp-accent);transform:translateY(-2px)}.lp-features__icon{font-size:2.5rem;margin-bottom:16px}.lp-features__card-title{font-size:1.1rem;font-weight:600;margin-bottom:12px}.lp-features__card-desc{font-size:.9rem;color:var(--lp-text-sub);line-height:1.6}.lp-showcase{padding:var(--lp-section-padding);background:var(--lp-bg-alt)}.lp-showcase__subtitle{text-align:center;color:var(--lp-text-sub);margin-bottom:40px}.lp-showcase__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:var(--lp-max-width);margin:0 auto}.lp-showcase__card{background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;min-height:280px;display:flex;align-items:center;justify-content:center}.lp-showcase__card:hover{border-color:var(--lp-accent);transform:translateY(-2px)}.lp-showcase__card--active{border-color:var(--lp-accent)}.lp-showcase__placeholder{text-align:center;padding:32px}.lp-showcase__placeholder-icon{font-size:3rem;margin-bottom:16px}.lp-showcase__card-title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.lp-showcase__card-desc{font-size:.85rem;color:var(--lp-text-sub)}.lp-showcase__iframe{width:100%;height:100%;min-height:280px;border:none}.lp-protection{padding:var(--lp-section-padding);max-width:var(--lp-max-width);margin:0 auto}.lp-protection__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.lp-protection__desc{color:var(--lp-text-sub);font-size:1.05rem;margin-top:16px;line-height:1.7}.lp-protection__badge-group{display:flex;flex-direction:column;gap:16px}.lp-protection__badge{display:flex;align-items:center;gap:12px;background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);padding:16px 20px}.lp-protection__badge-icon{font-size:1.5rem}.lp-protection__badge-label{font-size:.95rem;font-weight:500}.lp-sharing{padding:var(--lp-section-padding);background:var(--lp-bg-alt)}.lp-sharing__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:var(--lp-max-width);margin:0 auto}.lp-sharing__url-box{display:flex;align-items:center;gap:8px;background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);padding:14px 16px}.lp-sharing__url-icon{font-size:1.2rem}.lp-sharing__url-text{flex:1;font-size:.85rem;color:var(--lp-text-sub);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-sharing__copy-btn{background:var(--lp-accent);color:var(--lp-text);border:none;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.lp-sharing__desc{color:var(--lp-text-sub);font-size:1.05rem;margin-top:16px;line-height:1.7}.lp-security{padding:var(--lp-section-padding);max-width:var(--lp-max-width);margin:0 auto}.lp-security__subtitle{text-align:center;color:var(--lp-text-sub);max-width:600px;margin:0 auto 40px}.lp-security__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.lp-security__item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);text-align:center}.lp-security__icon{font-size:1.8rem}.lp-security__label{font-size:.8rem;color:var(--lp-text-sub)}.lp-cta{padding:100px 24px;text-align:center;background:var(--lp-bg-alt)}.lp-cta__pre{font-size:.9rem;color:var(--lp-accent);margin-bottom:12px}.lp-cta__title{font-size:2.2rem;font-weight:700;margin-bottom:32px;line-height:1.3}.lp-cta__note{margin-top:16px;font-size:.85rem;color:var(--lp-text-muted)}.lp-footer{padding:40px 24px;border-top:1px solid var(--lp-border)}.lp-footer__inner{max-width:var(--lp-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.lp-footer__brand{display:flex;align-items:center}.lp-footer__logo-text{font-weight:700;font-size:1rem}.lp-footer__links{display:flex;gap:24px}.lp-footer__links a{color:var(--lp-text-sub);text-decoration:none;font-size:.85rem;transition:color .2s}.lp-footer__links a:hover{color:var(--lp-text)}.lp-footer__copyright{font-size:.8rem;color:var(--lp-text-muted);width:100%;text-align:center;margin-top:16px}@media (max-width: 768px){.lp-hero__title{font-size:2rem}.lp-hero__subtitle{font-size:1rem}.lp-features__grid,.lp-showcase__grid,.lp-protection__inner,.lp-sharing__inner{grid-template-columns:1fr}.lp-security__grid{grid-template-columns:repeat(3,1fr)}.lp-hero{padding:100px 16px 60px}.lp-section-title{font-size:1.5rem}.lp-cta__title{font-size:1.6rem}.lp-footer__inner{flex-direction:column;text-align:center}.lp-footer__links{flex-wrap:wrap;justify-content:center}.lp-problem__iframe{height:300px}}@media (max-width: 480px){.lp-hero__title{font-size:1.6rem}.lp-hero__actions{flex-direction:column;align-items:center}.lp-btn{width:100%;max-width:300px}.lp-security__grid{grid-template-columns:repeat(2,1fr)}}.lp-roadmap{padding:var(--lp-section-padding);max-width:var(--lp-max-width);margin:0 auto}.lp-roadmap__timeline{display:flex;flex-direction:column;gap:24px;margin-top:40px;max-width:600px;margin-left:auto;margin-right:auto}.lp-roadmap__item{display:flex;align-items:flex-start;gap:20px}.lp-roadmap__badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap;flex-shrink:0}.lp-roadmap__badge--primary{background:var(--lp-accent);color:var(--lp-text)}.lp-roadmap__badge--secondary{background:var(--lp-secondary);color:var(--lp-text)}.lp-roadmap__content{flex:1}.lp-roadmap__item-title{font-size:1.1rem;font-weight:600;margin:0 0 4px}.lp-roadmap__item-desc{font-size:.9rem;color:var(--lp-text-sub);margin:0}.lp-security__grid{grid-template-columns:repeat(5,1fr)}@media (max-width: 768px){.lp-security__grid{grid-template-columns:repeat(3,1fr)}.lp-roadmap__item{flex-direction:column;gap:8px}}@media (max-width: 480px){.lp-security__grid{grid-template-columns:repeat(2,1fr)}}.lp-pricing{padding:var(--lp-section-padding);background:var(--lp-bg-alt);max-width:var(--lp-max-width);margin:0 auto;padding-left:24px;padding-right:24px}.lp-pricing__subtitle{text-align:center;color:var(--lp-text-sub);margin-bottom:32px;font-size:1.05rem}.lp-pricing__toggle{display:flex;justify-content:center;gap:0;margin-bottom:40px;background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:24px;padding:4px;width:-moz-fit-content;width:fit-content;margin-left:auto;margin-right:auto}.lp-pricing__toggle-btn{padding:10px 24px;border:none;border-radius:20px;background:transparent;color:var(--lp-text-sub);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.lp-pricing__toggle-btn--active{background:var(--lp-accent);color:var(--lp-text)}.lp-pricing__toggle-btn:hover:not(.lp-pricing__toggle-btn--active){color:var(--lp-text)}.lp-pricing__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.lp-pricing__card{background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius);padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:border-color .2s,transform .2s}.lp-pricing__card:hover{border-color:var(--lp-accent);transform:translateY(-2px)}.lp-pricing__card--recommended{border-color:var(--lp-accent);box-shadow:0 0 20px #ff6b3526}.lp-pricing__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--lp-accent);color:var(--lp-text);padding:4px 16px;border-radius:12px;font-size:.75rem;font-weight:700;white-space:nowrap}.lp-pricing__card-name{font-size:1.3rem;font-weight:700;margin-bottom:16px;margin-top:8px}.lp-pricing__card-price{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.lp-pricing__price-amount{font-size:2rem;font-weight:800;color:var(--lp-text)}.lp-pricing__price-period{font-size:.85rem;color:var(--lp-text-muted);margin-top:4px}.lp-pricing__price-equivalent{font-size:.85rem;color:var(--lp-accent);margin-top:4px}.lp-pricing__card-features{list-style:none;padding:0;margin:0;width:100%}.lp-pricing__card-features li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid rgba(102,102,102,.3);font-size:.9rem}.lp-pricing__feature-label{color:var(--lp-text-sub)}.lp-pricing__feature-value{color:var(--lp-text);font-weight:600}.lp-faq{padding:var(--lp-section-padding);max-width:800px;margin:0 auto}.lp-faq__list{margin-top:40px;display:flex;flex-direction:column;gap:8px}.lp-faq__item{background:var(--lp-bg-card);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);overflow:hidden;transition:border-color .2s}.lp-faq__item:hover{border-color:var(--lp-text-muted)}.lp-faq__item--open{border-color:var(--lp-accent)}.lp-faq__question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:transparent;border:none;color:var(--lp-text);font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;gap:12px}.lp-faq__question-text{flex:1}.lp-faq__chevron{font-size:1.3rem;font-weight:300;color:var(--lp-text-muted);flex-shrink:0;transition:transform .3s ease}.lp-faq__answer-wrapper{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.lp-faq__item--open .lp-faq__answer-wrapper{max-height:300px}.lp-faq__answer{padding:0 20px 18px;color:var(--lp-text-sub);font-size:.9rem;line-height:1.7;margin:0}@media (max-width: 768px){.lp-pricing__cards{grid-template-columns:1fr;gap:20px}.lp-pricing__card--recommended{order:-1}.lp-pricing__toggle-btn{padding:8px 18px;font-size:.85rem}.lp-faq__question{padding:14px 16px;font-size:.9rem}.lp-faq__answer{padding:0 16px 14px;font-size:.85rem}}@media (max-width: 480px){.lp-pricing__price-amount{font-size:1.6rem}.lp-pricing__card{padding:24px 16px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-base-4);background-color:var(--color-background-secondary)}.login-card{width:100%;max-width:28rem;background-color:var(--color-background-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-base-8)}.login-header{margin-bottom:var(--spacing-base-6)}.login-title{font-size:var(--font-size-heading-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:center;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-base-4)}.login-error-message{padding:var(--spacing-base-3);background-color:var(--color-status-error-bg);border:1px solid var(--color-status-error);border-radius:var(--border-radius-md);color:var(--color-status-error);font-size:var(--font-size-body-small);text-align:center}.login-input-group{display:flex;flex-direction:column}.login-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:block;width:100%;padding:var(--spacing-base-3) var(--spacing-base-4);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-body-small);outline:none;transition:all var(--transition-normal)}.login-input:focus{border-color:var(--color-interactive-primary);box-shadow:0 0 0 3px var(--color-interactive-primary-shadow);z-index:10}.login-input-top{border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.login-input-bottom{border-radius:0 0 var(--border-radius-md) var(--border-radius-md);border-top:none}.login-input-disabled{background-color:var(--color-background-secondary);opacity:.6;cursor:not-allowed}.login-submit-button{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:var(--spacing-base-2);padding:var(--spacing-base-3) var(--spacing-base-8);border:none;font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);color:var(--color-text-inverse);background-color:var(--color-interactive-primary);cursor:pointer;outline:none;transition:all var(--transition-normal)}.login-submit-button:hover:not(:disabled){background-color:var(--color-interactive-primary-hover)}.login-submit-button:focus{box-shadow:0 0 0 2px var(--color-background-primary),0 0 0 4px var(--color-interactive-primary)}.login-submit-button-disabled{background-color:var(--color-border-default);cursor:not-allowed;opacity:.6}.login-spinner{width:16px;height:16px;border:2px solid var(--color-text-inverse);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.login-link-container,.login-link-container-center{text-align:center;font-size:var(--font-size-body-small)}.login-link-text{color:var(--color-text-secondary)}.login-link{background:none;border:none;color:var(--color-interactive-primary);font-weight:var(--font-weight-medium);cursor:pointer;text-decoration:none;padding:0;font-size:inherit;transition:color var(--transition-normal)}.login-link:hover{color:var(--color-interactive-primary-hover);text-decoration:underline}.login-link:focus{outline:2px solid var(--color-interactive-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}.options-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--color-background-primary)}.options-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden}.options-container{max-width:900px;margin:0 auto;padding:var(--spacing-container-padding);padding-bottom:calc(var(--spacing-container-padding) * 2);width:100%}.options-header-section{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-large) var(--spacing-section-medium);margin-bottom:var(--spacing-section-medium);color:var(--color-text-primary);box-shadow:0 10px 30px var(--color-shadow-md);text-align:center}.options-header-title{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-font-weight-bold);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.options-header-subtitle{font-size:var(--typography-body-large-size);opacity:.9;font-family:var(--typography-font-family-sans)}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-grid-gap-large);margin-bottom:var(--spacing-section-medium)}.options-card{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-card-padding-large);box-shadow:0 4px 6px var(--color-shadow-xs);border:2px solid var(--color-border-default);transition:all var(--transition-slow);text-align:center}.options-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px var(--color-shadow-sm)}.options-card-disabled{opacity:.5;cursor:not-allowed}.options-card-disabled:hover{transform:none;box-shadow:0 4px 6px var(--color-shadow-xs)}.options-icon{font-size:3rem;margin-bottom:var(--spacing-element-base)}.options-name{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.options-description{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-base);font-family:var(--typography-font-family-sans)}.options-amount{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-interactive-primary);margin-bottom:var(--spacing-element-tiny);font-family:var(--typography-font-family-sans)}.options-price{font-size:var(--typography-body-large-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-base);font-family:var(--typography-font-family-sans)}.options-purchase-button{width:100%;background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border:none;border-radius:var(--spacing-border-radius-medium);padding:var(--spacing-element-small) var(--spacing-section-small);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);font-family:var(--typography-font-family-sans)}.options-purchase-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm);background-color:var(--color-interactive-hover)}.options-purchase-button:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-secondary);cursor:not-allowed}.options-unavailable-note{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);margin-top:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.options-section{margin-bottom:var(--spacing-section-medium)}.options-section-title{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.options-section-note{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-base);font-style:italic;font-family:var(--typography-font-family-sans)}.options-upgrade-message{background-color:var(--color-background-secondary);border:2px solid var(--color-interactive-primary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-card-padding-large);text-align:center}.options-upgrade-text{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-base);font-family:var(--typography-font-family-sans)}.options-upgrade-link{display:inline-block;background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-radius:var(--spacing-border-radius-medium);padding:var(--spacing-element-small) var(--spacing-section-small);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);text-decoration:none;transition:all var(--transition-normal);font-family:var(--typography-font-family-sans)}.options-upgrade-link:hover{background-color:var(--color-interactive-hover);transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm)}.options-history-section{margin-top:var(--spacing-section-medium);padding:var(--spacing-card-padding-large);background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);border:1px solid var(--color-border-default)}.options-history-title{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-element-base);font-family:var(--typography-font-family-sans)}.options-history-empty{color:var(--color-text-secondary);font-size:var(--typography-body-base-size);text-align:center;padding:var(--spacing-section-small)}.options-history-list{display:flex;flex-direction:column;gap:var(--spacing-element-small)}.options-history-item{padding:var(--spacing-element-base);background-color:var(--color-background-primary);border-radius:var(--spacing-border-radius-medium);border:1px solid var(--color-border-default);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-element-base);transition:background-color var(--transition-normal)}.options-history-item:hover{background-color:var(--color-background-tertiary)}.options-history-item-info{flex:1 1 250px}.options-history-item-name{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-element-tiny)}.options-history-item-meta{font-size:var(--typography-body-small-size);color:var(--color-text-secondary)}.options-history-item-right{display:flex;align-items:center;gap:var(--spacing-element-base)}.options-history-item-date{font-size:var(--typography-body-small-size);color:var(--color-text-secondary)}.options-history-status{padding:var(--spacing-element-tiny) var(--spacing-element-small);border-radius:var(--spacing-border-radius-small);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium)}.options-history-status-active{background-color:var(--color-status-success-bg);color:var(--color-status-success)}.options-history-status-inactive{background-color:var(--color-status-error-bg);color:var(--color-status-error)}@media (max-width: 1024px){.options-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-element-base)}.options-card{padding:var(--spacing-element-base)}.options-icon{font-size:2rem;margin-bottom:var(--spacing-element-small)}.options-name{font-size:var(--typography-body-large-size)}.options-amount{font-size:var(--typography-heading-h3-size)}.options-header-section{padding:var(--spacing-element-base);margin-bottom:var(--spacing-element-base)}}@media (max-width: 768px){.options-container{padding:var(--spacing-element-base);padding-bottom:calc(var(--spacing-element-base) * 2)}.options-header-section{padding:var(--spacing-element-base)}.options-header-title{font-size:var(--typography-heading-h2-size)}.options-grid{grid-template-columns:1fr}.options-history-item{flex-direction:column;align-items:flex-start}.options-history-item-right{width:100%;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.options-card,.options-card:hover,.options-purchase-button,.options-purchase-button:hover,.options-history-item{transition:none;transform:none}}.plan-change-page{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background-color:var(--color-background-primary)}.plan-change-scroll-area{flex:1 1 0;overflow-y:auto;overflow-x:hidden;min-height:0}.plan-change-content{padding:var(--spacing-container-padding);padding-bottom:calc(var(--spacing-container-padding) * 2)}.plan-change-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background-primary)}.plan-change-container{max-width:1200px;margin:0 auto;padding:var(--spacing-container-padding);width:100%}.plan-change-header-section{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-large) var(--spacing-section-medium);margin-bottom:var(--spacing-section-medium);color:var(--color-text-primary);box-shadow:0 10px 30px var(--color-shadow-md);text-align:center}.plan-change-header-title{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-font-weight-bold);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.plan-change-header-subtitle{font-size:var(--typography-body-large-size);opacity:.9;font-family:var(--typography-font-family-sans)}.plan-change-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-grid-gap-large);margin-bottom:var(--spacing-section-medium)}.plan-change-plan-card{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-card-padding-large);box-shadow:0 4px 6px var(--color-shadow-xs);border:2px solid var(--color-border-default);transition:all var(--transition-slow);cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;text-align:center}.plan-change-plan-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px var(--color-shadow-sm)}.plan-change-plan-card-selected{border-color:var(--color-interactive-primary);box-shadow:0 8px 16px var(--color-shadow-md)}.plan-change-plan-card-current{border-color:var(--color-status-success)}.plan-change-badge{position:absolute;top:var(--spacing-element-base);right:var(--spacing-element-base);padding:var(--spacing-element-tiny) var(--spacing-element-small);border-radius:var(--spacing-border-radius-full);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-bold);font-family:var(--typography-font-family-sans);pointer-events:none}.plan-change-popular-badge{background-color:var(--color-status-warning);color:var(--color-text-inverse)}.plan-change-current-badge{background-color:var(--color-status-success);color:var(--color-text-inverse)}.plan-change-plan-icon{font-size:3rem;margin-bottom:var(--spacing-element-base)}.plan-change-plan-name{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans)}.plan-change-plan-price{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-element-tiny);font-family:var(--typography-font-family-sans)}.plan-change-plan-period{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-base);font-family:var(--typography-font-family-sans)}.plan-change-plan-storage,.plan-change-plan-images{font-size:var(--typography-body-base-size);color:var(--color-text-primary);font-weight:var(--typography-font-weight-semibold);margin-bottom:var(--spacing-element-tiny);font-family:var(--typography-font-family-sans)}.plan-change-features-list{list-style:none;padding:0;margin:var(--spacing-element-base) 0;flex:1;text-align:left}.plan-change-feature-item{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans);display:flex;align-items:center;gap:var(--spacing-element-small)}.plan-change-feature-icon{color:var(--color-status-success)}.plan-change-select-button{width:100%;background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border:none;border-radius:var(--spacing-border-radius-medium);padding:var(--spacing-element-small) var(--spacing-section-small);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);font-family:var(--typography-font-family-sans);margin-top:auto}.plan-change-select-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm);background-color:var(--color-interactive-hover)}.plan-change-selected-button{background-color:var(--color-status-success)}.plan-change-current-button{background-color:var(--color-background-tertiary);color:var(--color-text-secondary);cursor:default}.plan-change-action-buttons{display:flex;gap:var(--spacing-element-base);justify-content:center;margin-top:var(--spacing-section-small)}.plan-change-primary-button{background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border:none;border-radius:var(--spacing-border-radius-medium);padding:var(--spacing-element-small) var(--spacing-section-medium);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);font-family:var(--typography-font-family-sans);min-width:150px}.plan-change-primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm);background-color:var(--color-interactive-hover)}.plan-change-secondary-button{background-color:transparent;color:var(--color-text-primary);border:2px solid var(--color-border-default);border-radius:var(--spacing-border-radius-medium);padding:var(--spacing-element-small) var(--spacing-section-medium);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);font-family:var(--typography-font-family-sans);min-width:150px}.plan-change-secondary-button:hover{background-color:var(--color-background-tertiary)}@media (min-width: 481px) and (max-width: 1024px){.plan-change-page .plan-change-content{padding:var(--spacing-sm);padding-bottom:var(--spacing-md)}.plan-change-page .plan-change-billing-toggle{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs)}.plan-change-page .plan-change-plans-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-sm)}.plan-change-page .plan-change-plan-card{padding:var(--spacing-sm)}.plan-change-page .plan-change-plan-card>div:first-child{font-size:var(--font-size-2xl, 1.5rem);margin-bottom:var(--spacing-xs)}.plan-change-page .plan-change-plan-card h3{font-size:var(--font-size-lg, 1.125rem);margin-bottom:var(--spacing-xs)}.plan-change-page .plan-change-plan-card>div:nth-child(4){font-size:var(--font-size-xl, 1.25rem)}.plan-change-page .plan-change-plan-card ul{margin-bottom:var(--spacing-sm)}.plan-change-page .plan-change-plan-card ul li{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs, .75rem)}.plan-change-page .plan-change-plan-card button{padding:var(--spacing-xs);font-size:var(--font-size-sm, .875rem)}.plan-change-page .plan-change-action-buttons{position:sticky;bottom:0;background-color:var(--color-background-primary);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);border-top:1px solid var(--color-border-default);z-index:10}}@media (max-width: 480px){.plan-change-page .plan-change-content{padding:var(--spacing-xs);padding-bottom:var(--spacing-sm)}.plan-change-page .plan-change-plans-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.plan-change-page .plan-change-action-buttons{position:sticky;bottom:0;background-color:var(--color-background-primary);padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-sm);border-top:1px solid var(--color-border-default);z-index:10}}.profile-edit-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background-primary)}.profile-edit-container{max-width:900px;margin:0 auto;padding:var(--spacing-container-padding);width:100%}.profile-edit-header-section{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-medium);margin-bottom:var(--spacing-section-medium);color:var(--color-text-primary);box-shadow:0 10px 30px var(--color-shadow-md);display:flex;align-items:center;gap:var(--spacing-flex-gap-large)}.profile-edit-avatar-section{width:120px;height:120px;border-radius:var(--spacing-border-radius-full);background:linear-gradient(135deg,var(--color-interactive-primary),var(--color-interactive-hover));display:flex;align-items:center;justify-content:center;font-size:4rem;border:4px solid var(--color-border-default);cursor:pointer;transition:all var(--transition-slow);position:relative;overflow:hidden}.profile-edit-avatar-section:hover{transform:scale(1.05);box-shadow:0 8px 16px var(--color-shadow-md)}.profile-edit-avatar-section:hover .profile-edit-avatar-overlay{opacity:1}.profile-edit-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--spacing-border-radius-full)}.profile-edit-avatar-overlay{position:absolute;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-slow);border-radius:var(--spacing-border-radius-full);color:var(--color-text-inverse);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-semibold);font-family:var(--typography-font-family-sans)}.profile-edit-file-input{display:none}.profile-edit-header-content{flex:1}.profile-edit-header-title{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-font-weight-bold);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h1-line-height)}.profile-edit-header-subtitle{font-size:var(--typography-body-base-size);opacity:.9;font-family:var(--typography-font-family-sans);line-height:var(--typography-body-base-line-height)}.profile-edit-card{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-card-padding-large);box-shadow:0 4px 6px var(--color-shadow-xs);border:2px solid var(--color-border-default);margin-bottom:var(--spacing-section-medium)}.profile-edit-card-header{display:flex;align-items:center;gap:var(--spacing-flex-gap-small);margin-bottom:var(--spacing-element-base);padding-bottom:var(--spacing-element-small);border-bottom:1px solid var(--color-border-default)}.profile-edit-card-title{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);line-height:var(--typography-heading-h3-line-height)}.profile-edit-card-icon{font-size:1.5rem}.profile-edit-form-group{margin-bottom:var(--spacing-element-base)}.profile-edit-label{display:block;font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-element-small);font-family:var(--typography-font-family-sans);line-height:var(--typography-body-base-line-height)}.profile-edit-input{width:100%;padding:var(--spacing-element-small) var(--spacing-element-base);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);color:var(--color-text-primary);background-color:var(--color-background-tertiary);border:2px solid var(--color-border-default);border-radius:var(--spacing-border-radius-medium);transition:all var(--transition-normal);outline:none;line-height:var(--typography-body-base-line-height)}.profile-edit-input:focus{border-color:var(--color-interactive-primary);background-color:var(--color-background-secondary)}.profile-edit-textarea{width:100%;padding:var(--spacing-element-small) var(--spacing-element-base);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);color:var(--color-text-primary);background-color:var(--color-background-tertiary);border:2px solid var(--color-border-default);border-radius:var(--spacing-border-radius-medium);transition:all var(--transition-normal);outline:none;min-height:120px;resize:vertical;line-height:var(--typography-body-base-line-height)}.profile-edit-textarea:focus{border-color:var(--color-interactive-primary);background-color:var(--color-background-secondary)}.profile-edit-help-text{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);margin-top:var(--spacing-element-tiny);font-family:var(--typography-font-family-sans);line-height:var(--typography-body-small-line-height)}.profile-edit-button-group{display:flex;gap:var(--spacing-flex-gap-medium);justify-content:flex-end}.profile-edit-button{background-color:var(--color-button-primary-bg);color:var(--color-button-primary-text);border:none;border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-4);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:var(--transitions-base, all .2s ease);font-family:var(--typography-font-family-sans);box-shadow:0 2px 4px var(--color-shadow-xs);min-width:120px;line-height:var(--typography-body-base-line-height)}.profile-edit-button:hover:not(:disabled){background-color:var(--color-button-primary-hover);transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm)}.profile-edit-button:active:not(:disabled){transform:translateY(0)}.profile-edit-button:disabled{opacity:.6;cursor:not-allowed}.profile-edit-secondary-button{background-color:var(--color-button-secondary-bg);color:var(--color-button-secondary-text);border:2px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-4);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);cursor:pointer;transition:var(--transitions-base, all .2s ease);font-family:var(--typography-font-family-sans);min-width:120px;line-height:var(--typography-body-base-line-height)}.profile-edit-secondary-button:hover:not(:disabled){background-color:var(--color-button-secondary-hover);border-color:var(--color-interactive-primary)}.profile-edit-secondary-button:disabled{opacity:.6;cursor:not-allowed}.profile-edit-error-message{background-color:var(--color-status-error-bg);border:1px solid var(--color-status-error-border);color:var(--color-status-error-text);padding:var(--spacing-element-small) var(--spacing-section-small);border-radius:var(--spacing-border-radius-medium);margin-bottom:var(--spacing-section-medium);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);line-height:var(--typography-body-base-line-height)}.share-page{min-height:100vh;background-color:var(--color-background-primary);padding:var(--spacing-container-padding)}.share-container{max-width:1200px;margin:0 auto}.share-header{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-large);margin-bottom:var(--spacing-section-medium);text-align:center}.share-title{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);margin-bottom:var(--spacing-element-base)}.share-subtitle{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);font-family:var(--typography-font-family-sans)}.share-card{background-color:var(--color-background-secondary);border-radius:var(--spacing-border-radius-xl);padding:var(--spacing-section-large);margin-bottom:var(--spacing-section-small)}.share-form{display:flex;flex-direction:column;gap:var(--spacing-element-base);max-width:400px;margin:0 auto}.share-form-group{display:flex;flex-direction:column;gap:var(--spacing-element-small)}.share-label{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);font-family:var(--typography-font-family-sans)}.share-input{width:100%;padding:var(--spacing-element-small) var(--spacing-element-base);border-radius:var(--spacing-border-radius-medium);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);box-sizing:border-box}.share-input:focus{outline:none;border-color:var(--color-interactive-primary);box-shadow:0 0 0 2px var(--color-interactive-focus)}.share-textarea{width:100%;padding:var(--spacing-element-small) var(--spacing-element-base);border-radius:var(--spacing-border-radius-medium);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);box-sizing:border-box;min-height:100px;resize:vertical}.share-textarea:focus{outline:none;border-color:var(--color-interactive-primary);box-shadow:0 0 0 2px var(--color-interactive-focus)}.share-button{padding:var(--spacing-element-small) var(--spacing-section-small);border-radius:var(--spacing-border-radius-medium);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);font-family:var(--typography-font-family-sans);cursor:pointer;transition:all var(--transition-normal);border:none;background-color:var(--color-interactive-primary);color:var(--color-text-inverse)}.share-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-sm);background-color:var(--color-interactive-hover)}.share-button:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-secondary);cursor:not-allowed}.share-error{color:var(--color-status-error);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);text-align:center;padding:var(--spacing-section-large)}.share-loading{font-size:var(--typography-body-large-size);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);text-align:center;padding:var(--spacing-section-large)}.share-content-area{text-align:center;padding:var(--spacing-section-medium)}.share-download-actions{margin-top:var(--spacing-section-small);display:flex;gap:var(--spacing-element-base);justify-content:center}.share-section-title{font-size:var(--typography-heading-h4-size);font-weight:var(--typography-font-weight-bold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);margin-bottom:var(--spacing-element-base)}.share-comment-form{margin-bottom:var(--spacing-section-medium)}.share-comment-list{display:flex;flex-direction:column;gap:var(--spacing-element-base)}.share-comment{padding:var(--spacing-element-base);background-color:var(--color-background-primary);border-radius:var(--spacing-border-radius-medium)}.share-comment-author{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-text-primary);font-family:var(--typography-font-family-sans);margin-bottom:var(--spacing-element-tiny)}.share-comment-content{font-size:var(--typography-body-base-size);color:var(--color-text-secondary);font-family:var(--typography-font-family-sans);margin-bottom:var(--spacing-element-tiny)}.share-comment-date{font-size:var(--typography-body-small-size);color:var(--color-text-tertiary);font-family:var(--typography-font-family-sans)}.share-empty-comments{text-align:center;color:var(--color-text-secondary);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans)}.signup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-base-4);background-color:var(--color-background-secondary)}.signup-card{width:100%;max-width:28rem;background-color:var(--color-background-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-base-8)}.signup-header{margin-bottom:var(--spacing-base-6)}.signup-title{font-size:var(--font-size-heading-h2);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:center;margin:0}.signup-form{display:flex;flex-direction:column;gap:var(--spacing-base-4)}.signup-error-message{padding:var(--spacing-base-3);background-color:var(--color-status-error-bg);border:1px solid var(--color-status-error);border-radius:var(--border-radius-md);color:var(--color-status-error);font-size:var(--font-size-body-small);text-align:center}.signup-input-group{display:flex;flex-direction:column}.signup-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:block;width:100%;padding:var(--spacing-base-3) var(--spacing-base-4);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-body-small);outline:none;transition:all var(--transition-normal)}.signup-input:focus{border-color:var(--color-interactive-primary);box-shadow:0 0 0 3px var(--color-interactive-primary-shadow);z-index:10}.signup-input-top{border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.signup-input-middle{border-radius:0;border-top:none}.signup-input-bottom{border-radius:0 0 var(--border-radius-md) var(--border-radius-md);border-top:none}.signup-input-disabled{background-color:var(--color-background-secondary);opacity:.6;cursor:not-allowed}.signup-submit-button{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-8);border:none;font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);border-radius:var(--radius-md);color:var(--color-button-primary-text);background-color:var(--color-button-primary-bg);cursor:pointer;outline:none;transition:var(--transitions-base, all .2s ease)}.signup-submit-button:hover:not(:disabled){background-color:var(--color-button-primary-hover)}.signup-submit-button:focus{box-shadow:0 0 0 2px var(--color-background-primary),0 0 0 4px var(--color-interactive-primary)}.signup-submit-button-disabled{background-color:var(--color-border-default);cursor:not-allowed;opacity:.6}.signup-spinner{width:16px;height:16px;border:2px solid var(--color-text-inverse);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.signup-link-container{text-align:center;font-size:var(--font-size-body-small)}.signup-link-text{color:var(--color-text-secondary)}.signup-link{background:none;border:none;color:var(--color-interactive-primary);font-weight:var(--font-weight-medium);cursor:pointer;text-decoration:none;padding:0;font-size:inherit;transition:color var(--transition-normal)}.signup-link:hover{color:var(--color-interactive-primary-hover);text-decoration:underline}.signup-link:focus{outline:2px solid var(--color-interactive-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}.trash-container{display:flex;flex-direction:column;height:100vh;background-color:var(--colors-background-primary);color:var(--colors-text-primary)}.trash-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-container-padding);background-color:var(--colors-background-secondary);border-bottom:1px solid var(--colors-border-primary);box-shadow:var(--shadows-header)}.trash-header-left{display:flex;align-items:center;gap:var(--spacing-element-base)}.trash-back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--border-radius-base);color:var(--colors-text-secondary);cursor:pointer;transition:all .2s ease}.trash-back-button:hover{background-color:var(--colors-background-hover);color:var(--colors-text-primary)}.trash-back-icon{width:20px;height:20px}.trash-title-container{display:flex;align-items:center;gap:var(--spacing-element-small)}.trash-title-icon{width:24px;height:24px;color:var(--colors-text-secondary)}.trash-title{margin:0;font-size:var(--typography-heading-h2-font-size);font-weight:var(--typography-heading-h2-font-weight);line-height:var(--typography-heading-h2-line-height);color:var(--colors-text-primary)}.trash-header-right{display:flex;align-items:center;gap:var(--spacing-element-base)}.trash-theme-toggle-button,.trash-language-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--border-radius-base);color:var(--colors-text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.trash-theme-toggle-button:hover,.trash-language-button:hover{background-color:var(--colors-background-hover);color:var(--colors-text-primary)}.trash-theme-toggle-icon{font-size:18px}.trash-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.trash-action-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-container-padding);background-color:var(--colors-background-secondary);border-bottom:1px solid var(--colors-border-primary)}.trash-action-bar-left,.trash-action-bar-right{display:flex;align-items:center;gap:var(--spacing-element-base)}.trash-selection-count,.trash-item-count{font-size:var(--typography-body-base-font-size);color:var(--colors-text-secondary);margin-right:var(--spacing-element-base)}.trash-action-button,.trash-refresh-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--colors-interactive-secondary);color:var(--colors-text-primary);border:1px solid var(--colors-border-primary);border-radius:var(--border-radius-base);font-size:var(--typography-body-base-font-size);cursor:pointer;transition:all .2s ease}.trash-action-button:hover,.trash-refresh-button:hover{background-color:var(--colors-interactive-secondary-hover)}.trash-restore-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--colors-status-success);color:var(--colors-text-inverse);border:none;border-radius:var(--border-radius-base);font-size:var(--typography-body-base-font-size);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-element-small)}.trash-restore-button:hover{background-color:var(--colors-status-success-hover)}.trash-delete-button{padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--colors-status-error);color:var(--colors-text-inverse);border:none;border-radius:var(--border-radius-base);font-size:var(--typography-body-base-font-size);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-element-small)}.trash-delete-button:hover{background-color:var(--colors-status-error-hover)}.trash-action-icon{width:16px;height:16px}.trash-folder-list{flex:1;padding:var(--spacing-container-padding);overflow-y:auto}.trash-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--colors-text-secondary)}.trash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center}.trash-empty-icon{width:64px;height:64px;color:var(--colors-text-tertiary);margin-bottom:var(--spacing-element-large)}.trash-empty-title{margin:0 0 var(--spacing-element-base) 0;font-size:var(--typography-heading-h3-font-size);font-weight:var(--typography-heading-h3-font-weight);color:var(--colors-text-secondary)}.trash-empty-message{margin:0;font-size:var(--typography-body-base-font-size);color:var(--colors-text-tertiary)}.trash-folder-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-element-base);background-color:var(--colors-background-secondary);border:1px solid var(--colors-border-primary);border-radius:var(--border-radius-base);margin-bottom:var(--spacing-element-base);transition:all .2s ease}.trash-folder-item:hover{background-color:var(--colors-background-hover)}.trash-folder-item.trash-selected{background-color:var(--colors-interactive-primary-subtle);border-color:var(--colors-interactive-primary)}.trash-folder-info{display:flex;align-items:center;gap:var(--spacing-element-base);flex:1}.trash-checkbox{width:18px;height:18px;cursor:pointer}.trash-folder-icon{font-size:24px;color:var(--colors-text-secondary)}.trash-folder-details{flex:1}.trash-folder-name{font-size:var(--typography-body-base-font-size);font-weight:500;color:var(--colors-text-primary);margin-bottom:var(--spacing-element-small)}.trash-folder-meta{font-size:var(--typography-body-small-font-size);color:var(--colors-text-tertiary)}.trash-folder-actions{display:flex;align-items:center;gap:var(--spacing-element-base)}@media (max-width: 768px){.trash-header{padding:var(--spacing-element-base)}.trash-header-left{gap:var(--spacing-element-small)}.trash-title{font-size:var(--typography-heading-h3-font-size)}.trash-action-bar{flex-direction:column;align-items:stretch;gap:var(--spacing-element-base)}.trash-action-bar-left,.trash-action-bar-right{justify-content:center}.trash-folder-item{flex-direction:column;align-items:stretch;gap:var(--spacing-element-base)}.trash-folder-info{justify-content:flex-start}.trash-folder-actions{justify-content:center}}.upload-container{min-height:100vh;background-color:var(--color-background-primary);color:var(--color-text-primary);display:flex;flex-direction:column}.upload-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-element-base);background-color:var(--color-background-primary);border-bottom:1px solid var(--color-border-default);position:sticky;top:0;z-index:10}.upload-header-left{display:flex;align-items:center}.upload-header-center{flex:1;display:flex;justify-content:center}.upload-header-right{display:flex;align-items:center;gap:var(--spacing-element-small)}.upload-back-button{display:flex;align-items:center;gap:var(--spacing-element-small);padding:var(--spacing-element-small);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-md);transition:all .2s ease}.upload-back-button:hover{color:var(--color-text-primary);background-color:var(--color-background-secondary)}.upload-back-icon{width:20px;height:20px}.upload-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.upload-theme-toggle-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-full);transition:background-color .2s ease}.upload-theme-toggle-button:hover{background-color:var(--color-background-secondary)}.upload-theme-toggle-icon{font-size:18px}.upload-language-button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-element-small) var(--spacing-element-base);background:transparent;border:1px solid var(--color-border-default);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease}.upload-language-button:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background-color:var(--color-background-secondary)}.upload-main-content{flex:1;padding:var(--spacing-container-large);max-width:1200px;margin:0 auto;width:100%}.upload-drop-zone{border:2px dashed var(--color-border-default);border-radius:var(--border-radius-2xl);padding:var(--spacing-container-large);text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--color-background-primary)}.upload-drop-zone:hover{border-color:var(--color-border-hover);background-color:var(--color-background-secondary)}.upload-drop-zone-dragging{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:scale(1.02)}.upload-drop-zone-icon{width:64px;height:64px;color:var(--color-text-muted);margin:0 auto var(--spacing-text-base)}.upload-drop-zone-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-text-small)}.upload-drop-zone-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-text-base)}.upload-drop-zone-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.upload-hidden-input{display:none}.upload-file-section{display:flex;flex-direction:column;gap:var(--spacing-section-medium)}.upload-add-more-section{display:flex;justify-content:flex-start}.upload-add-more-button{display:flex;align-items:center;gap:var(--spacing-element-small);padding:var(--spacing-element-small) var(--spacing-element-base);background-color:var(--color-background-secondary);border:1px solid var(--color-border-default);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-lg);transition:all .2s ease}.upload-add-more-button:hover:not(:disabled){background-color:var(--color-background-tertiary);border-color:var(--color-border-hover);color:var(--color-text-primary)}.upload-add-more-button:disabled{opacity:.5;cursor:not-allowed}.upload-add-more-icon{width:20px;height:20px}.upload-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-element-base)}.upload-file-card{background-color:var(--color-background-primary);border:1px solid var(--color-border-default);border-radius:var(--border-radius-lg);overflow:hidden;position:relative;transition:all .2s ease}.upload-file-card:hover{box-shadow:var(--shadow-md)}.upload-file-preview{position:relative;aspect-ratio:1 / 1;background-color:var(--color-background-secondary)}.upload-preview-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.upload-status-overlay{position:absolute;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center}.upload-uploading-status{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-element-small)}.upload-spinner{width:32px;height:32px;border:2px solid transparent;border-top:2px solid var(--color-white);border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.upload-progress-text{color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.upload-completed-icon{width:48px;height:48px;color:var(--color-success)}.upload-error-icon{width:48px;height:48px;color:var(--color-error)}.upload-remove-button{position:absolute;top:var(--spacing-element-small);right:var(--spacing-element-small);width:32px;height:32px;background-color:var(--color-error);border:none;border-radius:var(--border-radius-full);color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.upload-file-card:hover .upload-remove-button{opacity:1}.upload-remove-button:hover{background-color:var(--color-error-dark)}.upload-remove-icon{width:16px;height:16px}.upload-file-info{padding:var(--spacing-element-small)}.upload-file-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-text-xsmall);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-size{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.upload-file-error{font-size:var(--font-size-xs);color:var(--color-error);margin:var(--spacing-text-xsmall) 0 0}.upload-progress-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background-color:var(--color-background-tertiary)}.upload-progress-fill{height:100%;background-color:var(--color-primary);transition:width .3s ease}.upload-section{display:flex;justify-content:center;padding:var(--spacing-element-base) 0}.upload-button{display:flex;align-items:center;gap:var(--spacing-element-small);padding:var(--spacing-element-base) var(--spacing-container-large);background-color:var(--color-primary);border:none;color:var(--color-white);cursor:pointer;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all .2s ease}.upload-button:hover:not(:disabled){background-color:var(--color-primary-dark)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.upload-button-icon{width:20px;height:20px}.upload-completed-button{display:flex;align-items:center;gap:var(--spacing-element-small);padding:var(--spacing-element-base) var(--spacing-container-large);background-color:var(--color-success);border:none;color:var(--color-white);cursor:pointer;border-radius:var(--border-radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all .2s ease}.upload-completed-button:hover{background-color:var(--color-success-dark)}.upload-completed-button-icon{width:20px;height:20px}@media (max-width: 768px){.upload-header-center{display:none}.upload-main-content{padding:var(--spacing-element-base)}.upload-files-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-element-small)}.upload-drop-zone{padding:var(--spacing-container-medium)}.upload-drop-zone-icon{width:48px;height:48px}.upload-drop-zone-title{font-size:var(--font-size-lg)}}:root{--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--spacing-responsive-padding-mobile: 8px;--spacing-responsive-padding-tablet: 12px;--touch-target-min-size: 44px;--sidebar-overlay-width: 280px;--sidebar-overlay-z-index: 200;--sidebar-backdrop-color: var(--color-background-overlay);--sidebar-backdrop-z-index: 199}.notification{position:fixed;top:80px;right:24px;min-width:320px;max-width:480px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px var(--color-shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:1000;animation:slideInRight .3s ease-out;font-size:14px;line-height:1.5}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{background-color:var(--color-status-success);color:var(--color-white)}.notification-error{background-color:var(--color-status-error);color:var(--color-white)}.notification-warning{background-color:var(--color-status-warning);color:var(--color-text-primary)}.notification-info{background-color:var(--color-status-info);color:var(--color-white)}.notification-close{background:none;border:none;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s}.notification-close:hover{opacity:1}.hidden{display:none}.w-full{width:100%}.mb-2{margin-bottom:var(--spacing-2, 8px)}.mb-4{margin-bottom:var(--spacing-4, 16px)}.mt-4{margin-top:var(--spacing-4, 16px)}.btn-sm{padding:var(--spacing-1, 4px) var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.btn-warning{background:var(--color-status-warning);color:var(--color-white);border:1px solid var(--color-status-warning)}.btn-warning:hover{background:var(--color-status-warning-text);border-color:var(--color-status-warning-text)}.form-control{margin-bottom:var(--spacing-3, 12px)}.label{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary)}.label-text{flex:1}.checkbox{width:16px;height:16px;accent-color:var(--color-primary-500)}.modal-sm{width:400px;max-width:90vw}.sort-dropdown,.content-type-filter{position:relative;display:inline-flex;gap:var(--spacing-1)}.sort-dropdown .btn,.content-type-filter .btn{display:inline-flex;align-items:center;gap:var(--spacing-2)}.sort-dropdown .icon-chevron{width:16px;height:16px;transition:transform .2s ease}.sort-dropdown .btn[aria-expanded=true] .icon-chevron,.content-type-filter .btn[aria-expanded=true] .icon-chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + var(--spacing-1));right:0;min-width:200px;background-color:var(--color-background-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-1);z-index:1000;animation:dropdown-fade-in .15s ease}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background-color:var(--color-background-hover)}.dropdown-item.active{background-color:var(--color-primary-alpha-10);color:var(--color-primary)}.dropdown-item .icon{width:18px;height:18px;flex-shrink:0}.user-avatar-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);background-color:var(--color-background-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:200px;color:var(--color-text-primary)}.user-avatar-menu-content{padding:var(--spacing-2)}.user-avatar-menu-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease}[data-theme=dark] .user-avatar-menu-item{color:var(--color-text-primary)}.user-avatar-menu-item:hover{background-color:var(--color-background-hover)}.user-avatar-menu-item:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.user-avatar-menu-item-danger{color:var(--color-error)}.user-avatar-menu-item-danger:hover{background-color:var(--color-error-background)}.user-avatar-menu-icon{width:16px;height:16px;flex-shrink:0}.user-avatar-menu-divider{height:1px;background-color:var(--color-border-primary);margin:var(--spacing-2) 0}.gallery-header-right{position:relative}.gallery-header-right>div:last-child{position:relative}@media (max-width: 480px){.hide-mobile{display:none!important}}@media (min-width: 481px) and (max-width: 768px){.hide-tablet{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.show-mobile-only{display:none!important}@media (max-width: 480px){.show-mobile-only{display:block!important}}.show-tablet-only{display:none!important}@media (min-width: 481px) and (max-width: 768px){.show-tablet-only{display:block!important}}.show-desktop-only{display:none!important}@media (min-width: 769px){.show-desktop-only{display:block!important}}@media (max-width: 768px){.notification{right:16px;min-width:280px}}@media (prefers-reduced-motion: reduce){.notification{transition:none;animation:none}}@media print{.gallery-page{display:block;height:auto}.gallery-header,.gallery-sidebar,.gallery-toolbar,.notification,.modal-overlay-portal{display:none}.gallery-content{padding:0}}.gallery-sidebar{background-color:var(--color-gallery-sidebar);display:flex;flex-direction:column;transition:width .2s ease,min-width .2s ease;flex-shrink:0;overflow:hidden;border-right:1px solid var(--color-white-alpha-10, rgba(255, 255, 255, .1));box-shadow:1px 0 4px var(--color-shadow-xs, rgba(0, 0, 0, .1));scrollbar-width:none;color:var(--color-gallery-sidebar-text)!important}.gallery-sidebar::-webkit-scrollbar{display:none}.gallery-sidebar *,.gallery-sidebar button,.gallery-sidebar span,.gallery-sidebar p,.gallery-sidebar h1,.gallery-sidebar h2,.gallery-sidebar h3,.gallery-sidebar h4,.gallery-sidebar h5,.gallery-sidebar h6{color:var(--color-gallery-sidebar-text)!important}.gallery-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-white-alpha-50) 50%,transparent 100%);animation:sidebarPulse 3s ease-in-out infinite}@keyframes sidebarPulse{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:.8;transform:scaleX(1)}}.gallery-sidebar-collapsed{width:64px;min-width:64px}.gallery-sidebar-nav{display:flex;flex-direction:column;padding:var(--spacing-sm);gap:var(--spacing-sm);flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-sidebar-nav::-webkit-scrollbar{display:none}.gallery-sidebar-bottom{flex-shrink:0;border-top:1px solid var(--color-white-alpha-10, rgba(255, 255, 255, .1));padding:var(--spacing-sm)}.gallery-sidebar-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.gallery-sidebar-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:0 var(--spacing-sm);margin-bottom:var(--spacing-xs)}.gallery-sidebar-add-button{display:flex!important;align-items:center;justify-content:center;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:4px;background:var(--color-white-alpha-15)!important;border:2px solid var(--color-white-alpha-30)!important;border-radius:4px;color:var(--color-gallery-sidebar-text)!important;cursor:pointer;transition:var(--transitions-base, all .2s ease);flex-shrink:0;opacity:1!important;visibility:visible!important;position:relative;z-index:10}.gallery-sidebar-add-button:hover{background:var(--color-white-alpha-20);border-color:var(--color-white-alpha-30);transform:scale(1.1)}.gallery-sidebar-add-button:active{transform:scale(.95)}.gallery-sidebar-add-button svg,.gallery-sidebar-add-button span{width:12px!important;height:12px!important;color:var(--color-gallery-sidebar-text)!important;flex-shrink:0}.gallery-sidebar-add-button span[aria-label=plus]{display:flex!important;align-items:center;justify-content:center}.gallery-sidebar-section+.gallery-sidebar-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-white-alpha-20, rgba(255, 255, 255, .2))}.gallery-sidebar-section.gallery-section-group-separator{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-white-alpha-30, rgba(255, 255, 255, .3))}.sidebar-folders-v2-section-separator{margin-top:var(--spacing-md, 12px);padding-top:var(--spacing-md, 12px);border-top:1px solid var(--color-white-alpha-50, rgba(255, 255, 255, .5));position:relative}.sidebar-folders-v2-container-embedded .sidebar-folders-v2-section-separator{border-top:none;margin-top:0;padding-top:0}.sidebar-folders-v2-container-embedded .sidebar-folders-v2-section-separator:before{display:none}.sidebar-folders-v2-section-header{display:flex;align-items:center;justify-content:space-between;width:100%}.sidebar-folders-v2-category-icon{font-size:16px;line-height:1;flex-shrink:0}.sidebar-folders-v2-category-label{font-size:11px;font-weight:var(--typography-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.05em;opacity:.85}.gallery-sidebar-section-title{font-size:11px;font-weight:var(--typography-font-weight-semibold);color:var(--color-gallery-sidebar-text)!important;text-transform:uppercase;letter-spacing:.08em;margin:0;opacity:.7;display:flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:none;cursor:pointer;transition:var(--transitions-base, all .2s ease);flex:1;min-width:0}.gallery-sidebar-section-title:hover{opacity:.8}.gallery-sidebar-section-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.gallery-sidebar-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-gallery-sidebar-text)!important;cursor:pointer;transition:var(--transitions-base, all .2s ease);text-align:left;width:100%;min-height:36px;position:relative;overflow:hidden}.gallery-sidebar-item:hover{background-color:var(--color-white-alpha-10);color:var(--color-gallery-sidebar-text)!important;transform:translate(2px)}.gallery-sidebar-item:focus-visible{outline:none}.gallery-sidebar-item-active{background-color:var(--color-white-alpha-20)!important;color:var(--color-gallery-sidebar-text)!important;font-weight:500;position:relative}.gallery-sidebar-item-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#fff,#ffffffd9);border-radius:0 2px 2px 0;box-shadow:0 0 12px var(--color-white-alpha-70),0 0 4px var(--color-white-alpha-90)}.gallery-sidebar-item-active:hover{background-color:var(--color-white-alpha-25)!important;transform:translate(2px)}.gallery-sidebar-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;position:relative;z-index:1}.gallery-sidebar-item-icon-svg{width:var(--icon-size-lg, 24px);height:var(--icon-size-lg, 24px);transition:var(--transition-fast);filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30));color:var(--color-gallery-sidebar-text)!important;fill:var(--color-gallery-sidebar-text)!important}.gallery-sidebar-item:hover .gallery-sidebar-item-icon-svg{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 3px 6px var(--color-black-alpha-80)) drop-shadow(0 0 12px var(--color-white-alpha-50));color:var(--color-gallery-sidebar-text)!important;fill:var(--color-gallery-sidebar-text)!important}.gallery-sidebar-item-active .gallery-sidebar-item-icon-svg{transform:scale(1.1);filter:drop-shadow(0 4px 8px var(--color-black-alpha-90)) drop-shadow(0 0 16px var(--color-white-alpha-60));color:var(--color-gallery-sidebar-text)!important;fill:var(--color-gallery-sidebar-text)!important}.gallery-sidebar-item-label{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-sidebar-item-row{display:flex;align-items:center;gap:0}.gallery-sidebar-item-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--color-gallery-sidebar-text)!important;font-size:18px;font-weight:300;cursor:pointer;opacity:.6;transition:var(--transitions-base, all .2s ease)}.gallery-sidebar-item-action:hover{opacity:1;background-color:var(--color-white-alpha-10)}.gallery-sidebar-item-action:active{transform:scale(.9)}.gallery-sidebar-item-badge{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--spacing-xs);border-radius:var(--border-radius-full);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-semibold);flex-shrink:0;position:relative;z-index:1;box-shadow:0 2px 4px var(--color-shadow-xs);transition:var(--transition-fast)}.gallery-sidebar-item:hover .gallery-sidebar-item-badge{transform:scale(1.05)}.gallery-badge-default{background:linear-gradient(135deg,var(--color-background-tertiary) 0%,var(--color-border-medium) 100%);color:var(--color-text-secondary)}.gallery-badge-primary{background:linear-gradient(135deg,var(--color-interactive-primary) 0%,var(--color-interactive-primary-hover) 100%);color:var(--color-text-inverse);box-shadow:0 2px 6px var(--color-interactive-primary-shadow)}.gallery-badge-success{background:linear-gradient(135deg,var(--color-status-success) 0%,var(--color-status-success-hover) 100%);color:var(--color-text-inverse);box-shadow:0 2px 6px var(--color-shadow-md)}.gallery-badge-warning{background:linear-gradient(135deg,var(--color-status-warning) 0%,var(--color-status-warning-hover) 100%);color:var(--color-text-inverse);box-shadow:0 2px 6px var(--color-shadow-md)}.gallery-sidebar .nav-card,.gallery-sidebar .button-container,.gallery-sidebar .sidebar-nav-item,.gallery-sidebar .sidebar-folder-button,.gallery-sidebar button:not(.gallery-sidebar-item-active):not(.folder-tree-root-folder-button-selected):not(.folder-item-selected),.gallery-sidebar .favorites-section,.gallery-sidebar .favorites-section-filter-button,.gallery-sidebar .sidebar-folders-v2-container,.gallery-sidebar .sidebar-folders-v2-add-folder-button,.gallery-sidebar .gallery-storage-info,.gallery-sidebar .navigation-section,.gallery-sidebar .shared-public-section{background:transparent}.gallery-sidebar .sidebar-nav-text,.gallery-sidebar .sidebar-folder-name,.gallery-sidebar .sidebar-section-title{color:var(--color-gallery-sidebar-text);text-shadow:0 1px 2px var(--color-black-alpha-30)}.folder-item{display:flex;align-items:center;min-height:2rem;padding:var(--spacing-element-base);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:.25rem;transition:background-color .15s ease-in-out;position:relative;background-color:transparent;-webkit-touch-callout:none}.folder-item:hover{background-color:var(--color-white-alpha-10)}.folder-item:focus,.folder-item:focus-visible{outline:none;box-shadow:none}.gallery-sidebar .folder-item-selected{background-color:var(--color-white-alpha-20);color:var(--color-gallery-sidebar-text);font-weight:500;position:relative}.gallery-sidebar .folder-item-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#fff,#ffffffd9);border-radius:0 2px 2px 0;box-shadow:0 0 12px var(--color-white-alpha-70),0 0 4px var(--color-white-alpha-90)}.gallery-sidebar .folder-item-selected:hover{background-color:var(--color-white-alpha-25)}.folder-item-dragging{opacity:.5;transform:rotate(2deg)}.folder-item-drop-target{background-color:var(--color-interactive-primary, #3B82F6);color:var(--color-text-inverse, #ffffff)}.folder-item-drop-target:before{content:"";position:absolute;inset:0;border:2px dashed var(--color-text-inverse, #ffffff);border-radius:.25rem;pointer-events:none}.folder-item-drop-before{background-color:transparent;color:inherit}.folder-item-drop-before:before{content:"";position:absolute;top:0;left:.5rem;right:.5rem;bottom:auto;height:2px;border:none;border-radius:0;background-color:var(--color-interactive-primary, #3B82F6);pointer-events:none}.folder-item-drop-after{background-color:transparent;color:inherit}.folder-item-drop-after:before{content:"";position:absolute;top:auto;bottom:0;left:.5rem;right:.5rem;height:2px;border:none;border-radius:0;background-color:var(--color-interactive-primary, #3B82F6);pointer-events:none}.folder-item-editing{background-color:var(--color-white-alpha-05)}.folder-item-expand-button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-right:var(--spacing-element-base);background:transparent;border:none;cursor:pointer;border-radius:.125rem;transition:background-color .15s ease-in-out}.folder-item-expand-button:hover{background-color:var(--color-white-alpha-05)}.folder-item-expand-button:focus{outline:none}.folder-item-expand-icon{font-size:.75rem;color:var(--color-gallery-sidebar-text);transition:transform .15s ease-in-out;filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30))}.folder-item-folder-icon{margin-right:var(--spacing-element-base);font-size:1rem;line-height:1;color:var(--color-gallery-sidebar-text);filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30))}.folder-item-folder-name{flex:1;font-size:var(--typography-body-base-fontSize);font-weight:var(--typography-body-base-fontWeight);color:var(--color-gallery-sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30)}.folder-item-name-input{flex:1;padding:.125rem .25rem;font-size:var(--typography-body-base-fontSize);font-weight:var(--typography-body-base-fontWeight);color:var(--color-input-text-on-highlight, #1a1a1a);background-color:var(--color-white-alpha-90);border:1px solid var(--color-white-alpha-30);border-radius:.125rem;outline:none}.folder-item-name-input:focus{border-color:var(--color-gallery-sidebar-text);box-shadow:0 0 0 2px var(--color-white-alpha-20);background-color:var(--color-white-alpha-90);color:var(--color-input-text-on-highlight, #1a1a1a)}.gallery-sidebar .folder-item-name-input{color:var(--color-input-text-on-highlight, #1a1a1a)!important}.folder-item-name-input::-moz-selection{background-color:var(--color-interactive-primary, #3B82F6);color:var(--color-text-inverse, #ffffff)}.folder-item-name-input::selection{background-color:var(--color-interactive-primary, #3B82F6);color:var(--color-text-inverse, #ffffff)}.folder-tree-container{width:100%;height:auto;overflow:visible;background-color:transparent}.folder-tree-container:focus-within{outline:none}.folder-tree-tree-content{padding:0;background-color:transparent}.folder-tree-folder-node{position:relative}.folder-tree-root-folder-button{display:flex;align-items:center;width:100%;padding:var(--spacing-sm, .5rem);background:transparent;border:none;color:var(--color-gallery-sidebar-text, #ffffff);font-size:var(--typography-body-base-size, 1rem);font-weight:var(--font-weight-normal, 400);line-height:1.5;cursor:pointer;transition:background-color .15s ease;text-align:left;text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30);outline:none;visibility:visible;opacity:1}.folder-tree-root-folder-button:hover{background-color:var(--color-white-alpha-10)}.folder-tree-root-folder-button:focus,.folder-tree-root-folder-button:focus-visible{outline:none;box-shadow:none;background-color:transparent}.gallery-sidebar .folder-tree-root-folder-button-selected{background-color:var(--color-white-alpha-20);font-weight:500;position:relative;box-shadow:none}.gallery-sidebar .folder-tree-root-folder-button-selected:hover{background-color:var(--color-white-alpha-25)}.gallery-sidebar .folder-tree-root-folder-button-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#fff,#ffffffd9);border-radius:0 2px 2px 0;box-shadow:0 0 12px var(--color-white-alpha-70),0 0 4px var(--color-white-alpha-90)}.folder-tree-root-folder-icon{margin-right:var(--spacing-xs, .25rem);font-size:1.125rem;flex-shrink:0;filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30))}.folder-tree-root-folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-tree-children-container{position:relative}.folder-tree-children-container:before{content:"";position:absolute;left:calc(var(--spacing-element-base, .5rem) + 12px);top:0;bottom:0;width:1px;background-color:var(--color-white-alpha-30);opacity:.5}.folder-tree-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-section-medium, 1.5rem);color:var(--color-gallery-sidebar-text);font-size:var(--typography-body-base-fontSize, 1rem);text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30)}.folder-tree-loading:before{content:"";display:inline-block;width:16px;height:16px;margin-right:var(--spacing-element-base, .5rem);border:2px solid var(--color-border-default, #e5e5e5);border-top-color:var(--color-interactive-primary, #3B82F6);border-radius:50%;animation:folder-tree-spin 1s linear infinite}@keyframes folder-tree-spin{to{transform:rotate(360deg)}}.folder-tree-error{display:flex;align-items:center;justify-content:center;padding:var(--spacing-section-medium, 1.5rem);color:var(--color-status-error, #ef4444);font-size:var(--typography-body-base-fontSize, 1rem);text-align:center}.folder-tree-error:before{content:"⚠️";margin-right:var(--spacing-element-base, .5rem)}.folder-tree-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-section-medium, 1.5rem);color:var(--color-gallery-sidebar-text);font-size:var(--typography-body-base-fontSize, 1rem);text-align:center;text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30)}.folder-tree-empty:before{content:"🖼️";margin-right:var(--spacing-element-base, .5rem)}.sidebar-folders-v2-container{display:flex;flex-direction:column;height:auto;background-color:transparent;border:none;border-radius:0;overflow:visible}.sidebar-folders-v2-container>.sidebar-folders-v2-add-folder-button{order:2}.sidebar-folders-v2-container>.sidebar-folders-v2-content{order:1}.sidebar-folders-v2-container-compact{border-radius:var(--border-radius-small)}.sidebar-folders-v2-container-read-only{opacity:var(--opacity-disabled);pointer-events:none}.sidebar-folders-v2-container-loading{opacity:var(--opacity-loading)}.sidebar-folders-v2-container-has-error{border-color:var(--color-status-error)}.sidebar-folders-v2-header{display:none}.sidebar-folders-v2-add-folder-button{display:flex;align-items:center;gap:var(--spacing-xs, .25rem);width:100%;padding:var(--spacing-sm, .5rem);background:transparent;border:none;color:var(--color-gallery-sidebar-text, #ffffff);font-size:var(--typography-body-small-size, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:background-color .15s ease;text-align:left;text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30);outline:none;visibility:visible;opacity:1}.sidebar-folders-v2-add-folder-button:hover{background-color:var(--color-white-alpha-10)}.sidebar-folders-v2-add-folder-button:focus,.sidebar-folders-v2-add-folder-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-white-alpha-30)}.sidebar-folders-v2-add-folder-icon{width:var(--icon-size-sm, 16px);height:var(--icon-size-sm, 16px);flex-shrink:0;filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30))}.sidebar-folders-v2-title{margin:0;font-size:var(--font-size-body-medium);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.sidebar-folders-v2-create-button{display:flex;align-items:center;justify-content:center;width:var(--size-icon-medium);height:var(--size-icon-medium);padding:0;background-color:transparent;border:none;border-radius:var(--border-radius-small);color:var(--color-text-secondary);font-size:var(--font-size-body-small);cursor:pointer;transition:all var(--transition-duration-fast) var(--transition-easing-standard)}.sidebar-folders-v2-create-button:hover{background-color:var(--color-background-hover);color:var(--color-text-primary);transform:scale(var(--scale-hover-subtle))}.sidebar-folders-v2-create-button:focus{outline:var(--border-width-medium) solid var(--color-focus-ring);outline-offset:var(--spacing-focus-offset)}.sidebar-folders-v2-create-button:active{transform:scale(var(--scale-active))}.sidebar-folders-v2-error-message{display:flex;align-items:center;gap:var(--spacing-element-small);padding:var(--spacing-element-base);background-color:var(--color-status-error-background);border-bottom:var(--border-width-thin) solid var(--color-status-error);color:var(--color-status-error-text);font-size:var(--font-size-body-small);line-height:var(--line-height-normal)}.sidebar-folders-v2-error-icon{font-size:var(--font-size-body-medium);flex-shrink:0}.sidebar-folders-v2-error-text{flex:1;min-width:0;word-break:break-word}.sidebar-folders-v2-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:transparent}.sidebar-folders-v2-container-compact .sidebar-folders-v2-header{padding:var(--spacing-element-small)}.sidebar-folders-v2-container-compact .sidebar-folders-v2-title{font-size:var(--font-size-body-small)}.sidebar-folders-v2-container-compact .sidebar-folders-v2-create-button{width:var(--size-icon-small);height:var(--size-icon-small);font-size:var(--font-size-caption)}.sidebar-folders-v2-container-compact .sidebar-folders-v2-error-message{padding:var(--spacing-element-small);font-size:var(--font-size-caption)}.gallery-sidebar-recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs, 4px);padding:0 var(--spacing-sm, 8px) var(--spacing-sm, 8px)}.gallery-sidebar-recent-thumb{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-xs, 4px);background:var(--color-white-alpha-05, rgba(255, 255, 255, .05));border:1px solid var(--color-white-alpha-10, rgba(255, 255, 255, .1));border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background-color .15s ease,transform .15s ease;color:var(--color-gallery-sidebar-text, #ffffff);aspect-ratio:1;min-height:0}.gallery-sidebar-recent-thumb:hover{background:var(--color-white-alpha-15, rgba(255, 255, 255, .15));transform:scale(1.05)}.gallery-sidebar-recent-thumb-active{background:var(--color-white-alpha-20, rgba(255, 255, 255, .2));border-color:var(--color-white-alpha-30, rgba(255, 255, 255, .3))}.gallery-sidebar-recent-thumb-icon{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.gallery-sidebar-recent-thumb-icon svg{width:20px;height:20px}.gallery-sidebar-recent-thumb-label{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;opacity:.8}.gallery-storage-info{margin-top:auto;padding:var(--spacing-sm);background:linear-gradient(135deg,var(--color-white-alpha-15) 0%,var(--color-white-alpha-05) 100%);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--color-black-alpha-30),inset 0 1px 0 var(--color-white-alpha-20);overflow:hidden;backdrop-filter:blur(15px);flex-shrink:0;z-index:1}.gallery-storage-info:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-status-success) 0%,var(--color-status-warning) 50%,var(--color-status-error) 100%);box-shadow:0 2px 8px var(--color-black-alpha-30)}.gallery-storage-info-title{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-gallery-sidebar-text);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs);text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30)}.gallery-storage-info-title svg{filter:drop-shadow(0 2px 4px var(--color-black-alpha-60)) drop-shadow(0 0 8px var(--color-white-alpha-30));color:var(--color-gallery-sidebar-text)}.gallery-storage-bar{width:100%;height:10px;background:linear-gradient(135deg,var(--color-black-alpha-30) 0%,var(--color-black-alpha-20) 100%);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm);box-shadow:inset 0 2px 6px var(--color-black-alpha-40),0 1px 2px var(--color-white-alpha-20)}.gallery-storage-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-status-success) 0%,var(--color-status-warning) 70%,var(--color-status-error) 100%);border-radius:var(--radius-sm);transition:var(--transition-normal);position:relative;box-shadow:0 2px 4px var(--color-black-alpha-30),inset 0 1px 0 var(--color-white-alpha-30)}.gallery-storage-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.gallery-storage-bar-fill-65{width:65%}.gallery-storage-text{font-size:var(--typography-body-small-size);color:var(--color-gallery-sidebar-text);font-weight:var(--typography-font-weight-medium);text-shadow:0 2px 4px var(--color-black-alpha-60),0 0 8px var(--color-white-alpha-30)}.gallery-sidebar-collapsed .gallery-sidebar-nav{padding:var(--spacing-sm);align-items:center}.gallery-sidebar-collapsed .gallery-sidebar-section-title{display:none}.gallery-sidebar-collapsed .gallery-sidebar-item{width:40px;height:40px;padding:var(--spacing-sm);justify-content:center}.gallery-sidebar-collapsed .gallery-sidebar-item-label,.gallery-sidebar-collapsed .gallery-sidebar-item-badge,.gallery-sidebar-collapsed .gallery-storage-info{display:none}@media (max-width: 768px){.gallery-sidebar{position:fixed;top:64px;left:0;bottom:0;height:calc(100vh - 64px);height:calc(100dvh - 64px);z-index:200;transform:translate(-100%);transition:transform var(--transition-normal);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:block}.gallery-sidebar .gallery-sidebar-nav{display:block;height:auto;overflow:visible}.gallery-sidebar .gallery-sidebar-bottom{border-top:none}.gallery-sidebar .gallery-sidebar-section{flex-shrink:0}.gallery-sidebar .gallery-storage-info{margin-top:var(--spacing-lg);flex-shrink:0}.gallery-sidebar.open{transform:translate(0)}.gallery-sidebar-collapsed{width:0;min-width:0;border-right:none;transform:translate(-100%)}}.gallery-sidebar-favorites-list{margin-top:var(--spacing-xs);padding-left:var(--spacing-md);border-left:2px solid var(--color-white-alpha-20);margin-left:var(--spacing-md)}.gallery-sidebar-item.drop-target{background-color:var(--color-interactive-primary, #3B82F6);color:var(--color-text-inverse, #ffffff);box-shadow:0 4px 16px var(--color-interactive-primary-shadow);transform:scale(1.02)}.gallery-sidebar-item.drop-target:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:var(--radius-lg);animation:dropTargetPulse 1s ease-in-out infinite}@keyframes dropTargetPulse{0%,to{opacity:.5}50%{opacity:1}}.navigation-section__recent-dropdown{display:flex;flex-direction:column}.navigation-section__recent-header{position:relative}.navigation-section__recent-chevron{width:16px;height:16px;flex-shrink:0;opacity:.6;transition:transform .2s ease,opacity .2s ease}.navigation-section__recent-chevron--expanded{transform:rotate(180deg)}.navigation-section__recent-header:hover .navigation-section__recent-chevron{opacity:1}.navigation-section__recent-content{overflow:hidden;transition:max-height .3s ease,opacity .2s ease,padding .3s ease}.navigation-section__recent-content--expanded{max-height:200px;opacity:1;padding:var(--spacing-xs, 4px) 0 0 0}.navigation-section__recent-content--collapsed{max-height:0;opacity:0;padding:0}.navigation-section__recent-items{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px)}.navigation-section__recent-item-thumb{aspect-ratio:1;border-radius:var(--radius-sm, 4px);overflow:hidden;background:var(--color-white-alpha-10);cursor:pointer;transition:transform .15s ease,opacity .15s ease}.navigation-section__recent-item-thumb:hover{transform:scale(1.05);opacity:.85}.navigation-section__recent-item-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.navigation-section__recent-placeholder,.navigation-section__recent-empty{font-size:var(--typography-body-small-size, 12px);opacity:.7;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);grid-column:1 / -1}.navigation-section__recent-empty{font-style:italic;opacity:.5}.gallery-sidebar-section-title:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm, 4px)}.gallery-sidebar-section-header:hover .gallery-sidebar-add-button{opacity:1;transform:scale(1.05)}.gallery-sidebar-section-title svg{transition:transform .2s ease}.gallery-sidebar-section-title[aria-expanded=true] svg:first-child{transform:rotate(0)}.gallery-sidebar-section-title[aria-expanded=false] svg:first-child{transform:rotate(-90deg)}.gallery-sidebar-section-items{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.gallery-section-group-separator{position:relative}.gallery-section-group-separator:before{content:"";position:absolute;top:0;left:var(--spacing-3, 12px);right:var(--spacing-3, 12px);height:1px;background:linear-gradient(to right,transparent,var(--color-white-alpha-30, rgba(255, 255, 255, .3)),transparent)}.sidebar-folders-v2-section-separator:before{content:"";position:absolute;top:0;left:var(--spacing-3, 12px);right:var(--spacing-3, 12px);height:1px;background:linear-gradient(to right,transparent,var(--color-white-alpha-30, rgba(255, 255, 255, .3)),transparent)}.gallery-sidebar-add-button:focus,.gallery-sidebar-item:focus{outline:none}.gallery-sidebar-backdrop{position:fixed;inset:0;background-color:var(--sidebar-backdrop-color);z-index:var(--sidebar-backdrop-z-index);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.gallery-sidebar-backdrop.visible{opacity:1;visibility:visible}html[data-theme=dark] .gallery-section-group-separator:before,html[data-theme=dark] .sidebar-folders-v2-section-separator:before{background:linear-gradient(to right,transparent,var(--color-white-alpha-20, rgba(255, 255, 255, .2)),transparent)}html[data-theme=dark] .gallery-storage-bar-fill:after{background:linear-gradient(90deg,transparent,var(--color-white-alpha-20),transparent)}html[data-theme=light] .gallery-section-group-separator:before,html[data-theme=light] .sidebar-folders-v2-section-separator:before{background:linear-gradient(to right,transparent,var(--color-black-alpha-15, rgba(0, 0, 0, .15)),transparent)}html[data-theme=light] .gallery-storage-bar-fill:after{background:linear-gradient(90deg,transparent,var(--color-white-alpha-60),transparent)}@media (hover: none) and (pointer: coarse){.gallery-sidebar-add-button{opacity:1}}@media (hover: hover) and (pointer: fine){.gallery-sidebar-add-button{opacity:0;transition:all .2s ease}.gallery-sidebar-section-header:hover .gallery-sidebar-add-button{opacity:1}}@media (prefers-contrast: high){.gallery-sidebar-section-title,.gallery-sidebar-item{border:none}.gallery-sidebar-add-button{border-width:2px}}@media (prefers-reduced-motion: reduce){.gallery-sidebar-section-title svg,.gallery-sidebar-section-items,.gallery-sidebar-item:before,.gallery-sidebar-item-icon-svg,.gallery-sidebar-item-badge,.gallery-sidebar-add-button,.navigation-section__recent-chevron,.navigation-section__recent-content{transition:none}.gallery-storage-bar-fill:after{animation:none}.gallery-sidebar-backdrop,.gallery-sidebar{transition:none}}@media (max-width: 1024px){.gallery-sidebar-section-header{padding:var(--spacing-1, 4px) 0}.gallery-sidebar-section-title{font-size:var(--font-size-2xs, .625rem)}}@media (max-width: 768px){.gallery-sidebar-section{margin-bottom:var(--spacing-3, 12px)}.gallery-section-group-separator{margin-top:var(--spacing-4, 16px);padding-top:var(--spacing-3, 12px)}.gallery-storage-info{padding:var(--spacing-3, 12px);margin-top:var(--spacing-4, 16px)}.gallery-sidebar-add-button{opacity:1!important}}@media (max-width: 480px){.gallery-sidebar-item{padding:var(--spacing-1, 4px) var(--spacing-2, 8px);font-size:var(--font-size-xs, .75rem)}.gallery-sidebar-add-button{width:20px;height:20px}.gallery-sidebar-backdrop{display:none}.gallery-sidebar-backdrop.visible{display:block}}@media (min-width: 769px){.gallery-sidebar-backdrop{display:none}}.gallery-header{display:flex;align-items:center;justify-content:space-between;height:var(--gallery-header-height, 64px);min-height:var(--gallery-header-height, 64px);padding:0 var(--spacing-lg);padding-top:env(safe-area-inset-top);background-color:var(--color-gallery-header);color:var(--color-gallery-sidebar-text);flex-shrink:0;z-index:100}.gallery-header-left{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.gallery-header-action-btn,.gallery-sidebar-toggle,.gallery-theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-gallery-sidebar-text-secondary);cursor:pointer;transition:var(--transitions-base, all .2s ease)}.gallery-header-action-btn:hover,.gallery-sidebar-toggle:hover,.gallery-theme-toggle:hover{background-color:var(--color-white-alpha-15);color:var(--color-gallery-sidebar-text);transform:translateY(-1px)}.gallery-header-action-btn:active,.gallery-sidebar-toggle:active,.gallery-theme-toggle:active{transform:translateY(0)}.gallery-header-action-btn:focus-visible,.gallery-sidebar-toggle:focus-visible,.gallery-theme-toggle:focus-visible{outline:2px solid var(--color-white-alpha-50);outline-offset:2px}.gallery-header-action-btn .icon,.gallery-sidebar-toggle-icon,.gallery-theme-toggle-icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px)}.gallery-theme-toggle-text{margin-left:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-gallery-sidebar-text-secondary)}.gallery-app-logo,.gallery-header-logo{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-gallery-sidebar-text);cursor:pointer;transition:var(--transitions-base, all .2s ease);text-align:left;text-decoration:none}.gallery-app-logo:hover,.gallery-header-logo:hover{background-color:var(--color-white-alpha-10);transform:translateY(-1px)}.gallery-app-logo:focus-visible,.gallery-header-logo:focus-visible{outline:2px solid var(--color-white-alpha-50);outline-offset:2px}.gallery-app-logo-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-white-alpha-20);border-radius:var(--radius-md);color:var(--color-gallery-sidebar-text)}.gallery-app-logo-icon-svg{width:18px;height:18px}.gallery-app-logo-text,.gallery-header-logo-text{display:flex;flex-direction:column;min-width:0;font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-gallery-sidebar-text)}.gallery-app-logo-title{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);line-height:var(--typography-body-base-line-height);color:var(--color-gallery-sidebar-text)}.gallery-app-logo-subtitle{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);line-height:var(--typography-body-small-line-height);color:var(--color-gallery-sidebar-text-secondary)}.gallery-header-logo-icon{width:28px;height:28px;flex-shrink:0}.gallery-header-center{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.gallery-search-container,.search-form{flex:1;max-width:600px;margin:0 var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.gallery-search-input-wrapper,.search-input-container{position:relative;display:flex;align-items:center;flex:1}.gallery-search-icon,.search-icon{position:absolute;left:var(--spacing-sm);width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px);color:var(--color-text-muted);pointer-events:none;z-index:1}.gallery-search-input,.search-input{width:100%;height:40px;padding:0 var(--spacing-sm) 0 calc(var(--spacing-sm) + 20px + var(--spacing-xs));background-color:var(--color-white-alpha-20);border:1px solid var(--color-white-alpha-30);border-radius:var(--radius-lg);font-size:var(--typography-body-base-size);font-family:var(--typography-font-family-sans);color:var(--color-gallery-sidebar-text);transition:var(--transitions-base, all .2s ease)}.gallery-search-input::-moz-placeholder,.search-input::-moz-placeholder{color:var(--color-gallery-sidebar-text-secondary)}.gallery-search-input::placeholder,.search-input::placeholder{color:var(--color-gallery-sidebar-text-secondary)}.gallery-search-input:focus,.search-input:focus{outline:none;border-color:var(--color-white-alpha-50);box-shadow:0 0 0 3px var(--color-white-alpha-20);background-color:var(--color-white-alpha-30)}.search-clear{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-gallery-sidebar-text-secondary);cursor:pointer;transition:var(--transitions-base, all .2s ease)}.search-clear:hover{background-color:var(--color-white-alpha-20);color:var(--color-gallery-sidebar-text)}.search-clear .icon{width:var(--icon-size-sm, 16px);height:var(--icon-size-sm, 16px)}.gallery-header-right{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.gallery-language-toggle,.gallery-header-lang-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:1px solid var(--color-white-alpha-30);border-radius:var(--radius-md);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-gallery-sidebar-text-secondary);cursor:pointer;transition:var(--transitions-base, all .2s ease)}.gallery-language-toggle:hover,.gallery-header-lang-btn:hover{background-color:var(--color-white-alpha-15);color:var(--color-gallery-sidebar-text);border-color:var(--color-white-alpha-50);transform:translateY(-1px)}.gallery-language-toggle:focus-visible,.gallery-header-lang-btn:focus-visible{outline:2px solid var(--color-white-alpha-50);outline-offset:2px}.user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-white-alpha-20);border-radius:var(--radius-full);color:var(--color-gallery-sidebar-text)}.user-avatar .icon{width:18px;height:18px}@media (max-width: 768px){.gallery-header{padding:0 var(--spacing-md)}.gallery-search-container{margin:0 var(--spacing-md);max-width:none}.gallery-app-logo-text,.gallery-header-logo-text{display:none}.gallery-header-right{gap:var(--spacing-xs);flex-shrink:0}.gallery-theme-toggle-text{display:none}}@media (max-width: 480px){.gallery-header{height:var(--bar-height-mobile, 48px);min-height:var(--bar-height-mobile, 48px);padding:0 var(--spacing-sm);overflow:visible}.gallery-header-center{flex:1;min-width:0;overflow:hidden}.gallery-header-folder-select{max-width:140px;min-width:0}.gallery-header-left{gap:var(--spacing-xs);flex-shrink:0}.gallery-header-left .gallery-header-sidebar-toggle{width:36px;height:36px}.gallery-header-left .gallery-header-logo-icon{width:24px;height:24px}.gallery-header-left .gallery-header-logo,.gallery-header-left .gallery-app-logo{padding:4px}.gallery-header-search-toggle,.gallery-header-filter-toggle{width:36px;height:36px;min-width:36px}.gallery-search-container{margin:0 var(--spacing-sm)}.gallery-app-logo-subtitle{display:none}.gallery-header-right .gallery-header-action-btn,.gallery-header-right .gallery-header-lang-btn{width:32px;height:32px;min-width:32px;font-size:var(--font-size-xs, 11px)}.gallery-header-right .user-avatar{width:26px;height:26px}.gallery-header-right .user-avatar .icon{width:14px;height:14px}}.gallery-header-sidebar-toggle{display:none;align-items:center;justify-content:center;width:var(--touch-target-min-size);height:var(--touch-target-min-size);background:transparent;border:none;color:var(--color-gallery-sidebar-text);cursor:pointer;transition:background-color .2s ease;border-radius:var(--radius-sm, 4px)}.gallery-header-sidebar-toggle:hover{background-color:var(--color-interactive-hover)}.gallery-header-sidebar-toggle:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.gallery-header-sidebar-toggle .icon{width:var(--icon-size-lg, 24px);height:var(--icon-size-lg, 24px)}.gallery-header-search-toggle{display:none;align-items:center;justify-content:center;width:var(--touch-target-min-size);height:var(--touch-target-min-size);background:transparent;border:none;color:var(--color-gallery-sidebar-text);cursor:pointer;transition:background-color .2s ease;border-radius:var(--radius-sm, 4px)}.gallery-header-search-toggle:hover{background-color:var(--color-interactive-hover)}.gallery-header-search-toggle:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.gallery-header-search-toggle .icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px)}.gallery-header-search-overlay{position:fixed;inset:0;background-color:var(--color-gallery-header);z-index:300;display:none;flex-direction:column;padding:var(--spacing-responsive-padding-mobile)}.gallery-header-search-overlay.visible{display:flex}.gallery-header-search-overlay-header{display:flex;align-items:center;gap:var(--spacing-2, 8px);margin-bottom:var(--spacing-4, 16px)}.gallery-header-search-overlay-input{flex:1;padding:var(--spacing-3, 12px);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-base, 1rem)}.gallery-header-search-overlay-input:focus{outline:2px solid var(--color-primary-500);outline-offset:-2px;border-color:var(--color-primary-500)}.gallery-header-search-overlay-close{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min-size);height:var(--touch-target-min-size);background:transparent;border:none;color:var(--color-gallery-sidebar-text);cursor:pointer;border-radius:var(--radius-sm, 4px)}.gallery-header-search-overlay-close:hover{background-color:var(--color-interactive-hover)}.gallery-header-search-overlay-close .icon{width:var(--icon-size-lg, 24px);height:var(--icon-size-lg, 24px)}.gallery-header-folder-select{display:none;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;min-width:120px;max-width:200px}.gallery-header-folder-select:hover{background-color:var(--color-background-secondary);border-color:var(--color-primary-500)}.gallery-header-folder-select:focus{outline:2px solid var(--color-primary-500);outline-offset:-2px;border-color:var(--color-primary-500)}@media (max-width: 480px){.gallery-header-sidebar-toggle,.gallery-header-search-toggle{display:flex}.gallery-header .logo{font-size:var(--font-size-lg, 1.125rem)}.gallery-header .search-bar,.gallery-header .language-toggle{display:none}.gallery-header-folder-select{display:block;min-height:44px;flex:1;min-width:0;max-width:140px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}@media (min-width: 481px) and (max-width: 768px){.gallery-header-sidebar-toggle{display:flex}.gallery-header .search-bar{max-width:300px}}@media (min-width: 769px){.gallery-header-sidebar-toggle,.gallery-header-search-toggle,.gallery-header-search-overlay,.gallery-header-search-overlay.visible{display:none}}@media (prefers-reduced-motion: reduce){.gallery-header-sidebar-toggle,.gallery-header-search-toggle,.gallery-header-search-overlay{transition:none}}.gallery-header-filter-toggle{display:none;align-items:center;justify-content:center;width:var(--touch-target-min-size, 44px);height:var(--touch-target-min-size, 44px);background:transparent;border:1px solid var(--color-white-alpha-30, rgba(255, 255, 255, .3));border-radius:var(--radius-md, 8px);color:var(--color-gallery-sidebar-text);cursor:pointer;transition:background-color .2s ease;position:relative;flex-shrink:0}.gallery-header-filter-toggle:hover{background-color:var(--color-white-alpha-15, rgba(255, 255, 255, .15))}.gallery-header-filter-toggle:focus-visible{outline:2px solid var(--color-white-alpha-50, rgba(255, 255, 255, .5));outline-offset:2px}.gallery-header-filter-toggle .icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px)}.gallery-header-filter-badge{position:absolute;top:-4px;right:-4px;background-color:var(--color-status-error, #dc2626);color:var(--color-text-inverse, #ffffff);border-radius:var(--radius-full, 50%);width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}@media (max-width: 480px){.gallery-header-filter-toggle{display:flex}}@media (min-width: 481px) and (max-width: 768px){.gallery-header-filter-toggle{display:flex}}@media (min-width: 769px){.gallery-header-filter-toggle{display:none}}.gallery-action-bar{display:flex;align-items:center;justify-content:space-between;height:var(--bar-height-desktop, 56px);min-height:var(--bar-height-desktop, 56px);max-height:var(--bar-height-desktop, 56px);padding:0 var(--spacing-lg, 1.5rem);background-color:var(--color-gallery-actionbar, #f1f3f4);border-bottom:1px solid var(--color-border-default, #e5e5e5);gap:var(--spacing-md, 1rem);flex-shrink:0;flex-grow:0;position:relative;z-index:10;visibility:visible;opacity:1;width:100%;box-sizing:border-box}.gallery-action-bar-left{display:flex;align-items:center;min-width:0;flex:1}.gallery-selection-info{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-interactive-primary)}.gallery-selection-icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px);flex-shrink:0}.gallery-selection-text{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium)}.gallery-hint{display:flex;align-items:center}.gallery-hint-text{font-size:var(--typography-body-base-size);color:var(--color-text-secondary)}.gallery-action-bar-right{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.gallery-action-bar .icon,.gallery-action-bar svg.icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px);flex-shrink:0}.gallery-action-button{display:flex;align-items:center;gap:var(--spacing-xs);height:36px;padding:0 var(--spacing-sm);background:none;border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.gallery-action-button:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary);border-color:var(--color-border-medium)}.gallery-action-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.gallery-action-button-active{background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-color:var(--color-interactive-primary)}.gallery-action-button-active:hover{background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}.gallery-action-button-icon{width:var(--icon-size-sm, 16px);height:var(--icon-size-sm, 16px);flex-shrink:0}.gallery-view-mode-buttons{display:flex;border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.gallery-view-mode-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.gallery-view-mode-button:not(:last-child){border-right:1px solid var(--color-border-default)}.gallery-view-mode-button:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary)}.gallery-view-mode-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:-2px}.gallery-view-mode-button-active{background-color:var(--color-interactive-primary);color:var(--color-text-inverse)}.gallery-view-mode-button-active:hover{background-color:var(--color-interactive-primary-hover)}.gallery-view-mode-button-icon{width:var(--icon-size-sm, 16px);height:var(--icon-size-sm, 16px)}.gallery-upload-button{display:flex;align-items:center;gap:var(--spacing-xs);height:36px;padding:0 var(--spacing-md);background-color:var(--color-brand-secondary);border:1px solid var(--color-brand-secondary);border-radius:var(--radius-md);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-white, #ffffff);cursor:pointer;transition:var(--transition-fast);box-shadow:0 2px 4px var(--color-interactive-primary-shadow)}.gallery-upload-button:hover{background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary);color:var(--color-white, #ffffff);box-shadow:0 4px 8px var(--color-interactive-primary-alpha-40)}.gallery-upload-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.gallery-upload-button-icon{width:18px;height:18px;flex-shrink:0}@media (max-width: 768px){.gallery-action-bar{padding:0 var(--spacing-md);gap:var(--spacing-sm)}.gallery-action-bar-right{gap:var(--spacing-xs)}.gallery-action-button span,.gallery-upload-button span{display:none}.gallery-action-button,.gallery-upload-button{width:36px;padding:0;justify-content:center}.gallery-upload-button span{display:inline}.gallery-upload-button{width:auto;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px)}}@media (max-width: 480px){.gallery-action-bar{padding:0 var(--spacing-sm)}.gallery-hint-text,.gallery-selection-text{font-size:var(--typography-body-small-size)}}.action-bar-overflow-trigger{display:none;align-items:center;justify-content:center;gap:var(--spacing-1, 4px);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border:1px solid var(--color-gallery-button-secondary-border, rgba(255, 255, 255, .7));border-radius:var(--radius-md, 8px);background-color:var(--color-gallery-button-secondary-bg);color:var(--color-gallery-button-secondary-text);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease}.action-bar-overflow-trigger:hover{background-color:var(--color-gallery-button-secondary-hover)}.action-bar-overflow-trigger .icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px)}.action-bar-overflow-menu{position:fixed;min-width:180px;background-color:var(--color-background-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg);padding:var(--spacing-2, 8px);z-index:1000;display:none}.action-bar-overflow-menu.visible{display:block}.action-bar-overflow-menu-separator{height:1px;background-color:var(--color-border-primary, rgba(255, 255, 255, .1));margin:var(--spacing-1, 4px) 0}.action-bar-overflow-group{border:1px solid var(--color-border-primary, rgba(255, 255, 255, .15));border-radius:var(--radius-sm, 4px);padding:var(--spacing-1, 4px);margin-bottom:var(--spacing-2, 8px)}.action-bar-overflow-group:last-child{margin-bottom:0}.action-bar-overflow-menu-item{display:flex;align-items:center;gap:var(--spacing-2, 8px);width:100%;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--color-text-primary);font-size:var(--font-size-sm, .875rem);text-align:left;cursor:pointer;transition:background-color .15s ease}.action-bar-overflow-menu-item:hover{background-color:var(--color-background-hover)}.action-bar-overflow-menu-item.active{background-color:var(--color-background-hover);color:var(--color-primary);font-weight:600}.action-bar-overflow-menu-item.active .icon{color:var(--color-primary)}.action-bar-overflow-menu-item .icon{width:var(--icon-size-default, 20px);height:var(--icon-size-default, 20px);flex-shrink:0}@media (hover: none) and (pointer: coarse){.gallery-action-bar button,.gallery-action-bar .gallery-action-button,.gallery-action-bar .gallery-upload-button,.gallery-action-bar .gallery-view-mode-button{min-width:var(--touch-target-min-size);min-height:var(--touch-target-min-size)}}@media (max-width: 768px){.gallery-action-bar.selection-mode{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-action-bar.selection-mode::-webkit-scrollbar{display:none}.gallery-action-bar.selection-mode .gallery-action-bar-left,.gallery-action-bar.selection-mode .gallery-action-bar-right{flex:0 0 auto;flex-wrap:nowrap}.gallery-action-bar .folder-action-btn{display:none}}@media (max-width: 480px){.gallery-action-bar{height:var(--bar-height-mobile, 48px);min-height:var(--bar-height-mobile, 48px);max-height:var(--bar-height-mobile, 48px);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.gallery-action-bar::-webkit-scrollbar{display:none}.gallery-action-bar button{font-size:var(--font-size-xs, 11px);min-width:auto;width:auto;padding:0 6px;justify-content:center;white-space:nowrap;flex-shrink:0}.gallery-action-bar button .icon,.gallery-action-bar button svg.icon{font-size:initial;width:16px;height:16px}.gallery-action-bar button span,.gallery-action-bar .selection-count{display:inline;font-size:var(--font-size-xs, 11px)}.gallery-action-bar-right{gap:4px;flex-shrink:0}.action-bar-overflow-trigger{display:inline-flex}.gallery-action-bar .gallery-view-mode-buttons,.gallery-action-bar .sort-dropdown{display:none}}@media (min-width: 481px) and (max-width: 768px){.action-bar-overflow-trigger{display:inline-flex}.gallery-action-bar .sort-dropdown{display:none}}@media (min-width: 769px){.gallery-action-bar button.action-bar-overflow-trigger{display:none}.action-bar-overflow-menu{display:none!important}}@media (prefers-reduced-motion: reduce){.action-bar-overflow-trigger,.action-bar-overflow-menu-item{transition:none}}.gallery-action-bar.selection-mode .selection-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs, 4px);min-width:44px;min-height:44px;padding:0 var(--spacing-sm, 8px);white-space:nowrap;flex-shrink:0}@media (hover: none) and (pointer: coarse){.gallery-action-bar.selection-mode .selection-action-btn{min-width:var(--touch-target-min-size, 44px);min-height:var(--touch-target-min-size, 44px)}}@media (max-width: 480px){.gallery-action-bar.selection-mode .selection-action-btn span{display:inline;font-size:var(--font-size-xs, 11px)}.gallery-action-bar.selection-mode .selection-action-btn{width:auto;padding:0 6px;white-space:nowrap;flex-shrink:0}}@media (min-width: 481px) and (max-width: 768px){.gallery-action-bar.selection-mode .selection-action-btn span{display:inline;font-size:var(--font-size-sm, 13px)}.gallery-action-bar.selection-mode .selection-action-btn{width:auto;padding:0 8px;white-space:nowrap;flex-shrink:0}}.gallery-action-bar .btn-danger{background-color:var(--color-action-delete-bg)!important;color:var(--color-action-delete-text)!important;border-color:var(--color-action-delete-bg)!important}.gallery-action-bar .btn-danger:hover{background-color:var(--color-action-delete-hover-bg)!important;border-color:var(--color-action-delete-hover-bg)!important;color:var(--color-action-delete-text)!important}.gallery-action-bar .btn-danger-outline{background-color:transparent;color:var(--color-action-delete-bg);border-color:var(--color-action-delete-bg)}.gallery-action-bar .btn-danger-outline:hover{background-color:var(--color-action-delete-bg);color:var(--color-action-delete-text)}.gallery-action-bar .gallery-action-button,.gallery-action-bar .gallery-upload-button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px) and (orientation: portrait){.action-bar-overflow-trigger{display:inline-flex}.gallery-action-bar .sort-dropdown{display:none}.gallery-action-bar .gallery-action-button{padding:0 var(--spacing-xs, 4px)}.gallery-action-bar .gallery-action-button span,.gallery-action-bar .gallery-upload-button span{display:none}.gallery-action-bar .gallery-action-button,.gallery-action-bar .gallery-upload-button{width:36px;padding:0;justify-content:center}.gallery-action-bar .gallery-upload-button span{display:inline}.gallery-action-bar .gallery-upload-button{width:auto;padding:0 var(--spacing-xs, 4px)}}.gallery-action-bar button{display:inline-flex;align-items:center}.gallery-action-bar.selection-mode button{white-space:nowrap}.gallery-action-bar.selection-mode .selection-info{white-space:nowrap;flex-shrink:0}.action-bar-drag-hint{font-size:var(--font-size-drag-hint, var(--font-size-xs, .75rem));color:var(--color-drag-hint-text, var(--color-text-tertiary, #999));white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width: 480px){.action-bar-drag-hint{display:none}}.gallery-action-bar.touch-three-zone{display:flex;align-items:center;justify-content:space-between;overflow:hidden;flex-wrap:nowrap}.action-bar-zone-left{display:flex;align-items:center;gap:var(--spacing-xs, 4px);flex-shrink:0;white-space:nowrap;font-size:var(--font-size-sm, .875rem);color:var(--color-gallery-actionbar-text)}.selection-status-text{font-weight:var(--font-weight-medium, 500);white-space:nowrap}.zone-separator{opacity:.4;margin:0 var(--spacing-xs, 4px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-bar-zone-center{flex:1;display:flex;justify-content:center;min-width:0}.action-bar-zone-right{flex-shrink:0}.gallery-action-bar.touch-three-zone.selection-mode .action-bar-zone-right{display:none}.gallery-action-bar.touch-three-zone .action-bar-overflow-trigger{display:inline-flex!important}.gallery-action-bar.touch-three-zone .gallery-view-mode-buttons,.gallery-action-bar.touch-three-zone .sort-dropdown,.gallery-action-bar.touch-three-zone .folder-action-btn,.gallery-action-bar.touch-three-zone .action-bar-drag-hint{display:none}.gallery-action-bar.touch-three-zone .action-bar-overflow-menu.visible{display:block!important}@media (pointer: coarse){.gallery-action-bar.touch-three-zone .action-bar-overflow-menu-item,.gallery-action-bar.touch-three-zone button{min-height:var(--touch-target-min-size, 44px)}}@media (max-width: 480px){.gallery-action-bar.touch-three-zone{height:var(--bar-height-mobile, 48px);min-height:var(--bar-height-mobile, 48px);max-height:var(--bar-height-mobile, 48px);padding:0 var(--spacing-sm, 8px)}.action-bar-zone-left{font-size:var(--font-size-xs, .75rem)}}.gallery-main-container{flex:1;padding:var(--spacing-md);overflow-y:auto;background-color:var(--color-gallery-content);min-height:0}.gallery-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--spacing-md)}.gallery-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-default);border-top:3px solid var(--color-interactive-primary);border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.gallery-loading-text{color:var(--color-text-secondary);font-size:var(--typography-body-base-size);margin:0}.gallery-empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md);text-align:center}.gallery-empty-icon{font-size:4rem;opacity:.5}.gallery-empty-title{color:var(--color-text-primary);font-size:var(--typography-heading-h3-size);font-weight:var(--typography-font-weight-semibold);margin:0}.gallery-empty-description{color:var(--color-text-secondary);font-size:var(--typography-body-base-size);margin:0;max-width:400px}.gallery-content-grid{display:grid;gap:var(--spacing-lg);width:100%}.gallery-content-grid.gallery-view-mode-large{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-content-grid.gallery-view-mode-medium{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.gallery-content-grid.gallery-view-mode-list{grid-template-columns:1fr;gap:var(--spacing-sm)}.gallery-content-grid.gallery-view-mode-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-content-item{position:relative;background-color:var(--color-background-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:var(--transition-fast)}.gallery-content-item:hover{border-color:var(--color-interactive-primary);box-shadow:0 4px 12px var(--color-shadow-lg);transform:translateY(-2px)}.gallery-content-item:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.gallery-content-item-selected{border-color:var(--color-interactive-primary);background-color:var(--color-status-info-bg)}.gallery-selection-button{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);z-index:3;width:var(--spacing-6);height:var(--spacing-6);border:2px solid var(--color-white);border-radius:var(--radius-full);background-color:var(--color-black-alpha-40);backdrop-filter:blur(8px);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--color-black-alpha-30)}.gallery-selection-button:hover{background-color:var(--color-black-alpha-60);border-color:var(--color-white);transform:scale(1.1);box-shadow:0 4px 12px var(--color-black-alpha-40)}.gallery-selection-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.gallery-selection-button-selected{background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary);box-shadow:0 2px 8px var(--color-interactive-primary-alpha-40)}.gallery-selection-button-selected:hover{background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover);transform:scale(1.1);box-shadow:0 4px 12px var(--color-interactive-primary-alpha-60)}.gallery-selection-button-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:var(--transition-fast)}.gallery-selection-button-check{color:var(--color-white);font-size:14px;font-weight:var(--typography-font-weight-bold);line-height:1;text-shadow:0 1px 2px var(--color-black-alpha-50);animation:checkmarkAppear .2s ease-out}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.gallery-content-item-dragging{opacity:.5;transform:rotate(3deg);box-shadow:0 8px 24px var(--color-shadow-xl)}.gallery-drag-handle{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:3;opacity:0;transition:var(--transition-fast);cursor:grab}.gallery-content-item:hover .gallery-drag-handle{opacity:1}.gallery-drag-handle-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-black-alpha-30);backdrop-filter:blur(8px);border-radius:var(--radius-sm);color:var(--color-white);font-size:14px;letter-spacing:-2px}.gallery-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden}.gallery-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:var(--transition-normal)}.gallery-content-item:hover .gallery-image{transform:scale(1.05)}.gallery-hover-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,var(--color-black-alpha-30) 0%,transparent 25%,transparent 60%,var(--color-black-alpha-20) 100%);opacity:0;transition:var(--transition-normal);display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-sm)}.gallery-content-item:hover .gallery-hover-overlay{opacity:1}.gallery-title-overlay{align-self:flex-end;width:100%;background:linear-gradient(to top,var(--color-black-alpha-80) 0%,var(--color-black-alpha-60) 50%,transparent 100%);padding:var(--spacing-md) var(--spacing-sm) var(--spacing-sm);border-radius:0 0 var(--radius-md) var(--radius-md)}.gallery-overlay-title{color:var(--color-white);font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-semibold);margin:0;line-height:var(--typography-body-small-line-height);text-shadow:0 1px 3px var(--color-black-alpha-80),0 0 8px var(--color-black-alpha-50);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-overlay-favorite-button{align-self:flex-start;background:var(--color-black-alpha-40);border:none;border-radius:var(--radius-full);width:var(--spacing-8);height:var(--spacing-8);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:var(--transition-fast);backdrop-filter:blur(8px);color:var(--color-white);text-shadow:0 1px 2px var(--color-black-alpha-50)}.gallery-overlay-favorite-button:hover{background:var(--color-black-alpha-60);transform:scale(1.1);box-shadow:0 2px 8px var(--color-black-alpha-40)}.gallery-overlay-favorite-button-active{background:var(--color-status-warning);color:var(--color-white);text-shadow:none}.gallery-overlay-favorite-button-active:hover{background:var(--color-status-warning-hover)}.gallery-content-info{padding:var(--spacing-md)}.gallery-content-title{color:var(--color-text-primary);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);margin:0;line-height:var(--typography-body-base-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-content-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs);gap:var(--spacing-sm)}.gallery-content-date,.gallery-content-size{color:var(--color-text-secondary);font-size:var(--typography-body-small-size)}.gallery-view-mode-list .gallery-content-item{display:flex;align-items:center;padding:var(--spacing-sm)}.gallery-view-mode-list .gallery-image-container{width:80px;height:60px;aspect-ratio:unset;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden}.gallery-view-mode-list .gallery-hover-overlay{display:none}.gallery-view-mode-list .gallery-content-info{flex:1;padding:0 var(--spacing-md)}.gallery-view-mode-list .gallery-content-title{white-space:normal;overflow:visible;text-overflow:unset}.gallery-view-mode-list .gallery-selection-button{position:static;margin-right:var(--spacing-sm);background-color:var(--color-background-secondary);border-color:var(--color-border-default);backdrop-filter:none;box-shadow:0 1px 3px var(--color-shadow-sm)}.gallery-view-mode-list .gallery-selection-button:hover{background-color:var(--color-interactive-hover);border-color:var(--color-interactive-primary);box-shadow:0 2px 6px var(--color-shadow-md)}.gallery-view-mode-list .gallery-selection-button-selected{background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary)}.gallery-view-mode-list .gallery-selection-button-selected:hover{background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}@media (max-width: 768px){.gallery-main-container{padding:var(--spacing-sm)}.gallery-content-grid.gallery-view-mode-large{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.gallery-content-grid.gallery-view-mode-medium{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.gallery-content-grid.gallery-view-mode-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.gallery-content-info{padding:var(--spacing-sm)}.gallery-content-title{font-size:var(--typography-body-small-size)}}@media (max-width: 480px){.gallery-content-grid.gallery-view-mode-large{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.gallery-content-grid.gallery-view-mode-medium{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-xs)}.gallery-content-grid.gallery-view-mode-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}}.gallery-empty-icon{width:48px;height:48px;color:var(--color-text-secondary);margin-bottom:var(--spacing-4, 16px)}.gallery-empty-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-2, 8px)}.gallery-empty-description{font-size:14px;color:var(--color-text-secondary)}.gallery-grid{display:grid;gap:var(--spacing-4, 16px);padding:var(--spacing-4, 16px);transition:gap .3s ease;max-width:100%;overflow-x:clip}.gallery-grid-transitioning{animation:gallery-grid-fade .4s cubic-bezier(.4,0,.2,1)}@keyframes gallery-grid-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gallery-grid.pinch-resizing{transition:none;will-change:transform;transform-origin:center top}.gallery-grid.pinch-resizing .gallery-item{transition:none}.gallery-grid.pinch-resizing .gallery-item:hover{transform:none;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.gallery-grid.pinch-resizing .gallery-item-image{transition:none}.gallery-grid.view-grid{grid-template-columns:repeat(auto-fill,minmax(var(--tile-size, 200px),1fr))}.gallery-grid.view-list{grid-template-columns:1fr;gap:var(--spacing-2, 8px)}.gallery-item{position:relative;background:var(--color-surface);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-item:hover{box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-2px)}.gallery-item.selected{border:2px solid var(--color-primary-500);box-shadow:0 0 0 4px var(--color-primary-100)}.gallery-item.selection-mode{cursor:pointer}.gallery-item-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--color-background-secondary);cursor:pointer}.gallery-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s ease;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-item:hover .gallery-item-image{transform:scale(1.05)}.gallery-item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-background-secondary);color:var(--color-text-tertiary)}.placeholder-icon{width:48px;height:48px}.gallery-item-title-bar{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);opacity:0;transition:opacity .2s ease;z-index:5;pointer-events:none}.gallery-item:hover .gallery-item-title-bar{opacity:1}.gallery-item-title-bar:has(.gallery-item-inline-edit){opacity:1;pointer-events:auto}.gallery-item-title-text{color:var(--color-white, #fff);font-size:var(--font-size-xs, 11px);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.4}@media (hover: none) and (pointer: coarse){.gallery-item-title-bar{opacity:1}}.gallery-item.selected .gallery-item-title-bar{opacity:1}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,var(--color-black-alpha-10) 0%,transparent 30%,transparent 70%,var(--color-black-alpha-70) 100%);opacity:0;transition:opacity .2s ease;display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-3, 12px);pointer-events:none}.gallery-item:hover .gallery-item-overlay{opacity:1;pointer-events:auto}.gallery-item-actions{display:flex;justify-content:flex-end;align-items:flex-start}.gallery-item-favorite{background:transparent;border:none;border-radius:var(--radius-full, 9999px);padding:var(--spacing-2, 8px);cursor:pointer;transition:all .2s ease;color:var(--color-white);filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.gallery-item-favorite:hover{background:transparent;color:var(--color-status-error);transform:scale(1.1);filter:drop-shadow(0 1px 4px rgba(0,0,0,.8))}.gallery-item-favorite.active{background:transparent;color:var(--color-status-error);filter:drop-shadow(0 1px 4px rgba(0,0,0,.8))}.gallery-item-favorite .icon{width:20px;height:20px}.gallery-item-info{display:flex;flex-direction:column;align-items:flex-start}.gallery-item-name{color:var(--color-white);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);margin:0;text-shadow:0 1px 2px var(--color-black-alpha-50);word-break:break-word;line-height:1.3}.gallery-item-checkbox{position:absolute;top:var(--spacing-2, 8px);left:var(--spacing-2, 8px);z-index:10;background:transparent;padding:0}.gallery-item-checkbox .checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:var(--color-black-alpha-25, rgba(0, 0, 0, .25));box-shadow:0 1px 4px #0006;cursor:pointer;transition:all .15s ease;position:relative}.gallery-item-checkbox .checkbox:checked{background:var(--color-primary-500, #3b82f6);border-color:var(--color-primary-500, #3b82f6)}.gallery-item-checkbox .checkbox:checked:after{content:"";position:absolute;top:3px;left:6px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.gallery-grid.view-list .gallery-item{display:flex;align-items:center;padding:var(--spacing-3, 12px);aspect-ratio:unset;max-width:100%;box-sizing:border-box}.gallery-grid.view-list .gallery-item-image-container{width:60px;height:60px;aspect-ratio:1;flex-shrink:0;margin-right:var(--spacing-3, 12px)}.gallery-grid.view-list .gallery-item-overlay{display:none}.gallery-item-details{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0}.item-info{flex:1;min-width:0}.item-title{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #171717);margin:0 0 var(--spacing-1, 4px) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary);margin:0 0 var(--spacing-1, 4px) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-tertiary);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme=dark] .gallery-grid.view-list .gallery-item{background-color:var(--color-background-secondary);border:1px solid var(--color-border-default)}html[data-theme=dark] .gallery-grid.view-list .item-title{color:var(--color-text-primary)}html[data-theme=dark] .gallery-grid.view-list .item-meta{color:var(--color-text-secondary)}html[data-theme=dark] .gallery-grid.view-list .item-description{color:var(--color-text-tertiary)}.item-actions{display:flex;align-items:center;gap:var(--spacing-1, 4px);flex-shrink:0}.item-actions .icon{width:var(--icon-size-sm, 16px);height:var(--icon-size-sm, 16px)}.gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8, 32px);text-align:center;min-height:400px}.loading-spinner{margin-bottom:var(--spacing-4, 16px)}.spinner{width:48px;height:48px;color:var(--color-primary-500)}.manual-sort-hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2, 8px);padding:var(--spacing-2, 8px) var(--spacing-4, 16px);margin:var(--spacing-2, 8px) var(--spacing-4, 16px) 0;background-color:var(--color-primary-background, rgba(59, 130, 246, .08));border:1px solid var(--color-primary-200, rgba(59, 130, 246, .2));border-radius:var(--radius-md, 8px);color:var(--color-primary, #3b82f6);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);-webkit-user-select:none;-moz-user-select:none;user-select:none}.manual-sort-hint-icon{width:16px;height:16px;flex-shrink:0}.gallery-item[draggable=true]{cursor:grab}.gallery-item[draggable=true]:active{cursor:grabbing}.gallery-item.drag-over{border:2px dashed var(--color-primary);background-color:var(--color-primary-background);transform:scale(1.02);transition:all .2s ease}.gallery-item.dragging{opacity:.5;transform:rotate(5deg);z-index:1000}.gallery-item.group-drag-source{opacity:.4;transition:opacity .15s ease}.gallery-item.group-drop-target{position:relative}.gallery-item.group-drop-target:before{content:"";position:absolute;top:0;left:-3px;width:2px;height:100%;background-color:var(--color-primary, #3b82f6);z-index:10;border-radius:1px;box-shadow:0 0 4px var(--color-primary, #3b82f6)}@media (prefers-reduced-motion: reduce){.gallery-grid-transitioning{animation:none}.gallery-grid,.gallery-item,.gallery-item-overlay{transition:none}}@media (max-width: 480px){.gallery-grid.view-grid{grid-template-columns:repeat(auto-fill,minmax(var(--tile-size, 120px),1fr));gap:var(--spacing-2, 8px)}.gallery-grid.view-list .gallery-item-image-container{width:48px;height:48px}}@media (max-width: 768px){.gallery-grid.view-grid{grid-template-columns:repeat(auto-fill,minmax(var(--tile-size, 120px),1fr))}.gallery-grid{gap:var(--spacing-2, 8px);padding:var(--spacing-2, 8px)}.manual-sort-hint{margin:var(--spacing-2, 8px) var(--spacing-2, 8px) 0;font-size:var(--font-size-xs, .75rem)}}@media (min-width: 481px) and (max-width: 768px){.gallery-grid.view-grid{grid-template-columns:repeat(auto-fill,minmax(var(--tile-size, 150px),1fr))}}@media (hover: none) and (pointer: coarse){.gallery-item-overlay{opacity:1;pointer-events:auto}.gallery-item-favorite,.gallery-item-name{opacity:1;visibility:visible}}.gallery-item.selection-mode .gallery-item-overlay{opacity:1;pointer-events:auto}.gallery-item.selection-mode .gallery-item-favorite{opacity:1;visibility:visible}.gallery-grid.view-list .gallery-item{width:100%;max-width:100%;min-width:0;overflow:hidden}.gallery-grid.view-list .gallery-item-details{min-width:0}.gallery-grid.view-list .item-info{flex:1;min-width:0;overflow:hidden}.gallery-grid.view-list .item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-grid.view-list .item-actions{flex-shrink:0;min-width:28px;width:28px}.modal-overlay-portal{position:fixed;inset:0;background:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:var(--spacing-4, 16px)}.modal-overlay-portal .modal{background:var(--color-surface, #ffffff);color:var(--color-text-primary);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));max-width:90vw;max-height:90vh;overflow-y:auto;position:relative}.modal-overlay-portal .modal{width:600px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4, 16px);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;color:var(--color-text-primary)}.modal-body{padding:var(--spacing-4, 16px);flex:1;overflow-y:auto;min-height:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-2, 8px);padding:var(--spacing-4, 16px);border-top:1px solid var(--color-border-default);flex-shrink:0}.upload-area{border:2px dashed var(--color-border-default);border-radius:var(--radius-lg, 12px);padding:var(--spacing-6, 24px);text-align:center;cursor:pointer;transition:all .2s ease;background:var(--color-background-secondary);margin-bottom:var(--spacing-4, 16px)}.upload-area:hover,.upload-area.drag-over{border-color:var(--color-primary-500);background:var(--color-primary-50)}.upload-icon{width:48px;height:48px;margin:0 auto var(--spacing-3, 12px);color:var(--color-text-secondary)}.upload-text{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary);margin-bottom:var(--spacing-1, 4px)}.upload-hint{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.file-list h3{margin:0 0 var(--spacing-3, 12px) 0;color:var(--color-text-primary)}.file-items{display:flex;flex-direction:column;gap:var(--spacing-2, 8px);max-height:250px;overflow-y:auto;padding-right:var(--spacing-1, 4px);contain:content;-webkit-overflow-scrolling:touch}.file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3, 12px);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 8px);background:var(--color-surface);color:var(--color-text-primary)}.file-item.uploading{border-color:var(--color-primary-500);background:var(--color-primary-50)}.file-item.completed{border-color:var(--color-status-success);background:var(--color-status-success-bg)}.file-item.error{border-color:var(--color-status-error);background:var(--color-status-error-bg)}.file-item.duplicate{border-color:var(--color-status-warning);background:var(--color-status-warning-bg)}.file-info{display:flex;align-items:center;gap:var(--spacing-3, 12px);flex:1}.file-preview{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm, 4px);content-visibility:auto}.file-icon{width:40px;height:40px;color:var(--color-text-secondary)}.file-details{flex:1}.file-name{font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary);margin-bottom:var(--spacing-1, 4px);word-break:break-word}.file-size{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary)}.file-item .btn-ghost{color:var(--color-text-secondary);flex-shrink:0;min-width:32px;min-height:32px}.file-item .btn-ghost:hover{color:var(--color-status-error);background:var(--color-status-error-bg, rgba(239, 68, 68, .1))}.file-item .btn-ghost .icon,.file-item .btn-ghost svg{width:18px;height:18px}.file-remove-btn{font-size:1.1rem;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md, 8px);color:var(--color-text-tertiary);cursor:pointer}.file-remove-btn:hover{color:var(--color-status-error);background:var(--color-status-error-bg, rgba(239, 68, 68, .1))}.status-checking,.status-duplicate,.status-completed,.status-error{display:flex;align-items:center;gap:var(--spacing-1, 4px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500)}.status-checking{color:var(--color-primary-600)}.status-duplicate{color:var(--color-status-warning)}.status-completed{color:var(--color-status-success)}.status-error{color:var(--color-status-error)}.status-checking .icon,.status-duplicate .icon,.status-completed .icon,.status-error .icon{width:16px;height:16px}.progress-container{display:flex;align-items:center;gap:var(--spacing-2, 8px);min-width:120px}.progress-bar{flex:1;height:8px;background:var(--color-background-secondary);border-radius:var(--radius-full, 9999px);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary-500);border-radius:var(--radius-full, 9999px);transition:width .3s ease}.progress-text{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary);min-width:35px;text-align:right}.duplicate-info{display:flex;flex-direction:column;gap:var(--spacing-1, 4px)}.duplicate-options{display:flex;flex-direction:column;gap:var(--spacing-2, 8px)}.error-details{display:flex;flex-direction:column;gap:var(--spacing-1, 4px)}.error-message{font-weight:var(--font-weight-medium, 500)}.error-tooltip{font-size:var(--font-size-xs, .75rem);opacity:.8}.security-error{color:var(--color-status-warning)}.general-error{color:var(--color-status-error)}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.folder-add-modal__backdrop{position:fixed;inset:0;background-color:var(--color-black-alpha-50);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.folder-add-modal__container{background-color:var(--color-surface, #ffffff);border-radius:var(--radius-md, 8px);box-shadow:0 4px 20px var(--color-black-alpha-15);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.folder-add-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4, 1rem);border-bottom:1px solid var(--color-border-default, #e5e7eb)}.folder-add-modal__title{margin:0;font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1f2937)}.folder-add-modal__close-button{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.folder-add-modal__close-button:hover{color:var(--color-text-primary, #1f2937)}.folder-add-modal__close-button:focus{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px;border-radius:var(--radius-sm, 4px)}.folder-add-modal__form{padding:var(--spacing-4, 1rem)}.folder-add-modal__field{margin-bottom:var(--spacing-4, 1rem)}.folder-add-modal__label{display:block;margin-bottom:var(--spacing-2, .5rem);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1f2937)}.folder-add-modal__input{width:100%;padding:var(--spacing-3, .75rem);font-size:var(--font-size-base, 1rem);color:var(--color-text-primary, #1f2937);background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border-default, #d1d5db);border-radius:var(--radius-sm, 4px);transition:border-color .2s ease,box-shadow .2s ease}.folder-add-modal__input:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:0 0 0 3px var(--color-focus-ring-primary)}.folder-add-modal__input--error{border-color:var(--color-status-error, #ef4444)}.folder-add-modal__input--error:focus{border-color:var(--color-status-error, #ef4444);box-shadow:0 0 0 3px var(--color-focus-ring-error)}.folder-add-modal__select{width:100%;padding:var(--spacing-3, .75rem);font-size:var(--font-size-base, 1rem);color:var(--color-text-primary, #1f2937);background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border-default, #d1d5db);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.folder-add-modal__select:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:0 0 0 3px var(--color-focus-ring-primary)}.folder-add-modal__error{margin-top:var(--spacing-2, .5rem);font-size:var(--font-size-sm, .875rem);color:var(--color-status-error, #ef4444)}.folder-add-modal__char-counter{margin-top:var(--spacing-2, .5rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);text-align:right}.folder-add-modal__actions{display:flex;gap:var(--spacing-3, .75rem);justify-content:flex-end;margin-top:var(--spacing-4, 1rem)}.folder-add-modal__button{padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background-color .2s ease,transform .1s ease;border:none}.folder-add-modal__button:active{transform:scale(.98)}.folder-add-modal__button:focus{outline:2px solid var(--color-primary-500, #3b82f6);outline-offset:2px}.folder-add-modal__button--cancel{background-color:var(--color-surface-secondary, #f3f4f6);color:var(--color-text-primary, #1f2937)}.folder-add-modal__button--cancel:hover{background-color:var(--color-surface-tertiary, #e5e7eb)}.folder-add-modal__button--submit{background-color:var(--color-primary-500, #3b82f6);color:var(--color-white, #ffffff)}.folder-add-modal__button--submit:hover:not(:disabled){background-color:var(--color-primary-600, #2563eb)}.folder-add-modal__button--submit:disabled{background-color:var(--color-surface-tertiary, #e5e7eb);color:var(--color-text-disabled, #9ca3af);cursor:not-allowed}html[data-theme=dark] .folder-add-modal__container{background-color:var(--color-surface, #1f2937);box-shadow:0 4px 20px var(--color-black-alpha-50)}html[data-theme=dark] .folder-add-modal__header{border-bottom-color:var(--color-border-default, #4b5563)}html[data-theme=dark] .folder-add-modal__title{color:var(--color-text-primary, #f9fafb)}html[data-theme=dark] .folder-add-modal__close-button{color:var(--color-text-secondary, #e5e7eb)}html[data-theme=dark] .folder-add-modal__close-button:hover,html[data-theme=dark] .folder-add-modal__label{color:var(--color-text-primary, #f9fafb)}html[data-theme=dark] .folder-add-modal__input,html[data-theme=dark] .folder-add-modal__select{background-color:var(--color-surface-secondary, #374151);border-color:var(--color-border-default, #6b7280);color:var(--color-text-primary, #f9fafb)}html[data-theme=dark] .folder-add-modal__input::-moz-placeholder{color:var(--color-text-tertiary, #9ca3af)}html[data-theme=dark] .folder-add-modal__input::placeholder{color:var(--color-text-tertiary, #9ca3af)}html[data-theme=dark] .folder-add-modal__char-counter{color:var(--color-text-secondary, #d1d5db)}html[data-theme=dark] .folder-add-modal__button--cancel{background-color:var(--color-surface-secondary, #374151);color:var(--color-text-primary, #f9fafb)}html[data-theme=dark] .folder-add-modal__button--cancel:hover{background-color:var(--color-surface-tertiary, #4b5563)}html[data-theme=dark] .folder-add-modal__button--submit:disabled{background-color:var(--color-background-disabled, #4b5563);color:var(--color-text-disabled, #9ca3af)}html[data-theme=light] .folder-add-modal__container{background-color:var(--color-surface, #ffffff)}html[data-theme=light] .folder-add-modal__title,html[data-theme=light] .folder-add-modal__label{color:var(--color-text-primary, #1f2937)}html[data-theme=light] .folder-add-modal__input,html[data-theme=light] .folder-add-modal__select{background-color:var(--color-surface, #ffffff);color:var(--color-text-primary, #1f2937);border-color:var(--color-border-default, #d1d5db)}html[data-theme=light] .folder-add-modal__button--cancel{background-color:var(--color-surface-secondary, #f3f4f6);color:var(--color-text-primary, #1f2937)}@media (min-width: 481px) and (max-width: 1024px){.modal-overlay-portal .modal{max-height:85vh}.modal-overlay-portal .modal .modal-header,.modal-overlay-portal .modal .modal-body,.modal-overlay-portal .modal .modal-footer{padding:var(--spacing-3, 12px)}.modal-overlay-portal .modal .upload-area{padding:var(--spacing-4, 16px);margin-bottom:var(--spacing-3, 12px)}.modal-overlay-portal .modal .file-items{max-height:200px}}.metadata-editor-modal{max-height:90vh;overflow:hidden;width:90%;max-width:900px;background-color:var(--color-gallery-header);border-radius:var(--border-radius-lg);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column}.metadata-editor-header{padding:var(--spacing-4) var(--spacing-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-primary);flex-shrink:0;background-color:var(--color-gallery-header)}.metadata-editor-header h2,.metadata-editor-title{font-size:var(--font-size-lg);margin:0;font-weight:600;color:var(--color-gallery-sidebar-text)}.metadata-editor-content{display:flex;flex:1;overflow:hidden;min-height:0}.metadata-editor-footer{padding:var(--spacing-4) var(--spacing-6);display:flex;justify-content:flex-end;gap:var(--spacing-3);border-top:1px solid var(--color-border-primary);flex-shrink:0;background-color:var(--color-gallery-header)}.metadata-editor-thumbnail{width:40%;padding:var(--spacing-6);border-right:1px solid var(--color-border-primary);display:flex;align-items:center;justify-content:center;background-color:var(--color-gallery-content);flex-shrink:0}.metadata-editor-form{width:60%;padding:var(--spacing-6);overflow-y:auto;background-color:var(--color-gallery-actionbar)}.metadata-editor-form h3,.metadata-editor-section-title{font-size:var(--font-size-sm);margin:0 0 var(--spacing-2) 0;font-weight:600;color:var(--color-text-primary)}@media (min-width: 1025px){.metadata-editor-modal{max-height:90vh;overflow:hidden}.metadata-editor-header{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}.metadata-editor-thumbnail,.metadata-editor-form{padding:var(--spacing-4, 16px)}.metadata-editor-footer{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}}@media (max-width: 480px){.metadata-editor-modal{width:95%;max-width:95%;max-height:85vh;overflow:hidden}.metadata-editor-content{overflow-y:auto}.metadata-editor-header{padding:var(--spacing-2, 8px) var(--spacing-3, 12px)}.metadata-editor-header h2{font-size:var(--font-size-sm, .875rem)}.metadata-editor-content{flex-direction:column}.metadata-editor-thumbnail{width:100%;padding:var(--spacing-2, 8px);border-right:none;border-bottom:1px solid var(--color-border-primary);max-height:160px}.metadata-editor-thumbnail img{max-height:140px}.metadata-editor-form{width:100%;padding:var(--spacing-2, 8px) var(--spacing-3, 12px);font-size:var(--font-size-xs, .75rem)}.metadata-editor-form label{font-size:var(--font-size-xs, .75rem);margin-bottom:2px}.metadata-editor-form input,.metadata-editor-form textarea,.metadata-editor-form select{font-size:var(--font-size-xs, .75rem);padding:var(--spacing-1, 4px) var(--spacing-2, 8px)}.metadata-editor-form h3{font-size:var(--font-size-xs, .75rem)}.metadata-editor-footer{padding:var(--spacing-2, 8px) var(--spacing-3, 12px)}.metadata-editor-footer button{font-size:var(--font-size-xs, .75rem);padding:var(--spacing-1, 4px) var(--spacing-3, 12px)}}@media (min-width: 481px) and (max-width: 1024px){.metadata-editor-modal{max-height:85vh;overflow:hidden}.metadata-editor-header{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}.metadata-editor-thumbnail,.metadata-editor-form{padding:var(--spacing-4, 16px)}.metadata-editor-footer{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}}.upload-inline-warning{margin-bottom:var(--spacing-2, 8px);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background-color:var(--color-status-warning-bg, #fff3cd);border:1px solid var(--color-status-warning, #ffc107);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);color:var(--color-status-warning, #856404);line-height:1.5}.upload-rejection-notice{margin-bottom:var(--spacing-2, 8px);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background-color:var(--color-status-error-bg, #f8d7da);border:1px solid var(--color-status-error, #ef4444);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);color:var(--color-status-error, #ef4444);line-height:1.5}.upload-rejection-notice p{margin:0}.upload-rejection-notice p+p{margin-top:var(--spacing-1, 4px)}.filter-modal{max-height:90vh;overflow-y:auto;width:90%;max-width:700px}@media (max-width: 480px){.filter-modal{width:95%;max-height:90vh}.filter-modal>div:first-child,.filter-modal>div:last-child{padding:var(--spacing-2, 8px) var(--spacing-3, 12px)}.filter-modal>div:nth-child(2){padding:var(--spacing-3, 12px)}}@media (min-width: 481px) and (max-width: 1024px){.filter-modal{max-height:90vh}.filter-modal>div:first-child,.filter-modal>div:last-child{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}.filter-modal>div:nth-child(2){padding:var(--spacing-4, 16px)}}.image-viewer-modal-overlay{position:fixed;inset:0;background-color:var(--color-viewer-main-bg, var(--color-black-alpha-95));display:flex;flex-direction:column;z-index:var(--z-modal, 1050);backdrop-filter:blur(4px)}.image-viewer-header{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-4);background-color:var(--color-viewer-header-bg, var(--color-black-alpha-80));color:var(--color-white);border-bottom:1px solid var(--color-white-alpha-10);height:var(--bar-height-desktop, 56px);min-height:var(--bar-height-desktop, 56px);flex-shrink:0;position:relative;z-index:20}.image-viewer-header-title-group{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;flex:1;overflow:hidden}.image-viewer-header-title-group h2{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-viewer-counter{font-size:var(--font-size-xs);color:var(--color-white-alpha-70);white-space:nowrap;flex-shrink:0}.image-viewer-header-nav-group,.image-viewer-header-zoom-group{display:flex;align-items:center;gap:2px;flex-shrink:0}.image-viewer-header-right-group{display:flex;align-items:center;gap:var(--spacing-3);flex:1;justify-content:flex-end}.image-viewer-header-close{flex-shrink:0;margin-left:var(--spacing-2)}.image-viewer-header-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:var(--radius-md, .5rem);color:var(--color-white);cursor:pointer;transition:background-color var(--transition-duration-normal, .2s) ease;padding:0}.image-viewer-header-btn:hover{background-color:var(--color-white-alpha-10)}.image-viewer-header-btn:focus-visible{outline:2px solid var(--color-border-focus, #fb923c);outline-offset:2px}.image-viewer-header-btn svg{width:18px;height:18px}.image-viewer-header-btn:disabled{opacity:.35;cursor:not-allowed}.image-viewer-header-btn:disabled:hover{background-color:transparent}.skeleton-loader{background:linear-gradient(90deg,var(--color-white-alpha-05) 0%,var(--color-white-alpha-10) 50%,var(--color-white-alpha-05) 100%);background-size:200% 100%;border-radius:var(--border-radius-md);position:relative;overflow:hidden}.skeleton-shimmer{width:100%;height:100%;animation:shimmer 1.5s infinite}.image-viewer-skeleton{width:80vw;height:60vh;background:linear-gradient(90deg,var(--color-white-alpha-05) 0%,var(--color-white-alpha-10) 50%,var(--color-white-alpha-05) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.error-placeholder,.image-display-error,.image-viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-8);color:var(--color-white)}.error-placeholder-icon,.image-display-error .error-icon,.image-viewer-error .error-icon{width:64px;height:64px;color:var(--color-error)}.error-placeholder-message,.image-display-error .error-message,.image-viewer-error .error-message{font-size:var(--font-size-md);color:var(--color-white-alpha-90);margin:0;text-align:center}.error-placeholder-retry-button,.image-display-error .retry-button,.image-viewer-error .retry-button{background-color:var(--color-primary);color:var(--color-white);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.error-placeholder-retry-button:hover,.image-display-error .retry-button:hover,.image-viewer-error .retry-button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.error-placeholder-retry-button:active,.image-display-error .retry-button:active,.image-viewer-error .retry-button:active{transform:translateY(0)}.image-display-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.image-display-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.image-viewer-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl)}@media (max-width: 768px){.image-viewer-header{padding:0 var(--spacing-2);height:var(--bar-height-mobile, 48px);min-height:var(--bar-height-mobile, 48px);gap:var(--spacing-1);overflow:hidden}.image-viewer-header-title-group h2{font-size:var(--font-size-xs)}.image-viewer-header-btn{width:28px;height:28px}.image-viewer-header-btn svg{width:16px;height:16px}.image-viewer-header-nav-group,.image-viewer-header-zoom-group{gap:0}.image-viewer-header-right-group{gap:var(--spacing-1)}}@media (max-width: 1024px){.image-viewer-modal-overlay{backdrop-filter:none}}.share-settings-modal{background-color:var(--color-background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90vw;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.share-settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--color-border-primary)}.share-settings-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.share-settings-content{flex:1;overflow-y:auto;padding:var(--spacing-6)}.settings-section{margin-bottom:var(--spacing-8)}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 var(--spacing-4) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.settings-section h4{margin:var(--spacing-4) 0 var(--spacing-3) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.permission-options{display:flex;flex-direction:column;gap:var(--spacing-3)}.permission-option{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.permission-option:hover{background-color:var(--color-background-hover);border-color:var(--color-primary)}.permission-option input[type=radio]{margin-top:2px}.permission-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.permission-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.permission-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.user-invite-form{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.user-email-input{flex:1;padding:var(--spacing-3);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background-color:var(--color-background-primary);color:var(--color-text-primary)}.user-email-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-color:var(--color-primary)}.invited-users-list{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);overflow:hidden}.invited-user-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-primary)}.invited-user-item:last-child{border-bottom:none}.user-email{font-size:var(--font-size-sm);color:var(--color-text-primary)}.link-sharing-toggle{display:flex;align-items:flex-start;gap:var(--spacing-3);cursor:pointer}.toggle-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.toggle-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.toggle-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.share-link-section{margin-top:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md)}.share-link-row{display:flex;gap:var(--spacing-3);align-items:center}.share-link-input{flex:1;padding:var(--spacing-3);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-family:monospace;background-color:var(--color-background-secondary);color:var(--color-text-primary);cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-link-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-color:var(--color-primary)}.share-settings-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6);border-top:1px solid var(--color-border-primary);background-color:var(--color-background-tertiary)}.publish-settings-modal{background-color:var(--color-background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90vw;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.publish-settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--color-border-primary)}.publish-settings-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.publish-settings-content{flex:1;overflow-y:auto;padding:var(--spacing-6)}.visibility-options{display:flex;flex-direction:column;gap:var(--spacing-3)}.visibility-option{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.visibility-option:hover{background-color:var(--color-background-hover);border-color:var(--color-primary)}.visibility-option input[type=radio]{margin-top:2px}.visibility-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.visibility-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.visibility-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.download-toggle,.expiration-toggle{display:flex;align-items:flex-start;gap:var(--spacing-3);cursor:pointer}.expiration-date-input{margin-top:var(--spacing-4);padding-left:var(--spacing-6)}.expiration-date-input label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.date-input{width:100%;max-width:300px;padding:var(--spacing-3);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background-color:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;position:relative;z-index:1;color-scheme:light dark}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;display:block;padding:4px}.date-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-color:var(--color-primary)}.public-url-preview{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background-color:var(--color-background-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md)}.url-text{flex:1;font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:transparent;word-break:break-all}.publish-settings-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6);border-top:1px solid var(--color-border-primary);background-color:var(--color-background-tertiary)}@media (max-width: 768px){.share-settings-modal{width:95vw;max-height:90vh}.share-settings-header,.share-settings-content,.share-settings-footer{padding:var(--spacing-4)}.user-invite-form{flex-direction:column}.publish-settings-modal{width:95vw;max-height:90vh}.publish-settings-header,.publish-settings-content,.publish-settings-footer{padding:var(--spacing-4)}.public-url-preview{flex-direction:column;align-items:stretch}.public-url-preview .url-text{white-space:normal;word-break:break-all;overflow-wrap:anywhere;font-size:.75rem}}.gallery-item.trash-view .gallery-item-overlay{display:none}.gallery-item.trash-view{display:flex;flex-direction:column;overflow:visible}.gallery-item.trash-view .gallery-item-image-container{position:relative;overflow:hidden}.gallery-item.trash-view .gallery-item-image-container{aspect-ratio:4 / 3;flex-shrink:1;min-height:0}.trash-image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--color-black-alpha-80) 0%,var(--color-black-alpha-40) 70%,transparent 100%);padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;z-index:1}.trash-image-title{color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px var(--color-black-alpha-50)}.trash-card-info{position:relative;background-color:var(--color-surface-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-sm);z-index:10;display:flex;flex-direction:column;gap:var(--spacing-2, 8px);pointer-events:auto;flex-shrink:0}.trash-card-metadata{display:flex;align-items:center;gap:var(--spacing-1, 4px);font-size:var(--font-size-xs, .75rem);color:var(--color-white-alpha-90)}.trash-card-label{font-weight:var(--font-weight-medium, 500);color:var(--color-white-alpha-70)}.trash-card-value{color:var(--color-white)}.trash-card-actions{display:flex;gap:var(--spacing-2, 8px);margin-top:var(--spacing-1, 4px)}.trash-card-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1, 4px);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border:none;border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;z-index:30;position:relative}.trash-card-actions button:hover{transform:translateY(-1px);box-shadow:0 2px 4px var(--color-shadow-xl)}.trash-card-actions button:active{transform:translateY(0)}.trash-card-actions .btn-primary{background-color:var(--color-primary-500);color:var(--color-white)}.trash-card-actions .btn-primary:hover{background-color:var(--color-primary-600)}.trash-card-actions .btn-danger{background-color:var(--color-status-error);color:var(--color-white)}.trash-card-actions .btn-danger:hover{background-color:var(--color-status-error-text)}.trash-card-actions .icon{width:16px;height:16px;flex-shrink:0}.gallery-grid.view-list .trash-card-info{position:static;background:transparent;padding:0;margin-left:auto}.gallery-grid.view-list .trash-card-metadata{color:var(--color-text-secondary)}.gallery-grid.view-list .trash-card-label{color:var(--color-text-tertiary)}.gallery-grid.view-list .trash-card-value{color:var(--color-text-primary)}.gallery-grid.view-list .trash-card-actions{margin-top:0}@media (max-width: 768px){.trash-card-info{padding:var(--spacing-2, 8px)}.trash-card-actions button{padding:var(--spacing-1, 4px) var(--spacing-2, 8px);font-size:var(--font-size-xs, .75rem)}.trash-card-metadata{font-size:.625rem}}@media (prefers-reduced-motion: reduce){.trash-card-actions button{transition:none}.trash-card-actions button:hover{transform:none}}.transition-dialog-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:var(--spacing-md);animation:transition-dialog-fade-in .2s ease-out}@keyframes transition-dialog-fade-in{0%{opacity:0}to{opacity:1}}.transition-dialog{background-color:var(--color-background-primary);border-radius:var(--radius-lg, .75rem);box-shadow:0 20px 25px -5px var(--color-shadow-lg),0 10px 10px -5px var(--color-shadow-sm);max-width:28rem;width:100%;max-height:90vh;overflow:hidden;animation:transition-dialog-slide-in .2s ease-out;outline:none}@keyframes transition-dialog-slide-in{0%{opacity:0;transform:scale(.95) translateY(-1rem)}to{opacity:1;transform:scale(1) translateY(0)}}.transition-dialog__header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm);border-bottom:1px solid var(--color-border-default)}.transition-dialog__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.25}.transition-dialog__type-info{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.transition-dialog__type-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full, 9999px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.transition-dialog__type-badge--private{background-color:var(--color-background-muted);color:var(--color-text-secondary)}.transition-dialog__type-badge--shared{background-color:var(--color-status-info-bg);color:var(--color-status-info-text)}.transition-dialog__type-badge--public{background-color:var(--color-status-success-bg);color:var(--color-status-success-text)}.transition-dialog__type-arrow{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.transition-dialog__content{padding:var(--spacing-lg)}.transition-dialog__message{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.5}.transition-dialog__image-count{font-weight:var(--font-weight-semibold);color:var(--color-text-accent)}.transition-dialog__info-box{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-status-warning-bg);border:1px solid var(--color-status-warning-border);border-radius:var(--radius-md, .5rem);margin-top:var(--spacing-sm)}.transition-dialog__info-box--warning{background-color:var(--color-status-warning-bg);border-color:var(--color-status-warning-border)}.transition-dialog__info-box--danger{background-color:var(--color-status-error-bg);border-color:var(--color-status-error-border)}.transition-dialog__info-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.transition-dialog__info-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.transition-dialog__password-field{margin-top:var(--spacing-md)}.transition-dialog__password-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.transition-dialog__password-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border-default);border-radius:var(--radius-md, .5rem);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.transition-dialog__password-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.transition-dialog__password-input::-moz-placeholder{color:var(--color-text-placeholder)}.transition-dialog__password-input::placeholder{color:var(--color-text-placeholder)}.transition-dialog__footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border-default);background-color:var(--color-background-secondary);justify-content:flex-end;margin-top:var(--spacing-lg, 24px)}.transition-dialog__button{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border-default);border-radius:.375rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-width:5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.transition-dialog__button--cancel{background-color:var(--color-background-primary);color:var(--color-text-primary);border-color:var(--color-border-default)}.transition-dialog__button--cancel:hover:not(:disabled){background-color:var(--color-interactive-hover);border-color:var(--color-text-secondary)}.transition-dialog__button--cancel:active:not(:disabled){background-color:var(--color-background-secondary);transform:translateY(.0625rem)}.transition-dialog__button--confirm{background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border-color:var(--color-interactive-primary)}.transition-dialog__button--confirm:hover:not(:disabled){background-color:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover)}.transition-dialog__button--confirm:active:not(:disabled){background-color:var(--color-interactive-primary-active);border-color:var(--color-interactive-primary-active);transform:translateY(.0625rem)}.transition-dialog__button:disabled{background-color:var(--color-interactive-primary-disabled);color:var(--color-text-disabled);border-color:var(--color-interactive-primary-disabled);cursor:not-allowed}.transition-dialog__button:focus-visible{outline:2px solid var(--color-interactive-primary);outline-offset:2px;z-index:1}.transition-dialog__spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:transition-dialog-spin .6s linear infinite;flex-shrink:0}@keyframes transition-dialog-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html[data-theme=dark] .transition-dialog__info-box--warning{background-color:var(--color-status-warningBackgroundDark);border-color:var(--color-status-warningBorderDark)}html[data-theme=dark] .transition-dialog__info-box--danger{background-color:var(--color-status-error-background-dark);border-color:var(--color-status-error-border)}html[data-theme=dark] .transition-dialog__password-input{background-color:var(--color-surface-secondary);border-color:var(--color-border-default);color:var(--color-text-primary)}html[data-theme=dark] .transition-dialog__password-input::-moz-placeholder{color:var(--color-text-placeholder)}html[data-theme=dark] .transition-dialog__password-input::placeholder{color:var(--color-text-placeholder)}@media (prefers-reduced-motion: reduce){.transition-dialog-overlay,.transition-dialog{animation:none}.transition-dialog__button{transition:none}.transition-dialog__button:active{transform:none}.transition-dialog__spinner{animation-duration:1.5s}}@media (prefers-contrast: high){.transition-dialog{border:2px solid var(--color-border-default)}.transition-dialog__button:focus-visible{outline-width:3px}.transition-dialog__info-box{border-width:2px}}@media (max-width: 480px){.transition-dialog-overlay{padding:var(--spacing-sm)}.transition-dialog{max-width:100%}.transition-dialog__footer{flex-direction:column-reverse}.transition-dialog__button{width:100%;justify-content:center}.transition-dialog__title{font-size:1.125rem}.transition-dialog__message{font-size:var(--font-size-sm)}}@media (hover: none) and (pointer: coarse){.transition-dialog__button{min-height:3rem;padding:.75rem var(--spacing-lg)}.transition-dialog__button--cancel:hover{background-color:var(--color-background-primary);border-color:var(--color-border-default)}.transition-dialog__button--confirm:hover:not(:disabled){background-color:var(--color-interactive-primary);border-color:var(--color-interactive-primary)}}@media print{.transition-dialog-overlay{display:none}}.upload-modal-overlay{position:fixed;inset:0;background-color:var(--color-background-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.upload-modal{background-color:var(--color-background-primary);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px var(--color-shadow-xl);width:100%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;position:relative}.upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-default)}.upload-modal-title{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-text-primary);margin:0}.upload-modal-close-button{display:flex;align-items:center;justify-content:center;width:var(--spacing-8);height:var(--spacing-8);border:none;background:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.upload-modal-close-button:hover{background-color:var(--color-interactive-hover);color:var(--color-text-primary)}.upload-modal-close-icon{width:var(--spacing-5);height:var(--spacing-5)}.upload-modal-upload-area{margin:var(--spacing-lg);padding:var(--spacing-8);border:2px dashed var(--color-border-default);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:var(--transition-fast);background-color:var(--color-background-secondary)}.upload-modal-upload-area:hover,.upload-modal-upload-area.upload-modal-drag-over{border-color:var(--color-interactive-primary);background-color:var(--color-interactive-tertiary-hover)}.upload-modal-upload-icon{width:var(--spacing-12);height:var(--spacing-12);color:var(--color-text-secondary);margin:0 auto var(--spacing-md)}.upload-modal-upload-text{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);margin:0 0 var(--spacing-2)}.upload-modal-upload-hint{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);margin:0}.upload-modal-hidden-input{display:none}.upload-modal-file-list{flex:1;overflow-y:auto;padding:0 var(--spacing-lg);max-height:300px;min-height:100px}.upload-modal-file-list-title{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.upload-modal-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border:1px solid var(--color-border-default);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);background-color:var(--color-background-primary);transition:var(--transition-fast)}.upload-modal-file-item.upload-modal-uploading{border-color:var(--color-interactive-primary);background-color:var(--color-interactive-tertiary-hover);box-shadow:0 2px 4px var(--color-shadow-sm)}.upload-modal-file-item.upload-modal-completed{border-color:var(--color-status-success);background-color:var(--color-status-success-bg)}.upload-modal-file-item.upload-modal-error{border-color:var(--color-status-error);background-color:var(--color-status-error-bg)}.upload-modal-file-info{display:flex;align-items:center;flex:1;min-width:0}.upload-modal-file-preview{width:var(--spacing-10);height:var(--spacing-10);-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);margin-right:var(--spacing-md)}.upload-modal-file-icon{width:var(--spacing-10);height:var(--spacing-10);color:var(--color-text-secondary);margin-right:var(--spacing-md)}.upload-modal-file-details{flex:1;min-width:0}.upload-modal-file-name{font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);margin:0 0 var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-modal-file-size{font-size:var(--typography-body-small-size);color:var(--color-text-secondary);margin:0}.upload-modal-progress-container{display:flex;align-items:center;margin:0 var(--spacing-md);min-width:120px}.upload-modal-progress-bar{flex:1;height:var(--spacing-2);background-color:var(--color-background-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-right:var(--spacing-sm)}.upload-modal-progress-fill{height:100%;background-color:var(--color-interactive-primary);transition:width var(--transition-normal)}.upload-modal-progress-text{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-text-primary);min-width:40px;text-align:right}.upload-modal-file-actions{display:flex;align-items:center}.upload-modal-status-completed{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-status-success)}.upload-modal-status-error{font-size:var(--typography-body-small-size);font-weight:var(--typography-font-weight-medium);color:var(--color-status-error)}.upload-modal-remove-button{display:flex;align-items:center;justify-content:center;width:var(--spacing-6);height:var(--spacing-6);border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.upload-modal-remove-button:hover{background-color:var(--color-status-error-bg);color:var(--color-status-error)}.upload-modal-remove-icon{width:var(--spacing-4);height:var(--spacing-4)}.upload-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border-default);background-color:var(--color-background-secondary)}.upload-modal-cancel-button{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border-default);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.upload-modal-cancel-button:hover{background-color:var(--color-interactive-hover)}.upload-modal-upload-button{padding:var(--spacing-sm) var(--spacing-lg);border:none;background-color:var(--color-interactive-primary);color:var(--color-text-inverse);font-size:var(--typography-body-base-size);font-weight:var(--typography-font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.upload-modal-upload-button:hover:not(:disabled){background-color:var(--color-interactive-primary-hover)}.upload-modal-upload-button:disabled{background-color:var(--color-interactive-primary-disabled);cursor:not-allowed}@media (min-width: 481px) and (max-width: 1024px){.upload-modal{max-height:85vh}.upload-modal-header{padding:var(--spacing-md)}.upload-modal-upload-area{margin:var(--spacing-md);padding:var(--spacing-6)}.upload-modal-file-list{max-height:220px;padding:0 var(--spacing-md)}.upload-modal-footer{padding:var(--spacing-md)}}@media (max-width: 768px){.upload-modal{margin:var(--spacing-sm);max-width:calc(100vw - 2rem);max-height:95vh;box-sizing:border-box}.upload-modal-upload-area{padding:var(--spacing-6)}.upload-modal-upload-icon{width:var(--spacing-8);height:var(--spacing-8)}.upload-modal-file-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.upload-modal-progress-container{width:100%;margin:0}.upload-modal-footer{flex-direction:column-reverse;gap:var(--spacing-sm)}.upload-modal-cancel-button,.upload-modal-upload-button{width:100%;justify-content:center}}.gallery-item-processing-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-brand-secondary-alpha-60, rgba(249, 115, 22, .6));z-index:2;gap:var(--spacing-sm, 8px);pointer-events:none}.processing-spinner{width:36px;height:36px;animation:processing-spin 1.2s linear infinite}.processing-spinner circle{stroke:var(--color-text-on-primary, #fff);stroke-width:2.5;stroke-linecap:round;fill:none}@keyframes processing-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-on-primary, #fff);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-item-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-black-alpha-40, rgba(0, 0, 0, .4));z-index:2;gap:var(--spacing-sm, 8px);pointer-events:none}.gallery-item-review-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f59e0b40;z-index:2;gap:var(--spacing-sm, 8px);pointer-events:none;border:2px solid var(--color-warning, #f59e0b);border-radius:var(--border-radius-md, 8px)}.error-icon{width:32px;height:32px;color:var(--color-danger, #ef4444)}.error-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-on-primary, #fff);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.gallery-grid.view-list .gallery-item-processing-overlay,.gallery-grid.view-list .gallery-item-error-overlay{border-radius:var(--border-radius-sm, 4px)}.gallery-grid.view-list .processing-spinner{width:24px;height:24px}.gallery-grid.view-list .processing-label,.gallery-grid.view-list .error-label{display:none}.gallery-grid.view-list .error-icon{width:24px;height:24px}.app-loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-background-primary)}.app-spinner{width:48px;height:48px;border:4px solid var(--color-border-default);border-top-color:var(--color-interactive-primary);border-radius:50%;animation:spin 1s linear infinite}.app-error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-xl);background-color:var(--color-background-primary);color:var(--color-text-primary)}.app-error-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.app-error-message{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.app-error-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);transition:background-color var(--transition-normal)}.app-error-button:hover{background-color:var(--color-interactive-primary-hover)}.app-router-page-loading-container{display:flex;justify-content:center;align-items:center;min-height:50vh}.app-router-page-spinner{width:32px;height:32px;border:3px solid var(--color-border-default);border-top-color:var(--color-interactive-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-router-not-found-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-xl);background-color:var(--color-background-primary);color:var(--color-text-primary);text-align:center}.app-router-not-found-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-bold)}.app-router-not-found-message{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);color:var(--color-text-secondary)}.app-router-not-found-link{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-interactive-primary);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:background-color var(--transition-normal)}.app-router-not-found-link:hover{background-color:var(--color-interactive-primary-hover)}
