
#aivi-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-width:980px;margin:auto;border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:10px 0}
.row.two>*{flex:1 1 320px}
.checkbox{display:flex;align-items:center;gap:8px}
.pill{border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;padding:6px 12px;cursor:pointer}
.pill.active{background:#eef2ff}
.primary{background:#4f46e5;color:#fff;border:1px solid #4f46e5}
.status{margin-left:10px;color:#475569}
.spacer{flex:1}
#aivi-cv-wrap{position:relative;width:100%;border:1px dashed #d1d5db;border-radius:12px;overflow:hidden;min-height:0;background:#ffffff}
#aivi-base-c,#aivi-wall-c,#aivi-mask-c{position:absolute;top:0;left:0;display:block;width:100%;height:100%}
#aivi-base-c{z-index:0}
#aivi-mask-c{z-index:5}
#aivi-wall-c{z-index:10;pointer-events:none;opacity:.72;mix-blend-mode:multiply}
.adv summary{cursor:pointer;font-weight:600;color:#334155}
#aivi-debug{display:none;background:#0b1020;color:#c7d2fe;padding:10px;border-radius:8px;max-height:220px;overflow:auto;font-size:12px;margin-top:8px}

#aivi-shape-c{position:absolute;top:0;left:0;display:block;width:100%;height:100%;z-index:15;pointer-events:none}
.aivi-help{margin:8px 0 0;color:#475569;font-size:13px;line-height:1.45}


.tool-row{align-items:flex-end}
.aivi-switch{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:999px;padding:2px;background:#f8fafc;gap:2px}
.aivi-switch .pill{border:0;background:transparent;margin:0}
.aivi-switch .pill.active{background:#e0e7ff;box-shadow:0 0 0 1px rgba(99,102,241,.15) inset}

.pill:disabled{opacity:.55;cursor:not-allowed;}

.aivi-field{display:flex;flex-direction:column;gap:6px;min-width:220px;}
.aivi-upload-field{min-width:320px;}
.aivi-ai-row{align-items:flex-end;}
.aivi-ai-notes-field{flex:1 1 420px;}

.aivi-ai-row{align-items:flex-start;}
.aivi-ai-notes-field textarea, .aivi-ai-notes-field select, .aivi-field select, .aivi-field input[type="file"]{max-width:100%;}
#aivi-ai-notes{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;min-height:110px;resize:vertical;line-height:1.4;}
.aivi-preset-row{margin-top:0;align-items:flex-end;}
.aivi-preset-field{flex:1 1 280px;min-width:240px;}


#aivi-wrap{display:flex;flex-direction:column;}
.adv{order:99;margin-top:12px;}
.tool-row label{display:flex;flex-direction:column;gap:6px;}

.aivi-inline-slider{display:flex;align-items:center;gap:10px;min-width:260px;}
.aivi-inline-slider>span{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;}
.aivi-inline-slider input[type="range"]{flex:1 1 180px;}
.aivi-brush-inline{min-width:300px;}
.aivi-scale-inline{min-width:300px;}
.aivi-bias-field{min-width:180px;}
.aivi-realism-field{min-width:220px;}

.aivi-speed-field{min-width:170px;}


/* 1.9.54 AI options layout */
.aivi-ai-options{margin-top:10px;width:100%}
.aivi-ai-options-row{display:flex;flex-wrap:wrap;gap:12px}
.aivi-ai-options .aivi-field{flex:1 1 220px}


/* 1.9.54 UI cleanup */
.aivi-advanced-actions{margin-bottom:10px}
.aivi-download-row{margin-top:12px}


/* 1.9.54 AI layout + download order fix */
.aivi-ai-button-row{justify-content:flex-start}
.aivi-ai-fields-row{justify-content:flex-start}
.aivi-ai-fields-row .aivi-ai-notes-field{
  flex:0 1 720px;
  min-width:320px;
  align-items:flex-start;
  text-align:left;
}
.aivi-ai-notes-field label,
.aivi-preset-field,
#aivi-ai-opts summary{
  text-align:left;
}
.aivi-preset-row,
.aivi-ai-options-row{
  justify-content:flex-start;
  align-items:flex-start;
}
.aivi-preset-row .aivi-preset-field{
  flex:0 1 420px;
}
#aivi-ai-opts{
  width:100%;
}
.aivi-download-row{
  order:100;
  justify-content:flex-start;
  margin-top:12px;
}
#aivi-adv{
  order:99;
}


/* 1.9.54 UI changes */
.aivi-advanced-actions{display:flex;flex-wrap:wrap;gap:8px}


/* 1.9.54 vegetation opacity control */
.aivi-veg-opacity-inline{min-width:320px}


/* 1.9.54 reference + opacity inline */
.aivi-ref-opacity-row{
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
}
.aivi-ref-field{
  flex:0 1 260px;
  min-width:220px;
}
.aivi-veg-opacity-inline{
  flex:0 1 320px;
  min-width:280px;
  margin-top:0;
}


/* 1.9.54 simplified UI */
.tool-row{justify-content:flex-start}


/* 1.9.54 clean loader/layout */
.aivi-ref-opacity-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
}
.aivi-ref-field{
  flex:0 1 260px;
  min-width:220px;
}
.aivi-veg-opacity-inline{
  flex:0 1 300px;
  min-width:260px;
  margin-left:0;
}
#aivi-cv-wrap{
  position:relative;
  width:100%;
}
#aivi-cv-wrap canvas{
  display:block;
}


/* 1.9.54 status under image */
.aivi-status-row{
  display:flex;
  justify-content:flex-start;
  margin-top:10px;
  margin-bottom:8px;
}
.aivi-status-row .status{
  margin-left:0;
}


/* 1.9.64 advanced no-AI tiling + controls layout */
.aivi-bottom-controls{display:flex;gap:10px;align-items:center;justify-content:flex-start;margin-top:0;margin-bottom:4px}
.aivi-status-row{display:flex;justify-content:flex-start;margin-top:10px;margin-bottom:8px;min-height:24px}
.aivi-status-row .status{margin-left:0;display:inline-block;min-height:18px}
.aivi-download-row{display:flex}

#aivi-adv .row label{display:flex;flex-direction:column;gap:6px;min-width:140px}


/* 1.9.74 stability rollback UI fixes */
#aivi-adv .row label[for="aivi-slope"],
#aivi-adv .row label[for="aivi-rot"]{display:none;}
#aivi-slope, #aivi-rot, #aivi-slope-r, #aivi-rot-r{display:none !important;}
#aivi-adv .row label:has(#aivi-slope),
#aivi-adv .row label:has(#aivi-rot){display:none !important;}
#aivi-adv .aivi-brush-inline{min-width:220px !important; width:220px !important; align-items:flex-start !important;}
#aivi-adv .aivi-brush-inline > span{white-space:normal !important; line-height:1.2;}
#aivi-adv .aivi-brush-inline input[type="range"]{width:100% !important; min-width:0 !important; flex:1 1 auto !important;}
#aivi-adv .row{align-items:flex-start;}

/* 1.9.77 UI fixes */
#aivi-adv .row{align-items:flex-end}
#aivi-adv .aivi-inline-slider.aivi-brush-inline{display:flex;flex-direction:column;align-items:flex-start;min-width:200px;width:200px}
#aivi-adv .aivi-inline-slider.aivi-brush-inline input[type=range]{width:100%;min-width:0;flex:none}
#aivi-adv label:has(#aivi-slope), #aivi-adv label:has(#aivi-rot){display:none !important}


.aivi-mask-actions-row,.aivi-scale-opacity-row,.aivi-no-ai-row{justify-content:flex-start}
.aivi-scale-opacity-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.aivi-scale-opacity-row .aivi-scale-inline,.aivi-scale-opacity-row .aivi-veg-opacity-inline{flex:0 1 320px;min-width:280px;margin-top:0}
.aivi-hidden-no-ai,.aivi-hidden-advanced,.aivi-hidden-advanced-panel{display:none !important}
.aivi-bottom-controls{display:flex !important;justify-content:flex-start;margin-top:12px}


.aivi-scale-row{justify-content:flex-start}
.aivi-scale-row .aivi-scale-inline{flex:0 1 420px;min-width:320px;margin-top:0}
.aivi-ai-button-row{align-items:flex-end;gap:12px;justify-content:flex-start}
.aivi-veg-opacity-beside-button{flex:0 1 320px;min-width:280px;margin-top:0}
.aivi-edit-tools-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}
.aivi-download-row{display:flex;justify-content:flex-start;margin-top:8px}
.aivi-hidden-prompt-controls,.aivi-hidden-no-ai{display:none!important}

