/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width: 768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width: 992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width: 1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.crop-overlay[data-v-75b80246]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.crop-modal[data-v-75b80246]{background:#1e1e2e;border-radius:14px;width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 64px #0009}@media (max-width: 639px){.crop-overlay[data-v-75b80246]{padding:0}.crop-modal[data-v-75b80246]{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.crop-wrap[data-v-75b80246]{max-height:calc(100dvh - 160px)}.crop-wrap[data-v-75b80246] .cropper-container{max-height:calc(100dvh - 160px)!important}}.crop-header[data-v-75b80246]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #2e2e44;flex-shrink:0}.crop-title[data-v-75b80246]{font-size:1rem;font-weight:600;color:#e2e8f0}.crop-x[data-v-75b80246]{background:transparent;border:none;color:#888;font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:6px}.crop-x[data-v-75b80246]:hover{background:#2e2e44;color:#fff}.ratio-bar[data-v-75b80246]{display:flex;gap:8px;padding:10px 16px;flex-shrink:0;border-bottom:1px solid #2e2e44}.ratio-btn[data-v-75b80246]{padding:5px 14px;border-radius:20px;border:1px solid #444;background:transparent;color:#aaa;font-size:.78rem;cursor:pointer;transition:all .15s}.ratio-btn[data-v-75b80246]:hover{border-color:#5b8dee;color:#5b8dee}.ratio-btn.active[data-v-75b80246]{border-color:#5b8dee;background:#5b8dee;color:#fff}.ratio-bead[data-v-75b80246]{border-color:#7c3aed!important;color:#7c3aed}.ratio-bead.active[data-v-75b80246]{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}.crop-wrap[data-v-75b80246]{flex:1;overflow:hidden;min-height:320px;max-height:calc(92vh - 180px);background:#111}.crop-wrap[data-v-75b80246] .cropper-container{max-height:calc(92vh - 180px)!important}.crop-footer[data-v-75b80246]{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid #2e2e44;flex-shrink:0}.btn-cancel[data-v-75b80246]{padding:8px 18px;border-radius:8px;border:1px solid #444;background:transparent;color:#aaa;cursor:pointer;font-size:.88rem}.btn-cancel[data-v-75b80246]:hover{background:#2e2e44;color:#fff}.btn-reset[data-v-75b80246]{padding:8px 18px;border-radius:8px;border:1px solid #444;background:transparent;color:#aaa;cursor:pointer;font-size:.88rem}.btn-reset[data-v-75b80246]:hover{background:#2e2e44;color:#e2e8f0}.btn-confirm[data-v-75b80246]{padding:8px 22px;border-radius:8px;border:none;background:#5b8dee;color:#fff;font-weight:600;cursor:pointer;font-size:.88rem}.btn-confirm[data-v-75b80246]:hover{background:#3b5bdb}.upload-panel[data-v-58eac782]{border:2px dashed #bbb;border-radius:12px;min-height:180px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;background:#fafafa;overflow:hidden}.upload-panel[data-v-58eac782]:hover,.upload-panel.drag-over[data-v-58eac782]{border-color:#5b8dee;background:#eef3ff}.placeholder[data-v-58eac782]{text-align:center;color:#999;-webkit-user-select:none;user-select:none}.placeholder .icon[data-v-58eac782]{font-size:2.5rem;margin-bottom:8px}.placeholder .text[data-v-58eac782]{font-size:1rem;color:#555}.placeholder .hint[data-v-58eac782]{font-size:.78rem;margin-top:4px}.preview-wrap[data-v-58eac782]{position:relative;width:100%;text-align:center}.orig-preview[data-v-58eac782]{max-height:220px;max-width:100%;object-fit:contain;border-radius:8px;display:block;margin:0 auto}.preview-label[data-v-58eac782]{font-size:.75rem;color:#888;margin-top:4px}.crop-btn[data-v-58eac782]{margin-top:8px;width:100%;padding:7px 0;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#444;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.crop-btn[data-v-58eac782]:hover{background:#eef3ff;border-color:#5b8dee;color:#3b5bdb}.blank-btn[data-v-58eac782]{margin-top:8px;width:100%;padding:7px 0;border:1px dashed #93c5fd;border-radius:8px;background:#f8fafc;color:#1d4ed8;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.blank-btn[data-v-58eac782]:hover{background:#eff6ff;border-color:#3b82f6}.style-panel[data-v-69f9ea72]{display:flex;flex-direction:column;gap:10px}.section-head[data-v-69f9ea72]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.section-title[data-v-69f9ea72]{font-size:.9rem;font-weight:600;color:#444;margin:0}.section-badge[data-v-69f9ea72]{padding:4px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:.68rem;font-weight:700}.section-hint[data-v-69f9ea72]{margin:0;font-size:.75rem;line-height:1.5;color:#64748b}.style-grid[data-v-69f9ea72]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width: 639px){.section-head[data-v-69f9ea72]{align-items:flex-start}.style-grid[data-v-69f9ea72]{grid-template-columns:repeat(3,1fr);gap:6px}.style-btn[data-v-69f9ea72]{padding:8px 4px}.s-icon[data-v-69f9ea72]{font-size:1.2rem}}.style-btn[data-v-69f9ea72]{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s;font-size:.78rem}.style-btn[data-v-69f9ea72]:hover{border-color:#5b8dee;background:#f0f5ff}.style-btn.active[data-v-69f9ea72]{border-color:#5b8dee;background:#e8efff;font-weight:600}.s-icon[data-v-69f9ea72]{font-size:1.4rem}.s-label[data-v-69f9ea72]{color:#333}.ai-badge[data-v-69f9ea72]{position:absolute;top:4px;right:4px;background:#7c3aed;color:#fff;font-size:.6rem;padding:1px 4px;border-radius:4px}.settings-panel[data-v-c567155e]{display:flex;flex-direction:column;gap:8px}.section-head[data-v-c567155e]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.section-title[data-v-c567155e]{font-size:.9rem;font-weight:600;color:#444;margin:0}.section-badge[data-v-c567155e]{padding:4px 8px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.68rem;font-weight:700}.panel-hint[data-v-c567155e]{margin:0;font-size:.75rem;line-height:1.5;color:#64748b}.preset-row[data-v-c567155e],.dither-row[data-v-c567155e]{display:flex;gap:6px;flex-wrap:wrap}.advanced-box[data-v-c567155e]{margin-top:10px;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#fff}.advanced-summary[data-v-c567155e]{cursor:pointer;font-size:.82rem;font-weight:600;color:#475569;-webkit-user-select:none;user-select:none;outline:none}.advanced-box[open] .advanced-summary[data-v-c567155e]{margin-bottom:8px}.preset-btn[data-v-c567155e],.dither-btn[data-v-c567155e]{padding:5px 10px;border:1.5px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;transition:border-color .15s,background .15s}.preset-btn[data-v-c567155e]:hover,.dither-btn[data-v-c567155e]:hover{border-color:#5b8dee;background:#f0f5ff}.preset-btn.active[data-v-c567155e],.dither-btn.active[data-v-c567155e]{border-color:#5b8dee;background:#e8efff;font-weight:600}.size-inputs[data-v-c567155e]{display:flex;align-items:center;gap:8px}.input-group[data-v-c567155e]{display:flex;flex-direction:column;gap:2px}.input-group label[data-v-c567155e]{font-size:.75rem;color:#666}.size-input[data-v-c567155e]{width:70px;padding:5px 8px;border:1.5px solid #ddd;border-radius:6px;font-size:.9rem;text-align:center}.cross[data-v-c567155e]{font-size:1.1rem;color:#aaa;margin-top:14px}.hint[data-v-c567155e]{font-size:.75rem;color:#999;margin:2px 0 0}.toggle-row[data-v-c567155e]{display:flex;align-items:flex-start;gap:6px;font-size:.78rem;color:#475569;cursor:pointer;margin-top:4px}.tol-row[data-v-c567155e]{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.75rem;color:#666}.tol-slider[data-v-c567155e]{flex:1}.preview-canvas-wrap[data-v-c5c79da7]{display:flex;flex-direction:column;height:100%;min-height:300px;background:#e8e8e8;border-radius:10px;overflow:hidden}.toolbar[data-v-c5c79da7]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#0000000d;border-bottom:1px solid #ddd}.zoom-btn[data-v-c5c79da7]{width:28px;height:28px;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.zoom-btn[data-v-c5c79da7]:disabled{opacity:.4;cursor:default}.zoom-btn.reset[data-v-c5c79da7]{font-size:.85rem}.zoom-label[data-v-c5c79da7]{font-size:.8rem;color:#555;min-width:38px;text-align:center}.tb-sep[data-v-c5c79da7]{width:1px;height:20px;background:#cbd5e1;margin:0 2px}.board-count[data-v-c5c79da7]{font-size:.74rem;color:#b91c1c;font-weight:600;margin-left:4px}.mode-btn[data-v-c5c79da7]{height:28px;padding:0 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer;font-size:.76rem}.mode-btn.active[data-v-c5c79da7]{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.mode-btn[data-v-c5c79da7]:disabled{opacity:.45;cursor:not-allowed}.edit-hint[data-v-c5c79da7]{margin-left:8px;font-size:.78rem;color:#475569}.canvas-scroll[data-v-c5c79da7]{flex:1;overflow:auto;padding:12px;display:flex;align-items:flex-start;justify-content:center}.preview-canvas[data-v-c5c79da7]{image-rendering:pixelated;image-rendering:crisp-edges;border-radius:4px;box-shadow:0 2px 12px #00000026;transition:width .1s;cursor:default;touch-action:none}.preview-canvas.editing[data-v-c5c79da7]{cursor:crosshair}.color-legend[data-v-3de772e8]{display:flex;flex-direction:column;height:100%;overflow:hidden}.legend-header[data-v-3de772e8]{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 8px;border-bottom:1px solid #eee;flex-shrink:0}.legend-title[data-v-3de772e8]{font-size:.9rem;font-weight:600;color:#444}.legend-total[data-v-3de772e8]{font-size:.75rem;color:#999}.legend-tip[data-v-3de772e8]{margin:6px 0 2px;font-size:.72rem;color:#64748b;line-height:1.4}.palette-tabs[data-v-3de772e8]{display:flex;gap:6px;padding:6px 0 2px}.tab-chip[data-v-3de772e8]{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:.72rem;font-weight:600;padding:4px 8px;cursor:pointer}.tab-chip.active[data-v-3de772e8]{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.color-list[data-v-3de772e8]{flex:1;overflow-y:auto;padding-top:6px;display:flex;flex-direction:column;gap:4px}.color-row[data-v-3de772e8]{display:flex;align-items:center;gap:6px;font-size:.78rem;padding:4px 6px;border-radius:6px;cursor:pointer}.color-row[data-v-3de772e8]:hover{background:#f8fafc}.color-row.selected[data-v-3de772e8]{background:#e8efff;outline:1px solid #5b8dee}.swatch[data-v-3de772e8]{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.color-id[data-v-3de772e8]{width:22px;color:#aaa;font-size:.72rem;flex-shrink:0}.color-name[data-v-3de772e8]{flex:1;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-count[data-v-3de772e8]{color:#888;font-variant-numeric:tabular-nums;flex-shrink:0}.pack-row[data-v-3de772e8]{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#666;padding:6px 0 2px}.pack-input[data-v-3de772e8]{width:68px;padding:3px 6px;border:1.5px solid #ddd;border-radius:6px;font-size:.8rem;text-align:center}.pack-total[data-v-3de772e8]{margin-left:auto;color:#b91c1c;font-weight:600}.export-bar[data-v-5918d8d0]{display:flex;flex-direction:column;gap:6px}.btn-row[data-v-5918d8d0]{display:flex;gap:8px}.export-btn[data-v-5918d8d0]{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 4px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s;gap:2px}.export-btn .sub[data-v-5918d8d0]{font-size:.68rem;font-weight:400;color:#888}.export-btn[data-v-5918d8d0]:disabled{opacity:.45;cursor:not-allowed}.export-btn.png[data-v-5918d8d0]:not(:disabled):hover{border-color:#22c55e;background:#f0fff4}.export-btn.pdf[data-v-5918d8d0]:not(:disabled):hover{border-color:#ef4444;background:#fff5f5}.export-btn.csv[data-v-5918d8d0]:not(:disabled):hover{border-color:#f59e0b;background:#fffbeb}.export-btn.svg[data-v-5918d8d0]:not(:disabled):hover{border-color:#8b5cf6;background:#f5f3ff}.export-error[data-v-5918d8d0]{font-size:.78rem;color:#ef4444;background:#fff5f5;border:1px solid #fca5a5;border-radius:6px;padding:6px 10px}.exporting-hint[data-v-5918d8d0]{font-size:.75rem;color:#888;text-align:center}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,sans-serif;background:#f3f4f6;color:#222}.app-layout[data-v-3ab7fd3c]{display:flex;height:100vh;overflow:hidden}.mobile-tabs[data-v-3ab7fd3c]{display:none}.sidebar[data-v-3ab7fd3c]{width:392px;min-width:360px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.app-header[data-v-3ab7fd3c]{display:flex;align-items:center;gap:10px;padding:16px 18px 14px;border-bottom:1px solid #eee;flex-shrink:0}.logo[data-v-3ab7fd3c]{font-size:1.8rem}.app-header-text[data-v-3ab7fd3c]{flex:1}.lang-btn[data-v-3ab7fd3c]{margin-left:auto;padding:4px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;font-size:.72rem;font-weight:600;cursor:pointer}.lang-btn[data-v-3ab7fd3c]:hover{background:#f1f5f9}.app-title[data-v-3ab7fd3c]{font-size:1.05rem;font-weight:700;color:#1e293b}.app-sub[data-v-3ab7fd3c]{font-size:.72rem;color:#94a3b8}.sidebar-body[data-v-3ab7fd3c]{flex:1;overflow-y:auto;padding:14px 14px 20px;display:flex;flex-direction:column;gap:12px}.card[data-v-3ab7fd3c]{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.flow-card[data-v-3ab7fd3c]{background:linear-gradient(180deg,#f8fbff,#eef5ff);border-color:#c7dafc}.flow-head[data-v-3ab7fd3c]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.flow-title[data-v-3ab7fd3c]{font-size:.9rem;font-weight:700;color:#1e3a8a}.flow-badge[data-v-3ab7fd3c]{padding:4px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.72rem;font-weight:600}.flow-copy[data-v-3ab7fd3c]{margin:8px 0 0;font-size:.8rem;line-height:1.5;color:#475569}.flow-tags[data-v-3ab7fd3c]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.flow-tag[data-v-3ab7fd3c]{padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:600}.flow-tag.slow[data-v-3ab7fd3c]{background:#fff7ed;color:#c2410c}.flow-tag.fast[data-v-3ab7fd3c]{background:#ecfdf5;color:#047857}.generate-btn[data-v-3ab7fd3c]{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#5b8dee,#3b5bdb);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .1s}.generate-btn[data-v-3ab7fd3c]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.generate-btn[data-v-3ab7fd3c]:active:not(:disabled){transform:translateY(0)}.generate-btn[data-v-3ab7fd3c]:disabled{opacity:.45;cursor:not-allowed}.spinner[data-v-3ab7fd3c]{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-3ab7fd3c .7s linear infinite}@keyframes spin-3ab7fd3c{to{transform:rotate(360deg)}}.error-msg[data-v-3ab7fd3c]{font-size:.8rem;color:#ef4444;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;padding:8px 12px}.main-area[data-v-3ab7fd3c]{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:16px}.empty-state[data-v-3ab7fd3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;gap:10px}.empty-icon[data-v-3ab7fd3c]{font-size:2rem;letter-spacing:4px}.empty-state p[data-v-3ab7fd3c]{margin:0;font-size:.95rem;color:#888}.empty-sub[data-v-3ab7fd3c]{font-size:.78rem!important;color:#bbb!important}.loading-state[data-v-3ab7fd3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#666}.big-spinner[data-v-3ab7fd3c]{width:48px;height:48px;border:4px solid #e0e7ff;border-top-color:#5b8dee;border-radius:50%;animation:spin-3ab7fd3c .9s linear infinite}.loading-sub[data-v-3ab7fd3c]{font-size:.78rem;color:#aaa;margin:0}.quality-card[data-v-3ab7fd3c]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;margin-bottom:10px}.quality-good[data-v-3ab7fd3c]{border-color:#86efac;background:#f0fdf4}.quality-mid[data-v-3ab7fd3c]{border-color:#fcd34d;background:#fffbeb}.quality-low[data-v-3ab7fd3c]{border-color:#fca5a5;background:#fef2f2}.sidebar-quality-card[data-v-3ab7fd3c]{margin-bottom:0}.quality-head[data-v-3ab7fd3c]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.quality-title[data-v-3ab7fd3c]{font-weight:700;font-size:.9rem;color:#334155}.quality-badges[data-v-3ab7fd3c]{display:flex;gap:6px;flex-wrap:wrap}.badge[data-v-3ab7fd3c]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid #cbd5e1;background:#fff;color:#334155}.quality-metrics[data-v-3ab7fd3c]{display:flex;gap:12px;flex-wrap:wrap;font-size:.76rem;color:#64748b}.quality-suggestions[data-v-3ab7fd3c]{margin:0;padding-left:18px;font-size:.78rem;color:#334155;line-height:1.45}.result-layout[data-v-3ab7fd3c]{display:flex;flex:1;gap:14px;overflow:hidden;min-height:0}.preview-area[data-v-3ab7fd3c]{flex:1;min-width:0;overflow:hidden;border-radius:10px}.legend-area[data-v-3ab7fd3c]{width:200px;flex-shrink:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;overflow:hidden;display:flex;flex-direction:column}.compare-strip[data-v-3ab7fd3c]{display:flex;align-items:flex-end;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;flex-shrink:0;overflow-x:auto}.compare-item[data-v-3ab7fd3c]{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.compare-img[data-v-3ab7fd3c]{height:100px;max-width:160px;object-fit:contain;border-radius:6px;border:1px solid #e5e7eb;background:#f3f4f6;flex-shrink:0}.compare-img.pixelated[data-v-3ab7fd3c]{image-rendering:pixelated;image-rendering:crisp-edges}.compare-label[data-v-3ab7fd3c]{font-size:.72rem;color:#888;text-align:center;white-space:nowrap}.compare-arrow[data-v-3ab7fd3c]{font-size:1.2rem;color:silver;flex-shrink:0;padding-bottom:28px}.compare-item[data-v-3ab7fd3c]{cursor:zoom-in}.compare-item:hover .compare-img[data-v-3ab7fd3c]{border-color:#5b8dee;box-shadow:0 0 0 2px #5b8dee44}.lightbox-overlay[data-v-3ab7fd3c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.lightbox-box[data-v-3ab7fd3c]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-img[data-v-3ab7fd3c]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 48px #0009;image-rendering:auto}.lightbox-close[data-v-3ab7fd3c]{position:absolute;top:-14px;right:-14px;width:30px;height:30px;border-radius:50%;border:none;background:#fff;color:#333;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;z-index:1}.lightbox-close[data-v-3ab7fd3c]:hover{background:#fee2e2;color:#dc2626}.lightbox-dl[data-v-3ab7fd3c]{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);padding:7px 20px;border:none;border-radius:20px;background:#fff;color:#333;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000004d;white-space:nowrap}.lightbox-dl[data-v-3ab7fd3c]:hover{background:#e0f2fe;color:#0369a1}.lightbox-img.pixelated[data-v-3ab7fd3c]{image-rendering:pixelated;image-rendering:crisp-edges}@media (max-width: 1023px){.sidebar[data-v-3ab7fd3c]{width:260px;min-width:240px}.legend-area[data-v-3ab7fd3c]{width:160px}}@media (max-width: 639px){.app-layout[data-v-3ab7fd3c]{flex-direction:column;height:100dvh}.sidebar[data-v-3ab7fd3c]{width:100%;min-width:unset;border-right:none;border-bottom:1px solid #e5e7eb;flex:1;overflow:hidden}.sidebar-body[data-v-3ab7fd3c]{padding-bottom:24px}.main-area[data-v-3ab7fd3c]{flex:1;padding:10px;min-height:0}.tab-hidden[data-v-3ab7fd3c]{display:none!important}.result-layout[data-v-3ab7fd3c]{flex-direction:column;overflow-y:auto}.legend-area[data-v-3ab7fd3c]{width:100%;height:180px;flex-shrink:0}.compare-img[data-v-3ab7fd3c]{height:72px;max-width:100px}.mobile-tabs[data-v-3ab7fd3c]{display:flex;flex-shrink:0;height:52px;background:#fff;border-top:1px solid #e5e7eb;z-index:100}.tab-btn[data-v-3ab7fd3c]{flex:1;border:none;background:transparent;font-size:.9rem;font-weight:500;color:#888;cursor:pointer;transition:color .15s,background .15s}.tab-btn.active[data-v-3ab7fd3c]{color:#3b5bdb;font-weight:700;background:#f0f4ff;border-top:2px solid #3b5bdb}.tab-btn[data-v-3ab7fd3c]:disabled{opacity:.4;cursor:default}}
