.image-editor[data-v-e80569e0]{position:fixed;top:0;left:var(--sidebar-width, 220px);width:calc(100% - var(--sidebar-width, 220px));height:100%;background:var(--gradient-hero);z-index:1000;display:flex;flex-direction:column;color:var(--text-primary, #e8e8f0);font-family:var(--font-body, "Inter", sans-serif);transition:left .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1);--sidebar-width: 220px}.image-editor[data-sidebar-collapsed=true][data-v-e80569e0]{--sidebar-width: 56px}.hdr-btn[data-v-e80569e0]{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;border-radius:8px;cursor:pointer;padding:8px;display:flex;align-items:center;gap:6px;transition:all .2s}.hdr-btn[data-v-e80569e0]:hover{background:#ffffff1f;color:#fff}.hdr-btn[data-v-e80569e0]:disabled{opacity:.3;cursor:not-allowed}.primary-btn[data-v-e80569e0]{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.primary-btn[data-v-e80569e0]:hover{filter:brightness(1.15)}.editor-body[data-v-e80569e0]{flex:1;display:flex;min-height:0;overflow:hidden}.editor-body.is-uploading[data-v-e80569e0]{overflow-y:auto}.upload-zone[data-v-e80569e0]{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px dashed rgba(255,255,255,.2);padding:6rem 2rem;border-radius:1.5rem;cursor:pointer;transition:all .3s;background:#ffffff05}.upload-zone[data-v-e80569e0]:hover{background:#6366f10d;border-color:#6366f1}.upload-icon[data-v-e80569e0]{font-size:4rem;color:#6366f1cc;margin-bottom:1rem}.upload-text[data-v-e80569e0]{color:#ffffffd9;font-size:var(--font-size-lg, 1.15rem);font-weight:500;margin:0 0 8px}.upload-hint[data-v-e80569e0]{color:#888;font-size:var(--font-size-md, 1rem);margin:0}.selected-tip[data-v-e80569e0]{margin-top:1.5rem;padding:.5rem 1rem;background:#6366f126;color:#a5b4fc;border-radius:2rem;font-size:var(--font-size-md, 1rem)}.canvas-area[data-v-e80569e0]{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:repeating-conic-gradient(rgba(255,255,255,.03) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px}.preview-canvas[data-v-e80569e0]{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 30px #0006;border-radius:4px}.zoom-layer[data-v-e80569e0]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.zoom-layer .preview-canvas[data-v-e80569e0]{display:block}.perspective-overlay[data-v-e80569e0]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none}.perspective-svg[data-v-e80569e0]{position:absolute;pointer-events:none;overflow:visible}.perspective-mask-shape[data-v-e80569e0]{fill:#8b5cf614;stroke:none}.perspective-line[data-v-e80569e0]{fill:none;stroke:#a78bfa;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(139,92,246,.6))}.perspective-handle[data-v-e80569e0]{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:999px;border:2px solid #fff;background:#8b5cf6;color:#fff;font-size:var(--font-size-sm, .85rem);font-weight:800;cursor:grab;pointer-events:auto;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000059}.perspective-handle[data-v-e80569e0]:active{cursor:grabbing;background:#7c3aed}.shape-actions[data-v-e80569e0]{margin-top:12px;display:flex}.eraser-brush-cursor[data-v-e80569e0]{position:absolute;pointer-events:none;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:#ff000040;transform:translate(-50%,-50%);z-index:100;box-shadow:0 0 6px #0006;transition:width .1s,height .1s}.crop-overlay[data-v-e80569e0]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;cursor:crosshair}.crop-mask[data-v-e80569e0]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.crop-box[data-v-e80569e0]{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000;cursor:move}.crop-handle[data-v-e80569e0]{position:absolute;width:12px;height:12px;background:#fff;border-radius:2px;border:1px solid rgba(0,0,0,.3)}.crop-handle.nw[data-v-e80569e0]{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.ne[data-v-e80569e0]{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.sw[data-v-e80569e0]{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.se[data-v-e80569e0]{bottom:-6px;right:-6px;cursor:se-resize}.control-panel[data-v-e80569e0]{display:flex;flex-direction:column;background:#12121ef2;border-left:1px solid rgba(255,255,255,.06);overflow:hidden}.file-info-collapse[data-v-e80569e0]{flex-shrink:0}.file-info-collapse__header[data-v-e80569e0]{width:100%;min-height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b;color:#ffffffd1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer;font-size:var(--font-size-sm, .85rem);font-weight:700}.file-info-collapse__header[data-v-e80569e0]:hover{background:#ffffff13}.file-info-collapse__header svg[data-v-e80569e0]{transition:transform .2s}.file-info-collapse__header svg.rotated[data-v-e80569e0]{transform:rotate(180deg)}.file-info-collapse__summary[data-v-e80569e0]{min-width:0;color:#ffffff75;font-size:var(--font-size-sm, .85rem);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info-collapse[data-v-e80569e0] .pc-file-info-panel{margin-top:8px}.tab-bar[data-v-e80569e0]{display:flex;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;row-gap:2px}.tab-btn[data-v-e80569e0]{flex:0 0 calc(100% / 6);max-width:calc(100% / 6);min-height:72px;padding:12px 0 10px;background:none;border:none;color:var(--text-muted, #6b6b80);font-size:1rem;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.tab-icon[data-v-e80569e0]{font-size:var(--font-size-xl, 1.25rem);line-height:1}.tab-label[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);line-height:1.15}.tab-btn.active[data-v-e80569e0]{color:#a78bfa;border-bottom-color:#a78bfa}.tab-btn[data-v-e80569e0]:hover{color:var(--text-primary, #e8e8f0)}.tab-content[data-v-e80569e0]{flex:1;overflow-y:auto;padding:8px}.tab-pane[data-v-e80569e0]{display:flex;flex-direction:column;gap:4px}.ctrl-section[data-v-e80569e0]{border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:2px;overflow:hidden}.section-header[data-v-e80569e0]{display:flex;align-items:center;justify-content:space-between;padding:10px;margin-bottom:0;cursor:pointer;font-weight:500;font-size:var(--font-size-sm, .85rem);transition:background .15s}.section-header[data-v-e80569e0]:hover{background:#ffffff08}.section-header svg[data-v-e80569e0]{transition:transform .2s}.section-header svg.rotated[data-v-e80569e0]{transform:rotate(180deg)}.section-body[data-v-e80569e0]{padding:4px 10px 10px}.slider-row[data-v-e80569e0]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.slider-row label[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);min-width:60px;color:var(--text-secondary, #a0a0b8)}.slider-row input[type=range][data-v-e80569e0]{flex:1;-webkit-appearance:none;height:4px;border-radius:2px;background:#ffffff1f;outline:none}.slider-row input[type=range][data-v-e80569e0]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#a78bfa;cursor:pointer}.slider-val[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);min-width:40px;text-align:right;color:#a78bfa;font-weight:600}.size-inputs[data-v-e80569e0]{display:flex;align-items:center;gap:8px}.size-field[data-v-e80569e0]{flex:1}.size-field label[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);color:var(--text-muted, #6b6b80);display:block;margin-bottom:4px}.size-field input[data-v-e80569e0]{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;padding:8px 10px;border-radius:6px;font-size:var(--font-size-sm, .85rem)}.size-x[data-v-e80569e0]{color:var(--text-muted);font-size:var(--font-size-md, 1rem)}.lock-btn[data-v-e80569e0]{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);border-radius:6px;padding:8px;cursor:pointer;transition:all .2s}.lock-btn.locked[data-v-e80569e0]{color:#a78bfa;border-color:#a78bfa33}.quick-action-row[data-v-e80569e0]{display:grid;grid-template-columns:1.35fr 1fr;gap:8px}.quick-action-btn[data-v-e80569e0]{min-height:38px}.panel-hint[data-v-e80569e0]{margin-top:8px;color:var(--text-muted, #6b6b80);font-size:var(--font-size-sm, .85rem);line-height:1.45}.correction-preview-card[data-v-e80569e0]{padding:14px;border-radius:8px;border:1px solid rgba(139,92,246,.24);background:#8b5cf614;margin-bottom:12px}.correction-angle-value[data-v-e80569e0]{color:#fde68a;font-size:var(--font-size-xl, 1.25rem);line-height:1;font-weight:800;margin-bottom:8px}.correction-hint[data-v-e80569e0]{color:#ffffff9e;font-size:var(--font-size-sm, .85rem);line-height:1.45}.correction-slider-row[data-v-e80569e0]{margin-bottom:10px}.correction-nudge-grid[data-v-e80569e0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.correction-nudge-grid .tf-btn[data-v-e80569e0]{width:100%}.correction-actions[data-v-e80569e0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.btn-ai-restore[data-v-e80569e0]{background:linear-gradient(135deg,#fbbf24,#f97316);color:#111827;border:1px solid rgba(251,191,36,.75);box-shadow:0 8px 20px #f9731638}.btn-ai-restore[data-v-e80569e0]:hover{filter:brightness(1.06);transform:translateY(-1px)}.correction-mode-hint[data-v-e80569e0],.perspective-hint[data-v-e80569e0]{color:#c77829;font-weight:700}.perspective-hint[data-v-e80569e0]{margin-top:2px;margin-bottom:14px}.correction-section .section-header.static-header[data-v-e80569e0]{margin-bottom:4px}.preset-title[data-v-e80569e0]{margin:10px 0 6px;color:var(--text-secondary, #a0a0b8);font-size:var(--font-size-sm, .85rem);font-weight:600}.size-preset-grid[data-v-e80569e0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.size-preset-btn[data-v-e80569e0]{min-height:48px;padding:7px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:left}.size-preset-btn span[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);font-weight:700;color:var(--text-primary, #e8e8f0)}.size-preset-btn small[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);color:var(--text-muted, #6b6b80)}.size-preset-btn[data-v-e80569e0]:hover{background:#ffffff14}.size-preset-btn.active[data-v-e80569e0]{border-color:#a78bfa;background:#8b5cf633}.ratio-btns[data-v-e80569e0],.transform-btns[data-v-e80569e0]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ratio-btn[data-v-e80569e0],.tf-btn[data-v-e80569e0]{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);font-size:var(--font-size-sm, .85rem);cursor:pointer;transition:all .2s}.ratio-btn[data-v-e80569e0]:hover,.tf-btn[data-v-e80569e0]:hover{background:#ffffff14}.ratio-btn.active[data-v-e80569e0]{background:#8b5cf633;border-color:#a78bfa;color:#a78bfa}.crop-actions[data-v-e80569e0]{display:flex;gap:8px}.straighten-row[data-v-e80569e0]{margin-top:2px}.export-format-row[data-v-e80569e0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.format-btn[data-v-e80569e0]{min-height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);font-size:var(--font-size-sm, .85rem);font-weight:700;cursor:pointer;transition:all .2s}.format-btn[data-v-e80569e0]:hover{background:#ffffff14}.format-btn.active[data-v-e80569e0]{border-color:#a78bfa;background:#8b5cf633;color:#a78bfa}.drag-hint[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);color:var(--text-muted, #6b6b80);background:#8b5cf614;border:1px dashed rgba(139,92,246,.25);border-radius:6px;padding:6px 10px;margin-top:4px;text-align:center}.btn[data-v-e80569e0]{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:var(--font-size-sm, .85rem);transition:all .2s}.btn-primary[data-v-e80569e0]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-secondary[data-v-e80569e0]{background:#ffffff14;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.btn-ghost[data-v-e80569e0]{background:none;color:var(--text-muted)}.btn-sm[data-v-e80569e0]{padding:6px 12px;font-size:var(--font-size-sm, .85rem)}.btn-xs[data-v-e80569e0]{padding:4px 10px;font-size:var(--font-size-sm, .85rem)}.btn[data-v-e80569e0]:hover{filter:brightness(1.15)}.add-text-btns[data-v-e80569e0]{display:flex;gap:8px;margin-bottom:12px}.text-layer-card[data-v-e80569e0]{border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px;margin-bottom:8px;transition:border-color .2s;cursor:pointer}.text-layer-card.selected[data-v-e80569e0]{border-color:#a78bfa}.text-layer-header[data-v-e80569e0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.text-layer-badge[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);padding:2px 8px;border-radius:4px;background:#8b5cf626;color:#a78bfa;font-weight:600}.remove-text-btn[data-v-e80569e0]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;transition:color .2s}.remove-text-btn[data-v-e80569e0]:hover{color:#ef4444}.text-input[data-v-e80569e0]{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#fff;padding:8px;border-radius:6px;resize:vertical;font-size:var(--font-size-sm, .85rem);font-family:inherit}.text-controls[data-v-e80569e0]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.text-ctrl-row[data-v-e80569e0]{display:flex;align-items:center;gap:8px}.text-ctrl-row label[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);min-width:40px;color:var(--text-muted)}.text-ctrl-row input[type=number][data-v-e80569e0],.text-ctrl-row select[data-v-e80569e0]{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;padding:6px 8px;border-radius:6px;font-size:var(--font-size-sm, .85rem)}.text-ctrl-row input[type=range][data-v-e80569e0]{flex:1;-webkit-appearance:none;height:4px;border-radius:2px;background:#ffffff1f}.text-ctrl-row input[type=range][data-v-e80569e0]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#a78bfa;cursor:pointer}.small-input[data-v-e80569e0]{width:70px!important;flex:unset!important}.color-input[data-v-e80569e0]{width:40px;height:32px;padding:2px;border:none;background:none;cursor:pointer}.style-btns[data-v-e80569e0]{display:flex;gap:4px}.style-btns button[data-v-e80569e0]{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm, .85rem);transition:all .2s}.style-btns button.active[data-v-e80569e0]{background:#8b5cf633;border-color:#a78bfa;color:#a78bfa}.watermark-position-grid[data-v-e80569e0]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 8px}.position-btn[data-v-e80569e0]{min-height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:all .2s}.position-btn[data-v-e80569e0]:hover,.position-btn.active[data-v-e80569e0]{background:#8b5cf633;border-color:#a78bfa;color:#a78bfa}.empty-hint[data-v-e80569e0]{text-align:center;color:#e2e8f0;font-size:var(--font-size-sm, .85rem);padding:20px 0;line-height:1.5}.color-presets[data-v-e80569e0]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.color-dot[data-v-e80569e0]{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}.color-dot.active[data-v-e80569e0]{border-color:#a78bfa;box-shadow:0 0 0 2px #8b5cf64d}.color-dot[data-v-e80569e0]:hover{transform:scale(1.15)}.custom-color-row[data-v-e80569e0]{display:flex;align-items:center;gap:8px}.custom-color-row input[type=color][data-v-e80569e0]{width:36px;height:36px;border:none;background:none;cursor:pointer;border-radius:6px}.hex-input[data-v-e80569e0]{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;padding:8px;border-radius:6px;font-size:var(--font-size-sm, .85rem);font-family:monospace}.eye-dropper-btn[data-v-e80569e0]{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.eye-dropper-btn[data-v-e80569e0]:hover{background:#8b5cf633;color:#a78bfa;border-color:#a78bfa}.filter-grid[data-v-e80569e0]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.filter-card[data-v-e80569e0]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;cursor:pointer;transition:all .2s}.filter-card[data-v-e80569e0]:hover{background:#ffffff14;border-color:#ffffff26}.filter-card.active[data-v-e80569e0]{background:#8b5cf62e;border-color:#a78bfa}.filter-icon[data-v-e80569e0]{font-size:var(--font-size-lg, 1.15rem)}.filter-name[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem);color:var(--text-secondary, #a0a0b8);font-weight:500}.filter-card.active .filter-name[data-v-e80569e0]{color:#a78bfa}.eraser-brush-cursor.mosaic-cursor[data-v-e80569e0]{border-color:#6495edb3;background:#6495ed40}.eraser-brush-cursor.draw-cursor[data-v-e80569e0]{border-width:2px}.draw-color-presets[data-v-e80569e0]{display:flex;gap:4px;flex-wrap:wrap}.color-dot.small[data-v-e80569e0]{width:22px;height:22px}.style-btns button[data-v-e80569e0]{min-width:auto;width:auto;padding:4px 10px;white-space:nowrap}.annotate-tools[data-v-e80569e0]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.annotate-tool-btn[data-v-e80569e0]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:var(--font-size-sm, .85rem)}.annotate-tool-btn[data-v-e80569e0]:hover{background:#8b5cf61a;border-color:#8b5cf64d}.annotate-tool-btn.active[data-v-e80569e0]{background:#8b5cf633;border-color:#a78bfa;color:#a78bfa}.annotate-tool-btn svg[data-v-e80569e0]{flex-shrink:0}@media (max-width: 768px){.image-editor[data-v-e80569e0]{left:0;width:100%;height:100dvh}.hdr-btn[data-v-e80569e0]{padding:6px;gap:4px}.header-right[data-v-e80569e0]{gap:6px!important}[data-v-e80569e0] .modal-title{min-width:0;font-size:var(--font-size-md, 1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-body[data-v-e80569e0]{flex-direction:column;min-height:0}.canvas-area[data-v-e80569e0]{flex:0 0 auto;height:42dvh;min-height:280px}[data-v-e80569e0] .preview-img,[data-v-e80569e0] .editor-canvas{max-height:100%!important;max-width:100%!important}.control-panel[data-v-e80569e0]{width:100%;flex:1;min-height:0;height:auto;border-left:none;border-top:1px solid rgba(255,255,255,.06)}.hdr-btn span[data-v-e80569e0]{display:none}.tab-icon[data-v-e80569e0]{font-size:var(--font-size-lg, 1.15rem)}.tab-label[data-v-e80569e0]{font-size:var(--font-size-sm, .85rem)}.filter-grid[data-v-e80569e0]{grid-template-columns:repeat(5,1fr);gap:6px}.tab-btn[data-v-e80569e0]{min-height:58px;padding:8px 0 6px;gap:3px}.tab-content[data-v-e80569e0]{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.slider-row input[type=range][data-v-e80569e0]::-webkit-slider-thumb{width:22px;height:22px}}