/* 1.9.95 AI-first layout cleanup */
.aivi-main-controls-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:12px}
.aivi-main-controls-row .aivi-scale-inline{flex:0 1 360px;min-width:280px}
.aivi-main-controls-row .aivi-ai-button-row{margin:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.aivi-preset-row{display:flex;justify-content:flex-start;align-items:flex-end;gap:12px}
.aivi-preset-row .aivi-preset-field{flex:0 1 420px;min-width:280px}
#aivi-ai-opts{margin-top:6px;width:100%}
.aivi-ai-fields-row{justify-content:flex-start}

.aivi-ai-fields-row.aivi-hidden-prompt-controls{display:none !important}

#aivi-shape-c{pointer-events:none !important}
#aivi-mask-c{pointer-events:auto !important}

.aivi-scale-row,.aivi-preset-row,.aivi-ai-button-row,.aivi-ai-options,.aivi-bottom-controls,.aivi-download-row{width:100%;}

/* 2.0.11 UI cleanup: show clear drawn area, keep shape recovery tools hidden */
#aivi-shape-close,
#aivi-shape-undo{display:none !important;}


/* 2.0.08 payload height follow image */
#aivi-cv-wrap{padding:0;line-height:0;}
#aivi-cv-wrap::before,#aivi-cv-wrap::after{display:none !important;content:none !important;}


/* 2.0.09 activity indicator */
.aivi-status-row{align-items:center;gap:10px;}
.aivi-spinner{
  width:14px;
  height:14px;
  border:2px solid #cbd5e1;
  border-top-color:#4f46e5;
  border-radius:50%;
  display:inline-block;
  opacity:0;
  transform:scale(0.85);
  transition:opacity .15s ease, transform .15s ease;
  pointer-events:none;
  flex:0 0 14px;
}
.aivi-spinner.is-active{
  opacity:1;
  transform:scale(1);
  animation:aivi-spin .8s linear infinite;
}
@keyframes aivi-spin{from{transform:rotate(0deg) scale(1);}to{transform:rotate(360deg) scale(1);}}
