:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#11182799;--bg-card-hover:#111827cc;--glass-border:#ffffff0f;--glass-shadow:#0006;--accent:#00e5ff;--accent-glow:#00e5ff40;--accent-hover:#00b8d4;--accent-soft:#00e5ff14;--danger:#ff5252;--danger-hover:#ff1744;--warning:#ffab40;--success:#69f0ae;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs:.75rem;--font-sm:.8125rem;--font-base:.9375rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-3xl:2.75rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px var(--accent-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(80% 60% at 50% 0,#00e5ff0d 0%,#0000 60%),radial-gradient(60% 40% at 80% 100%,#6366f10a 0%,#0000 50%);min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;outline:none;font-weight:600;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(135deg, var(--accent), #00b8d4);color:#0a0e1a;box-shadow:var(--shadow-sm), 0 0 20px #00e5ff26}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md), 0 0 30px #00e5ff4d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff14}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff1a;border-color:#ffffff26}.btn-danger{color:var(--danger);background:#ff52521f;border:1px solid #ff525233}.btn-danger:hover:not(:disabled){background:#ff525233;border-color:#ff525259}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px var(--accent-glow)}50%{box-shadow:0 0 30px var(--accent-glow), 0 0 60px #00e5ff1a}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.fade-in-up{animation:fadeInUp .5s var(--transition-base) both}.app{min-height:100vh;padding:var(--space-xl) var(--space-md);flex-direction:column;align-items:center;display:flex}.app-header{text-align:center;margin-bottom:var(--space-2xl);animation:.6s both fadeInUp}.app-logo{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), #6366f1);width:56px;height:56px;margin-bottom:var(--space-md);justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex;box-shadow:0 0 30px #00e5ff33}.app-title{font-size:var(--font-3xl);letter-spacing:-.03em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1.2}.app-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin-top:var(--space-sm);font-weight:400}.app-content{gap:var(--space-xl);flex-direction:column;width:100%;max-width:900px;display:flex}.step-indicator{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);animation:.6s .1s both fadeInUp;display:flex}.step{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-base);font-weight:600;display:flex}.step--active{background:var(--accent-soft);color:var(--accent);border:1px solid #00e5ff33}.step--completed{color:var(--success);background:#69f0ae14;border:1px solid #69f0ae33}.step--inactive{color:var(--text-muted);background:#ffffff08;border:1px solid #0000}.step-divider{background:var(--text-muted);opacity:.3;width:24px;height:1px}.processing-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0a0e1ad9;flex-direction:column;justify-content:center;align-items:center;animation:.3s both fadeInUp;display:flex;position:fixed;inset:0}.processing-spinner{border:3px solid #00e5ff26;border-top-color:var(--accent);width:56px;height:56px;margin-bottom:var(--space-lg);border-radius:50%;animation:.8s linear infinite spin}.processing-text{font-size:var(--font-lg);color:var(--text-primary);font-weight:600}.processing-subtext{font-size:var(--font-sm);color:var(--text-secondary);margin-top:var(--space-xs)}.media-type-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--text-secondary);margin-bottom:var(--space-sm);background:#ffffff0a;border:1px solid #ffffff14;font-weight:600;display:inline-flex}.video-mask-hint{text-align:center;font-size:var(--font-sm);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#ffab400f;border:1px solid #ffab401f}.error-banner{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--font-sm);text-align:center;background:#ff525214;border:1px solid #ff525233}.app-footer{padding-top:var(--space-2xl);padding-bottom:var(--space-md);text-align:center;font-size:var(--font-xs);color:var(--text-muted);margin-top:auto}.seo-content{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid #ffffff0d;width:100%;max-width:800px}.seo-article{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.seo-article h2,.seo-article h3{color:var(--text-primary);margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-weight:600}.seo-article h2{font-size:1.5rem}.seo-article h3{font-size:1.25rem}.seo-article p{margin-bottom:var(--space-md)}.seo-article strong{color:var(--text-primary);font-weight:500}.seo-article ol{margin-left:var(--space-lg);margin-bottom:var(--space-lg)}.seo-article li{margin-bottom:var(--space-xs)}.seo-faq{gap:var(--space-md);flex-direction:column;display:flex}.faq-item h4{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:1.05rem;font-weight:500}.faq-item p{margin-bottom:0;font-size:.9rem}.dropzone-wrapper{animation:.5s both fadeInUp}.dropzone{padding:var(--space-2xl) var(--space-xl);border-radius:var(--radius-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;min-height:320px;transition:all var(--transition-base);border:2px dashed #ffffff1a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.dropzone:before{content:"";border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 50%, var(--accent-soft), transparent 70%);opacity:0;transition:opacity var(--transition-base);position:absolute;inset:0}.dropzone:hover,.dropzone--active{border-color:var(--accent);background:#00e5ff08}.dropzone:hover:before,.dropzone--active:before{opacity:1}.dropzone-icon{z-index:1;margin-bottom:var(--space-lg);filter:drop-shadow(0 0 20px var(--accent-glow));transition:transform var(--transition-base);font-size:3rem;position:relative}.dropzone:hover .dropzone-icon{transform:translateY(-4px)scale(1.05)}.dropzone-text{z-index:1;font-size:var(--font-lg);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:600;position:relative}.dropzone-subtext{z-index:1;font-size:var(--font-sm);color:var(--text-secondary);position:relative}.dropzone-subtext strong{color:var(--accent);font-weight:600}.dropzone-hint{z-index:1;font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-sm);position:relative}.dropzone-input{display:none}.canvas-mask-wrapper{animation:.5s .1s both fadeInUp}.canvas-container{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);padding:var(--space-sm);justify-content:center;align-items:center;display:flex;overflow:hidden}.canvas-inner{line-height:0;display:inline-block;position:relative}.canvas-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:var(--radius-sm);max-width:100%;max-height:70vh;display:block}.canvas-overlay{cursor:crosshair;touch-action:none;border-radius:var(--radius-sm);position:absolute;top:0;left:0}.canvas-hint{text-align:center;margin-top:var(--space-sm);font-size:var(--font-xs);color:var(--text-muted)}.canvas-hint kbd{font-family:var(--font-family);background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;margin:0 2px;padding:1px 6px;font-size:.6875rem;display:inline-block}.toolbar{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);flex-wrap:wrap;animation:.5s both fadeInUp;display:flex}.toolbar-group{align-items:center;gap:var(--space-sm);display:flex}.toolbar-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:600}.toolbar-slider{appearance:none;border-radius:var(--radius-full);width:120px;height:4px;transition:background var(--transition-fast);background:#ffffff14;outline:none}.toolbar-slider:hover{background:#ffffff1f}.toolbar-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 8px var(--accent-glow);transition:transform var(--transition-fast);border-radius:50%}.toolbar-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.toolbar-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 8px var(--accent-glow);border:none;border-radius:50%}.toolbar-value{text-align:center;min-width:28px;font-size:var(--font-xs);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.brush-preview{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.brush-preview-dot{transition:all var(--transition-fast);background:#ff3c3c80;border:1px solid #ff3c3cb3;border-radius:50%}.toolbar-spacer{flex:1}.toolbar-divider{background:#ffffff14;width:1px;height:24px}.toolbar-actions{align-items:center;gap:var(--space-sm);display:flex}.btn-icon{padding:var(--space-sm);min-width:36px;min-height:36px;font-size:var(--font-base)}.result-wrapper{animation:.5s both fadeInUp}.result-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.result-title{font-size:var(--font-xl);color:var(--text-primary);align-items:center;gap:var(--space-sm);font-weight:700;display:flex}.result-actions{gap:var(--space-sm);display:flex}.result-comparison{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.result-comparison{grid-template-columns:1fr}}.result-panel{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);overflow:hidden}.result-panel:hover{box-shadow:var(--shadow-md)}.result-panel-label{padding:var(--space-sm) var(--space-md);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);background:#ffffff05;font-weight:600}.result-panel-label--original{color:var(--text-muted)}.result-panel-label--result{color:var(--success)}.result-panel-media{object-fit:contain;width:100%;height:auto;max-height:50vh;display:block}.result-comparison--video{gap:var(--space-lg)}.btn-download{text-decoration:none}.video-progress-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;justify-content:center;align-items:center;gap:var(--space-lg);background:#0a0e1aeb;flex-direction:column;animation:.3s both fadeInUp;display:flex;position:fixed;inset:0}.progress-ring-container{width:160px;height:160px;position:relative}.progress-ring{width:160px;height:160px;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#ffffff0f;stroke-width:6px}.progress-ring-fill{fill:none;stroke:url(#progress-gradient);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .4s cubic-bezier(.4,0,.2,1)}.progress-percent{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-percent-value{font-size:var(--font-2xl);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.progress-percent-label{font-size:var(--font-xs);color:var(--text-secondary);margin-top:var(--space-xs);font-weight:500}.progress-info{text-align:center}.progress-title{font-size:var(--font-lg);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:700}.progress-subtitle{font-size:var(--font-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.progress-eta{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-xs);font-variant-numeric:tabular-nums}.progress-status-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:inline-flex}.progress-status-badge--extracting{color:var(--warning);background:#ffab401a;border:1px solid #ffab4033}.progress-status-badge--processing{background:var(--accent-soft);color:var(--accent);border:1px solid #00e5ff33}.progress-status-badge--reassembling{color:var(--success);background:#69f0ae14;border:1px solid #69f0ae33}.progress-cancel{margin-top:var(--space-md)}.progress-pulse{animation:2s ease-in-out infinite pulse-glow}.progress-linear-bar{border-radius:var(--radius-full);background:#ffffff0f;width:280px;height:4px;overflow:hidden}.progress-linear-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--accent), #6366f1, var(--accent));background-size:200% 100%;height:100%;animation:1.5s linear infinite shimmer}
