body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh}.auth-container[data-v-4f18116c]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card[data-v-4f18116c]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.auth-title[data-v-4f18116c]{text-align:center;margin-bottom:30px;font-size:28px;color:#333}.auth-form[data-v-4f18116c]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-4f18116c]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-4f18116c]{font-weight:600;color:#333;font-size:14px}.form-group input[data-v-4f18116c]{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .3s}.form-group input[data-v-4f18116c]:focus{outline:none;border-color:#667eea}.error-message[data-v-4f18116c]{padding:12px;background:#fee;color:#c33;border-radius:8px;border-left:4px solid #c33;font-size:14px}.btn[data-v-4f18116c]{padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary[data-v-4f18116c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-4f18116c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn[data-v-4f18116c]:disabled{opacity:.6;cursor:not-allowed}.auth-switch[data-v-4f18116c]{text-align:center;margin-top:20px;color:#666;font-size:14px}.auth-switch a[data-v-4f18116c]{color:#667eea;cursor:pointer;font-weight:600}.auth-switch a[data-v-4f18116c]:hover{text-decoration:underline}.home-container[data-v-8fb5a1df]{min-height:100vh;background:#f5f5f5}.home-header[data-v-8fb5a1df]{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a}.header-content[data-v-8fb5a1df]{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo[data-v-8fb5a1df]{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info[data-v-8fb5a1df]{display:flex;align-items:center;gap:16px}.username[data-v-8fb5a1df]{font-weight:600;color:#333}.btn-logout[data-v-8fb5a1df]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-logout[data-v-8fb5a1df]:hover{background:#e0e0e0}.home-main[data-v-8fb5a1df]{max-width:1200px;margin:0 auto;padding:40px 20px}.section-title[data-v-8fb5a1df]{font-size:24px;color:#333;margin-bottom:24px}.feature-grid[data-v-8fb5a1df]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin-bottom:48px}.feature-card[data-v-8fb5a1df]{background:#fff;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a;position:relative}.feature-card[data-v-8fb5a1df]:hover:not(.coming-soon){transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.feature-card.coming-soon[data-v-8fb5a1df]{opacity:.6;cursor:not-allowed}.feature-icon[data-v-8fb5a1df]{font-size:48px;margin-bottom:16px}.feature-title[data-v-8fb5a1df]{font-size:18px;color:#333;margin-bottom:8px}.feature-desc[data-v-8fb5a1df]{color:#666;font-size:14px;margin-bottom:16px}.feature-status[data-v-8fb5a1df]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.feature-status.available[data-v-8fb5a1df]{background:#e8f5e9;color:#4caf50}.feature-status[data-v-8fb5a1df]:not(.available){background:#fff3e0;color:#ff9800}.history-header[data-v-8fb5a1df]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.view-all[data-v-8fb5a1df]{color:#667eea;text-decoration:none;font-weight:600}.view-all[data-v-8fb5a1df]:hover{text-decoration:underline}.history-list[data-v-8fb5a1df]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.history-item[data-v-8fb5a1df]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;cursor:pointer;transition:background .3s}.history-item[data-v-8fb5a1df]:hover{background:#f9f9f9}.history-item[data-v-8fb5a1df]:last-child{border-bottom:none}.history-info[data-v-8fb5a1df]{flex:1}.history-type[data-v-8fb5a1df]{display:inline-block;padding:4px 8px;background:#e3f2fd;color:#2196f3;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:8px}.history-prompt[data-v-8fb5a1df]{color:#333;font-size:14px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.history-time[data-v-8fb5a1df]{color:#999;font-size:12px}.history-status[data-v-8fb5a1df]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.history-status.success[data-v-8fb5a1df]{background:#e8f5e9;color:#4caf50}.history-status.pending[data-v-8fb5a1df]{background:#fff3e0;color:#ff9800}.history-status.failed[data-v-8fb5a1df]{background:#ffebee;color:#f44336}.empty-history[data-v-8fb5a1df]{background:#fff;border-radius:12px;padding:40px;text-align:center;color:#999;box-shadow:0 2px 8px #0000001a}.page-header[data-v-c6776f10]{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.page-title[data-v-c6776f10]{font-size:24px;color:#333}.btn-back[data-v-c6776f10]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-back[data-v-c6776f10]:hover{background:#e0e0e0}.image-generator[data-v-c6776f10]{padding:20px;max-width:800px;margin:0 auto}.form-group[data-v-c6776f10]{margin-bottom:20px}.form-group label[data-v-c6776f10]{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input[data-v-c6776f10],.form-group textarea[data-v-c6776f10]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input[data-v-c6776f10]:focus,.form-group textarea[data-v-c6776f10]:focus{outline:none;border-color:#4a90e2}.form-group textarea[data-v-c6776f10]{min-height:100px;resize:vertical}.image-upload-container[data-v-c6776f10]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:12px}.image-upload-item[data-v-c6776f10]{position:relative}.image-preview[data-v-c6776f10]{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid #ddd;box-shadow:0 2px 4px #0000001a}.image-preview img[data-v-c6776f10]{width:100%;height:100%;object-fit:cover}.image-number[data-v-c6776f10]{text-align:center;margin-top:8px;font-size:12px;color:#666;font-weight:500}.btn-remove[data-v-c6776f10]{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;color:#f44336;border:none;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:all .2s}.btn-remove[data-v-c6776f10]:hover{background:#f44336;color:#fff;transform:scale(1.1)}.image-upload-placeholder[data-v-c6776f10]{aspect-ratio:1;border:2px dashed #ddd;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;background:#fafafa}.image-upload-placeholder[data-v-c6776f10]:hover{border-color:#4a90e2;background:#f0f7ff}.upload-icon[data-v-c6776f10]{font-size:36px;color:#999;margin-bottom:8px}.image-upload-placeholder p[data-v-c6776f10]{margin:4px 0;color:#666;font-size:14px}.upload-hint[data-v-c6776f10]{font-size:12px;color:#999}.file-input[data-v-c6776f10]{display:none}.size-options[data-v-c6776f10]{display:flex;gap:15px;flex-wrap:wrap}.size-option[data-v-c6776f10]{display:flex;align-items:center;gap:6px}.size-option input[type=radio][data-v-c6776f10]{width:auto;margin:0}.size-option label[data-v-c6776f10]{margin:0;font-weight:400;cursor:pointer}.button-group[data-v-c6776f10]{display:flex;gap:12px;margin-top:24px}.btn[data-v-c6776f10]{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn[data-v-c6776f10]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-c6776f10]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-c6776f10]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-c6776f10]{background:#f5f5f5;color:#333}.btn-secondary[data-v-c6776f10]:hover:not(:disabled){background:#e0e0e0}.error-message[data-v-c6776f10]{margin-top:16px;padding:12px;background:#fee;color:#c33;border-radius:8px;border-left:4px solid #c33;font-size:14px}.result-section[data-v-c6776f10]{margin-top:32px;padding-top:24px;border-top:2px solid #eee}.result-section h2[data-v-c6776f10]{margin-bottom:16px;font-size:20px;color:#333}.result-images[data-v-c6776f10]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:16px}.result-image[data-v-c6776f10]{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .3s}.result-image[data-v-c6776f10]:hover{transform:scale(1.02)}.result-image img[data-v-c6776f10]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-c6776f10]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.result-image:hover .image-overlay[data-v-c6776f10]{opacity:1}.preview-btn[data-v-c6776f10]{padding:8px 16px;background:#fff;color:#333;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s}.preview-btn[data-v-c6776f10]:hover{background:#f0f0f0}.loading-spinner[data-v-c6776f10]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.spinner[data-v-c6776f10]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-c6776f10 1s linear infinite;margin-bottom:16px}@keyframes spin-c6776f10{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-modal[data-v-c6776f10]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.image-modal img[data-v-c6776f10]{max-width:90%;max-height:90%;object-fit:contain;cursor:default}.modal-close[data-v-c6776f10]{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#fff3;color:#fff;border:none;border-radius:50%;font-size:24px;cursor:pointer;transition:background .3s}.modal-close[data-v-c6776f10]:hover{background:#fff6}.history-container[data-v-93d53889]{min-height:100vh;background:#f5f5f5}.history-header[data-v-93d53889]{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.page-title[data-v-93d53889]{font-size:24px;color:#333}.btn[data-v-93d53889]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-back[data-v-93d53889]{background:#f5f5f5;color:#333}.btn-back[data-v-93d53889]:hover{background:#e0e0e0}.btn-view[data-v-93d53889]{background:#e3f2fd;color:#2196f3}.btn-view[data-v-93d53889]:hover{background:#bbdefb}.btn-delete[data-v-93d53889]{background:#ffebee;color:#f44336}.btn-delete[data-v-93d53889]:hover{background:#ffcdd2}.btn-page[data-v-93d53889]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-93d53889]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-93d53889]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.history-content[data-v-93d53889]{max-width:1200px;margin:40px auto;padding:0 20px}.history-list[data-v-93d53889]{display:flex;flex-direction:column;gap:16px}.history-card[data-v-93d53889]{background:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.history-main[data-v-93d53889]{flex:1}.history-type[data-v-93d53889]{display:inline-block;padding:4px 12px;background:#e3f2fd;color:#2196f3;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:8px}.history-prompt[data-v-93d53889]{color:#333;font-size:16px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.history-meta[data-v-93d53889]{display:flex;gap:20px;color:#999;font-size:14px}.history-actions[data-v-93d53889]{display:flex;gap:12px}.pagination[data-v-93d53889]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px}.page-info[data-v-93d53889]{color:#666}.loading[data-v-93d53889]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px;color:#666}.spinner[data-v-93d53889]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-93d53889 1s linear infinite}@keyframes spin-93d53889{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty[data-v-93d53889]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:24px}.empty-icon[data-v-93d53889]{font-size:64px}.empty p[data-v-93d53889]{color:#999;font-size:18px}.modal[data-v-93d53889]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-93d53889]{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;animation:slideIn-93d53889 .3s}@keyframes slideIn-93d53889{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-93d53889]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #eee}.modal-header h2[data-v-93d53889]{font-size:20px;color:#333}.btn-close[data-v-93d53889]{width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;font-size:24px;cursor:pointer;transition:background .3s}.btn-close[data-v-93d53889]:hover{background:#e0e0e0}.modal-body[data-v-93d53889]{padding:24px}.detail-row[data-v-93d53889]{display:flex;margin-bottom:16px}.detail-label[data-v-93d53889]{font-weight:600;color:#666;min-width:120px}.detail-value[data-v-93d53889]{color:#333;flex:1}.detail-value.status.success[data-v-93d53889]{color:#4caf50}.detail-value.status.pending[data-v-93d53889]{color:#ff9800}.detail-value.status.failed[data-v-93d53889],.detail-value.error[data-v-93d53889]{color:#f44336}.detail-section[data-v-93d53889]{margin-top:24px}.detail-section h3[data-v-93d53889]{font-size:16px;color:#333;margin-bottom:12px}.image-grid[data-v-93d53889]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.detail-image[data-v-93d53889]{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .3s}.detail-image[data-v-93d53889]:hover{transform:scale(1.05)}.preview-modal[data-v-93d53889]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.preview-modal img[data-v-93d53889]{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}.preview-modal .modal-close[data-v-93d53889]{position:absolute;top:20px;right:20px}.picture-book-container[data-v-7fd473f6]{min-height:100vh;background:#f5f5f5}.page-header[data-v-7fd473f6]{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.page-title[data-v-7fd473f6]{font-size:24px;color:#333;margin:0}.btn-back[data-v-7fd473f6]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-back[data-v-7fd473f6]:hover{background:#e0e0e0}.content-wrapper[data-v-7fd473f6]{max-width:1200px;margin:0 auto;padding:40px 20px}.filter-section[data-v-7fd473f6]{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;display:flex;gap:20px;align-items:center}.filter-group[data-v-7fd473f6]{display:flex;align-items:center;gap:12px}.filter-group label[data-v-7fd473f6]{font-weight:600;color:#333}.filter-group select[data-v-7fd473f6]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:150px}.search-group[data-v-7fd473f6]{flex:1}.search-input[data-v-7fd473f6]{width:100%;padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px}.loading-container[data-v-7fd473f6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.spinner[data-v-7fd473f6]{width:40px;height:40px;border:4px solid #f3f3f3f;border-top:4px solid #667eea;border-radius:50%;animation:spin-7fd473f6 1s linear infinite}@keyframes spin-7fd473f6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-container[data-v-7fd473f6]{background:#fff;border-radius:12px;padding:60px 20px;text-align:center;color:#999}.templates-grid[data-v-7fd473f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:32px}.template-card[data-v-7fd473f6]{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a}.template-card[data-v-7fd473f6]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.template-cover[data-v-7fd473f6]{position:relative;width:100%;padding-top:75%;overflow:hidden}.template-cover img[data-v-7fd473f6]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.template-overlay[data-v-7fd473f6]{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.template-info[data-v-7fd473f6]{padding:16px}.template-name[data-v-7fd473f6]{font-size:18px;color:#333;margin:0 0 8px}.template-desc[data-v-7fd473f6]{color:#666;font-size:14px;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-tags[data-v-7fd473f6]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-7fd473f6]{display:inline-block;padding:4px 10px;background:#e3f2fd;color:#2196f3;border-radius:12px;font-size:12px;font-weight:600}.pagination[data-v-7fd473f6]{display:flex;justify-content:center;gap:8px;margin-top:32px}.page-btn[data-v-7fd473f6]{padding:8px 16px;background:#fff;color:#333;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .3s}.page-btn[data-v-7fd473f6]:hover{background:#f5f5f5}.page-btn.active[data-v-7fd473f6]{background:#667eea;color:#fff;border-color:#667eea}.editor-container[data-v-bb10268c]{min-height:100vh;background:#f5f5f5}.page-header[data-v-bb10268c]{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.page-title[data-v-bb10268c]{font-size:24px;color:#333;margin:0}.btn-back[data-v-bb10268c]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-back[data-v-bb10268c]:hover{background:#e0e0e0}.loading-container[data-v-bb10268c],.error-container[data-v-bb10268c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.spinner[data-v-bb10268c]{width:40px;height:40px;border:4px solid #f3f3f3f;border-top:4px solid #667eea;border-radius:50%;animation:spin-bb10268c 1s linear infinite}@keyframes spin-bb10268c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary[data-v-bb10268c]{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;margin-top:16px}.content-wrapper[data-v-bb10268c]{max-width:1200px;margin:0 auto;padding:40px 20px}.section-title[data-v-bb10268c]{font-size:20px;color:#333;margin:0 0 20px}.template-section[data-v-bb10268c]{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px}.template-detail[data-v-bb10268c]{display:flex;gap:24px}.template-cover-large[data-v-bb10268c]{width:300px;flex-shrink:0}.template-cover-large img[data-v-bb10268c]{width:100%;border-radius:8px;object-fit:cover}.template-info[data-v-bb10268c]{flex:1}.template-name[data-v-bb10268c]{font-size:24px;color:#333;margin:0 0 12px}.template-desc[data-v-bb10268c]{color:#666;font-size:14px;margin:0 0 16px;line-height:1.6}.template-meta[data-v-bb10268c]{display:flex;gap:16px;margin-bottom:16px}.meta-item[data-v-bb10268c]{color:#666;font-size:14px}.template-tags[data-v-bb10268c]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-bb10268c]{display:inline-block;padding:4px 10px;background:#e3f2fd;color:#2196f3;border-radius:12px;font-size:12px;font-weight:600}.upload-section[data-v-bb10268c]{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px}.upload-area[data-v-bb10268c]{display:flex;flex-direction:column;align-items:center;padding:40px;border:2px dashed #ddd;border-radius:8px}.upload-placeholder[data-v-bb10268c]{text-align:center;cursor:pointer;transition:all .3s}.upload-placeholder[data-v-bb10268c]:hover{background:#f9f9f9}.upload-icon[data-v-bb10268c]{font-size:48px;margin-bottom:12px}.upload-placeholder p[data-v-bb10268c]{margin:8px 0;color:#666}.upload-hint[data-v-bb10268c]{font-size:12px;color:#999}.upload-preview[data-v-bb10268c]{position:relative;text-align:center}.upload-preview img[data-v-bb10268c]{max-width:300px;max-height:300px;border-radius:8px}.btn-remove[data-v-bb10268c]{position:absolute;top:8px;right:8px;padding:6px 12px;background:#f44336e6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.file-input[data-v-bb10268c]{display:none}.pages-section[data-v-bb10268c]{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px}.pages-grid[data-v-bb10268c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.page-preview[data-v-bb10268c]{position:relative;border-radius:8px;overflow:hidden;border:1px solid #eee}.page-number[data-v-bb10268c]{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.page-preview img[data-v-bb10268c]{width:100%;aspect-ratio:1;object-fit:cover}.page-images[data-v-bb10268c]{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.page-image-container[data-v-bb10268c]{display:flex;flex-direction:column;align-items:center;padding:8px;background:#f9f9f9;border-radius:6px}.image-label[data-v-bb10268c]{font-size:12px;color:#666;margin-bottom:4px;font-weight:600}.page-image-container img[data-v-bb10268c]{width:100%;border-radius:4px;object-fit:cover}.page-prompt[data-v-bb10268c]{position:absolute;bottom:0;left:0;right:0;background:#fffffff2;padding:8px;font-size:12px;color:#666}.page-prompt p[data-v-bb10268c]{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.action-section[data-v-bb10268c]{background:#fff;padding:24px;border-radius:12px;text-align:center}.points-info[data-v-bb10268c]{margin-bottom:16px}.points-label[data-v-bb10268c]{color:#666;font-size:14px}.points-value[data-v-bb10268c]{color:#667eea;font-size:20px;font-weight:700;margin:0 8px}.points-hint[data-v-bb10268c]{color:#999;font-size:12px}.user-points[data-v-bb10268c]{margin-bottom:24px}.btn-generate[data-v-bb10268c]{padding:12px 48px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-generate[data-v-bb10268c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-generate[data-v-bb10268c]:disabled{opacity:.6;cursor:not-allowed}.preview-container[data-v-393fe12c]{min-height:100vh;background:#f5f5f5}.page-header[data-v-393fe12c]{background:#fff;padding:20px 40px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.page-title[data-v-393fe12c]{font-size:24px;color:#333;margin:0}.btn-back[data-v-393fe12c]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-back[data-v-393fe12c]:hover{background:#e0e0e0}.loading-container[data-v-393fe12c],.error-container[data-v-393fe12c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.spinner[data-v-393fe12c],.spinner-large[data-v-393fe12c]{width:40px;height:40px;border:4px solid #f3f3f3f;border-top:4px solid #667eea;border-radius:50%;animation:spin-393fe12c 1s linear infinite}.spinner-large[data-v-393fe12c]{width:60px;height:60px;margin-bottom:20px}@keyframes spin-393fe12c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-primary[data-v-393fe12c]{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;margin-top:16px}.content-wrapper[data-v-393fe12c]{max-width:1200px;margin:0 auto;padding:40px 20px}.info-section[data-v-393fe12c]{background:#fff;padding:24px;border-radius:12px;margin-bottom:24px}.info-item[data-v-393fe12c]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.info-item[data-v-393fe12c]:last-child{border-bottom:none}.info-label[data-v-393fe12c]{color:#666;font-size:14px}.info-value[data-v-393fe12c]{color:#333;font-size:14px;font-weight:600}.info-value.success[data-v-393fe12c]{color:#4caf50}.info-value.pending[data-v-393fe12c]{color:#ff9800}.info-value.failed[data-v-393fe12c]{color:#f44336}.pending-section[data-v-393fe12c]{background:#fff;padding:60px 20px;border-radius:12px;text-align:center;margin-bottom:24px}.pending-section p[data-v-393fe12c]{color:#666;margin:20px 0}.btn-refresh[data-v-393fe12c]{padding:10px 24px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.error-section[data-v-393fe12c]{background:#fff;padding:60px 20px;border-radius:12px;text-align:center;margin-bottom:24px}.error-icon[data-v-393fe12c]{font-size:64px;margin-bottom:16px}.error-section p[data-v-393fe12c]{color:#666;margin:12px 0}.error-message[data-v-393fe12c]{color:#f44336;background:#ffebee;padding:12px;border-radius:6px;margin-top:16px}.action-bar[data-v-393fe12c]{display:flex;gap:16px;margin-bottom:24px;justify-content:center}.btn-download[data-v-393fe12c],.btn-share[data-v-393fe12c]{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-download[data-v-393fe12c]:hover,.btn-share[data-v-393fe12c]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.result-section[data-v-393fe12c]{background:#fff;padding:24px;border-radius:12px}.pages-display[data-v-393fe12c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.result-page[data-v-393fe12c]{border-radius:12px;overflow:hidden;border:1px solid #eee;position:relative}.page-number[data-v-393fe12c]{position:absolute;top:12px;left:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600}.result-page img[data-v-393fe12c]{width:100%;aspect-ratio:1;object-fit:cover}.page-actions[data-v-393fe12c]{position:absolute;bottom:0;left:0;right:0;background:#fffffff2;padding:12px;display:flex;gap:8px;justify-content:center}.btn-page-download[data-v-393fe12c],.btn-page-preview[data-v-393fe12c]{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s}.btn-page-preview[data-v-393fe12c]{background:#f5f5f5;color:#333}.btn-page-download[data-v-393fe12c]:hover,.btn-page-preview[data-v-393fe12c]:hover{opacity:.8}.preview-modal[data-v-393fe12c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-393fe12c]{position:relative;max-width:90%;max-height:90%}.modal-content img[data-v-393fe12c]{max-width:100%;max-height:90vh;border-radius:8px}.btn-close[data-v-393fe12c]{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.page-header[data-v-c1068db2]{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.page-title[data-v-c1068db2]{font-size:24px;color:#333}.btn-back[data-v-c1068db2]{padding:8px 16px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s}.btn-back[data-v-c1068db2]:hover{background:#e0e0e0}.exam-paper[data-v-c1068db2]{padding:20px;max-width:800px;margin:0 auto}.upload-section[data-v-c1068db2]{margin-bottom:24px}.upload-area[data-v-c1068db2]{border:2px dashed #ddd;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-area[data-v-c1068db2]:hover{border-color:#667eea;background:#f0f4ff}.upload-area.has-file[data-v-c1068db2]{border-style:solid;border-color:#4a90e2;background:#fff;padding:20px}.upload-placeholder[data-v-c1068db2]{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-icon[data-v-c1068db2]{font-size:48px}.upload-placeholder p[data-v-c1068db2]{color:#666;font-size:14px;margin:0}.upload-hint[data-v-c1068db2]{color:#999;font-size:12px}.file-preview[data-v-c1068db2]{display:flex;flex-direction:column;gap:12px}.file-preview img[data-v-c1068db2]{max-width:100%;max-height:400px;border-radius:8px;object-fit:contain}.file-info[data-v-c1068db2]{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f5f5f5;border-radius:4px}.file-name[data-v-c1068db2]{color:#333;font-size:14px;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file[data-v-c1068db2]{width:28px;height:28px;background:#ff4d4f;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:transform .3s}.remove-file[data-v-c1068db2]:hover{transform:scale(1.1)}.options-section[data-v-c1068db2]{margin-bottom:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.options-section h3[data-v-c1068db2]{margin:0 0 16px;font-size:18px;color:#333}.option-group[data-v-c1068db2]{display:flex;flex-direction:column;gap:12px}.option-item[data-v-c1068db2]{display:flex;align-items:center;gap:8px;cursor:pointer}.option-item input[type=checkbox][data-v-c1068db2]{width:18px;height:18px;cursor:pointer}.option-item span[data-v-c1068db2]{color:#333;font-size:14px}.button-group[data-v-c1068db2]{display:flex;gap:12px;margin-bottom:24px}.btn[data-v-c1068db2]{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn[data-v-c1068db2]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-c1068db2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-c1068db2]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-c1068db2]{background:#f5f5f5;color:#333}.btn-secondary[data-v-c1068db2]:hover:not(:disabled){background:#e0e0e0}.error-message[data-v-c1068db2]{margin-top:16px;padding:12px;background:#fee;color:#c33;border-radius:8px;border-left:4px solid #c33;font-size:14px}.result-section[data-v-c1068db2]{margin-top:32px;padding-top:24px;border-top:2px solid #eee}.result-section h2[data-v-c1068db2]{margin-bottom:16px;font-size:20px;color:#333}.result-container[data-v-c1068db2]{margin-bottom:16px}.result-image[data-v-c1068db2]{position:relative;max-width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.result-image img[data-v-c1068db2]{width:100%;display:block}.image-overlay[data-v-c1068db2]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.result-image:hover .image-overlay[data-v-c1068db2]{opacity:1}.preview-btn[data-v-c1068db2]{padding:8px 16px;background:#fff;color:#333;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s}.preview-btn[data-v-c1068db2]:hover{background:#f0f0f0}.loading-spinner[data-v-c1068db2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.spinner[data-v-c1068db2]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-c1068db2 1s linear infinite}@keyframes spin-c1068db2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p[data-v-c1068db2]{color:#666;font-size:14px;margin:0}.loading-hint[data-v-c1068db2]{color:#999;font-size:12px}.image-modal[data-v-c1068db2]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-c1068db2 .3s}@keyframes fadeIn-c1068db2{0%{opacity:0}to{opacity:1}}.image-modal img[data-v-c1068db2]{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}.modal-close[data-v-c1068db2]{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#fff;border:none;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s}.modal-close[data-v-c1068db2]:hover{transform:scale(1.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}#app{max-width:800px;margin:0 auto}.container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:30px}.header{text-align:center;margin-bottom:30px}.header h1{font-size:28px;color:#333;margin-bottom:8px}.header p{color:#666;font-size:14px}.connection-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;margin-top:10px}.connection-status.connected{background:#e6f7ef;color:#52c41a}.connection-status.disconnected{background:#fff2f0;color:#ff4d4f}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:500;color:#333;margin-bottom:8px;font-size:14px}.form-group input[type=text],.form-group textarea{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;transition:all .3s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.size-options{display:flex;gap:12px}.size-option{flex:1}.size-option input[type=radio]{display:none}.size-option label{display:block;padding:12px;border:2px solid #d9d9d9;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s;margin-bottom:0;font-size:14px;color:#666}.size-option input[type=radio]:checked+label{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.button-group{display:flex;gap:12px;margin-top:30px}.btn{flex:1;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover{background:#e8e8e8}.error-message{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f;padding:12px 16px;border-radius:8px;margin-top:16px;font-size:14px}.result-section{margin-top:40px;padding-top:30px;border-top:1px solid #e8e8e8}.result-section h2{font-size:20px;color:#333;margin-bottom:20px}.result-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.result-image{position:relative;aspect-ratio:1;background:#f5f5f5;border-radius:8px;overflow:hidden}.result-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.result-image:hover img{transform:scale(1.05)}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.result-image:hover .image-overlay{opacity:1}.preview-btn{padding:10px 24px;background:#fff;color:#333;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.preview-btn:hover{background:#f5f5f5}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{margin-top:16px;color:#666;font-size:14px}.image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}.modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.modal-close:hover{background:#ffffff4d}
