.image-enhancer[data-v-bca83bd3]{position:fixed;top:0;left:var(--sidebar-width, 220px);width:calc(100% - var(--sidebar-width, 220px));height:100%;background:var(--gradient-hero);z-index:10000;display:flex;flex-direction:column;transition:left .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1);--sidebar-width: 220px}.image-enhancer[data-sidebar-collapsed=true][data-v-bca83bd3]{--sidebar-width: 56px}.enhancer-body[data-v-bca83bd3]{flex:1;display:flex;flex-direction:column;overflow-y:auto}.editor-container[data-v-bca83bd3]{flex:1;display:flex;padding:1rem;gap:1.5rem;height:100%;overflow:hidden;min-height:0}.canvas-wrapper[data-v-bca83bd3]{flex:1;display:block;position:relative;background:transparent;overflow:hidden;min-height:0}.zoom-layer[data-v-bca83bd3]{will-change:transform;transition:transform .1s ease-out}.pane[data-v-bca83bd3]{flex:1;position:relative;background:#000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.canvas-aspect-container[data-v-bca83bd3]{position:relative;pointer-events:none}.source-img[data-v-bca83bd3],.composite-canvas[data-v-bca83bd3]{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.checkerboard-bg[data-v-bca83bd3]{background-image:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#1a1a1f}.pointer-cursor[data-v-bca83bd3]{position:absolute;border:2px solid rgba(255,255,255,.9);width:24px;height:24px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:10;box-shadow:0 0 4px #00000080,inset 0 0 4px #00000080;background:radial-gradient(circle,rgba(139,92,246,.8) 0%,rgba(139,92,246,.2) 50%,transparent 100%)}.click-indicator[data-v-bca83bd3]{position:absolute;width:10px;height:10px;background:#ff4757;border-radius:50%;transform:translate(-50%,-50%);z-index:5;border:1px solid white;box-shadow:0 0 4px #00000080}.spinner[data-v-bca83bd3]{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.controls-panel[data-v-bca83bd3]{background:#ffffff05;border-left:1px solid rgba(255,255,255,.05);padding:1.5rem;width:300px;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.file-info-panel[data-v-bca83bd3]{background:#ffffff0d;padding:.8rem;border-radius:8px;font-size:var(--font-size-sm, .85rem);color:#ccc}.info-item[data-v-bca83bd3]{margin-bottom:4px;display:flex;justify-content:space-between}.select-btn[data-v-bca83bd3]{margin-top:.5rem;width:100%;font-size:var(--font-size-sm, .85rem);padding:6px}.control-group label[data-v-bca83bd3]{display:block;margin-bottom:6px;color:#fff;font-size:var(--font-size-md, 1rem);font-weight:500}.mode-toggles[data-v-bca83bd3]{display:flex;gap:8px}.mode-btn[data-v-bca83bd3]{flex:1;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:6px;cursor:pointer;transition:.2s;font-size:var(--font-size-sm, .85rem)}.mode-btn.active[data-v-bca83bd3]{background:#6366f133;border-color:#8b5cf6}.mode-hint[data-v-bca83bd3]{font-size:var(--font-size-sm, .85rem);color:#9ca3af;margin-top:6px;line-height:1.4}.action-buttons[data-v-bca83bd3]{display:flex;gap:10px}.btn[data-v-bca83bd3]{padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;border:none;font-size:var(--font-size-md, 1rem)}.btn-primary[data-v-bca83bd3]{background:#8b5cf6;color:#fff}.btn-primary[data-v-bca83bd3]:hover{background:#7c3aed}.btn-secondary[data-v-bca83bd3]{background:#ffffff14;color:#fff}.btn-secondary[data-v-bca83bd3]:hover:not(:disabled){background:#ffffff26}.btn-gradient[data-v-bca83bd3]{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff}.btn-gradient[data-v-bca83bd3]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.btn-block[data-v-bca83bd3]{width:100%;display:block}.btn[data-v-bca83bd3]:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-outline[data-v-bca83bd3]{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}.btn-outline[data-v-bca83bd3]:hover{background:#ffffff1a;border-color:#fff6}.error-toast[data-v-bca83bd3]{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#ef4444;color:#fff;padding:12px 24px;border-radius:8px;z-index:9999;box-shadow:0 4px 12px #ef44444d;animation:slideDown-bca83bd3 .3s ease-out}.error-toast-content[data-v-bca83bd3]{display:flex;align-items:center;gap:12px}.modal-close[data-v-bca83bd3]{background:none;border:none;color:#fff;font-size:var(--font-size-xl, 1.25rem);cursor:pointer;padding:0;line-height:1}@keyframes slideDown-bca83bd3{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}@media (max-width: 768px){.image-enhancer[data-v-bca83bd3]{left:0!important;width:100%!important;height:100dvh}.modal-header[data-v-bca83bd3]{padding:1rem}.editor-container[data-v-bca83bd3]{flex-direction:column;gap:1rem;padding:.75rem;min-height:0;overflow:hidden}.canvas-wrapper[data-v-bca83bd3]{flex:0 0 auto;width:100%;min-height:280px;height:42dvh}.pane img[data-v-bca83bd3],.pane canvas[data-v-bca83bd3],.canvas-wrapper img[data-v-bca83bd3]{max-height:100%!important;max-width:100%!important}.zoom-layer.split-layout[data-v-bca83bd3]{gap:.75rem!important}.pane[data-v-bca83bd3]{min-width:0}.controls-panel[data-v-bca83bd3]{width:100%;flex:1;min-height:0;border-left:none;border-top:1px solid rgba(255,255,255,.08);padding:1rem 1rem calc(20px + env(safe-area-inset-bottom));overflow-y:auto}}.controls-panel.editor-controls-panel[data-v-bca83bd3]{padding:14px!important;gap:8px!important}
