/* DA.6.1 — common nonblocking Closed Shell, calibrated with DA.4/DA.5 tokens. */
:root {
 --review-width:300px;--review-height:520px;--layer-review:1100;
 --review-surface:var(--surface-3);
 --review-light:radial-gradient(ellipse at 0 0,rgb(from var(--light-neutral) r g b / .68),rgb(from var(--light-neutral) r g b / .2) 30%,rgb(from var(--light-neutral) r g b / .025) 70%,transparent 100%);
 --review-elevation:inset 0 0 0 1px rgb(from var(--light-neutral) r g b / .025),var(--light-contact-2),var(--light-ambient-2);
}
#reviewPaletteHost {--control-surface:transparent;position:fixed;z-index:var(--layer-review);width:var(--review-width);height:var(--review-height);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:var(--radius-modal);border:0;background:var(--review-surface);color:var(--text-primary);box-shadow:var(--review-elevation);isolation:isolate}
#reviewPaletteHost::after {content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;background:var(--review-light);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
#reviewPaletteHost[hidden],#reviewPaletteHost [hidden] {display:none!important}
#reviewPaletteHost>.review-workflow {position:static;width:100%;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:inherit;box-shadow:none;background:transparent;overflow:hidden;display:flex;flex-direction:column;transform:none!important;font-family:inherit;font-size:12px;line-height:1.4}
#reviewPaletteHost .review-shell-header {flex:none;display:flex;align-items:center;gap:var(--space-related);padding:var(--space-inside);margin:0;cursor:grab;touch-action:none;border-bottom:1px solid var(--border-subtle)}
.review-shell-titles {flex:1;min-width:0}.review-shell-titles strong {display:block;font-size:9px;letter-spacing:var(--tracking-header);line-height:1.5}.review-shell-titles>div {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:var(--tracking-data);margin-top:var(--space-micro)}
#reviewPaletteHost button {font-family:inherit;font-size:9px;line-height:1.2;letter-spacing:var(--tracking-control);border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:var(--space-micro) var(--inset-compact);min-height:var(--control-height);cursor:pointer;box-shadow:none}
#reviewPaletteHost button:disabled {opacity:var(--disabled-opacity-muted);cursor:default}

#reviewPaletteHost .review-shell-header>button {flex:none;width:var(--control-height);height:var(--control-height);padding:5px;border:0;background:transparent;box-shadow:none}
#reviewPaletteHost .review-shell-header svg {width:16px;height:16px;stroke-width:1.5}
#reviewPaletteHost .review-shell-body {flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-inside);padding:var(--space-inside)}
#reviewPaletteHost .review-current-context {flex:none;min-height:0;max-height:58%;overflow:auto;margin:0;padding:0;border:0}
#reviewPaletteHost .review-index-section {flex:1;min-height:64px;display:flex;flex-direction:column;gap:var(--space-related);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-related)}
#reviewPaletteHost .review-index-label {flex:none;font-size:9px;line-height:1.4;letter-spacing:var(--tracking-header);color:var(--text-muted)}
#reviewPaletteHost .review-shell-index {flex:1;min-height:0;max-height:none;overflow:auto;margin:0;padding:0;border:0}
#reviewPaletteHost .comparison-primary {min-height:0}#reviewPaletteHost .set-destination-fields {height:auto;max-height:none;overflow:visible}
#reviewPaletteHost .review-shell-actions {flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-related);padding:var(--space-inside);border-top:1px solid var(--border-subtle)}
#reviewPaletteHost .review-shell-actions>button {margin:0;width:100%;min-width:0;min-height:var(--control-height);overflow-wrap:anywhere}

