[data-v-02d57caa]{box-sizing:border-box;margin:0;padding:0}.app-container[data-v-02d57caa]{min-height:100vh;background:linear-gradient(135deg,#fce4ec,#f8bbd9);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app-content[data-v-02d57caa]{max-width:1200px;margin:0 auto}.card-container[data-v-02d57caa]{background:#fff;border-radius:16px;padding:32px;box-shadow:0 8px 32px #00000014}.page-header[data-v-02d57caa]{text-align:center;margin-bottom:32px}.modern-title[data-v-02d57caa]{font-size:28px;font-weight:700;color:#d81b60;margin-bottom:8px;letter-spacing:-.5px}.page-description[data-v-02d57caa]{font-size:16px;color:#636366;line-height:1.6}.main-content[data-v-02d57caa]{display:flex;gap:24px;flex-wrap:wrap}.left-panel[data-v-02d57caa]{width:280px;flex-shrink:0}.uploaded-images[data-v-02d57caa]{background:#f8f9fa;border-radius:12px;padding:16px;border:1px dashed #e5e5ea;min-height:200px;display:flex;flex-wrap:wrap;gap:10px}.uploaded-image-item[data-v-02d57caa]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;cursor:grab;margin-bottom:8px;border:2px solid transparent;transition:all .3s ease}.uploaded-image-item[data-v-02d57caa]:hover{border-color:#d81b60;transform:scale(1.05)}.uploaded-image-item[data-v-02d57caa]:active{cursor:grabbing}.uploaded-thumbnail[data-v-02d57caa]{width:100%;height:100%;object-fit:cover}.remove-btn[data-v-02d57caa]{position:absolute;top:2px;right:2px;width:18px;height:18px;border:none;border-radius:50%;background:#ff3b30e6;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.uploaded-image-item:hover .remove-btn[data-v-02d57caa]{opacity:1}.upload-button[data-v-02d57caa]{width:60px;height:60px;border-radius:8px;border:2px dashed #d1d1d6;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.upload-button[data-v-02d57caa]:hover{border-color:#d81b60;background:#fce4ec}.upload-icon[data-v-02d57caa]{font-size:24px;color:#8e8e93}.upload-label[data-v-02d57caa]{font-size:10px;color:#8e8e93;margin-top:2px}.upload-button:hover .upload-icon[data-v-02d57caa],.upload-button:hover .upload-label[data-v-02d57caa]{color:#d81b60}.file-input[data-v-02d57caa]{display:none}.action-buttons[data-v-02d57caa]{display:flex;flex-direction:column;gap:12px;margin-top:16px}.btn[data-v-02d57caa]{height:44px;padding:0 16px;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn[data-v-02d57caa]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-02d57caa]{background:linear-gradient(135deg,#d81b60,#c2185b);color:#fff}.btn.primary[data-v-02d57caa]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #d81b6066}.btn.secondary[data-v-02d57caa]{background:#f2f2f7;color:#3a3a3c;border:1px solid #d1d1d6}.btn.secondary[data-v-02d57caa]:hover:not(:disabled){background:#e5e5ea}.btn.success[data-v-02d57caa]{background:linear-gradient(135deg,#34c759,#28a745);color:#fff}.btn.success[data-v-02d57caa]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #34c75966}.right-panel[data-v-02d57caa]{flex:1;min-width:300px}.design-header[data-v-02d57caa]{text-align:center;margin-bottom:16px;font-size:14px;color:#636366}.heart-grid-container[data-v-02d57caa]{display:flex;justify-content:center;padding:20px;background:#fafafa;border-radius:12px;min-height:300px}.heart-grid[data-v-02d57caa]{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);gap:4px;width:300px;height:250px}.grid-cell[data-v-02d57caa]{border-radius:4px;background:#fff;border:1px solid #e5e5ea;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;overflow:hidden}.grid-cell.active[data-v-02d57caa]{background:#fce4ec}.grid-cell.has-image[data-v-02d57caa]{background:#fff}.grid-cell.drag-over[data-v-02d57caa]{border-color:#d81b60;background:#f8bbd9}.cell-image-wrapper[data-v-02d57caa]{width:100%;height:100%;overflow:hidden;position:relative}.cell-image[data-v-02d57caa]{width:100%;height:100%;object-fit:cover;cursor:move}.cell-placeholder[data-v-02d57caa]{color:#d1d1d6;font-size:20px}.tips[data-v-02d57caa]{text-align:center;margin-top:16px}.tips p[data-v-02d57caa]{font-size:12px;color:#8e8e93}.result-section[data-v-02d57caa]{margin-top:32px}.result-section h3[data-v-02d57caa]{font-size:20px;font-weight:600;color:#1c1c1e;margin-bottom:16px;text-align:center}.result-preview[data-v-02d57caa]{background:#fafafa;border-radius:12px;padding:20px;text-align:center}.collage-image[data-v-02d57caa]{display:block;margin:0 auto;max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000001a;cursor:pointer}.result-info[data-v-02d57caa]{margin-top:12px}.result-info p[data-v-02d57caa]{font-size:14px;color:#636366}.result-info p strong[data-v-02d57caa]{color:#1c1c1e}.processing-overlay[data-v-02d57caa]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.processing-content[data-v-02d57caa]{background:#fff;padding:32px;border-radius:16px;min-width:320px;text-align:center;box-shadow:0 10px 40px #0003}.progress-bar[data-v-02d57caa]{width:100%;height:8px;background:#e5e5ea;border-radius:4px;overflow:hidden;margin-bottom:16px}.progress-fill[data-v-02d57caa]{height:100%;background:linear-gradient(135deg,#d81b60,#c2185b);border-radius:4px;transition:width .3s ease}.processing-content p[data-v-02d57caa]{margin:0;font-size:16px;color:#1c1c1e;font-weight:500}.message-toast[data-v-02d57caa]{position:fixed;top:32px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:9999;animation:slideDown-02d57caa .3s ease}.message-toast.info[data-v-02d57caa]{background:#007affe6;color:#fff}.message-toast.success[data-v-02d57caa]{background:#34c759e6;color:#fff}.message-toast.warning[data-v-02d57caa]{background:#ff9500e6;color:#fff}.message-toast.error[data-v-02d57caa]{background:#ff3b30e6;color:#fff}@keyframes slideDown-02d57caa{0%{top:-100px;opacity:0}to{top:32px;opacity:1}}.image-preview-overlay[data-v-02d57caa]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-02d57caa .3s ease}.image-preview-content[data-v-02d57caa]{position:relative;max-width:90%;max-height:90%;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0000004d}.image-preview-close[data-v-02d57caa]{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.image-preview-close[data-v-02d57caa]:hover{background:#ff3b30e6;transform:scale(1.1)}.image-preview-img[data-v-02d57caa]{max-width:100%;max-height:90vh;object-fit:contain;display:block;animation:zoomIn-02d57caa .3s ease}@keyframes fadeIn-02d57caa{0%{opacity:0}to{opacity:1}}@keyframes zoomIn-02d57caa{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:767px){.app-container[data-v-02d57caa]{padding:12px}.card-container[data-v-02d57caa]{padding:20px}.modern-title[data-v-02d57caa]{font-size:24px}.main-content[data-v-02d57caa]{flex-direction:column}.left-panel[data-v-02d57caa]{width:100%}.uploaded-images[data-v-02d57caa]{display:flex;flex-wrap:wrap;gap:8px;min-height:auto}.uploaded-image-item[data-v-02d57caa],.upload-button[data-v-02d57caa]{margin-bottom:0}.action-buttons[data-v-02d57caa]{flex-direction:row;flex-wrap:wrap}.btn[data-v-02d57caa]{flex:1;min-width:100px}.heart-grid[data-v-02d57caa]{width:100%;max-width:300px;aspect-ratio:6/5}.collage-image[data-v-02d57caa]{max-height:300px}.processing-content[data-v-02d57caa]{margin:0 20px;min-width:auto;width:calc(100% - 40px)}}@media(max-width:480px){.card-container[data-v-02d57caa]{padding:16px}.uploaded-image-item[data-v-02d57caa],.upload-button[data-v-02d57caa]{width:50px;height:50px}.upload-icon[data-v-02d57caa]{font-size:20px}.upload-label[data-v-02d57caa]{font-size:9px}.heart-grid-container[data-v-02d57caa]{padding:12px}}
