.single-image-uploader.svelte-inh6v9{position:relative;width:100%;border:2px dashed var(--color-border, rgba(0, 0, 0, .2));border-radius:8px;background:var(--color-bg-secondary, #f5f0e8);transition:all .2s ease}.single-image-uploader.dragging.svelte-inh6v9{border-color:var(--color-primary, #ff8c00);background:#ff8c000d}.single-image-uploader.has-image.svelte-inh6v9{border-style:solid}.upload-area.svelte-inh6v9{display:flex;align-items:center;justify-content:center;min-height:120px;cursor:pointer;padding:20px}.upload-area.svelte-inh6v9 input:where(.svelte-inh6v9){display:none}.upload-content.svelte-inh6v9{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-text-muted, #666)}.upload-content.svelte-inh6v9 svg:where(.svelte-inh6v9){opacity:.5}.upload-content.svelte-inh6v9 span:where(.svelte-inh6v9){font-size:.875rem}.image-preview.svelte-inh6v9{position:relative;display:flex;align-items:center;justify-content:center;padding:8px}.image-preview.svelte-inh6v9 img:where(.svelte-inh6v9){max-width:100%;max-height:150px;border-radius:6px;-o-object-fit:contain;object-fit:contain}.remove-btn.svelte-inh6v9{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:#0009;color:#fff;cursor:pointer;transition:background .15s ease}.remove-btn.svelte-inh6v9:hover{background:#dc3545e6}.upload-overlay.svelte-inh6v9{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#000000b3;border-radius:6px;color:#fff;font-size:.875rem}.spinner.svelte-inh6v9{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:svelte-inh6v9-spin .8s linear infinite}@keyframes svelte-inh6v9-spin{to{transform:rotate(360deg)}}.size-info.svelte-inh6v9{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;font-size:.75rem;color:var(--color-text-muted, #666)}.size-info.svelte-inh6v9 .original:where(.svelte-inh6v9){text-decoration:line-through;opacity:.6}.size-info.svelte-inh6v9 .optimized:where(.svelte-inh6v9){color:#22c55e;font-weight:500}.error-message.svelte-inh6v9{padding:8px 12px;margin-top:8px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.8125rem}.dark .single-image-uploader.svelte-inh6v9{background:var(--color-bg-secondary, #2a2a2a);border-color:#ffffff1a}.dark .single-image-uploader.dragging.svelte-inh6v9{border-color:var(--color-primary, #ff8c00);background:#ff8c001a}.dark .upload-content.svelte-inh6v9,.dark .size-info.svelte-inh6v9{color:var(--color-text-muted, #94a3b8)}.dark .error-message.svelte-inh6v9{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}
