@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&family=Pixelify+Sans:wght@400;500;600;700&display=swap";:root{--bg-app:#0f1115;--bg-panel:#181b21;--bg-input:#0f1115;--border-color:#2a2e37;--primary:#6366f1;--primary-hover:#4f46e5;--accent:#06b6d4;--text-main:#e2e8f0;--text-muted:#94a3b8;--text-dim:#64748b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-glow:0 0 15px #6366f14d;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--bg-checkered-color:#d0d0d0}*{box-sizing:border-box}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;line-height:1.5}body.modal-open{overflow:hidden}.app{flex-direction:column;gap:40px;max-width:1400px;margin:0 auto;padding:40px 24px;display:flex}h1{letter-spacing:.02em;background:linear-gradient(135deg, #fff 0%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-family:Pixelify Sans,sans-serif;font-size:3.5rem;font-weight:700}.logo-p{background:linear-gradient(135deg,#dbeafe 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header-top{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.header-top .lang-selector{position:absolute;right:0}.lang-selector{align-items:center;gap:4px;display:flex}.lang-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:.8rem;font-weight:600;transition:all .2s}.lang-btn:hover{color:var(--text-muted);background:#ffffff0d}.lang-btn.active{color:var(--accent);background:#06b6d41a}.app-description{text-align:center;color:var(--text-muted);max-width:700px;margin:0 auto 32px;font-size:1.15rem;line-height:1.6}.badge-container{justify-content:center;margin-bottom:12px;display:flex;position:relative}.hero-badge{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#6366f11a;border:1px solid #6366f133;border-radius:9999px;align-items:center;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:0 0 20px #6366f126}.text-highlight{color:var(--text-main);border-bottom:1px solid #6366f14d;font-weight:500}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;font-weight:600;display:flex}h2:before{content:"";background:var(--accent);width:4px;height:16px;box-shadow:0 0 8px var(--accent);border-radius:2px;display:block}main{flex-direction:column;gap:40px;display:flex}.panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;padding:32px;transition:border-color .2s;display:flex}.settings-group{margin-bottom:40px}.settings-group:last-child{margin-bottom:0}.settings-group-title{color:var(--text-muted);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:.9rem;font-weight:600;display:flex}.settings-group-title:before{content:"";background:var(--primary);border-radius:1px;width:3px;height:12px;display:block}.panel:hover{border-color:#3f4451}.input-panel.drag-over{border-color:var(--primary);background:#6366f10d}.app-grid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=900px){.app-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.col-preview{position:sticky;top:24px}}.grid-settings{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px;margin-bottom:24px;display:grid}.setting-item{flex-direction:column;gap:8px;display:flex}.setting-item.disabled{display:none}.setting-item.full-width{grid-column:1/-1}.input-with-slider,.input-with-button{align-items:center;gap:12px;display:flex}.input-with-slider input[type=range]{background:var(--bg-input);height:6px;accent-color:var(--primary);cursor:pointer;border-radius:3px;flex:1}.input-with-slider input[type=number]{text-align:right;width:70px}.input-unit-wrapper{align-items:center;gap:4px;display:flex}.unit-text{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.canvas-container{background:var(--bg-input);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:100%;height:400px;display:flex;position:relative;overflow:hidden}#input-canvas-container{cursor:pointer}canvas{width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;z-index:2;display:none}.compare-modal-content{height:90vh;width:95vw!important;max-width:95vw!important}.compare-modal-body{background:var(--bg-input);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;padding:0!important}.compare-mode-controls{margin-left:auto;margin-right:8px}.compare-container{width:100%;height:100%;position:relative}.img-comp-container{width:100%;height:100%;position:relative;overflow:hidden}.img-comp-container.bg-checkered{background-color:#f0f0f0;background-image:linear-gradient(45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(-45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg-checkered-color) 75%), linear-gradient(-45deg, transparent 75%, var(--bg-checkered-color) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.img-comp-container.bg-white{background-color:#fff}.img-comp-container.bg-black{background-color:#000}.img-comp-container.bg-green{background-color:#0f0}.img-comp-img{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.img-comp-img img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.img-comp-overlay{z-index:1;width:50%}#comp-slider-handle{z-index:9;cursor:col-resize;justify-content:center;align-items:center;width:40px;margin-left:-20px;display:flex;position:absolute;top:0;bottom:0;left:50%}.handle-line{background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 10px #00000080}.handle-circle{width:40px;height:40px;color:var(--primary);z-index:10;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 10px #00000080}.view-controls{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-right:12px;padding:4px;display:flex}.view-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.view-btn:hover{color:var(--text-muted)}.view-btn.active{background:var(--primary);color:#fff}#grid-canvas{pointer-events:none;z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-container.zoom-enabled canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;left:0;transform:none}.panel.has-image canvas{display:block}.panel.has-image .js-result-canvas-container,.modal.has-image .js-result-canvas-container{cursor:pointer}.result-modal-body .js-result-canvas-container{border:none;border-radius:0;flex:1;width:100%;min-height:0}.js-result-canvas-container.zoom-enabled .js-result-canvas,.js-result-canvas-container.zoom-enabled .js-grid-canvas{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none}.js-result-canvas-container.zoom-enabled{justify-content:center;align-items:center;overflow:hidden}.panel.has-image #grid-canvas{display:none}.panel.has-image .canvas-container.grid-enabled #grid-canvas{display:block}.panel.has-image .placeholder,.panel.is-processing .placeholder{display:none}.placeholder{color:var(--text-dim);text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;padding:20px;display:flex}.drop-icon{justify-content:center;align-items:center;display:flex}.drop-icon img{width:104px;height:74px;image-rendering:pixelated;opacity:.6}.drop-text{text-align:center;font-size:1rem;font-weight:500}.drop-subtext{color:var(--text-dim);opacity:.8;margin-top:4px;font-size:.85rem;display:block}label{flex-direction:column;gap:8px;display:flex}.label-text{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}input[type=number],input[type=text]{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);padding:8px 12px;font-family:inherit;font-size:.9rem;transition:all .2s}input[type=number]:focus,input[type=text]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #6366f133}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;padding:8px 12px;font-family:inherit;font-size:.9rem;transition:all .2s}select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #6366f133}.rgb-input-group{align-items:center;gap:8px;display:flex}.rgb-input-group input[type=text]{flex:1}.icon-button{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.icon-button:hover{background:var(--border-color);color:var(--text-main)}.icon-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.modal{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal .modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.close-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.close-button:hover{color:var(--text-main)}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex;overflow:hidden}.modal-instruction{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.modal-canvas-container{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;overflow:auto}.modal-canvas-container canvas{cursor:crosshair;max-width:none;max-height:none;image-rendering:pixelated;display:block}.process-action-button{width:100%;margin-top:24px}.result-actions{padding:16px 0 0;display:flex}.app{padding-bottom:40px}.quick-settings{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:40px;padding:32px}.action-button{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;border-radius:var(--radius-md);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #6366f166}.action-button.download-button{background:linear-gradient(135deg, var(--accent) 0%, #0891b2 100%);box-shadow:0 4px 6px -1px #06b6d466}.action-button:hover:not(:disabled){box-shadow:0 8px 12px -1px #6366f180}.action-button.download-button:hover:not(:disabled){box-shadow:0 8px 12px -1px #06b6d480}.action-button:disabled{background:var(--bg-panel);color:var(--text-dim);cursor:not-allowed;box-shadow:none;border:1px solid var(--border-color);opacity:.6}.download-group{flex:1;display:flex;position:relative}.download-group .download-button{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.download-dropdown-button{background:linear-gradient(135deg, var(--accent) 0%, #0891b2 100%);border-top-left-radius:0;border-bottom-left-radius:0;flex:0 0 50px;min-width:50px;border-left:1px solid #ffffff1a!important;padding:0!important}.download-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;flex-direction:column;min-width:200px;margin-bottom:8px;display:none;position:absolute;bottom:100%;right:0;overflow:hidden}.image-list-panel .download-menu{margin-top:8px;margin-bottom:0;top:100%;bottom:auto}.download-menu.show{display:flex}.download-menu button{color:var(--text-main);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-color);background:0 0;padding:12px 16px;font-family:inherit;font-size:.9rem;transition:background .2s}.download-menu button:last-child{border-bottom:none}.download-menu button:hover{background:#ffffff0d}.candidates-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:3001;flex-direction:column;min-width:200px;display:flex;position:absolute;overflow:hidden}.candidates-menu button{color:var(--text-main);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-color);background:0 0;padding:12px 16px;font-family:inherit;font-size:.9rem;transition:background .2s}.candidates-menu button:last-child{border-bottom:none}.candidates-menu button:hover{background:#ffffff0d}.error-toast{color:#fff;border-radius:var(--radius-md);z-index:1000;opacity:0;pointer-events:none;background:#ef4444;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 15px -3px #0006}.error-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.info-toast{background:var(--accent);color:#fff;border-radius:var(--radius-md);z-index:1000;opacity:0;pointer-events:none;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 15px -3px #0006}.info-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.status,.status-text{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.85rem}.status-bar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.controls-right{align-items:center;gap:12px;display:flex}.bg-selector{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);gap:4px;padding:4px;display:flex}.output-panel:not(.has-image) .bg-selector,.output-panel:not(.has-image) .zoom-toggle,.output-panel:not(.has-image) .view-controls{display:none}.bg-btn{cursor:pointer;border:1px solid #ffffff1a;border-radius:3px;width:20px;height:20px;padding:0;transition:all .2s}.bg-btn:hover{border-color:#ffffff4d;transform:scale(1.1)}.bg-btn.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.bg-btn.bg-white{background-color:#fff}.bg-btn.bg-black{background-color:#000}.bg-btn.bg-green{background-color:#0f0}.bg-btn.bg-checkered{background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.has-image .canvas-container.bg-white{background:#fff}.has-image .canvas-container.bg-black{background:#000}.has-image .canvas-container.bg-green{background:#0f0}.has-image .canvas-container.bg-checkered{background-color:#f0f0f0;background-image:linear-gradient(45deg,#d0d0d0 25%,#0000 25%),linear-gradient(-45deg,#d0d0d0 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d0d0d0 75%),linear-gradient(-45deg,#0000 75%,#d0d0d0 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.js-result-canvas-container{background-color:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color);justify-content:center;align-items:center;min-height:300px;display:flex;position:relative;overflow:hidden}.js-result-canvas-container.has-image.bg-white{background-color:#fff!important;background-image:none!important}.js-result-canvas-container.has-image.bg-black{background-color:#000!important;background-image:none!important}.js-result-canvas-container.has-image.bg-green{background-color:#0f0!important;background-image:none!important}.js-result-canvas-container.has-image.bg-checkered{background-image:linear-gradient(45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(-45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg-checkered-color) 75%), linear-gradient(-45deg, transparent 75%, var(--bg-checkered-color) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;background-color:#f0f0f0!important}.js-result-canvas-container .placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.js-result-canvas,.js-grid-canvas{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated}.js-result-canvas-container:not(.has-image) .js-result-canvas,.js-result-canvas-container:not(.has-image) .js-grid-canvas{display:none}.js-grid-canvas{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.status{margin-bottom:12px}.status span,.status-text span{color:var(--accent)}.loading-overlay{z-index:10;background:#0f1115cc;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.spinner{border:4px solid #6366f11a;border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-main);font-size:1rem;font-weight:500}.zoom-toggle{cursor:pointer;color:var(--text-dim);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.zoom-toggle:hover{color:var(--text-main);background:#ffffff0d}.zoom-toggle input{display:none}.zoom-toggle:has(input:checked){color:var(--accent);background:#06b6d41a}.help{background:var(--border-color);width:16px;height:16px;color:var(--text-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex;position:relative}.app-footer{border-top:1px solid var(--border-color);width:100%;margin-top:auto;padding:32px 0 16px}.footer-content{color:var(--text-dim);flex-direction:row;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.footer-links{align-items:center;gap:12px;display:flex}.footer-links a{color:var(--text-dim);align-items:center;text-decoration:none;transition:color .2s;display:flex}.footer-links a:hover{color:var(--text-muted)}.separator{color:var(--border-color);opacity:.3}.privacy-note{color:var(--text-dim);opacity:.7;align-items:center;font-size:.8rem;display:flex}.js-output-size{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem}.app-version{color:var(--text-dim);vertical-align:middle;background:#ffffff0d;border-radius:4px;margin-left:8px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.75rem}@media (width<=640px){.footer-content{flex-direction:column;gap:12px}}.palette-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px;animation:.3s ease-in-out fadeIn}.palette-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:.9rem;font-weight:600}.palette-colors{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.color-swatch{cursor:pointer;border:1px solid #ffffff26;border-radius:4px;width:28px;height:28px;transition:all .15s cubic-bezier(.175,.885,.32,1.275);position:relative;box-shadow:0 2px 4px #0003}.color-swatch:hover{z-index:10;border-color:#fffc;transform:scale(1.2)translateY(-2px);box-shadow:0 4px 8px #0000004d}.palette-actions{flex-wrap:wrap;gap:12px;display:flex}.small-button{flex:0 auto;padding:10px 16px;font-size:.85rem}.outline-button{border:1px solid var(--primary);color:var(--primary);box-shadow:none;background:0 0}.outline-button:hover:not(:disabled){background:#6366f11a;box-shadow:0 4px 6px -1px #6366f133}.accent-outline-button{border-color:var(--accent);color:var(--accent)}.accent-outline-button:hover:not(:disabled){background:#06b6d41a;box-shadow:0 4px 6px -1px #06b6d433}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:3000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-overlay .modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:80vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.2rem}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-panel);padding:16px 24px}.palette-actions{justify-content:flex-end;gap:12px;display:flex}.custom-tooltip{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;z-index:10000;opacity:0;white-space:pre-wrap;max-width:300px;padding:8px 12px;font-size:12px;line-height:1.4;transition:opacity .15s ease-in-out;position:fixed}.custom-tooltip.show{opacity:1}.result-modal-content{height:90vh;width:95vw!important;max-width:95vw!important}.result-modal-body{background:var(--bg-input);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;padding:0!important}#result-modal-image{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.panel.has-image #result-canvas-container{cursor:pointer}.image-list-panel{background-color:#1a1d23;border:1px solid #2a2e35;border-radius:8px;margin-top:1rem;padding:1rem}.image-list-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.image-list-header h2{color:#e0e0e0;margin:0;font-size:1rem}.batch-controls{align-items:center;gap:.5rem;display:flex}.text-button{color:#a0a0a0;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.text-button:hover{color:#fff;background-color:#ffffff0d}.text-button.danger-text{color:#ff6b6b}.text-button.danger-text:hover{background-color:#ff6b6b1a}.image-list-container{scrollbar-width:thin;scrollbar-color:#4a4e55 #1a1d23;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.image-list-container::-webkit-scrollbar{height:8px}.image-list-container::-webkit-scrollbar-track{background:#1a1d23}.image-list-container::-webkit-scrollbar-thumb{background-color:#4a4e55;border-radius:4px}.image-item{cursor:pointer;background-color:#0f1115;background-image:linear-gradient(45deg,#1a1d23 25%,#0000 25%),linear-gradient(-45deg,#1a1d23 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1d23 75%),linear-gradient(-45deg,#0000 75%,#1a1d23 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border:2px solid #0000;border-radius:6px;flex:0 0 80px;width:80px;height:80px;transition:border-color .2s;position:relative;overflow:hidden}.image-item.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f680}.image-item img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.image-item .remove-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:2px;right:2px}.image-item:hover .remove-btn{opacity:1}.image-item .remove-btn:hover{background:#ff4757}.image-item .status-indicator{z-index:5;border:1px solid #00000080;border-radius:50%;width:10px;height:10px;position:absolute;bottom:4px;right:4px}.image-item[data-status=done] .status-indicator{background-color:#2ed573}.image-item[data-status=processing] .status-indicator{background-color:#ffa502;animation:1s infinite pulse}.image-item[data-status=error] .status-indicator{background-color:#ff4757}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}
