.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary)}.layout-container{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 768px){.layout-container{padding:0 var(--spacing-md)}}@media (max-width: 480px){.layout-container{padding:0 var(--spacing-sm)}}.navigation{background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:4rem}.nav-logo{flex-shrink:0}.logo-link{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--text-primary);font-weight:600;font-size:1.125rem;transition:color var(--transition-fast)}.logo-link:hover{color:var(--primary-color)}.logo-icon{font-size:1.5rem}.logo-text{white-space:nowrap}.desktop-menu{display:flex;align-items:center}.nav-actions{display:flex;align-items:center;gap:var(--spacing-md)}.language-selector{position:relative}.language-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.language-button:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.language-flag{font-size:1rem}.language-code{font-size:.75rem;font-weight:600}@media (max-width: 768px){.nav-container{padding:0 var(--spacing-md)}.logo-text{display:none}}@media (max-width: 480px){.nav-container{padding:0 var(--spacing-sm);height:3.5rem}.mobile-menu{top:3.5rem}.language-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.language-code{display:none}}.navigation{background:var(--bg-primary)!important;border-bottom-color:var(--border-color)!important}.mobile-menu{background:var(--bg-primary)!important}.file-upload-container{width:100%;max-width:600px;margin:0 auto}.file-upload-area{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);text-align:center;background:var(--bg-primary);cursor:pointer;transition:all var(--transition-normal);position:relative;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-lg)}.file-upload-area:hover:not(.disabled){border-color:var(--primary-color);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.file-upload-area:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.file-upload-area.drag-over{border-color:var(--primary-color);background:#2563eb0d;transform:scale(1.02)}.file-upload-area.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary)}.file-upload-area.error{border-color:var(--error-color);background:#ef44440d}.file-input-hidden{display:none}.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.file-upload-icon{font-size:4rem;margin-bottom:var(--spacing-md);transition:transform var(--transition-fast)}.file-upload-area:hover .file-upload-icon:not(.disabled){transform:scale(1.1)}.file-upload-text{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.upload-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.upload-description{font-size:1rem;color:var(--text-secondary);margin:0}.upload-or{font-size:.875rem;color:var(--text-muted);margin:var(--spacing-sm) 0}.upload-button{display:inline-block;padding:var(--spacing-md) var(--spacing-xl);background:var(--primary-color);color:var(--text-inverse);border-radius:var(--border-radius-md);font-weight:500;font-size:1rem;transition:all var(--transition-fast);border:none;cursor:pointer}.upload-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.file-upload-info{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-lg)}.upload-formats,.upload-size,.upload-multiple{font-size:.875rem;color:var(--text-muted);margin:0}.upload-formats{font-weight:500}.file-upload-error{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--error-color);border-radius:var(--border-radius-md);color:var(--error-color);font-size:.875rem;font-weight:500}.error-icon{font-size:1.125rem;flex-shrink:0}@media (max-width: 768px){.file-upload-area{padding:var(--spacing-xl);min-height:250px}.file-upload-icon{font-size:3rem}.upload-title{font-size:1.25rem}.upload-description{font-size:.875rem}.upload-button{padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem}}@media (max-width: 480px){.file-upload-area{padding:var(--spacing-lg);min-height:200px}.file-upload-icon{font-size:2.5rem}.upload-title{font-size:1.125rem}.file-upload-info{text-align:left}.upload-formats,.upload-size,.upload-multiple{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.file-upload-area,.file-upload-icon,.upload-button{transition:none}.file-upload-area:hover,.file-upload-area.drag-over{transform:none}}.file-upload-area{background:var(--bg-primary)!important}.file-upload-area:hover:not(.disabled){background:var(--bg-tertiary)!important}@media (prefers-contrast: high){.file-upload-area{border-width:3px}.upload-button{border:2px solid var(--text-inverse)}}.page-grid-container{width:100%}.page-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);gap:var(--spacing-lg)}.grid-title-section{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.grid-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.drag-info{font-size:.875rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.grid-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.grid-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);min-width:80px;min-height:32px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;box-sizing:border-box}.grid-action-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.grid-action-btn:disabled{opacity:.5;cursor:not-allowed}.grid-action-btn.delete{color:var(--error-color);border-color:var(--error-color)}.grid-action-btn.delete:hover:not(:disabled){background:var(--error-color);color:var(--text-inverse)}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg);padding:var(--spacing-md) 0}.page-item{position:relative;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.page-item:hover:not(.disabled){border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.page-item:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.page-item.selected{border-color:var(--primary-color);background:#2563eb0d}.page-item.disabled{opacity:.6;cursor:not-allowed}.page-item.dragging{transform:rotate(5deg)!important;box-shadow:var(--shadow-lg)!important;border-color:var(--primary-color)!important;z-index:1000!important}.page-select{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);z-index:10}.page-select input[type=checkbox]{width:1.125rem;height:1.125rem;border-radius:var(--border-radius-sm);border:2px solid var(--border-color);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast)}.page-select input[type=checkbox]:checked{background:var(--primary-color);border-color:var(--primary-color)}.page-select input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px #2563eb33}.page-preview{position:relative;width:100%;aspect-ratio:3/4;background:var(--bg-secondary);border-radius:var(--border-radius-md);overflow:hidden;margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:center}.page-image{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-normal)}.page-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary)}.loading-spinner-small{width:2rem;height:2rem;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--error-color);font-size:.875rem}.error-icon{font-size:1.5rem}.error-text{font-weight:500}.drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--border-radius-lg);cursor:grab;opacity:0;transition:all var(--transition-fast);z-index:5}.page-item:hover .drag-overlay{opacity:1}.drag-overlay:active{cursor:grabbing}.drag-hint{display:none}.page-info{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.page-number{font-size:.875rem;font-weight:600;color:var(--text-primary)}.page-source{font-size:.75rem;color:var(--text-secondary);truncate:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}.page-actions{display:flex;gap:var(--spacing-xs);justify-content:center}.page-action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.page-action-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.page-action-btn:disabled{opacity:.5;cursor:not-allowed}.page-action-btn.rotate:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.page-action-btn.move-left:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.page-action-btn.move-right:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.page-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-message{font-size:1.125rem;font-weight:500;margin:0}@media (max-width: 768px){.page-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.page-item{padding:var(--spacing-sm)}.page-grid-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.grid-title-section{justify-content:space-between}.grid-title{font-size:1.125rem}.drag-info{font-size:.8125rem}.grid-actions{justify-content:center;flex-wrap:wrap}.drag-handle{width:1.5rem;height:1.5rem}.drag-icon{font-size:.875rem}.page-actions{gap:var(--spacing-xs)}.page-action-btn{width:1.75rem;height:1.75rem;font-size:.75rem}}@media (max-width: 480px){.page-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.page-select input[type=checkbox]{width:1rem;height:1rem}.page-number{font-size:.8125rem}.page-source{font-size:.6875rem}.empty-icon{font-size:3rem}.empty-message{font-size:1rem}}.page-item.dragging .page-image{opacity:.8}.page-item.dragging .page-actions{opacity:.5}.page-item.dragging .drag-overlay{opacity:0}.dragging-overlay{transform:rotate(5deg)!important;box-shadow:0 25px 50px #0000004d!important;border:2px solid var(--primary-color)!important;background:var(--bg-primary)!important;z-index:1000!important;opacity:.95!important;cursor:grabbing!important}.dragging-overlay .page-preview{pointer-events:none}.dragging-overlay .page-image{opacity:1!important}.dragging-overlay .page-info{pointer-events:none}.dragging-overlay .page-actions,.dragging-overlay .drag-overlay{display:none!important}.drag-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-tertiary);border:2px dashed var(--primary-color);border-radius:var(--border-radius-md);gap:var(--spacing-sm);color:var(--primary-color)}.placeholder-icon{font-size:2rem;opacity:.8}.placeholder-text{font-size:.875rem;font-weight:600}.placeholder-source{font-size:.75rem;opacity:.7;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: none) and (pointer: coarse){.drag-overlay{opacity:.3}.page-item:hover{transform:none}.page-action-btn{width:2.5rem;height:2.5rem;font-size:1rem}.drag-hint{padding:var(--spacing-sm)}.drag-text{font-size:.6875rem}.add-page-card{min-height:150px;padding:var(--spacing-sm)}.add-page-icon{font-size:2rem}.add-page-title{font-size:.875rem}.add-page-description{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.page-item,.page-image,.page-action-btn,.drag-handle{transition:none}.page-item:hover{transform:none}.loading-spinner-small{animation:none}}.page-item{background:var(--bg-primary)!important}.page-preview{background:var(--bg-secondary)!important}.drag-hint{background:#fffffff2!important}.add-page-card{position:relative;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-normal);opacity:.7;min-height:200px;display:flex;align-items:center;justify-content:center}.add-page-card:hover:not(.disabled){opacity:1;border-color:var(--primary-color);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.add-page-card:focus{outline:none;border-color:var(--border-focus);opacity:1;box-shadow:0 0 0 3px #2563eb1a}.add-page-card.disabled{opacity:.3;cursor:not-allowed;background:var(--bg-secondary)}.add-page-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.add-page-icon{font-size:2.5rem;color:var(--text-secondary);transition:all var(--transition-fast)}.add-page-card:hover:not(.disabled) .add-page-icon{color:var(--primary-color);transform:scale(1.1)}.add-page-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.add-page-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.add-page-description{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}@media (prefers-contrast: high){.page-item{border-width:3px}.page-action-btn{border-width:2px}.page-select input[type=checkbox]{border-width:3px}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);background:var(--bg-primary);padding:var(--spacing-2xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);max-width:400px;width:90%;text-align:center}.loading-spinner{position:relative;display:flex;align-items:center;justify-content:center}.loading-spinner.small{width:40px;height:40px}.loading-spinner.medium{width:60px;height:60px}.loading-spinner.large{width:80px;height:80px}.spinner-ring{position:absolute;width:100%;height:100%}.spinner-circle{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1.2s linear infinite}.spinner-circle:nth-child(1){animation-delay:0s}.spinner-circle:nth-child(2){animation-delay:-.3s;border-top-color:var(--accent-color);transform:scale(.8)}.spinner-circle:nth-child(3){animation-delay:-.6s;border-top-color:var(--success-color);transform:scale(.6)}.spinner-circle:nth-child(4){animation-delay:-.9s;border-top-color:var(--warning-color);transform:scale(.4)}.spinner-progress{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.progress-circle{width:100%;height:100%;transform:rotate(-90deg)}.progress-bg,.progress-fill{fill:none;stroke-width:2}.progress-bg{stroke:var(--border-color)}.progress-fill{stroke:var(--primary-color);stroke-linecap:round;transition:stroke-dasharray var(--transition-normal)}.progress-text{position:absolute;font-size:.75rem;font-weight:600;color:var(--text-primary)}.loading-content{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.loading-message{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.loading-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.progress-info{font-size:.875rem;color:var(--text-secondary);font-weight:500}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:4px;transition:width var(--transition-normal);position:relative}.progress-fill-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-dots{display:flex;gap:var(--spacing-xs);justify-content:center;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:bounce 1.4s ease-in-out infinite both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 480px){.loading-container{padding:var(--spacing-xl);max-width:300px}.loading-message{font-size:1rem}.progress-info{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.spinner-circle{animation:none}.dot{animation:none;opacity:1;transform:scale(1)}.progress-fill-bar:after{animation:none}}.loading-container{background:var(--bg-primary)!important;border-color:var(--border-color)!important}.error-message{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);border:1px solid;animation:slideDown .3s ease-out}.error-message.error{background:#ef44441a;border-color:var(--error-color);color:var(--error-color)}.error-message.warning{background:#f59e0b1a;border-color:var(--warning-color);color:var(--warning-color)}.error-message.info{background:#0ea5e91a;border-color:var(--accent-color);color:var(--accent-color)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-content{display:flex;align-items:flex-start;gap:var(--spacing-md);flex:1}.error-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.error-text{flex:1}.error-title{font-weight:600;font-size:.875rem;margin:0 0 var(--spacing-xs) 0;text-transform:uppercase;letter-spacing:.05em}.error-description{font-size:.875rem;line-height:1.5;margin:0;opacity:.9}.error-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:var(--spacing-md)}.error-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid currentColor;border-radius:var(--border-radius-sm);background:transparent;color:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.error-button:hover{background:currentColor;color:var(--bg-primary)}.error-button.dismiss{padding:var(--spacing-xs);border-radius:50%;width:28px;height:28px;justify-content:center;font-size:.875rem}.error-toast{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);min-width:320px;max-width:480px;z-index:1100;border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);border:1px solid;overflow:hidden;transform:translate(100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.error-toast.show{transform:translate(0)}.error-toast.hide{transform:translate(100%);opacity:0}.error-toast.error{background:var(--bg-primary);border-color:var(--error-color)}.error-toast.warning{background:var(--bg-primary);border-color:var(--warning-color)}.error-toast.info{background:var(--bg-primary);border-color:var(--accent-color)}.error-toast.success{background:var(--bg-primary);border-color:var(--success-color)}.toast-content{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{flex:1;font-size:.875rem;line-height:1.4;margin:0;color:var(--text-primary)}.toast-close{background:none;border:none;font-size:1rem;cursor:pointer;padding:var(--spacing-xs);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toast-progress{position:relative;height:3px;background:#0000001a}.toast-progress-bar{height:100%;width:100%;background:currentColor;transform-origin:left;animation:progressShrink linear}.error-toast.error .toast-progress-bar{background:var(--error-color)}.error-toast.warning .toast-progress-bar{background:var(--warning-color)}.error-toast.info .toast-progress-bar{background:var(--accent-color)}.error-toast.success .toast-progress-bar{background:var(--success-color)}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 768px){.error-toast{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);min-width:auto;max-width:none}.error-message{padding:var(--spacing-md)}.error-actions{flex-direction:column;align-items:stretch}.error-button{justify-content:center}}@media (max-width: 480px){.toast-content{padding:var(--spacing-md)}.toast-message,.error-description{font-size:.8125rem}}@media (prefers-reduced-motion: reduce){.error-message,.error-toast{animation:none;transition:none}.toast-progress-bar{animation:none}}.error-toast{background:var(--bg-primary)!important}@media (prefers-contrast: high){.error-message,.error-toast,.error-button{border-width:2px}}.password-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.password-dialog{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:90%;max-width:480px;max-height:90vh;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.dialog-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.dialog-close:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.dialog-close:disabled{opacity:.5;cursor:not-allowed}.dialog-content{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl)}.file-info{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-tertiary);border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.file-icon{font-size:2rem;flex-shrink:0}.file-details{flex:1}.dialog-message{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0 0 var(--spacing-sm) 0}.file-name{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0;word-break:break-all;background:var(--bg-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.password-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.password-input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.input-wrapper{position:relative;display:flex;align-items:center}.password-input{width:100%;padding:var(--spacing-md);padding-right:3rem;border:2px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-fast)}.password-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.password-input.error{border-color:var(--error-color)}.password-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.password-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary)}.password-toggle{position:absolute;right:var(--spacing-sm);background:none;border:none;font-size:1.125rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.password-toggle:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.password-error{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--error-color);font-size:.875rem;font-weight:500}.password-error .error-icon{font-size:1rem;flex-shrink:0}.dialog-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.dialog-button.secondary:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.dialog-button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.dialog-button:disabled{opacity:.6;cursor:not-allowed}.loading-spinner.small{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.password-dialog{margin:var(--spacing-lg);width:calc(100% - 2 * var(--spacing-lg))}.dialog-header{padding:var(--spacing-lg)}.dialog-content{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.dialog-actions{flex-direction:column-reverse}.dialog-button{width:100%;justify-content:center}}@media (max-width: 480px){.password-dialog{margin:var(--spacing-md);width:calc(100% - 2 * var(--spacing-md))}.dialog-title{font-size:1.125rem}.file-info{padding:var(--spacing-md)}.file-icon{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.password-dialog-overlay,.password-dialog{animation:none}.loading-spinner.small{animation:none;border-top-color:transparent;border-right-color:currentColor}}.password-dialog{background:var(--bg-primary)!important;border-color:var(--border-color)!important}.file-info{background:var(--bg-tertiary)!important}.password-input{background:var(--bg-primary)!important}@media (prefers-contrast: high){.password-dialog{border-width:2px}.password-input{border-width:3px}.dialog-button{border-width:2px}}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:90%;max-width:400px;max-height:90vh;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.dialog-icon{font-size:2rem;flex-shrink:0}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.dialog-content{padding:var(--spacing-xl)}.dialog-message{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.dialog-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);background:var(--bg-secondary)}.dialog-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid;min-width:100px}.dialog-button.secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-color)}.dialog-button.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.dialog-button.primary{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.dialog-button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.confirm-dialog.warning .dialog-button.primary{background:var(--warning-color);border-color:var(--warning-color)}.confirm-dialog.warning .dialog-button.primary:hover{background:#d97706;border-color:#d97706}.confirm-dialog.danger .dialog-button.primary{background:var(--error-color);border-color:var(--error-color)}.confirm-dialog.danger .dialog-button.primary:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog.info .dialog-button.primary{background:var(--accent-color);border-color:var(--accent-color)}.confirm-dialog.info .dialog-button.primary:hover{background:#0284c7;border-color:#0284c7}@media (max-width: 768px){.confirm-dialog{margin:var(--spacing-lg);width:calc(100% - 2 * var(--spacing-lg))}.dialog-header{padding:var(--spacing-lg)}.dialog-content{padding:var(--spacing-md) var(--spacing-lg)}.dialog-actions{flex-direction:column-reverse;padding:var(--spacing-lg)}.dialog-button{width:100%;justify-content:center}}@media (max-width: 480px){.confirm-dialog{margin:var(--spacing-md);width:calc(100% - 2 * var(--spacing-md))}.dialog-title{font-size:1.125rem}.dialog-icon{font-size:1.75rem}}@media (prefers-reduced-motion: reduce){.confirm-dialog-overlay,.confirm-dialog{animation:none}}@media (prefers-contrast: high){.confirm-dialog,.dialog-button{border-width:2px}}.confirm-dialog{background:var(--bg-primary)!important;border-color:var(--border-color)!important}.dialog-actions{background:var(--bg-secondary)!important}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--accent-color: #0ea5e9;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-hover: #cbd5e1;--border-focus: #2563eb;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary)}.app{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;padding:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.app-header{text-align:center;margin-bottom:var(--spacing-2xl)}.app-title{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-md)}.app-description{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;word-break:keep-all}.toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.toolbar-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.toolbar-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button.primary{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.toolbar-button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.toolbar-button.delete{color:var(--error-color);border-color:var(--error-color)}.toolbar-button.delete:hover:not(:disabled){background:var(--error-color);color:var(--text-inverse)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--spacing-lg)}.loading-spinner{width:3rem;height:3rem;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-content{padding:var(--spacing-md)}.app-title{font-size:2rem}.app-description{font-size:1rem}.toolbar{padding:var(--spacing-md)}.toolbar-button{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-md)}}@media (max-width: 480px){.app-title{font-size:1.75rem}.toolbar{flex-direction:column}.toolbar-button{justify-content:center}}.download-section{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-xl);display:flex;justify-content:center;padding:var(--spacing-xl);background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.download-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-2xl);background:var(--primary-color);color:var(--text-inverse);border:none;border-radius:var(--border-radius-lg);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);min-width:280px;min-height:60px}.download-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.download-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.download-button:disabled{opacity:.6;cursor:not-allowed;background:var(--secondary-color)}.download-icon{font-size:1.5rem}.download-text{font-size:1.125rem}.download-count{font-size:.875rem;opacity:.9;background:#fff3;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}@media (max-width: 768px){.download-section{margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.download-button{min-width:240px;padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.download-icon{font-size:1.25rem}.download-text{font-size:1rem}}@media (max-width: 480px){.download-button{min-width:200px;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.download-count{font-size:.75rem}}:root{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--border-color: #000000;--text-primary: #000000;--bg-primary: #ffffff}}
