:root { --accent: #9b5b6b; --accent-dark: #603542; --accent-mid: #c88494; --accent-soft: #fff0f3; }
body { background: radial-gradient(circle at 76% 7%, rgba(207, 137, 153, .18), transparent 30%), linear-gradient(135deg, #fffdfd 0%, #fbf1f3 100%); }
.portrait-retouch-header .old-photo-heading > div { display: grid; gap: 2px; }
.portrait-retouch-header h1 { color: #2e2527; }
.portrait-retouch-header h1::first-letter { color: var(--accent-dark); }
.portrait-retouch-workspace { align-items: stretch; }
.portrait-retouch-settings-card { padding-bottom: 20px; }
.portrait-retouch-upload-note { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; color: #887b7f; font-size: 11px; line-height: 1.55; }
.portrait-retouch-upload-note svg { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; color: var(--accent); }
.portrait-retouch-mode-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.portrait-retouch-mode { min-height: 74px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #eadbdc; border-radius: 14px; background: rgba(255,255,255,.76); color: #665a5d; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.portrait-retouch-mode:hover { border-color: #d9adb7; }
.portrait-retouch-mode.is-selected { border: 2px solid var(--accent); background: #fff7f8; box-shadow: 0 7px 16px rgba(125, 66, 80, .09); color: var(--accent-dark); }
.portrait-retouch-mode > svg { width: 24px; height: 24px; flex: 0 0 auto; color: var(--accent-mid); }
.portrait-retouch-mode span { display: grid; gap: 4px; }
.portrait-retouch-mode strong { font-size: 12px; }
.portrait-retouch-mode small { color: #998b8e; font-size: 10px; }
.portrait-retouch-parameter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portrait-retouch-spec { min-height: 48px; display: grid; align-content: center; gap: 2px; padding: 7px 13px; border: 1px solid #e8dcdd; border-radius: 12px; background: #faf7f7; }
.portrait-retouch-spec strong { color: #5a4c50; font-size: 12px; }
.portrait-retouch-spec small { color: #9c8f92; font-size: 10px; }
.portrait-retouch-identity-note { border-color: #ecd9dd; background: linear-gradient(135deg, #fff8f9, #fbf0f3); }
.portrait-retouch-identity-note > i { color: var(--accent); }
/* Heights intentionally inherit the shared .result-stage rules from
   old-photo.css (min-height 430px + flex:1) so this panel matches the
   background-replace result panel exactly. Do not add min-height here. */
.portrait-retouch-result-grid { width: 100%; height: 100%; display: grid; place-items: center; }
.portrait-retouch-result-grid[hidden] { display: none; }
.portrait-retouch-result-slot { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 330px; padding: 16px; border: 0; border-radius: 16px; background: #efe4e2; overflow: hidden; }
.portrait-retouch-result-slot img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.portrait-retouch-result-slot span { position: absolute; right: 26px; bottom: 24px; padding: 6px 10px; border-radius: 999px; color: #fff; background: rgba(82, 45, 55, .76); font-size: 10px; backdrop-filter: blur(7px); }
.portrait-retouch-progress-slot { min-height: 330px; display: grid; place-content: center; justify-items: center; gap: 12px; color: #7f4655; text-align: center; }
.portrait-retouch-progress-slot small { max-width: 330px; color: #a7868e; line-height: 1.55; }
.portrait-retouch-progress-slot.is-failed { color: #a4524d; }
.portrait-retouch-progress-slot svg { width: 34px; height: 34px; }
.portrait-retouch-result-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portrait-retouch-use-note { border-color: #ead7dc; background: rgba(255, 251, 252, .85); }
@media (max-width: 1120px) {
  .portrait-retouch-progress-slot { min-height: 300px; }
}
@media (max-width: 760px) {
  .portrait-retouch-mode-grid, .portrait-retouch-parameter-grid { grid-template-columns: 1fr; }
  .portrait-retouch-result-actions { grid-template-columns: 1fr; }
  .portrait-retouch-progress-slot { min-height: 270px; }
}
