/* One result workspace, independent of the landing, account and iframe layouts. */
body.review-open { overflow:hidden; }
#resultDialog {
  --review-line:var(--border,#d4d9cf);
  position:fixed; inset:0; width:min(1440px,96vw); height:min(940px,94dvh);
  max-width:none; max-height:none; margin:auto; padding:0; overflow:hidden;
  border:1px solid var(--review-line); border-radius:20px; background:var(--surface,#fffefa);
  color:var(--ink,#263e32); box-shadow:0 28px 110px #0005; font:14px/1.5 'Segoe UI',sans-serif;
}
#resultDialog[open] { display:flex; flex-direction:column; }
#resultDialog::backdrop { background:#151713b8; backdrop-filter:blur(7px); }
#resultDialog [hidden] { display:none!important; }
#resultDialog button,#resultDialog a { -webkit-tap-highlight-color:transparent; }
#resultDialog button { font:inherit; cursor:pointer; }
#resultDialog button:disabled,#resultDialog [aria-disabled=true] { opacity:.45; cursor:wait; }
#resultDialog :focus-visible { outline:3px solid var(--focus,#a77854); outline-offset:3px; }
.review-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; border-bottom:1px solid var(--review-line); }
.review-header h2 { margin:0; font:600 21px/1.35 'Segoe UI',sans-serif; letter-spacing:-.4px; }
.review-header p { margin:3px 0 0; color:var(--muted,#667363); font-size:13px; }
#reviewClose { width:42px; height:42px; flex:none; background:var(--page); border:1px solid var(--review-line); border-radius:50%; font-size:25px; line-height:1; }
#resultPanel { flex:1; min-height:0; display:grid; grid-template-columns:244px minmax(0,1fr);position:relative; margin:0; padding:0; gap:0; background:none; border-radius:0; }
#resultVisual { grid-column:2;grid-row:1;min-width:0; min-height:0; display:flex; flex-direction:column; padding:18px; gap:12px; background:var(--section,#eef0e8); }
.review-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.review-segments { display:flex; gap:3px; padding:3px; background:var(--surface); border:1px solid var(--review-line); border-radius:10px; }
.review-segments button { border:0; border-radius:7px; background:transparent; color:inherit; padding:8px 16px; min-height:40px; }
.review-segments button[aria-pressed=true] { background:var(--primary); color:white; }
.review-zoom { display:flex; align-items:center; gap:3px; }
.review-zoom button { min-width:40px; min-height:40px; border:1px solid var(--review-line); border-radius:8px; background:var(--surface); color:inherit; }
#reviewZoomValue { min-width:76px; font-size:12px; }
#resultDialog .result-stage { flex:1; min-height:0; width:100%; height:auto; max-height:none; aspect-ratio:auto!important; border-radius:12px; background:#20231f; isolation:isolate; touch-action:none; }
#resultStage[data-zoomed=true]:not([data-comparing=true]) { cursor:grab; }
#resultStage[data-zoomed=true]:active { cursor:grabbing; }
#resultImageFrame,#resultOriginalFrame { position:absolute; inset:0; transform:var(--review-transform,none); pointer-events:none; }
#resultDialog #resultImage,#resultDialog #resultOriginal { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:contain; background:transparent; border-radius:0; pointer-events:none; user-select:none; }
#resultDialog #resultBeforeClip { position:absolute; inset:0; background:#20231f; clip-path:inset(0 calc(100% - var(--split)) 0 0); pointer-events:none; }
#resultDialog #resultLine { z-index:2; }
#resultDialog #resultCompare { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; touch-action:none; z-index:3; }
#resultStage.move-source #resultCompare { pointer-events:none; }
#resultStage.move-source { cursor:grab; }
#resultStage.move-source:active { cursor:grabbing; }
#resultDialog #resultStage:has(.transparent-preview) { background:repeating-conic-gradient(#d3d5d1 0 25%,#ebece8 0 50%) 0 / 20px 20px; }
.review-image-label { position:absolute; top:14px; padding:5px 9px; border-radius:6px; background:#151814b8; color:#fff; font-size:11px; pointer-events:none; z-index:4; }
#reviewSourceLabel { left:14px; } #reviewResultLabel { right:14px; }
.review-image-meta { display:flex; gap:10px; justify-content:space-between; color:var(--muted,#667363); font-size:12px; }
#reviewStageHint { margin:0; font-size:12px; color:inherit; }
#reviewDimensions { white-space:nowrap; }
#resultDialog .result-controls { grid-column:1;grid-row:1;min-width:0; max-height:none; overflow:auto; padding:22px; border-right:1px solid var(--review-line); overscroll-behavior:contain; }
.review-settings-toggle { cursor:pointer; font-weight:600; list-style:none; padding-bottom:14px; }
.review-settings-toggle::-webkit-details-marker { display:none; }
.review-settings-section { padding:16px 0; border-top:1px solid var(--review-line); }
.review-settings-section h3 { font:600 14px/1.5 'Segoe UI',sans-serif; margin:0 0 10px; }
#resultDialog .result-modes { margin:0; display:grid; grid-template-columns:1fr 1fr; }
#resultDialog .result-modes button { padding:8px 5px; min-height:42px; border:1px solid var(--review-line); border-radius:8px; background:var(--page); color:inherit; font-size:12px; }
#resultDialog .result-modes button[aria-pressed=true] { background:var(--primary); color:white; border-color:var(--primary); }
#resultDialog .field-hint { color:var(--muted,#667363); font-size:12px; line-height:1.55; margin:10px 0 0; }
#resultDialog .base-toggle { display:flex; align-items:center; gap:9px; font-size:13px; padding:8px 0; }
#blackBase { width:19px; height:19px; accent-color:var(--primary); }
#resultDialog .source-modes { display:flex; gap:6px; margin:12px 0; }
#resultDialog .source-modes button { flex:1; border:1px solid var(--review-line); border-radius:8px; background:var(--page); color:inherit; min-height:42px; font-size:12px; }
#resultDialog .source-modes button[aria-pressed=true] { background:var(--primary); color:white; }
#comparisonTools label { display:block; font-size:12px; margin:10px 0; }
#comparisonTools input[type=range] { width:100%; min-height:34px; accent-color:var(--primary); }
#comparisonTools input[type=file] { width:100%; font-size:12px; }
#comparisonTools summary { font-weight:600; cursor:pointer; min-height:40px; padding:8px 0; }
#reviewResetAlignment { background:transparent; color:inherit; border:1px solid var(--review-line); border-radius:8px; min-height:40px; width:100%; }
.review-footer { flex:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; border-top:1px solid var(--review-line); padding:14px 24px; background:var(--surface); }
.review-footer .button { min-height:44px; padding:11px 18px; gap:8px; font-size:13px; border-radius:9px; transform:none; }
.review-footer .secondary { border:1px solid var(--review-line); background:transparent; color:inherit; }
.review-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-left:auto; }
#transparentStatus { flex-basis:100%; margin:0; font-size:12px; color:var(--muted,#667363); }
#transparentStatus:empty { display:none; }
#resultDialog #returnToConstructor,#resultDialog #openInConstructor { margin:0; width:auto; }
#reviewReady { display:contents; }
#reviewWaiting { flex:1; display:grid; place-content:center; padding:40px; text-align:center; color:var(--muted); }
#reviewWaiting>span { font-size:44px; margin-bottom:20px; }
#resultDialog:not([data-state=completed]) #resultPanel { display:none; }
#reviewImageError { position:absolute; inset:0; z-index:5; background:#20231f; color:#fff; display:grid; place-content:center; text-align:center; padding:20px; }
#reviewRetryImage { justify-self:center; min-height:44px; padding:8px 20px; border:1px solid #aaa; border-radius:8px; background:#fff; color:#222; }
@media(max-width:760px) {
  #resultDialog,body[data-portrait-embed] #resultDialog { width:100dvw; height:100dvh; max-height:none; border:0; border-radius:0; }
  .review-header { flex:none;min-height:48px;padding:4px 10px;gap:8px; }
  #resultDialog[data-state=completed] .review-header p { display:none; }
  .review-header h2 { font-size:16px; }
  .review-header p { font-size:12px; }
  #resultPanel { display:flex; flex-direction:column; }
  #resultVisual { grid-column:auto;grid-row:auto;flex:1;min-height:0;padding:6px;gap:4px; }
  #resultDialog .result-stage { border-radius:4px; }
  #resultDialog .review-image-meta { min-height:12px; }
  .review-toolbar { gap:4px;flex-wrap:nowrap; }
  .review-segments { gap:0;padding:2px; }
  .review-segments button { padding:6px 8px;min-height:40px;font-size:11px;white-space:nowrap; }
  .review-zoom button { min-width:32px;min-height:40px; }
  #reviewZoomValue { min-width:50px;font-size:11px; }
  .review-image-meta { font-size:10px; }
  #reviewStageHint { display:none; }
  #resultDialog .result-controls { grid-column:auto;grid-row:auto;position:static;flex:0 0 44px;height:44px;border:0;border-top:1px solid var(--review-line);padding:0 12px;overflow:visible; }
  #reviewSettings[open] { position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:min(360px,55dvh);overflow:auto;padding:0 12px 12px;background:var(--surface,#fffefa);border-top:1px solid var(--review-line);box-shadow:0 -8px 24px #0002; }
  #reviewSettings[open]>.review-settings-toggle { position:sticky;top:0;background:var(--surface,#fffefa);z-index:1; }
  .review-settings-toggle { padding:12px 0; min-height:44px; }
  .review-settings-toggle::after { content:'⌄'; float:right; }
  .review-settings-section { padding:10px 0; }
  .review-footer { padding:6px 8px max(6px,env(safe-area-inset-bottom));gap:6px; }
  .review-footer .button { min-height:44px; padding:9px 12px; font-size:12px; }
  .review-actions { flex:1;min-width:0;justify-content:flex-end;gap:6px; }
  .review-actions .button { flex:1;min-width:0;white-space:normal;text-align:center;line-height:1.2; }
  #reviewEdit { flex:0 1 100px;width:auto;padding:6px;font-size:11px;line-height:1.2; }
  #transparentStatus { font-size:11px; }
}
@media(max-height:500px) and (min-width:600px) {
  #resultPanel { display:grid; grid-template-columns:220px minmax(0,1fr); }
  #resultDialog .result-controls { max-height:none; border-top:0; border-left:1px solid var(--review-line); }
  .review-header { padding:8px 14px; }.review-footer { padding:8px 14px; }
  .review-header p,.review-image-meta { display:none; }
}
@media(prefers-reduced-motion:reduce) { #resultDialog * { scroll-behavior:auto; transition:none; } }
