.wm-remover { display:flex; flex-direction:column; gap:22px; }
.wm-step { padding:24px; background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.06); border-radius:16px; }
.wm-dropzone { padding:56px 24px; text-align:center; border:2px dashed rgba(255,255,255,0.12); border-radius:12px; cursor:pointer; transition:border-color .2s,background .2s; }
.wm-dropzone:hover, .wm-dropzone.is-drag { border-color:var(--primary); background:rgba(var(--primary-rgb),0.04); }
.wm-dropzone i { font-size:42px; color:var(--primary); margin-bottom:14px; display:block; }
.wm-dropzone h3 { font-size:20px; margin-bottom:8px; }
.wm-dropzone p { color:var(--text-muted); margin-bottom:18px; font-size:14px; }
.wm-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:10px; background:rgba(255,255,255,0.06); color:var(--text); border:1px solid rgba(255,255,255,0.1); font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; transition:all .15s; font-family:inherit; }
.wm-btn:hover:not(:disabled) { background:rgba(255,255,255,0.1); }
.wm-btn:disabled { opacity:.45; cursor:not-allowed; }
.wm-btn--primary { background:var(--primary); color:#fff !important; border-color:transparent; }
.wm-btn--primary:hover:not(:disabled) { background:var(--primary-light); box-shadow:0 8px 24px rgba(var(--primary-rgb),0.35); }
.wm-btn--active { background:var(--primary); color:#fff !important; border-color:transparent; }
.wm-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:16px; }
.wm-size { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-muted); margin-left:auto; }
.wm-size input[type="range"] { width:120px; accent-color:var(--primary); }
.wm-canvas-wrap { position:relative; display:inline-block; max-width:100%; border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,0.08); background:#0a0a0a; line-height:0; margin-bottom:16px; }
.wm-canvas-wrap canvas { display:block; max-width:100%; height:auto; cursor:crosshair; }
.wm-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.wm-status { font-size:13.5px; color:var(--text-muted); }
.wm-progress { flex-basis:100%; height:6px; border-radius:3px; background:rgba(255,255,255,0.06); overflow:hidden; margin-top:6px; }
.wm-progress__fill { height:100%; background:linear-gradient(90deg,var(--primary),var(--primary-light)); transition:width .25s; width:0; }
.wm-compare { position:relative; display:inline-block; max-width:100%; border-radius:10px; overflow:hidden; line-height:0; user-select:none; margin-bottom:16px; }
.wm-compare canvas { display:block; max-width:100%; height:auto; }
.wm-compare-overlay { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; clip-path:inset(0 50% 0 0); pointer-events:none; }
.wm-compare-slider { position:absolute; bottom:12px; left:12px; right:12px; width:calc(100% - 24px); z-index:10; accent-color:var(--primary); }
.wm-info { display:flex; gap:18px; padding:22px 24px; background:rgba(var(--primary-rgb),0.05); border:1px solid rgba(var(--primary-rgb),0.15); border-radius:14px; }
.wm-info__icon { flex-shrink:0; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(var(--primary-rgb),0.15); color:var(--primary-light); font-size:18px; }
.wm-info h4 { font-size:16px; margin:0 0 12px; }
.wm-info ol { padding-left:20px; margin:0 0 14px; font-size:14px; line-height:1.65; color:var(--text-muted); }
.wm-info ol strong { color:var(--text); }
.wm-info__note { font-size:13.5px; color:var(--text-muted); padding-top:12px; border-top:1px solid rgba(255,255,255,0.06); }
.wm-info__note i { color:var(--primary); margin-right:6px; }
@media (max-width:640px){ .wm-toolbar{gap:8px} .wm-size{margin-left:0} .wm-dropzone{padding:36px 16px} }
/* === v9: side-by-side + crop === */
.wm-result-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.wm-result-item { display: flex; flex-direction: column; gap: 6px; }
.wm-result-label { font-size: 12px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.wm-result-wrap { background: #0a0a0a; border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; overflow: hidden; line-height: 0; }
.wm-result-wrap img { display: block; width: 100%; height: auto; }
.wm-crop-block { padding: 16px; background: rgba(var(--primary-rgb), 0.05); border: 1px solid rgba(var(--primary-rgb), 0.2); border-radius: 12px; margin-bottom: 20px; }
.wm-crop-title { font-size: 13px; font-weight: 700; color: var(--primary-light); margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.05em; }
.wm-crop-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wm-crop-item { display: flex; flex-direction: column; gap: 6px; }
.wm-crop-canvas { max-width: 100%; height: auto; display: block; background: #0a0a0a; border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; }
@media (max-width: 700px) {
  .wm-result-pair, .wm-crop-pair { grid-template-columns: 1fr; }
}
/* v12: доп. кнопки */
.wm-size input[type="number"] { font-family: inherit; }
#wmLine, #wmFillAll, #wmRefine { white-space: nowrap; }
/* v13: группа инструментов */
.wm-tool-group {
    display: inline-flex;
    gap: 6px;
    padding: 4px;
    border-radius: 10px;
    background: rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.08);
}
.wm-tool-group .wm-btn {
    border-radius: 8px;
    border-color: transparent;
    background: transparent;
}
.wm-tool-group .wm-btn.wm-btn--active {
    background: var(--primary);
    color: #fff;
    border-color: transparent;
}
/* v24: центр canvas + результат */
.wm-canvas-wrap {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    max-width: 100%;
}
.wm-canvas-wrap canvas {
    max-width: 100%;
    height: auto;
    display: block;
}
.wm-result-pair {
    max-width: 100%;
    margin: 0 auto;
}
.wm-result-wrap img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.wm-step {
    text-align: center;
}
.wm-canvas-wrap,
.wm-toolbar,
.wm-manual-tools,
.wm-actions {
    text-align: left;
}
.wm-actions {
    justify-content: center;
}
/* v25: чистый UI без артефактов */
.wm-canvas-wrap { display: flex !important; justify-content: center; width: fit-content; max-width: 100%; margin: 0 auto 16px; }
.wm-canvas-wrap canvas { max-width: 100%; height: auto; display: block; }
.wm-result-pair { max-width: 100%; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wm-result-wrap img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.wm-actions { justify-content: center; }
.wm-progress { max-width: 400px; margin: 8px auto 0; }

/* скрыть все спиннеры и кружки, если остались */
.wm-remover .spinner,
.wm-remover .loading-circle,
.wm-remover [class*="spinner"] { display: none !important; }

/* v28: авто-кнопка */
.wm-auto-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 12px; }
.wm-auto-row .wm-btn { padding: 10px 20px; }


/* ═══ v46-mobile ═══ */
.wm-canvas-wrap canvas { touch-action: none; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
@media (max-width: 768px) {
  .wm-remover { gap: 14px; }
  .wm-step { padding: 16px; border-radius: 12px; }
  .wm-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
  .wm-tool-group { flex: 1 1 100%; justify-content: space-between; }
  .wm-tool-group .wm-btn { flex: 1; justify-content: center; padding: 10px 8px; font-size: 13px; }
  .wm-size { flex: 1 1 calc(50% - 4px); margin-left: 0; padding: 8px 10px; background: rgba(0,0,0,0.2); border-radius: 8px; font-size: 12px; }
  .wm-size input[type="range"] { width: 100%; flex: 1; }
  .wm-size input[type="number"] { width: 50px !important; padding: 6px !important; font-size: 14px; }
  .wm-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .wm-actions .wm-btn { width: 100%; justify-content: center; padding: 14px 18px; font-size: 15px; }
  .wm-progress { max-width: 100%; margin-top: 4px; }
  .wm-status { text-align: center; font-size: 13px; }
  .wm-result-pair { grid-template-columns: 1fr; gap: 12px; }
  .wm-result-label { font-size: 11px; }
  .wm-info { flex-direction: column; gap: 10px; padding: 14px 16px; }
  .wm-info__icon { width: 36px; height: 36px; font-size: 16px; }
  .wm-info h4 { font-size: 15px; margin-bottom: 8px; }
  .wm-info ol { font-size: 13px; padding-left: 18px; line-height: 1.55; }
  .wm-info ol li { margin-bottom: 8px; }
  .wm-info__note { font-size: 12px; padding-top: 10px; }
  .wm-dropzone { padding: 36px 16px; border-radius: 12px; }
  .wm-dropzone i { font-size: 36px; margin-bottom: 10px; }
  .wm-dropzone h3 { font-size: 17px; }
  .wm-dropzone p { font-size: 13px; margin-bottom: 14px; }
  .wm-dropzone .wm-btn { padding: 12px 24px; font-size: 15px; }
}
@media (max-width: 480px) {
  .wm-step { padding: 12px; }
  .wm-actions .wm-btn--primary { padding: 16px 20px; font-size: 16px; font-weight: 700; }
  .wm-tool-group .wm-btn { padding: 9px 6px; font-size: 12px; }
  .wm-tool-group .wm-btn i { font-size: 13px; }
  .wm-size { flex: 1 1 100%; }
  .wm-info h4 { font-size: 14px; }
  .wm-info ol { font-size: 12px; }
  .wm-result-label { font-size: 10px; padding: 2px 0; }
  .wm-progress { height: 5px; }
}
@media (max-width: 900px) and (orientation: landscape) {
  .wm-canvas-wrap { max-height: 70vh; }
  .wm-canvas-wrap canvas { max-height: 70vh; width: auto !important; }
}
@media (hover: none) {
  .wm-btn:hover:not(:disabled) { background: rgba(255,255,255,0.06); }
  .wm-btn--primary:hover:not(:disabled) { background: var(--primary); box-shadow: none; }
  .wm-dropzone:hover { border-color: rgba(255,255,255,0.12); background: transparent; }
}


/* v47-pointer: canvas и touch */
.wm-canvas-wrap { touch-action: none; }
.wm-canvas-wrap canvas {
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
@media (max-width: 768px) {
  .wm-canvas-wrap { max-width: 100%; margin: 0 auto; }
  .wm-canvas-wrap canvas { width: 100% !important; height: auto !important; }
}


/* v48-mode: переключение Рисование / Прокрутка */
.wm-canvas-wrap.mode-draw canvas { touch-action: none; }
.wm-canvas-wrap.mode-scroll canvas { touch-action: auto; }
.wm-mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wm-mode-toggle--scroll {
  background: #3b82f6 !important;
  color: #fff !important;
  border-color: #3b82f6 !important;
}


/* ═══ v4.0: mobile canvas fix ═══ */
@media (max-width: 900px) {
    .wm-canvas-wrap {
        max-height: 55vh;
        max-width: 100%;
        overflow: auto;
        touch-action: pan-x pan-y pinch-zoom;
    }
    .wm-canvas-wrap canvas {
        max-height: 55vh;
        max-width: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
        touch-action: pinch-zoom;
    }
}
@media (min-width: 901px) and (pointer: coarse) {
    .wm-canvas-wrap canvas {
        touch-action: pinch-zoom;
    }
}
@media (pointer: fine) {
    .wm-canvas-wrap canvas {
        touch-action: none;
    }
}
.wm-mode-toggle {
    display: none;
}
@media (pointer: coarse) {
    .wm-mode-toggle { display: inline-flex; }
}
.wm-mode-toggle--scroll {
    background: #3b82f6 !important;
    color: #fff !important;
    border-color: #3b82f6 !important;
}


/* ═══ v4.1: курсор-кисть (Photoshop-style) ═══ */
.wm-canvas-wrap canvas {
    cursor: crosshair;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" fill="none" stroke="%23000" stroke-width="2" opacity="0.85"/><circle cx="12" cy="12" r="10" fill="none" stroke="%23fff" stroke-width="1"/><circle cx="12" cy="12" r="1.5" fill="%23000"/><circle cx="12" cy="12" r="0.8" fill="%23fff"/></svg>") 12 12, crosshair;
}
.wm-canvas-wrap.mode-scroll canvas {
    cursor: grab;
}
.wm-canvas-wrap.mode-scroll canvas:active {
    cursor: grabbing;
}


/* v4.2: flash animation при обновлении результата */
.wm-result-wrap img { transition: opacity 0.6s ease; }
