:root{--bg-dark:#070913;--bg-panel:#0d1122b3;--bg-panel-hover:#161c36cc;--border-color:#ffffff14;--border-glow:#00f0ff33;--accent-cyan:#00f0ff;--accent-purple:#a855f7;--accent-green:#10b981;--accent-orange:#f59e0b;--accent-red:#ef4444;--text-main:#f1f5f9;--text-muted:#94a3b8;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--glass-shadow:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);background-image:radial-gradient(at 0 0,#a855f726 0,#0000 50%),radial-gradient(at 100% 100%,#00f0ff26 0,#0000 50%);flex-direction:column;min-height:100vh;display:flex}.app-container{flex-direction:column;flex-grow:1;gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;display:flex}header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.logo-area{align-items:center;gap:.75rem;display:flex}.logo-icon{font-size:2.2rem;animation:3s ease-in-out infinite float}header h1{font-family:var(--font-display);letter-spacing:-.05em;background:linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;font-weight:800}.version-badge{border:1px solid var(--border-color);color:var(--text-muted);background:#ffffff14;border-radius:20px;padding:2px 8px;font-size:.75rem;font-weight:600}.subtitle{color:var(--text-muted);max-width:600px;font-size:1.1rem}.hw-status-badge{border:1px solid var(--border-color);background:#0006;border-radius:30px;align-items:center;gap:.5rem;margin-top:.5rem;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .3s;display:inline-flex}.status-indicator{border-radius:50%;width:8px;height:8px}.status-offline{background-color:var(--text-muted)}.status-webgpu{background-color:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:1.5s infinite alternate pulse-green}.status-wasm{background-color:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange);animation:1.5s infinite alternate pulse-orange}.glass{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--glass-shadow);border-radius:16px;transition:border-color .3s,box-shadow .3s}.glass:hover{border-color:#ffffff1f}.main-grid{flex-grow:1;grid-template-columns:360px 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=960px){.main-grid{grid-template-columns:1fr}}.control-panel{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.control-panel h2{font-family:var(--font-display);border-bottom:1px solid var(--border-color);margin-bottom:.25rem;padding-bottom:.75rem;font-size:1.3rem;font-weight:700}.control-group{flex-direction:column;gap:.5rem;display:flex}.control-group label{color:var(--text-muted);font-size:.85rem;font-weight:600}.label-info{justify-content:space-between;align-items:center;display:flex}.tooltip{cursor:help;opacity:.7;font-size:.85rem}select,input[type=text]{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-body);background:#0000004d;border-radius:8px;width:100%;padding:.75rem;font-size:.9rem;transition:all .3s}select:focus,input[type=text]:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 2px var(--border-glow);outline:none}.hidden{display:none!important}input[type=range]{-webkit-appearance:none;background:#ffffff1a;border-radius:3px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-cyan);cursor:pointer;border-radius:50%;width:18px;height:18px;transition:transform .1s}input[type=range]::-webkit-slider-thumb:hover{background:#fff;transform:scale(1.2)}.btn{font-family:var(--font-display);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.primary-btn{color:#fff;background:linear-gradient(135deg,#00f0ff33,#a855f733);border:1px solid #00f0ff66}.primary-btn:hover{border-color:var(--accent-cyan);background:linear-gradient(135deg,#00f0ff59,#a855f759);transform:translateY(-1px);box-shadow:0 0 15px #00f0ff33}.action-btn{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));color:#070913;font-weight:700}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px #00f0ff66}.action-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale()}.btn:active:not(:disabled){transition:transform 50ms,box-shadow 50ms!important;transform:translateY(1px)scale(.97)!important;box-shadow:0 2px 5px #0000004d!important}.progress-container{border:1px solid var(--border-color);background:#0000004d;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.progress-info{color:var(--text-muted);justify-content:space-between;font-size:.8rem;display:flex}.progress-bar-bg{background:#ffffff0d;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-purple));width:0%;height:100%;transition:width .25s ease-out}.upload-section h3{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.drop-zone{cursor:pointer;background:#00000026;border:2px dashed #ffffff26;border-radius:10px;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;transition:all .3s;display:flex}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent-cyan);background:#00f0ff0a}.drop-icon{width:32px;height:32px;color:var(--text-muted);transition:color .3s}.drop-zone:hover .drop-icon,.drop-zone.dragover .drop-icon{color:var(--accent-cyan)}.drop-text{color:var(--text-muted);text-align:center;font-size:.85rem}.drop-text span{color:var(--accent-cyan);font-weight:600;text-decoration:underline}.status-msg{color:var(--accent-cyan);background:#ffffff08;border-radius:8px;flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem;font-size:.9rem;display:flex}.spinner{border:2px solid #00f0ff33;border-top-color:var(--accent-cyan);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-area{flex-direction:column;justify-content:center;align-items:center;min-height:500px;padding:1.5rem;display:flex;overflow:hidden}.preview-placeholder{cursor:pointer;box-sizing:border-box;width:100%;height:100%;min-height:400px;color:var(--text-muted);text-align:center;background:#ffffff03;border:2px dashed #ffffff14;border-radius:16px;justify-content:center;align-items:center;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.preview-placeholder:hover,.preview-placeholder.dragover{border-color:var(--neon-cyan);background:#00f2fe08;box-shadow:inset 0 0 20px #00f2fe0d}.placeholder-content{flex-direction:column;align-items:center;gap:1rem;max-width:300px;display:flex}.placeholder-content svg{color:#ffffff1a;transition:all .3s}.preview-placeholder:hover .placeholder-content svg,.preview-placeholder.dragover .placeholder-content svg{color:var(--neon-cyan);filter:drop-shadow(0 0 8px #00f2fe66);transform:scale(1.08)}.placeholder-content h3{font-family:var(--font-display);color:var(--text-main);font-size:1.2rem}.placeholder-content p{font-size:.85rem;line-height:1.4}.comparison-container{flex-direction:column;gap:1rem;width:100%;animation:.4s ease-out fadeIn;display:flex}.comparison-slider{-webkit-user-select:none;user-select:none;touch-action:none;background-color:#121420;background-image:linear-gradient(45deg,#090a10 25%,#0000 25%),linear-gradient(-45deg,#090a10 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#090a10 75%),linear-gradient(-45deg,#0000 75%,#090a10 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:12px;width:fit-content;max-width:100%;max-height:50vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080}.original-image{z-index:1;width:100%;height:auto;max-height:50vh;display:block;position:relative}.original-image canvas{object-fit:contain;width:100%;height:auto;max-height:50vh;display:block}.slide-image{width:100%;height:100%;position:absolute;top:0;left:0}.slide-image canvas{object-fit:fill;width:100%;height:100%}.upscaled-image{z-index:2;clip-path:inset(0 0 0 50%);width:100%;height:100%;position:absolute;top:0;left:0}.slider-handle{background-color:var(--accent-cyan);z-index:3;cursor:ew-resize;width:4px;height:100%;transition:background-color .15s,box-shadow .15s;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 10px #00f0ff66}.slider-handle:hover,.slider-handle:active{background-color:var(--accent-purple);box-shadow:0 0 15px #a855f7b3}.handle-line{background-color:#ffffff4d;width:1px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.handle-button{border:2px solid var(--accent-cyan);width:38px;height:38px;color:var(--accent-cyan);pointer-events:none;background-color:#0c0e1a;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),border-color .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000080}.slider-handle:hover .handle-button,.slider-handle:active .handle-button{color:var(--accent-purple);border-color:var(--accent-purple);transform:translate(-50%,-50%)scale(1.1)}.slider-handle svg{width:18px;height:18px}.label-badge{-webkit-backdrop-filter:blur(8px);font-family:var(--font-display);color:#fff;z-index:4;background-color:#070913cc;border:1px solid #ffffff1a;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;position:absolute;top:16px}.label-badge.left{border-left:3px solid var(--text-muted);left:16px}.label-badge.right{border-right:3px solid var(--accent-cyan);right:16px}.image-stats-bar{border:1px solid var(--border-color);background:#00000040;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.stat-value{font-family:var(--font-display);color:var(--text-main);font-size:.9rem;font-weight:600}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:auto;padding:1.5rem 0;font-size:.8rem}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes pulse-green{0%{box-shadow:0 0 4px var(--accent-green)}to{box-shadow:0 0 12px var(--accent-green)}}@keyframes pulse-orange{0%{box-shadow:0 0 4px var(--accent-orange)}to{box-shadow:0 0 12px var(--accent-orange)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ios-switch{width:44px;height:24px;display:inline-block;position:relative}.ios-switch input{opacity:0;width:0;height:0}.ios-slider{cursor:pointer;border:1px solid var(--border-color);background-color:#ffffff1a;border-radius:24px;transition:all .25s;position:absolute;inset:0}.ios-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;bottom:2px;left:2px;box-shadow:0 2px 4px #0003}.ios-switch input:checked+.ios-slider{background-color:var(--accent-cyan);border-color:var(--accent-cyan)}.ios-switch input:checked+.ios-slider:before{transform:translate(20px)}@media (width>=961px){body{height:100vh;max-height:100vh;overflow:hidden}.app-container{box-sizing:border-box;gap:1rem;height:100vh;max-height:100vh;padding:1.25rem 1.5rem;overflow:hidden}header{margin-bottom:.25rem}.main-grid{flex-grow:1;align-items:stretch;height:0}.control-panel{max-height:100%;overflow-y:auto}.preview-area{justify-content:center;height:100%;max-height:100%;overflow:hidden}}.developer-profile{border:1px solid var(--border-color);background:#ffffff04;border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;width:100%;margin-top:auto;padding:.65rem .75rem;transition:all .3s;display:flex;box-shadow:0 4px 15px #00000026}.developer-profile:hover{background:#ffffff08;border-color:#00f0ff33;box-shadow:0 4px 20px #00f0ff14}.dev-name{font-family:var(--font-display);letter-spacing:-.01em;background:linear-gradient(135deg, #fff, var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.95rem;font-weight:700}.dev-title{color:var(--accent-purple);letter-spacing:.01em;text-align:center;font-size:.68rem;font-weight:600;line-height:1.3}.dev-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;font-size:.65rem;display:flex}.dev-meta a{color:var(--text-muted);font-weight:500;text-decoration:none;transition:color .2s}.dev-meta a:hover{color:var(--accent-cyan);text-decoration:underline}.batch-panel{box-sizing:border-box;background:#0a0c16a6;border-top:1px solid #ffffff14;border-radius:0 0 16px 16px;flex-direction:column;gap:.75rem;width:100%;margin-top:auto;padding:1rem;animation:.3s ease-out fadeIn;display:flex}.batch-panel.hidden{display:none!important}.batch-header{justify-content:space-between;align-items:center;display:flex}.batch-header h4{font-family:var(--font-display);color:var(--text-main);margin:0;font-size:.9rem}.batch-thumbnails{scrollbar-width:thin;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.batch-thumb{cursor:pointer;background-position:50%;background-size:cover;border:2px solid #ffffff1a;border-radius:8px;flex-shrink:0;width:60px;height:60px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.batch-thumb.active{border-color:var(--neon-cyan);box-shadow:0 0 10px #00f2fe4d}.batch-thumb:hover{border-color:#00f2fe99;transform:scale(1.02)}.batch-thumb-status{color:#fff;background:#0009;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex;position:absolute;inset:0}.batch-thumb-status.completed{background:#2ecc7173}.batch-thumb-status.processing{background:#3498db80}.batch-thumb-status.error{background:#e74c3c80}.success-btn{color:#fff;background:linear-gradient(135deg,#2ecc7140,#27ae6040);border:1px solid #2ecc7180}.success-btn:hover:not(:disabled){background:linear-gradient(135deg,#2ecc7166,#27ae6066);border-color:#2ecc71;transform:translateY(-1.5px);box-shadow:0 0 15px #2ecc7159}.copy-btn{color:var(--neon-cyan);background:#00f2fe1f;border:1px solid #00f2fe4d}.copy-btn:hover:not(:disabled){border-color:var(--neon-cyan);background:#00f2fe40;transform:translateY(-1.5px);box-shadow:0 0 15px #00f2fe59}@media (width<=600px){body{overflow-x:hidden}.app-container{gap:1rem;padding:1rem}.preview-area{min-height:350px;padding:1rem}.preview-placeholder{min-height:250px;padding:1.5rem}.image-stats-bar{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem}.stat-item{border-bottom:1px solid #ffffff0d;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:.5rem}.stat-item:last-of-type{border-bottom:none;padding-bottom:0}#downloadGroup{flex-direction:column;width:100%;margin-top:.5rem;gap:.5rem!important;margin-left:0!important;display:flex!important}#downloadGroup.hidden{display:none!important}#downloadGroup .btn{justify-content:center;width:100%!important;padding:10px 14px!important;font-size:.85rem!important}.zoom-hint{text-align:center;flex-direction:column;gap:.5rem!important}}
