@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary:#7c3aed;--primary-hover:#6d28d9;--primary-light:#7c3aed1a;--primary-light-border:#7c3aed33;--secondary:#6366f1;--secondary-hover:#4f46e5;--success:#10b981;--success-hover:#059669;--success-light:#10b9811a;--warning:#f59e0b;--warning-light:#f59e0b1a;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#ef44441a;--bg-main:#0b0c10;--bg-surface:#161821b3;--bg-surface-elevated:#212431cc;--border-color:#ffffff14;--border-focus:#7c3aed80;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--font-family:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--glass-bg:#161821a6;--glass-border:#ffffff14;--glass-shadow:#00000080;--glow-shadow:0 0 20px #7c3aed26;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--sidebar-width:280px}[data-theme=light]{--bg-main:#f9fafb;--bg-surface:#ffffffd9;--bg-surface-elevated:#fff;--border-color:#00000014;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--glass-bg:#ffffffbf;--glass-border:#0000000f;--glass-shadow:#1f29370d;--glow-shadow:0 0 20px #7c3aed0d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-container{background:radial-gradient(circle at 0 0,#7c3aed14 0%,#0000 40%),radial-gradient(circle at 100% 100%,#6366f114 0%,#0000 40%);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--glass-border);z-index:50;height:100vh;box-shadow:10px 0 30px var(--glass-shadow);transition:transform var(--transition-normal);flex-direction:column;padding:2rem 1.5rem;display:flex;position:fixed;top:0;left:0}.main-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-normal);flex-direction:column;flex:1;padding:2.5rem;display:flex}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:40;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background:#0009;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;pointer-events:auto}.hamburger-btn{z-index:60;border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:none;position:fixed;top:1.25rem;left:1.25rem;box-shadow:0 4px 12px #0000004d}.hamburger-btn:hover{background:var(--bg-surface-elevated);border-color:var(--primary-light-border)}.hamburger-btn:active{transform:scale(.95)}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{margin-left:0;padding:4.5rem 1.5rem 1.5rem}.hamburger-btn{display:flex}}@media (width<=768px){.main-content{padding:4.5rem 1rem 1rem}}@media (width<=480px){.main-content{padding:4rem .75rem .75rem}}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.025em;font-weight:700;line-height:1.25}.title-gradient{background:linear-gradient(135deg,#a78bfa 0%,#818cf8 50%,#6366f1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.btn{font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;z-index:1;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";z-index:-1;background:linear-gradient(90deg,#fff0 0%,#fff3 50%,#fff0 100%);width:50%;height:100%;transition:all .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:-100%;transform:skew(-25deg)}.btn:hover:after{left:150%}.btn:active{transform:scale(.96)}.btn-sm{border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.75rem}.btn-lg{border-radius:var(--radius-lg);padding:1rem 2rem;font-size:1rem}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #a78bfa 100%);color:#fff;border:1px solid #7c3aed80;box-shadow:0 4px 15px #7c3aed4d,inset 0 1px #fff3}.btn-primary:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed80,inset 0 1px #ffffff4d}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;box-shadow:0 4px 15px #0003}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.btn-danger{background:linear-gradient(135deg, var(--danger) 0%, #f87171 100%);color:#fff;border:1px solid #ef444480;box-shadow:0 4px 15px #ef44444d,inset 0 1px #fff3}.btn-danger:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 25px #ef444480,inset 0 1px #ffffff4d}.btn-outline{border-color:var(--primary-light-border);color:var(--text-primary);background:0 0;box-shadow:0 4px 15px #0000001a}.btn-outline:hover{background:var(--primary-light);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed33}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff14;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn:disabled:after{display:none}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--glass-shadow);transition:all var(--transition-normal);padding:1.75rem}.glass-card-hover:hover{box-shadow:0 15px 35px #0009, var(--glow-shadow);border-color:#7c3aed4d;transform:translateY(-4px)}.form-group{text-align:left;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.form-input{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:all var(--transition-fast);background:#0003;outline:none;padding:.75rem 1rem;font-size:.9375rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1.5rem 0;display:grid}@media (width<=768px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}}@media (width<=480px){.image-grid{grid-template-columns:1fr;gap:.75rem}}.image-card{border-radius:var(--radius-md);aspect-ratio:1;background:var(--bg-surface);cursor:pointer;transition:all var(--transition-normal);border:1px solid var(--border-color);position:relative;overflow:hidden}.image-card img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.image-card:hover img{transform:scale(1.08)}.image-card-overlay{opacity:0;transition:opacity var(--transition-normal);z-index:10;background:linear-gradient(#0000004d 0%,#0003 50%,#000000d9 100%);flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:absolute;inset:0}.image-card:hover .image-card-overlay,.image-card:focus-within .image-card-overlay{opacity:1}.badge{border-radius:var(--radius-full);letter-spacing:.025em;text-transform:capitalize;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-light);color:#a78bfa;border:1px solid var(--primary-light-border)}.badge-success{background:var(--success-light);color:#34d399;border:1px solid #10b98133}.badge-warning{background:var(--warning-light);color:#fbbf24;border:1px solid #f59e0b33}.badge-danger{background:var(--danger-light);color:#f87171;border:1px solid #ef444433}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:100;animation:fadeIn var(--transition-fast) forwards;background:#040508d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:1000px;max-height:90vh;animation:slideUp var(--transition-normal) forwards;overflow-y:auto;box-shadow:0 25px 50px #000c}@media (width<=768px){.modal-overlay{align-items:flex-end;padding:.75rem}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/800px 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-card{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;display:flex;overflow:hidden}.skeleton-card .skeleton-image{background:linear-gradient(90deg,#ffffff05 25%,#ffffff0f 50%,#ffffff05 75%) 0 0/800px 100%;flex:1;animation:1.8s ease-in-out infinite shimmer}.skeleton-card .skeleton-footer{background:#0003;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.skeleton-line{border-radius:var(--radius-full);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/800px 100%;height:12px;animation:1.8s ease-in-out infinite shimmer}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:90%}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.stagger-item{opacity:0;animation:.4s cubic-bezier(.4,0,.2,1) forwards staggerFadeIn}@keyframes progressGlow{0%,to{box-shadow:0 0 6px #7c3aed4d}50%{box-shadow:0 0 14px #7c3aed99}}@keyframes progressStripe{0%{background-position:0 0}to{background-position:30px 0}}.progress-bar-container{border-radius:var(--radius-full);border:1px solid var(--border-color);background:#ffffff0d;height:8px;position:relative;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill.uploading{background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);animation:2s ease-in-out infinite progressGlow}.progress-bar-fill.uploading:after{content:"";background:repeating-linear-gradient(-45deg,#0000 0 6px,#ffffff14 6px 12px) 0 0/30px 30px;animation:.8s linear infinite progressStripe;position:absolute;inset:0}.progress-bar-fill.processing{background:linear-gradient(90deg, var(--warning) 0%, #fbbf24 100%)}.progress-bar-fill.failed{background:var(--danger)}.progress-bar-fill.canceled{background:var(--text-muted)}.upload-dropzone{border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:#7c3aed05;border:2px dashed #7c3aed4d;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.upload-dropzone:hover,.upload-dropzone.dragging{border-color:var(--primary);box-shadow:var(--glow-shadow);background:#7c3aed0d}.upload-dropzone.dragging{border-color:var(--secondary);background:#6366f114;transform:scale(1.01)}.upload-dropzone.dragging .upload-icon{color:var(--secondary);transform:scale(1.15)}.upload-icon{transition:all var(--transition-normal)}@media (width<=768px){.upload-dropzone{padding:2rem 1.25rem}}.autocomplete-wrapper{flex:1;position:relative}.autocomplete-dropdown{border:1px solid var(--glass-border);border-radius:var(--radius-md);z-index:30;scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;background:#1a1c27;max-height:260px;animation:.15s ease-out forwards slideDown;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 36px #0009}.autocomplete-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:700}.autocomplete-item{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.autocomplete-item:hover,.autocomplete-item.active{color:var(--text-primary);border-left-color:var(--primary);background:#7c3aed14}.autocomplete-item .tag-icon{color:var(--text-muted);flex-shrink:0}.autocomplete-item .tag-match{color:var(--primary);font-weight:700}.autocomplete-empty{text-align:center;color:var(--text-muted);padding:1rem;font-size:.8rem}.toast-container{z-index:200;pointer-events:none;flex-direction:column-reverse;gap:.75rem;width:100%;max-width:420px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}@media (width<=480px){.toast-container{max-width:none;bottom:.75rem;left:.75rem;right:.75rem}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.95)}}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--bg-surface-elevated);border:1px solid var(--glass-border);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;animation:.35s cubic-bezier(.4,0,.2,1) forwards toastSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003}.toast.exiting{animation:.25s cubic-bezier(.4,0,.2,1) forwards toastSlideOut}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1;min-width:0}.toast-title{color:var(--text-primary);margin-bottom:.15rem;font-size:.85rem;font-weight:700}.toast-message{color:var(--text-secondary);word-break:break-word;font-size:.8rem;line-height:1.4}.toast-dismiss{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.toast-dismiss:hover{color:var(--text-primary)}.toast-timer{border-radius:0 0 0 var(--radius-md);height:3px;transition:width linear;position:absolute;bottom:0;left:0}.toast.toast-success{border-left:3px solid var(--success)}.toast.toast-success .toast-icon{color:var(--success)}.toast.toast-success .toast-timer{background:var(--success)}.toast.toast-error{border-left:3px solid var(--danger)}.toast.toast-error .toast-icon{color:var(--danger)}.toast.toast-error .toast-timer{background:var(--danger)}.toast.toast-warning{border-left:3px solid var(--warning)}.toast.toast-warning .toast-icon{color:var(--warning)}.toast.toast-warning .toast-timer{background:var(--warning)}.toast.toast-info{border-left:3px solid var(--secondary)}.toast.toast-info .toast-icon{color:var(--secondary)}.toast.toast-info .toast-timer{background:var(--secondary)}.image-placeholder{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(135deg,#7c3aed0d 0%,#6366f10d 100%);justify-content:center;align-items:center;display:flex}@keyframes imageFadeIn{0%{opacity:0}to{opacity:1}}.image-loaded{animation:.4s ease-out forwards imageFadeIn}.file-preview-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-color);flex-shrink:0;width:44px;height:44px}@keyframes borderPulse{0%,to{border-color:var(--primary)}50%{border-color:var(--secondary)}}.upload-dropzone.dragging{animation:1.2s ease-in-out infinite borderPulse}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#fff3}.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}.sidebar-section{background-color:var(--bg-surface-elevated);border-left:1px solid var(--border-color);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.sidebar-header h2{letter-spacing:.025em;color:var(--text-primary);font-size:1.15rem;font-weight:600}.stack-title-row{justify-content:space-between;align-items:center;display:flex}.stack-limit-badge{color:var(--secondary);background:#6366f11a;border:1px solid #6366f140;border-radius:9999px;padding:.2rem .55rem;font-family:monospace;font-size:.72rem}.select-dropdown{border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family);background-color:#00000040;outline:none;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.select-dropdown:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.select-dropdown:disabled{cursor:not-allowed;opacity:.65}.add-filter-selector{flex-direction:column;gap:.55rem;display:flex}.effect-search-shell{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#00000040;align-items:center;gap:.55rem;padding:0 .8rem;transition:border-color .2s,box-shadow .2s;display:flex}.effect-search-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.effect-search-icon{color:var(--text-muted);font-size:1rem}.effect-search-input{width:100%;color:var(--text-primary);font-family:var(--font-family);background:0 0;border:0;outline:0;padding:.68rem 0;font-size:.85rem}.effect-search-input::placeholder{color:var(--text-muted)}.recipe-section{flex-direction:column;gap:.55rem;display:flex}.recipe-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.recipe-buttons{flex-wrap:wrap;gap:.45rem;display:flex}.recipe-button{border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;background:#ffffff08;padding:.35rem .65rem;font-size:.72rem;transition:all .2s}.recipe-button:hover{color:var(--text-primary);border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.stack-notice{color:#fca5a5;border-left:2px solid var(--danger);background:#ef444414;border-radius:4px;padding:.55rem .65rem;font-size:.75rem;line-height:1.4}.effects-stack-container{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.empty-stack-message{text-align:center;height:100%;color:var(--text-muted);border:2px dashed var(--border-color);border-radius:var(--radius-md);justify-content:center;align-items:center;padding:2rem;display:flex}.empty-stack-message p{font-size:.9rem;line-height:1.5}.effect-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#ffffff05;flex:none;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.effect-card:hover{border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 6px 18px #0000004d}.effect-card-disabled{opacity:.5;border-style:dashed}.effect-card-header{border-bottom:1px solid var(--border-color);background-color:#0003;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.effect-card-info{align-items:center;gap:.75rem;display:flex}.drag-handle-grip{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:.1rem .3rem;font-size:1rem;font-weight:700}.effect-toggle-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.effect-name{cursor:pointer;color:var(--text-primary);font-size:.9rem;font-weight:600}.shader-source-link{color:var(--text-muted);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.1rem .35rem;font-family:monospace;font-size:.62rem;text-decoration:none}.shader-source-link:hover{color:var(--secondary);border-color:var(--secondary)}.effect-card-actions{gap:.25rem;display:flex}.reorder-btn,.delete-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;transition:all .15s;display:flex}.reorder-btn:hover:not(:disabled){color:var(--text-primary);background-color:#ffffff0d}.reorder-btn:disabled{opacity:.25;cursor:not-allowed}.delete-btn:hover{color:var(--danger);background-color:#ef444426}.effect-card-body{background-color:#0000001a;flex-direction:column;gap:1rem;padding:1rem;display:flex}.uniform-control-row{flex-direction:column;gap:.5rem;display:flex}.uniform-label{color:var(--text-secondary);justify-content:space-between;font-size:.8rem;font-weight:500;display:flex}.uniform-value-text{color:var(--text-primary);font-family:monospace;font-size:.75rem}.uniform-slider{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:9999px;outline:none;width:100%;height:4px}.uniform-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:50%;width:14px;height:14px;transition:transform .1s;box-shadow:0 0 6px #7c3aed66}.uniform-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.color-picker-wrapper{align-items:center;gap:.75rem;display:flex}.uniform-color-picker{-webkit-appearance:none;cursor:pointer;background:0 0;border:none;border-radius:50%;width:28px;height:28px;overflow:hidden}.uniform-color-picker::-webkit-color-swatch-wrapper{padding:0}.uniform-color-picker::-webkit-color-swatch{border:1px solid var(--border-color);border-radius:50%}.color-hex-text{color:var(--text-secondary);font-family:monospace;font-size:.8rem}.sidebar-footer{border-top:1px solid var(--border-color);background-color:#0003;flex-direction:column;gap:.65rem;padding:1.25rem 1.5rem;display:flex}.fps-counter-badge{border-width:1px;border-radius:9999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:flex}.pulse-dot{border-radius:50%;width:6px;height:6px}.pipeline-tip{color:var(--text-muted);font-size:.7rem;line-height:1.4}.vec2-control-group{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:#0003;flex-direction:column;gap:.5rem;width:100%;padding:.5rem;display:flex}.vec2-slider-row{align-items:center;gap:.5rem;display:flex}.vec2-axis-label{color:var(--text-muted);width:12px;font-size:.75rem;font-weight:700}.vec2-val{color:var(--text-secondary);text-align:right;min-width:42px;font-family:monospace;font-size:.72rem}@keyframes pulse-green{0%{transform:scale(.9);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.9);box-shadow:0 0 #10b98100}}.effect-card-dragging{opacity:.4;border-style:dashed}