#reviewPaletteHost button.review-destructive:not(.review-primary) {color:var(--text-secondary)}
#reviewPaletteHost .review-shell-footer {flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px var(--space-inside) 10px;border-top:1px solid var(--border-subtle);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-metadata)}
#reviewPaletteHost .review-shell-footer button {width:28px;height:28px;padding:0;border:0;box-shadow:none;background:transparent;font-size:20px}
#reviewPaletteHost .review-shell-index button {color:var(--text-secondary);border-left:2px solid var(--border-subtle);box-shadow:none;letter-spacing:var(--tracking-data)}
#reviewPaletteHost .review-shell-index button {background:transparent;border:1px solid transparent;padding-left:var(--inset-compact)}
#reviewPaletteHost .review-shell-index button.done,#reviewPaletteHost .review-shell-index button.done.active {color:var(--success);background:rgb(from var(--success) r g b / .055)}
#reviewPaletteHost .review-shell-index button.active {background:transparent;color:var(--text-secondary);border:1px solid transparent;box-shadow:none;padding-left:var(--inset-compact);outline:1px solid var(--accent);outline-offset:-1px}
#reviewPaletteHost .review-shell-index button b,#reviewPaletteHost .review-shell-index button em {color:inherit;background:transparent}
#reviewPaletteHost .review-shell-index button b {min-width:68px}#reviewPaletteHost #setReview .review-shell-index button b {min-width:12px}#reviewPaletteHost .review-shell-index button span {min-width:0;overflow-wrap:anywhere}
#reviewPaletteHost .set-destination-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-related)}
#reviewPaletteHost .set-destination-actions button.active {color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
#reviewPaletteHost .review-complete {color:var(--success);font-size:10px;letter-spacing:var(--tracking-control)}
#reviewPaletteHost .review-shell-body,#reviewPaletteHost .review-shell-body * {scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}
#reviewPaletteHost ::-webkit-scrollbar {width:6px;height:6px}#reviewPaletteHost ::-webkit-scrollbar-track {background:transparent}#reviewPaletteHost ::-webkit-scrollbar-thumb {background:var(--border-subtle);border:1px solid transparent;background-clip:padding-box;border-radius:var(--radius-control)}
/* Semantic evidence focus: graphite on paper, neutral light on dark surfaces.
   A parent passage is highlighted; semantic diff spans retain their own colours. */
