/* Adapter selectors for the unchanged writing comparison component. */
html #st-review-host .ss-ghost-preview.ss-comparison {
  --ss-ghost-add-bg:#e7eee7; --ss-ghost-del-bg:#f2e9e1;
  background:var(--ss-ghost-bg)!important; animation:none; container-type:inline-size;
  padding:0!important; overflow-x:hidden; font-size:16px!important;
}
html[data-theme="dark"] #st-review-host .ss-ghost-preview.ss-comparison { --ss-ghost-add-bg:#30483b; --ss-ghost-del-bg:#493c33; }
html #st-review-host .ss-comparison .ss-comparison-bar {
  position:sticky; top:0; z-index:3; display:flex; justify-content:flex-end; gap:8px;
  padding:14px 28px; border-bottom:1px solid var(--ss-ghost-close-edge);
  background:var(--ss-ghost-bg)!important;
}
html #st-review-host .ss-comparison button {
  font-weight:600; font-size:14px; line-height:1.3; font-family:inherit; min-height:40px; padding:8px 16px;
  border:1px solid transparent; border-radius:10px; cursor:pointer;
  background:transparent!important; color:var(--ss-ghost-ink)!important;
  outline:none!important; box-shadow:none!important; transition:background-color 120ms;
}
html #st-review-host .ss-comparison button:hover,
html #st-review-host .ss-comparison button:focus-visible { background:var(--ss-ghost-add-bg)!important; border-color:var(--ss-ghost-accent); }
html #st-review-host .ss-comparison button:focus-visible { text-decoration:underline; text-underline-offset:4px; }
html #st-review-host .ss-comparison .ss-comparison-apply { background:var(--ss-ghost-accent)!important; color:var(--ss-ghost-accent-ink)!important; }
html #st-review-host .ss-comparison .ss-comparison-apply:hover { background:var(--ss-ghost-accent-strong)!important; }
html #st-review-host .ss-comparison button:disabled { opacity:.45; cursor:default; }
html #st-review-host .ss-comparison .ss-comparison-head,
html #st-review-host .ss-comparison .ss-comparison-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; }
html #st-review-host .ss-comparison .ss-comparison-head { padding:18px 32px 14px; border-bottom:1px solid var(--ss-ghost-close-edge); font-size:13px; }
html #st-review-host .ss-comparison .ss-comparison-content { padding:22px 32px 70px; }
html #st-review-host .ss-comparison .ss-comparison-cell { position:relative; min-width:0; padding-block:0 18px; }
html #st-review-host .ss-comparison .ss-comparison-empty .ss-comparison-cell { padding-block:0; }
html #st-review-host .ss-comparison .ss-comparison-text { font-family:var(--ss-comparison-font,inherit)!important; font-size:var(--ss-comparison-size,18px)!important; line-height:var(--ss-comparison-line,1.8)!important; letter-spacing:var(--ss-comparison-spacing,normal); overflow-wrap:anywhere; white-space:normal; }
html #st-review-host .ss-comparison .ss-comparison-text :is(p,li,ul,ol,blockquote,div) { font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; }
/* The legacy editor-area universal rule assigns 14px to every descendant.
   Restore inline inheritance, preserving semantic bold/italic and explicit
   document styles. Generated diff spans must be typographically invisible. */
