.tool-card{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl);transition:all var(--transition-base);padding:36px;position:relative;overflow:hidden}.tool-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.tool-card a{padding:var(--space-6);display:block}.tool-info-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--font-sm);color:var(--text-secondary);border:1px solid #ff6b3533;line-height:1.6;display:flex}.tool-info-banner svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:2px}.tool-upload-area{border:2px dashed var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-12);text-align:center;background:var(--bg-secondary);transition:all var(--transition-base);cursor:pointer;position:relative}.tool-upload-area:hover,.tool-upload-area.drag-active{border-color:var(--color-primary);background:var(--color-primary-light)}.tool-upload-area.drag-active{border-style:solid;transform:scale(1.01);box-shadow:0 0 0 4px #ff6b351a}.tool-file-input{opacity:0;width:0;height:0;position:absolute;overflow:hidden}.tool-upload-label{align-items:center;gap:var(--space-3);cursor:pointer;flex-direction:column;display:flex}.upload-icon{width:64px;height:64px;padding:var(--space-4);background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);margin-bottom:var(--space-2);transition:transform var(--transition-base)}.tool-upload-area:hover .upload-icon{transform:scale(1.1)rotate(5deg)}.preview-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.preview-item{aspect-ratio:1;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.preview-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.preview-item img{object-fit:contain;width:100%;height:100%}.preview-name{bottom:var(--space-6);padding:var(--space-2)var(--space-3);font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:center;position:absolute;left:0;right:0;overflow:hidden}.preview-size{padding:var(--space-1)var(--space-2);color:#fff;text-align:center;background:#0009;font-size:10px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.preview-remove{top:var(--space-2);right:var(--space-2);color:#fff;border-radius:var(--radius-full);cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--transition-fast);background:#0009;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.preview-item:hover .preview-remove{opacity:1}.preview-remove:hover{background:var(--color-error)}.preview-remove svg{width:14px;height:14px}.preview-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.preview-header h3{font-size:var(--font-lg);color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;font-weight:600;display:flex}.preview-header h3 svg{width:20px;height:20px;color:var(--color-primary)}@media (max-width:640px){.preview-header{gap:var(--space-3);flex-direction:column;align-items:stretch}}.progress-bar-container{margin-top:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width .3s}.progress-text{margin-top:var(--space-2);font-size:var(--font-sm);color:var(--text-secondary);text-align:center}.progress-label{font-size:var(--font-sm);color:var(--text-primary);font-weight:500}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-header h3{align-items:center;gap:var(--space-2);font-size:var(--font-lg);color:var(--text-primary);margin:0;font-weight:700;display:flex}.section-header h3 svg{width:20px;height:20px;color:var(--color-primary)}@media (max-width:640px){.section-header{gap:var(--space-3);flex-direction:column;align-items:stretch}}.tool-result-section{margin-top:var(--space-8);padding:var(--space-8);background:var(--gradient-subtle,var(--bg-secondary));border:2px solid var(--color-success);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.result-header{text-align:center;margin-bottom:var(--space-6)}.result-header h3{font-size:var(--font-2xl);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:700}.result-header p{font-size:var(--font-base);color:var(--text-secondary);margin:0}.tool-preview-section{margin-top:var(--space-6);padding:var(--space-6);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl)}.stat-grid{gap:var(--space-4);margin:var(--space-6)0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat-card{text-align:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-base);flex-direction:column;align-items:center;display:flex}.stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-card.highlight,.stat-card.primary{background:var(--gradient-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.stat-value{font-size:var(--font-2xl);color:var(--text-primary);margin-bottom:var(--space-1);font-variant-numeric:tabular-nums;font-weight:700}.stat-card.highlight .stat-value,.stat-card.primary .stat-value{color:#fff}.stat-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-card.highlight .stat-label,.stat-card.primary .stat-label{color:#ffffffd9}.how-it-works{margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f0f9ff 0%,#fff 100%);border:2px solid #bfdbfe}.how-it-works h3{font-size:var(--font-xl);color:var(--text-primary);margin:0 0 var(--space-5)0;font-weight:600}.steps-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}@media (max-width:640px){.steps-grid{grid-template-columns:1fr}}.step-item{text-align:center;padding:var(--space-4);flex-direction:column;align-items:center;display:flex}.step-number{background:var(--gradient-primary);color:#fff;width:48px;height:48px;font-size:var(--font-lg);margin-bottom:var(--space-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.step-number.sm{width:36px;height:36px;font-size:var(--font-base)}.feature-highlights{gap:var(--space-3);flex-direction:column;display:flex}.feature-item{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);display:flex}.feature-item svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0}.info-card{padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.tip-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);border:1px solid #ff6b3533;line-height:1.6;display:flex}.tip-icon{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;margin-top:2px}.tip-content{gap:var(--space-1);flex-direction:column;display:flex}.info-icon{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:2px}.help-text{font-size:var(--font-xs);color:var(--text-tertiary);line-height:1.5}.help-section{gap:var(--space-3);flex-direction:column;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group label{font-size:var(--font-sm);color:var(--text-primary);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.form-row{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-group label{font-size:var(--font-sm);color:var(--text-secondary);font-weight:600}.option-group{gap:var(--space-2);flex-direction:column;display:flex}.required{color:var(--color-error)}.tool-input,.tool-select,.tool-textarea{width:100%;padding:var(--space-3)var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.tool-input:focus,.tool-select:focus,.tool-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff6b351a}.mode-switcher{gap:var(--space-2);background:var(--bg-secondary);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--border-primary);margin-bottom:var(--space-5);display:flex}.mode-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;font-weight:500;display:flex}.mode-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.mode-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.mode-btn svg{width:16px;height:16px}@media (max-width:480px){.mode-switcher{flex-direction:column}.mode-btn{justify-content:center;width:100%}}.btn-convert{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4)var(--space-6);font-size:var(--font-lg);color:#fff;background:var(--gradient-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:none;font-weight:600;display:flex}.btn-convert:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-convert:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-convert svg{width:20px;height:20px}.btn-download{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4)var(--space-6);font-size:var(--font-lg);color:#fff;background:linear-gradient(135deg,var(--color-success)0%,#059669 100%);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:none;font-weight:600;display:flex}.btn-download:hover:not(:disabled){box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px)}.btn-download svg{width:20px;height:20px}.btn-download-single{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.btn-download-single:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.btn-download-single svg{width:16px;height:16px}.btn-clear-all{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);font-size:var(--font-sm);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-weight:500;display:flex}.btn-clear-all:hover{color:var(--color-error);border-color:var(--color-error);background:#fee2e2}.btn-clear-all svg{width:16px;height:16px}.btn-ghost{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);font-size:var(--font-sm);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:flex}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.btn-ghost svg{width:16px;height:16px}.btn-convert:focus-visible,.btn-download:focus-visible,.btn-clear-all:focus-visible,.btn-ghost:focus-visible,.preview-remove:focus-visible,.mode-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.spinner-lg{border:4px solid var(--border-primary);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.loading-state{padding:var(--space-16);justify-content:center;align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.loading-state p{font-size:var(--font-base);color:var(--text-secondary);margin:0}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-icon{width:64px;height:64px;padding:var(--space-4);color:var(--color-success);border-radius:var(--radius-full);margin:0 auto var(--space-4);background:#10b9811a;animation:.5s ease-out successPulse}.error-message{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3)var(--space-4);color:#991b1b;border-radius:var(--radius-md);font-size:var(--font-sm);background:#fee2e2;border:1px solid #fecaca;font-weight:500;display:flex}.error-message svg{flex-shrink:0;width:16px;height:16px}.warning-message{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);color:#92400e;border-radius:var(--radius-md);font-size:var(--font-sm);background:#fffbeb;border:1px solid #fde68a;display:flex}.warning-message svg{flex-shrink:0;width:16px;height:16px}.empty-state{padding:var(--space-16)var(--space-8);text-align:center;background:var(--bg-secondary);border:2px dashed var(--border-primary);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{width:56px;height:56px;color:var(--text-tertiary);margin-bottom:var(--space-4);opacity:.5}.empty-state h3{font-size:var(--font-xl);color:var(--text-primary);margin:0 0 var(--space-2)0;font-weight:600}.empty-state p{font-size:var(--font-base);color:var(--text-secondary);max-width:420px;margin:0;line-height:1.6}@media (prefers-reduced-motion:reduce){.spinner,.spinner-lg,.upload-icon,.success-icon{animation:none!important}.preview-item:hover,.stat-card:hover,.btn-convert:hover,.btn-download:hover,.tool-card:hover{transform:none}}