.review-focus-target {position:relative;--review-focus-ink:var(--light-neutral)}
.script-paper .review-focus-target {--review-focus-ink:#30353a}
.script-paper[data-main-script-theme=dark] .review-focus-target {--review-focus-ink:var(--light-neutral)}
.review-focus-target::before {content:'';position:absolute;top:0;bottom:0;left:-7px;width:2px;pointer-events:none;background:var(--review-focus-ink);box-shadow:0 0 6px rgb(from var(--review-focus-ink) r g b / .38)}
.review-focus-target::after {content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(from var(--review-focus-ink) r g b / .16),transparent 22px),rgb(from var(--review-focus-ink) r g b / .035)}
/* Version identity borrows the Coverage leading rail / long-feather grammar. */
.comparison-active .comparison-version {--review-version-ink:#72a653;color:var(--text-primary);background:linear-gradient(90deg,rgb(from var(--review-version-ink) r g b / .38),rgb(from var(--review-version-ink) r g b / .12) 28%,transparent 65%),var(--surface-1);border-bottom-color:var(--border-subtle);box-shadow:inset 3px 0 var(--review-version-ink)}
.comparison-active .comparison-version.previous {--review-version-ink:#be766c}
.comparison-active .comparison-version .comparison-version-copy strong {color:var(--text-primary)}
.comparison-active .comparison-version .comparison-version-copy span {color:var(--text-secondary)}
/* Portaled row handles must not intercept the nonblocking review surface. */
body:has(#reviewPaletteHost:not([hidden])) .portaled-shot-comment {z-index:500!important}

/* Comparison uses the existing global Script preference; only contrast changes. */
.comparison-active .comparison-paper[data-main-script-theme=dark] {background:var(--script-bg);color:var(--script-text)!important}
.comparison-active .comparison-paper[data-main-script-theme=dark] ins {color:#a5d798;background:#62995324}
.comparison-active .comparison-paper[data-main-script-theme=dark] del {color:#d79793;background:#be4f4018}
#reviewPaletteHost #setReviewConfirm {margin:0}

/* DA.6.1.2: permanent Index first; one compact change/visibility utility line. */
#reviewPaletteHost .comparison-change-nav {display:flex;justify-content:flex-start;gap:var(--space-related);height:var(--control-height);margin:0 0 var(--space-related)}
#reviewPaletteHost .comparison-change-nav>strong {white-space:nowrap;font-size:9px;letter-spacing:var(--tracking-control)}
#reviewPaletteHost .review-visibility-control {position:relative;margin-left:auto;flex:none;width:28px;height:28px;min-width:28px;padding:5px;font-size:9px}
#reviewPaletteHost .review-visibility-control svg {width:16px;height:16px}
#reviewPaletteHost .review-visibility-control.active {color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
#reviewPaletteHost .review-visibility-control.active::before {content:'';position:absolute;left:6px;right:6px;top:13px;height:1.5px;background:currentColor;transform:rotate(-45deg);pointer-events:none}
.comparison-active .comparison-paper ins {color:#36783c;background:#62995320}
#reviewPaletteHost .scene-reference {height:auto;min-height:0;box-shadow:none;border-radius:0;letter-spacing:var(--tracking-data);text-decoration:none}
#reviewPaletteHost .scene-reference:hover {text-decoration:underline;text-underline-offset:3px}
#reviewPaletteHost .scene-references {margin:0 0 var(--space-related)}
#reviewPaletteHost .review-set-association {display:flex;flex-direction:column;gap:var(--space-micro);padding-block:var(--space-related)}
#reviewPaletteHost .review-set-association small {font-size:9px;letter-spacing:var(--tracking-header);color:var(--text-muted)}
#reviewPaletteHost .review-set-association strong {font-size:11px;letter-spacing:var(--tracking-data);overflow-wrap:anywhere;text-transform:uppercase}
/* Shared Media picker material reused without a backdrop or full-screen hit area. */
#setReviewPicker {--control-surface:transparent;position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 32px));height:fit-content;max-height:calc(100vh - 32px);padding:0;border:0;z-index:calc(var(--layer-review) + 1);overflow:visible;color:var(--text-primary)}
#setReviewPicker:not([open]) {display:none}
#setReviewPicker>section {width:100%;max-height:calc(100vh - 32px);min-height:0;border-radius:var(--radius-modal);background-color:var(--review-surface);padding:var(--space-normal);gap:var(--space-inside)}
#setReviewPicker h2 {font-family:inherit;font-size:10px;letter-spacing:var(--tracking-header)}
#setReviewPicker header>button {width:28px;height:28px;padding:5px;background:transparent;border:0}
#setReviewPicker header svg {width:16px;height:16px}
#setReviewPicker .review-set-picker-list {min-height:0;max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:var(--space-micro);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}
#setReviewPicker .project-media-option {flex:none;display:block;min-height:32px;text-align:left;font:inherit;font-size:12px;padding:var(--space-related) var(--space-inside);border-radius:var(--radius-control);text-transform:uppercase}
#setReviewPicker :is(button,input):focus-visible {outline:1px solid var(--accent);outline-offset:-2px}

/* One independent envelope per paper; fragments retain their own diff paint. */
/* Gold attention is a gutter rail only. No wash behind screenplay text. */
.comparison-change-envelope {position:absolute;pointer-events:none;box-sizing:border-box}
.comparison-change-envelope::before {content:'';position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent)}
.comparison-triage {flex:none;padding:0 0 6px}
.comparison-filters.context-segments {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%!important;box-sizing:border-box;height:calc(var(--control-height) + var(--space-related))!important;min-height:0!important;padding:0!important;gap:0;border:0!important;background:transparent!important;box-shadow:none!important}
#reviewPaletteHost .comparison-filters>button{position:relative;box-sizing:border-box;width:100%;min-width:0;height:100%!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:var(--inset-compact)!important;border-radius:var(--radius-control)!important}
.comparison-filters.context-segments::after{content:none}
#reviewPaletteHost .comparison-safe-accept {width:100%;margin-top:5px;padding:6px;font-size:9px;color:var(--accent)}
.comparison-triage p {font-size:10px;line-height:1.35;margin:5px 0}
.comparison-badge {display:inline-block;font-size:8px;margin:2px 0 0 5px;opacity:.85}


/* Shared Closed Shell / Level-2 material, reused by bounded contextual surfaces. */
.canonical-floating-2{--control-surface:transparent;position:relative;background:var(--review-surface)!important;color:var(--text-primary);border:0!important;border-radius:var(--radius-modal)!important;box-shadow:var(--review-elevation)!important;isolation:isolate}
.canonical-floating-2::after{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;background:var(--review-light);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.confirm-dialog.canonical-floating-2 .confirm-eyebrow,.confirm-dialog.canonical-floating-2 h2{letter-spacing:var(--tracking-header);font-family:inherit;line-height:1.4}
.confirm-dialog.canonical-floating-2 h2{font-size:12px}
.confirm-dialog.canonical-floating-2 p{font-size:12px;line-height:1.5;letter-spacing:var(--tracking-data);color:var(--text-secondary)}
.confirm-dialog.canonical-floating-2 .canonical-control{position:relative;min-height:var(--control-height);height:var(--control-height);padding:0 var(--inset-standard);border-color:transparent!important;background:transparent!important;color:var(--text-secondary)!important;font-family:inherit;font-size:9px;letter-spacing:var(--tracking-control);box-shadow:none!important}
.confirm-dialog.canonical-floating-2 .canonical-control:is(:hover,:focus-visible){color:var(--accent)!important;--control-edge-ink:var(--accent)}
.confirm-dialog.canonical-floating-2 .canonical-control[data-visual-intent=danger]:is(:hover,:focus-visible){color:var(--error)!important;--control-edge-ink:var(--error)}
.confirm-dialog.canonical-floating-2 .canonical-control:focus-visible{outline:1px solid currentColor;outline-offset:-2px}
