.tool-upload-zone{border:2px dashed var(--border-primary);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-base);background:#0f172a66;padding:3rem 2rem;position:relative}.tool-upload-zone:hover,.tool-upload-zone.drag-over{border-color:var(--accent-green);background:var(--accent-green-glow);box-shadow:0 0 40px var(--accent-green-glow)}.tool-upload-zone.drag-over{transform:scale(1.01)}.tool-upload-zone:before{content:"";border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-green), var(--accent-cyan), var(--accent-blue), var(--accent-green));-webkit-mask-composite:xor;opacity:0;transition:opacity var(--transition-base);background-size:300% 300%;padding:2px;animation:4s infinite tool-gradient-rotate;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tool-upload-zone:hover:before,.tool-upload-zone.drag-over:before{opacity:1}@keyframes tool-gradient-rotate{0%,to{background-position:0%}50%{background-position:100%}}.tool-upload-icon{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-green), var(--accent-cyan));opacity:.8;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.tool-format-badge{color:var(--text-tertiary);border:1px solid var(--border-primary);background:#94a3b814;border-radius:999px;padding:.25rem .625rem;font-size:.75rem}.tool-glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.tool-glass-card:hover{border-color:#4ade8026}.tool-btn-primary{background:linear-gradient(135deg, var(--accent-green), var(--accent-cyan));color:var(--bg-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);letter-spacing:.02em;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.tool-btn-primary:hover{box-shadow:0 8px 25px var(--accent-green-glow);transform:translateY(-1px)}.tool-btn-primary:active{transform:translateY(0)}.tool-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.tool-btn-secondary{color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-base);background:#94a3b81a;padding:.625rem 1.25rem;font-size:.85rem;font-weight:500}.tool-btn-secondary:hover{color:var(--text-primary);background:#94a3b826;border-color:#4ade804d}.tool-btn-secondary.active{background:var(--accent-green-glow);border-color:var(--accent-green);color:var(--accent-green)}.tool-range-slider{appearance:none;background:linear-gradient(90deg, var(--accent-green), var(--accent-cyan));cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px;margin:.5rem 0}.tool-range-slider::-webkit-slider-thumb{appearance:none;background:var(--text-primary);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:transform .2s;box-shadow:0 0 10px #4ade8080}.tool-range-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.tool-range-slider::-moz-range-thumb{background:var(--text-primary);cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;box-shadow:0 0 10px #4ade8080}.tool-quality-value{color:var(--accent-green);font-family:monospace;font-size:.875rem;font-weight:700}.tool-checkbox{appearance:none;border:2px solid var(--border-primary);cursor:pointer;background:0 0;border-radius:.375rem;flex-shrink:0;width:1.25rem;height:1.25rem;transition:all .2s;position:relative}.tool-checkbox:checked{background:linear-gradient(135deg, var(--accent-green), var(--accent-cyan));border-color:var(--accent-green)}.tool-checkbox:checked:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tool-number-input{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);outline:none;max-width:160px;padding:.5rem .75rem;font-size:.85rem;transition:border-color .2s}.tool-number-input:focus{border-color:var(--accent-green)}.tool-select-wrapper{border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#0003;position:relative}.tool-select-wrapper:focus-within{background:#0006;border-color:#4ade8080;box-shadow:0 0 0 1px #4ade804d}.tool-select{appearance:none;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;padding:.75rem 1rem;font-size:.875rem}.tool-select option{background:var(--bg-card);color:var(--text-primary)}.tool-select-arrow{pointer-events:none;color:var(--text-tertiary);align-items:center;display:flex;position:absolute;inset:0 1rem 0 auto}.tool-metadata-toggle{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-primary);background:#0003;align-items:flex-start;padding:1rem;transition:all .2s;display:flex;position:relative}.tool-metadata-toggle:hover{border-color:var(--glass-border);background:#0000004d}.tool-metadata-toggle.active{background:var(--accent-green-glow);border-color:#4ade804d;box-shadow:inset 0 0 20px #4ade800d}.tool-metadata-toggle.disabled{opacity:.5;cursor:not-allowed}.tool-checkbox-visual{border:1px solid var(--border-primary);background:#0000004d;border-radius:.25rem;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;transition:all .2s;display:flex}.tool-checkbox-visual.checked{background:var(--accent-green);border-color:var(--accent-green)}.tool-checkbox-check{color:#fff;opacity:0;width:.875rem;height:.875rem;transition:all .2s;transform:scale(.5)}.tool-checkbox-check.visible{opacity:1;transform:scale(1)}.tool-progress-track{background:#94a3b81a;border-radius:999px;height:4px;overflow:hidden}.tool-progress-fill{background:linear-gradient(90deg, var(--accent-green), var(--accent-cyan));border-radius:999px;height:100%;transition:width .4s;animation:1.5s ease-in-out infinite tool-pulse-glow}@keyframes tool-pulse-glow{0%,to{opacity:1}50%{opacity:.6}}.tool-spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:1.25rem;height:1.25rem;animation:.6s linear infinite tool-spin}@keyframes tool-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}@media (max-width:640px){.tool-stats-grid{grid-template-columns:1fr}}.tool-stat-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);background:#0f172a80;padding:1rem 1.25rem}.tool-stat-card:hover{border-color:#4ade8026}.tool-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem}.tool-stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.tool-result-row{cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:.75rem;padding:1rem;display:flex}.tool-result-row:hover{background:#94a3b80a}.tool-detail-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem;font-size:.75rem;display:grid}@media (max-width:640px){.tool-detail-grid{grid-template-columns:repeat(2,1fr)}}.tool-reduction-badge{border-radius:999px;padding:.25rem .75rem;font-size:.875rem;font-weight:700}.tool-reduction-badge.positive{background:var(--accent-green-glow);color:var(--accent-green)}.tool-reduction-badge.negative{background:var(--accent-amber-glow);color:var(--accent-amber)}.tool-download-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem}.tool-download-btn:hover{background:var(--accent-green-glow);color:var(--accent-green)}.tool-warning-badge{background:var(--accent-amber-glow);color:var(--accent-amber);border:1px solid #fbbf2433;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;display:inline-flex}.tool-image-row{border-radius:var(--radius-sm);border:1px solid var(--border-primary);transition:all var(--transition-base);background:#94a3b80a;align-items:center;gap:.75rem;padding:.75rem;display:flex}.tool-image-row:hover{border-color:#4ade8026}.tool-remove-btn{opacity:0;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:.25rem}.tool-image-row:hover .tool-remove-btn{opacity:1}.tool-remove-btn:hover{color:var(--accent-red)}.tool-clear-btn{transition:color var(--transition-fast)}.tool-clear-btn:hover{color:var(--accent-red)!important}.tool-comparison-container{border-radius:var(--radius-md);background:var(--bg-card);-webkit-user-select:none;user-select:none;cursor:ew-resize;width:100%;min-height:250px;margin-top:1rem;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0003}@media (min-width:640px){.tool-comparison-container{min-height:350px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tool-hidden{display:none}.tool-card-link{cursor:pointer;position:relative;overflow:visible!important}.tool-card-link:after{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--accent-green,#4ade80), var(--accent-cyan,#22d3ee), var(--accent-blue,#3b82f6), var(--accent-green,#4ade80));-webkit-mask-composite:xor;opacity:0;z-index:1;pointer-events:none;background-size:300% 300%;padding:1px;transition:opacity .35s;animation:4s infinite tool-gradient-rotate;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tool-card-link:hover:after{opacity:1}.tool-card-link:hover{border-color:#0000!important;box-shadow:0 12px 40px #0000004d,0 0 50px #4ade801f,0 0 15px #4ade8014!important}[data-theme=light] .tool-card-link:hover{box-shadow:0 8px 28px #00000014,0 0 30px #16a34a1a,0 0 10px #16a34a0f!important}.metadata-upload-zone{border:2px dashed var(--border-primary,#2a2a3e);text-align:center;cursor:pointer;background:var(--bg-card,#1a1a2e);border-radius:1rem;margin-bottom:1.5rem;padding:2.5rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}.metadata-upload-zone:before{content:"";background:linear-gradient(135deg, var(--accent-green,#4ade80), var(--accent-cyan,#22d3ee), var(--accent-blue,#3b82f6), var(--accent-green,#4ade80));-webkit-mask-composite:xor;opacity:0;background-size:300% 300%;border-radius:1rem;padding:2px;transition:opacity .3s;animation:4s infinite tool-gradient-rotate;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.metadata-upload-zone:hover{border-color:var(--accent-green,#4ade80);background:#4ade800a;box-shadow:0 0 40px #4ade800f}.metadata-upload-zone:hover:before{opacity:1}