html #st-review-host .ss-comparison .ss-comparison-text :is(span,strong,b,em,i,u,s,del,ins,mark,a,code) { font-size:inherit; font-family:inherit; line-height:inherit; letter-spacing:inherit; }
html #st-review-host .ss-comparison .ss-comparison-text :is(.ss-comparison-added,.ss-comparison-removed) { font:inherit!important; letter-spacing:inherit!important; word-spacing:inherit!important; vertical-align:baseline; display:inline; padding:0!important; margin:0!important; white-space:inherit; }
html #st-review-host .ss-comparison .ss-comparison-text .ql-size-small { font-size:.75em; }
html #st-review-host .ss-comparison .ss-comparison-text .ql-size-large { font-size:1.5em; }
html #st-review-host .ss-comparison .ss-comparison-text .ql-size-huge { font-size:2.5em; }
html #st-review-host .ss-comparison .ss-comparison-text .ql-font-serif { font-family:Georgia,'Times New Roman',serif; }
html #st-review-host .ss-comparison .ss-comparison-text .ql-font-monospace { font-family:Monaco,'Courier New',monospace; }
html #st-review-host .ss-comparison .ss-comparison-text h1 { font-size:2em!important; line-height:1.3!important; }
html #st-review-host .ss-comparison .ss-comparison-text h2 { font-size:1.5em!important; line-height:1.3!important; }
html #st-review-host .ss-comparison .ss-comparison-text h3 { font-size:1.17em!important; line-height:1.3!important; }
html #st-review-host .ss-comparison .ss-comparison-structure { border-inline-start:3px solid var(--ss-ghost-accent); padding-inline-start:10px; }
html #st-review-host .ss-comparison .ss-comparison-text p { margin:0!important; padding:0!important; }
html #st-review-host .ss-comparison .ss-comparison-text :is(ul,ol) { margin:0!important; padding:0!important; padding-inline-start:1.5em!important; }
html #st-review-host .ss-comparison .ss-comparison-text li { margin:0!important; padding:0!important; }
html #st-review-host .ss-comparison .ss-comparison-text table { width:100%; table-layout:fixed; }
html #st-review-host .ss-comparison .ss-comparison-text pre { white-space:pre-wrap; }
html #st-review-host .ss-comparison .ss-comparison-text .ss-comparison-added { background:var(--ss-ghost-add-bg)!important; text-decoration:underline; text-decoration-color:var(--ss-ghost-accent); text-underline-offset:3px; border-radius:3px; }
html #st-review-host .ss-comparison .ss-comparison-text .ss-comparison-removed { background:var(--ss-ghost-del-bg)!important; text-decoration:line-through; border-radius:3px; }
html #st-review-host .ss-comparison .ss-comparison-rejectable { padding-inline-end:42px; }
html #st-review-host .ss-comparison .ss-comparison-reject { position:absolute; inset-inline-end:0; top:0; width:34px; min-height:34px; padding:0; font-size:23px; opacity:0; }
html #st-review-host .ss-comparison .ss-comparison-cell:hover .ss-comparison-reject,
html #st-review-host .ss-comparison .ss-comparison-cell:focus-within .ss-comparison-reject,
html #st-review-host .ss-comparison .ss-comparison-reject[aria-pressed="true"] { opacity:1; }
html #st-review-host .ss-comparison .ss-comparison-mobile-label { display:none; }
html #st-review-host .ss-comparison .ss-comparison-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html #st-review-host .ss-comparison .ss-comparison-status[data-error] { position:sticky; width:auto; height:auto; clip-path:none; bottom:0; padding:12px 28px; background:var(--ss-ghost-bg)!important; }
@container (max-width:650px) {
  html #st-review-host .ss-comparison .ss-comparison-head { display:none; }
  html #st-review-host .ss-comparison .ss-comparison-row { grid-template-columns:minmax(0,1fr); border-bottom:1px solid var(--ss-ghost-close-edge); margin-bottom:20px; }
  html #st-review-host .ss-comparison .ss-comparison-content { padding:18px 20px 60px; }
  html #st-review-host .ss-comparison .ss-comparison-mobile-label { display:block; font-size:12px; margin-bottom:8px; color:var(--ss-ghost-muted)!important; }
  html #st-review-host .ss-comparison .ss-comparison-bar { padding:12px 20px; }
  html #st-review-host .ss-comparison button { min-height:44px; }
  html #st-review-host .ss-comparison .ss-comparison-reject { min-height:44px; width:40px; opacity:1; }
}
@media (hover:none) { html #st-review-host .ss-comparison .ss-comparison-reject { opacity:1; min-height:44px; width:40px; } }
@media (prefers-reduced-motion:reduce) { html #st-review-host .ss-comparison button { transition:none; } }

/* Section speech uses the existing gutter; text typography and widths stay put. */
html #st-review-host .ss-comparison .ss-comparison-listen {
  position:absolute; inset-inline-end:-30px; top:0; width:28px; min-height:34px;
  padding:0; display:flex; align-items:center; justify-content:center; opacity:0;
  color:var(--ss-ghost-ink)!important; background:var(--ss-ghost-bg)!important;
}
html #st-review-host .ss-comparison .ss-comparison-rejectable .ss-comparison-listen { inset-inline-end:4px; }
html #st-review-host .ss-comparison .ss-comparison-rejectable .ss-comparison-reject { inset-inline-end:-30px; width:28px; }
html #st-review-host .ss-comparison .ss-comparison-row:hover .ss-comparison-listen,
html #st-review-host .ss-comparison .ss-comparison-row:focus-within .ss-comparison-listen,
html #st-review-host .ss-comparison .ss-comparison-listen[data-reading] { opacity:1; }
html #st-review-host .ss-comparison .ss-comparison-listen[data-reading] { color:var(--ss-ghost-accent)!important; }
@media(hover:none) {
  html #st-review-host .ss-comparison .ss-comparison-listen { opacity:1; }
}
@container(max-width:650px) {
  html #st-review-host .ss-comparison .ss-comparison-cell .ss-comparison-listen { opacity:1; inset-inline-end:44px; top:-8px; width:40px; min-height:40px; }
  html #st-review-host .ss-comparison .ss-comparison-rejectable .ss-comparison-reject { inset-inline-end:0; top:-8px; width:40px; min-height:40px; }
}

/* Translator host; the comparison fills the existing two-panel document surface. */
.translate-page .st-panels.st-reviewing{position:relative!important;overflow:visible!important}
.st-reviewing>.st-source-panel,.st-reviewing>.st-target-panel{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#st-review-host{position:absolute;inset:0;z-index:40;min-height:300px;border:1px solid rgba(228,220,212,.72);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px #5c4d430f,0 4px 16px #5c4d430d,0 18px 56px #5c4d430f}
body.st-comparing #drawer,body.st-comparing .st-drawer-backdrop{visibility:hidden!important;pointer-events:none!important}
.translate-page #drawer .st-edit-card{box-sizing:border-box;align-self:flex-start;width:fit-content;max-width:100%;min-width:200px;margin:12px 0 0;padding:12px;border:1px solid rgba(228,220,212,.72);border-radius:16px;background:rgba(255,254,251,.86);box-shadow:0 1px 2px rgba(92,77,67,.04),0 8px 24px rgba(92,77,67,.06),inset 0 1px 0 rgba(255,255,255,.62)}
.st-edit-choices{display:flex;flex-direction:column;gap:8px}
.translate-page #drawer .st-edit-card button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 16px;font-family:inherit;font-size:13.5px;font-weight:600;line-height:1.3;border:1px solid var(--tr-line);border-radius:14px;background:transparent;color:var(--tr-muted);cursor:pointer;transition:background-color 140ms;outline:none!important}
.translate-page #drawer .st-edit-card .st-edit-primary{background:#4a7a68;color:#fffefb;border-color:transparent;box-shadow:0 4px 12px rgba(74,122,104,.28)}
.translate-page #drawer .st-edit-card .st-edit-primary:is(:hover,:focus-visible){background:#3d6b57}
.translate-page #drawer .st-edit-card .st-edit-append:is(:hover,:focus-visible){background:var(--tr-raised);color:var(--tr-ink)}
.translate-page #drawer .st-edit-card button:focus-visible{text-decoration:underline;text-underline-offset:4px}
.translate-page #drawer .st-edit-card button:disabled{opacity:.5;cursor:default;box-shadow:none}
.translate-page #drawer .st-edit-card[aria-busy=true] .st-edit-primary{opacity:.7}
.translate-page #drawer .st-edit-card--applied{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.st-edit-status{display:flex;align-items:center;gap:8px;color:var(--tr-accent);font-size:13px;line-height:1.5}
.st-edit-status svg{flex-shrink:0}
.translate-page #drawer .st-edit-card .st-edit-undo{min-height:30px;padding:6px 13px;border-radius:999px;border-color:rgba(74,122,104,.32);font-size:12px;color:var(--tr-accent);margin-left:auto}
.translate-page #drawer .st-edit-card .st-edit-undo:is(:hover,:focus-visible){background:var(--tr-raised)}
.translate-page #drawer .st-edit-card .st-edit-undo[hidden]{display:none}
html[data-theme=dark] .translate-page #drawer .st-edit-card{background:var(--tr-card);border-color:var(--tr-line);box-shadow:0 2px 12px #0002}
html[data-theme=dark] #st-review-host{border-color:var(--tr-line)}
@media(prefers-reduced-motion:reduce){.translate-page #drawer .st-edit-card button{transition:none}}

/* The chat flex gap already supplies 14px of separation. */
.translate-page #drawer .st-edit-card{margin-top:-2px}
.translate-page #drawer .st-edit-card+.message-actions{margin-top:-6px!important}
