.form-card[data-v-74d7aec4]{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 16px #0000000f}.form-title[data-v-74d7aec4]{font-size:20px;font-weight:700;margin-bottom:24px;color:#1a1a1a}.form-group[data-v-74d7aec4]{margin-bottom:24px}.form-label[data-v-74d7aec4]{display:block;font-size:14px;font-weight:600;color:#444;margin-bottom:8px}.form-hint[data-v-74d7aec4]{font-weight:400;color:#999;font-size:12px}.form-input[data-v-74d7aec4]{width:100%;padding:12px 16px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s;font-family:inherit}.form-input[data-v-74d7aec4]:focus{border-color:#1a1a1a}.form-input[data-v-74d7aec4]::placeholder{color:#bbb}.points-list[data-v-74d7aec4]{display:flex;flex-direction:column;gap:10px}.point-item[data-v-74d7aec4]{display:flex;align-items:center;gap:10px}.point-index[data-v-74d7aec4]{flex-shrink:0;width:24px;height:24px;line-height:24px;text-align:center;background:#f0f0f0;border-radius:50%;font-size:12px;font-weight:700;color:#666}.point-input[data-v-74d7aec4]{flex:1}.btn-remove[data-v-74d7aec4]{flex-shrink:0;width:28px;height:28px;border:none;background:#f5f5f5;border-radius:50%;font-size:16px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove[data-v-74d7aec4]:hover{background:#fee;color:#e44}.btn-add[data-v-74d7aec4]{margin-top:12px;padding:8px 16px;border:1.5px dashed #d0d0d0;border-radius:10px;background:transparent;color:#888;font-size:14px;cursor:pointer;width:100%;transition:all .2s}.btn-add[data-v-74d7aec4]:hover:not(:disabled){border-color:#1a1a1a;color:#1a1a1a}.btn-add[data-v-74d7aec4]:disabled{opacity:.4;cursor:not-allowed}.upload-area[data-v-74d7aec4]{width:100%;border:2px dashed #d8d8d8;border-radius:12px;cursor:pointer;transition:all .2s;overflow:hidden}.upload-area[data-v-74d7aec4]:hover{border-color:#1a1a1a}.upload-placeholder[data-v-74d7aec4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}.upload-text[data-v-74d7aec4]{font-size:14px;color:#888;margin-top:12px}.upload-hint[data-v-74d7aec4]{font-size:12px;color:#bbb;margin-top:4px}.upload-preview[data-v-74d7aec4]{position:relative;width:100%}.upload-preview img[data-v-74d7aec4]{width:100%;max-height:280px;object-fit:contain;display:block;background:#fafafa}.upload-overlay[data-v-74d7aec4]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.upload-preview:hover .upload-overlay[data-v-74d7aec4]{opacity:1}.upload-overlay span[data-v-74d7aec4]{color:#fff;font-size:14px;font-weight:600}.btn-generate[data-v-74d7aec4]{width:100%;padding:14px;border:none;border-radius:12px;background:#1a1a1a;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-generate[data-v-74d7aec4]:hover:not(:disabled){background:#333}.btn-generate[data-v-74d7aec4]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-74d7aec4]{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-74d7aec4 .8s linear infinite}@keyframes spin-74d7aec4{to{transform:rotate(360deg)}}.preview-container[data-v-f5da1dcb]{width:100%}.preview-section[data-v-f5da1dcb]{margin-bottom:36px}.section-label[data-v-f5da1dcb]{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.image-card[data-v-f5da1dcb]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;cursor:pointer;transition:transform .2s,box-shadow .2s}.image-card[data-v-f5da1dcb]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000001a}.image-card img[data-v-f5da1dcb]{width:100%;display:block}.main-card[data-v-f5da1dcb]{max-width:400px}.detail-grid[data-v-f5da1dcb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.detail-card[data-v-f5da1dcb]{position:relative}.card-label[data-v-f5da1dcb]{position:absolute;top:12px;left:12px;background:#0009;color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.actions[data-v-f5da1dcb]{margin-top:24px;text-align:center}.btn-download-all[data-v-f5da1dcb]{padding:12px 32px;border:2px solid #1a1a1a;border-radius:10px;background:transparent;color:#1a1a1a;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.btn-download-all[data-v-f5da1dcb]:hover{background:#1a1a1a;color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f5f5f7;color:#1a1a1a;min-height:100vh}.app-container{max-width:1400px;margin:0 auto;padding:40px 32px}.app-header{text-align:center;margin-bottom:48px}.app-title{font-size:32px;font-weight:800;color:#1a1a1a;letter-spacing:2px}.app-subtitle{font-size:16px;color:#888;margin-top:8px}.main-content{display:flex;gap:40px;align-items:flex-start}.input-panel{flex:0 0 420px;position:sticky;top:40px}.output-panel{flex:1;min-width:0}.progress-section{margin-bottom:32px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f}.progress-bar{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1a1a1a,#444);border-radius:4px;transition:width .5s ease}.progress-text{margin-top:12px;font-size:14px;color:#666}
