/* Edit agent. Mirrors the Script Desk shell with ea- classes. Tokens come from app/tokens.css. */
body:has(#view-edit.active) {overflow: hidden;}
#app:has(> #view-edit.active) {height: 100dvh; display: flex; flex-direction: column; overflow: hidden;}
#app:has(> #view-edit.active) > .topbar {flex-shrink: 0;}
#view-edit *, #view-edit *::before, #view-edit *::after {box-sizing: border-box;}
#view-edit.active {display: flex; flex: 1; min-width: 0; min-height: 0; overflow: hidden; margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--font-sans); font-size: 14px; line-height: 1.5; letter-spacing: -0.01em;}
#view-edit [hidden] {display: none !important;}
#view-edit a {color: inherit; text-decoration: none;}
#view-edit p {margin: 0;}
#view-edit h2, #view-edit h3 {margin: 0; font-weight: 600; letter-spacing: -0.012em; color: var(--text);}
#view-edit h2 {font-size: 20px;}
#view-edit h3 {font-size: 16px;}
#view-edit .ea-mono {font-family: var(--mono); font-size: 12px;}
#view-edit .ea-muted {color: var(--text2);}
#view-edit .ea-dim {color: var(--text3);}
#view-edit .ea-grow {flex: 1;}
#view-edit .ea-app {display: flex; flex-direction: column; flex: 1; min-width: 0; min-height: 0; height: 100%;}
#view-edit .ea-nav {display: flex; justify-content: space-between; gap: 8px; width: 100%; padding: 6px 8px; border: 0; border-radius: 6px;
  background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer;}
#view-edit .ea-nav:hover {background: var(--surface2);}
#view-edit .ea-nav.ea-on {background: var(--accent-light); color: var(--accent);}
#view-edit .ea-nav .ea-c {font-family: var(--mono); font-size: 12px; color: var(--text2);}
#view-edit .ea-nav.ea-on .ea-c {color: var(--accent);}
#view-edit .ea-main {flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: auto;}
#view-edit .ea-main:has(> .ea-work:not([hidden])) {overflow: hidden;}
#view-edit .ea-heading {display: flex; flex-wrap: wrap; gap: 12px; align-items: end; justify-content: space-between; padding: 18px 16px 12px; border-bottom: 1px solid var(--border);}
#view-edit .ea-heading p {margin-top: 4px;}
#view-edit .ea-notice {padding: 10px 16px; color: var(--text2); background: var(--surface);}
#view-edit .ea-btn {display: inline-flex; align-items: center; justify-content: center; font: inherit; font-size: 14px; border-radius: 6px;
  padding: 7px 12px; border: 1px solid var(--border); background: transparent; color: var(--text); cursor: pointer; white-space: nowrap;}
#view-edit .ea-btn:hover:not(:disabled) {border-color: var(--border-strong);}
#view-edit .ea-btn.ea-primary {background: var(--accent); color: var(--on-accent); border-color: var(--accent); font-weight: 600;}
#view-edit .ea-btn.ea-primary:hover:not(:disabled) {background: var(--accent-hover); border-color: var(--accent-hover); color: var(--on-accent);}
#view-edit .ea-btn.ea-small {padding: 3px 8px; font-size: 12px;}
#view-edit .ea-btn:disabled {opacity: .4; cursor: not-allowed;}
#view-edit .ea-btn:focus-visible, #view-edit .ea-nav:focus-visible, #view-edit .ea-v:focus-visible,
#view-edit textarea:focus-visible, #view-edit select:focus-visible, #view-edit .ea-row:focus-visible {outline: 2px solid var(--accent); outline-offset: 2px;}
#view-edit .ea-pill {display: inline-flex; align-items: center; gap: 6px; font-size: 12px; padding: 1px 8px; border-radius: 999px;
  background: var(--surface2); color: var(--text2); white-space: nowrap;}
#view-edit .ea-pill::before {content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor;}
#view-edit .ea-pill.ea-need {color: var(--orange); background: var(--warning-soft);}
#view-edit .ea-pill.ea-run {color: var(--accent);}
#view-edit .ea-pill.ea-done {color: var(--green); background: var(--success-soft);}
#view-edit .ea-pill.ea-fail {color: var(--red); background: var(--danger-soft);}
#view-edit .ea-list {min-width: 0; max-width: 100%;}
#view-edit .scripts-video-inline{min-width:0}
#view-edit .scripts-video-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#view-edit .ea-prep-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
#view-edit .ea-prep-toolbar input{flex:1;min-width:180px;max-width:380px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:13px}
#view-edit .ea-prep-toolbar input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#view-edit .ea-prep-monitor{margin-left:auto;font-size:12px}
#view-edit .scripts-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#view-edit .ea-prep-table{table-layout:fixed;min-width:1060px}
#view-edit .ea-prep-id-col{width:7%}
#view-edit .ea-prep-video-col{width:24%}
#view-edit .ea-prep-stage-col{width:15%}
#view-edit .ea-prep-progress-col{width:36%}
#view-edit .ea-prep-actions-col{width:18%}
#view-edit .ea-prep-progress{font-size:12px;white-space:normal}
#view-edit .ea-prep-row .ea-cap .ea-t{max-width:100%}
#view-edit .ea-prep-row td{padding:11px 12px}
#view-edit .ea-prep-phase{display:block;color:var(--text2)}
#view-edit .ea-prep-progress progress{display:block;width:100%;height:4px;margin:6px 0;accent-color:var(--accent);border:0;border-radius:4px;overflow:hidden;background:var(--surface3)}
#view-edit .ea-prep-progress progress::-webkit-progress-bar{background:var(--surface3)}
#view-edit .ea-prep-progress progress::-webkit-progress-value{background:var(--accent)}
#view-edit .ea-prep-progress progress:not([value]){opacity:.5}
#view-edit .ea-prep-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#view-edit .ea-prep-actions select{min-width:0;max-width:100%;width:100%}
#view-edit .ea-prep-error,#view-edit .ea-prep-warning,#view-edit .ea-prep-detail{display:block;white-space:normal;overflow-wrap:anywhere;font-size:12px}
#view-edit .ea-prep-detail{max-width:34ch;color:var(--text3);margin-top:3px}
#view-edit .ea-prep-error{color:var(--red)}
#view-edit .ea-prep-warning{color:var(--orange)}
#view-edit .ea-tablewrap {overflow-x: auto; max-width: 100%; min-width: 0;}
#view-edit table {border-collapse: collapse; width: 100%; min-width: 720px;}
#view-edit th {font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--text3); font-weight: 500; text-align: left; padding: 10px 16px; border-bottom: 1px solid var(--border);}
#view-edit td {padding: 11px 16px; border-bottom: 1px solid var(--border); white-space: nowrap; font-variant-numeric: tabular-nums; vertical-align: middle;}
#view-edit .ea-row:hover {background: var(--surface);}
#view-edit .ea-cap .ea-t {display: block; color: var(--text); font-weight: 500; max-width: 34ch; overflow: hidden; text-overflow: ellipsis;}
#view-edit .ea-cap .ea-s {display: block; font-size: 12px; color: var(--text3); max-width: 42ch; overflow: hidden; text-overflow: ellipsis;}
#view-edit .ea-empty {text-align: center; color: var(--text2); padding: 48px 16px;}
#view-edit .ea-work {display: flex; flex-direction: column; flex: 1; min-height: 0;}
#view-edit .ea-workspace {display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); flex: 1; min-height: 0; min-width: 0;}
#view-edit .ea-chat {border-right: 1px solid var(--border); display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; min-height: 0; min-width: 0;}
#view-edit .ea-chat-head {display: flex; align-items: center; justify-content: space-between; gap: 10px;}
#view-edit .ea-style {display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text2);}
#view-edit select, #view-edit textarea {font: inherit; background: var(--surface); border: 1px solid var(--border-strong); color: var(--text); border-radius: 6px;}
#view-edit select {font-size: 13px; padding: 4px 8px;}
#view-edit .ea-msgs {flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 14px; padding-right: 2px;}
#view-edit .ea-steps {border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13px;}
#view-edit .ea-step {display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 8px; align-items: baseline;}
#view-edit .ea-step .ea-ic {color: var(--green); font-weight: 600;}
#view-edit .ea-step.ea-live .ea-ic {color: var(--accent);}
#view-edit .ea-step .ea-mono {color: var(--text3);}
#view-edit .ea-track {grid-column: 2 / 4; height: 4px; border-radius: 2px; background: var(--surface3); overflow: hidden;}
#view-edit .ea-track i {display: block; height: 100%; background: var(--accent);}
#view-edit .ea-you {align-self: flex-end; max-width: 85%; background: var(--accent-light); color: var(--text); border-radius: 10px 10px 2px 10px; padding: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere;}
#view-edit .ea-agent {max-width: 92%; display: flex; flex-direction: column; gap: 6px;}
#view-edit .ea-agent p {white-space: pre-wrap; overflow-wrap: anywhere;}
#view-edit .ea-who {font-size: 12px; color: var(--text3);}
#view-edit .ea-ready {display: flex; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; background: var(--surface);}
#view-edit .ea-fail:not(.ea-pill) {padding: 12px; border-radius: 8px; background: var(--danger-soft); color: var(--red); display: flex; flex-direction: column; align-items: flex-start; gap: 8px;}
#view-edit .ea-form {border-top: 1px solid var(--border); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; flex-shrink: 0;}
#view-edit .ea-form label {font-size: 12px;}
#view-edit textarea {resize: none; min-height: 64px; padding: 8px 12px;}
#view-edit textarea::placeholder {color: var(--text3);}
#view-edit .ea-form-row {display: flex; gap: 8px; align-items: center; justify-content: space-between; flex-wrap: wrap;}
#view-edit .ea-hint {font-size: 12px;}
#view-edit .ea-chat-error, #view-edit .ea-save-error {color: var(--red); font-size: 12px;}
#view-edit .ea-stage {display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; min-height: 0; min-width: 0; overflow: auto; align-items: center;}
#view-edit .ea-versions {display: flex; gap: 6px; align-self: stretch; align-items: center; flex-wrap: wrap;}
#view-edit .ea-lbl {font-size: 12px; color: var(--text3); margin-right: 4px;}
#view-edit .ea-v {font: inherit; font-size: 12px; font-family: var(--mono); border: 1px solid var(--border); background: var(--surface); color: var(--text2); border-radius: 6px; padding: 3px 9px; cursor: pointer;}
#view-edit .ea-v.ea-on {border-color: var(--accent); color: var(--accent); background: var(--accent-light);}
#view-edit .ea-v.ea-pending {border-style: dashed; color: var(--text3); cursor: default;}
#view-edit .ea-player {position: relative; height: min(60vh, 640px); aspect-ratio: 9 / 16; max-width: 100%; border-radius: 10px; overflow: hidden; background: #000; flex: 0 0 auto;}
#view-edit .ea-player video {width: 100%; height: 100%; object-fit: contain; background: #000; display: block;}
#view-edit .ea-player-empty {position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #a8a29e; font-size: 13px;}
#view-edit .ea-meta {align-self: stretch; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; justify-content: space-between; font-size: 12px; color: var(--text2);}
#view-edit .ea-actions, #view-edit .ea-save {display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap;}
#view-edit .ea-saving {color: var(--text2);}
#view-edit .ea-saved {color: var(--accent); font-weight: 600;}
#view-edit .ea-saved:hover {text-decoration: underline;}
@media (max-width: 760px) {
  #view-edit .ea-app {display: flex; flex-direction: column; height: 100%;}
  #view-edit .ea-navlist {flex-direction: row; flex-wrap: wrap;}
  #view-edit .ea-nav {width: auto;}
  #view-edit .ea-main {flex: 1;}
  #view-edit .ea-workspace {grid-template-columns: 1fr;}
  #view-edit .ea-chat {border-right: 0; border-bottom: 1px solid var(--border); min-height: 420px;}
}
@media (pointer: coarse) {
  #view-edit .ea-btn, #view-edit .ea-nav {min-height: 40px;}
}
@media (prefers-reduced-motion: no-preference) {
  #view-edit .ea-track i {transition: width .4s;}
}
/* Unified queue and sequential review. The editor iframe keeps its own controls and scrolling. */
#view-edit .ea-navlist {display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
#view-edit .ea-stage-tabs {display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto}
#view-edit .ea-stage-tabs .ea-nav {flex:none;white-space:nowrap}
#view-edit .ea-style-manager {margin-left:auto;white-space:nowrap}
#view-edit .ea-nav {width:auto;gap:8px;border:1px solid transparent}
#view-edit .ea-nav.ea-on {border-color:var(--border)}
#view-edit .ea-main:has(> .ea-flow-header:not([hidden])) {overflow:hidden}
#view-edit .ea-heading {padding:22px 24px 16px;align-items:center}
#view-edit .ea-flow-header {flex:none;border-bottom:1px solid var(--border);background:var(--bg)}
#view-edit .ea-flow-top {display:flex;align-items:center;gap:16px;padding:14px 20px}
#view-edit .ea-flow-top h2 {font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-edit .ea-flow-steps {display:flex;gap:8px;padding:0 20px 12px}
#view-edit .ea-flow-step {display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text3);font:inherit;cursor:pointer}
#view-edit .ea-flow-step:disabled {cursor:default}
#view-edit .ea-flow-step.ea-current {background:var(--accent-light);color:var(--accent);border-color:var(--border)}
#view-edit .ea-flow-step.ea-complete {color:var(--green)}
#view-edit .ea-step-number {display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-family:var(--mono);font-size:11px}
#view-edit .ea-flow-error {padding:8px 20px;background:var(--danger-soft);color:var(--red);font-size:13px}
#view-edit .ea-review,#view-edit .ea-style-page,#view-edit .ea-final-page {display:flex;flex:1;min-height:0;flex-direction:column}
#view-edit .ea-editor-host {flex:1;min-height:0;overflow:hidden}
#view-edit .ve-frame {display:block;width:100%;height:100%;border:0;background:var(--bg)}
#view-edit .ea-flow-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface);flex:none;font-size:12px}
#view-edit .ea-style-body {display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:32px;padding:28px;overflow:auto;flex:1;align-content:start}
#view-edit .ea-cut-summary {display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;border:1px solid var(--border);background:var(--surface);border-radius:8px;align-self:start;overflow-wrap:anywhere}
#view-edit .ea-cut-summary h3 {font-size:16px;line-height:1.5}
#view-edit .ea-cut-summary .ea-dim {font-size:13px}
#view-edit .ea-presets,#view-edit .ea-final-card {display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
#view-edit .ea-preset-note {font-size:12px}
#view-edit .ea-preset-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:8px 0;width:100%;min-width:0}
#view-edit .ea-preset {display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--border);background:var(--surface);border-radius:8px;cursor:pointer;min-width:0}
#view-edit .ea-preset:has(input:checked) {border-color:var(--accent);background:var(--accent-light)}
#view-edit .ea-preset:has(input:disabled) {opacity:.5;cursor:default}
#view-edit .ea-preset input {margin-top:4px;accent-color:var(--accent);flex:none}
#view-edit .ea-preset>span {display:grid;gap:8px;overflow-wrap:anywhere}
#view-edit .ea-preset .ea-preset-title {display:flex;align-items:center;gap:6px;min-width:0}
#view-edit .ea-preset .ea-preset-example {display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:24px;min-height:24px;
  border-radius:4px;color:var(--text2);text-decoration:none;font-size:15px;line-height:1}
#view-edit .ea-preset .ea-preset-example:hover,#view-edit .ea-preset .ea-preset-example:focus-visible {color:var(--accent)}
#view-edit .ea-preset .ea-preset-example:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
#view-edit .ea-preset .ea-dim {font-size:12px}
#view-edit .ea-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#view-edit .ea-flow-step:focus-visible,#view-edit .ea-preset:focus-within {outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){#view-edit .ea-style-body{gap:20px;padding:20px}#view-edit .ea-preset-grid{grid-template-columns:1fr}}
/* FableCut final edit: editor iframe, terminal dock, locked rough cut, confirmation. */
#view-edit .ea-fc-body {position:relative;flex:1;min-height:0;background:var(--surface);overflow:hidden}
#view-edit .ea-fc-frame {display:block;width:100%;height:100%;border:0;background:#000}
#view-edit .ea-fc-body.ea-resizing {cursor:col-resize;user-select:none}
#view-edit .ea-fc-body.ea-resizing .ea-fc-frame {pointer-events:none}
#view-edit .ea-fc-prep,#view-edit .ea-fc-failed,#view-edit .ea-fc-cleaned,#view-edit .ea-fc-batch {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:24px;text-align:center;background:var(--surface)}
#view-edit .ea-fc-failed {align-items:flex-start;text-align:left;overflow:auto}
#view-edit .ea-fc-prep {overflow:auto}
#view-edit .ea-fc-prep p {max-width:54ch;margin:0}
#view-edit .ea-fc-prep .ea-fc-note {font-size:20px;margin:4px 0}
#view-edit .ea-fc-prep-progress {margin:4px 0 8px}
#view-edit .ea-fc-prep .ea-btn {margin-top:8px}
#view-edit .ea-prep-spinner {display:inline-block;flex:none;width:28px;height:28px;box-sizing:border-box;
  border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%}
#view-edit .ea-btn .ea-prep-spinner {width:14px;height:14px;border-width:2px;margin-right:8px;vertical-align:middle}
@media(prefers-reduced-motion:no-preference){
  #view-edit .ea-prep-spinner {animation:ea-prep-spin 1s linear infinite}
  @keyframes ea-prep-spin {to{transform:rotate(360deg)}}
}
#view-edit .ea-fc-note {font-weight:600}
#view-edit .ea-fc-left {display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
#view-edit .ea-fc-status {display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text2);overflow-wrap:anywhere}
#view-edit .ea-export-progress {display:flex;flex-direction:column;gap:5px;width:clamp(180px,24vw,280px);max-width:100%}
#view-edit .ea-export-progress-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
#view-edit .ea-export-progress-percent {font-variant-numeric:tabular-nums;color:var(--text)}
#view-edit .ea-export-progress-bar {display:block;appearance:none;width:100%;height:6px;border:0;border-radius:999px;overflow:hidden;
  background:var(--surface3);color:var(--accent)}
#view-edit .ea-export-progress-bar::-webkit-progress-bar {background:var(--surface3);border-radius:999px}
#view-edit .ea-export-progress-bar::-webkit-progress-value {background:var(--accent);border-radius:999px}
#view-edit .ea-export-progress-bar::-moz-progress-bar {background:var(--accent);border-radius:999px}
#view-edit .ea-export-complete .ea-export-progress-bar {color:var(--green)}
#view-edit .ea-export-complete .ea-export-progress-bar::-webkit-progress-value {background:var(--green)}
#view-edit .ea-export-complete .ea-export-progress-bar::-moz-progress-bar {background:var(--green)}
#view-edit .ea-export-progress-bar:indeterminate::-webkit-progress-bar {background:linear-gradient(90deg,var(--surface3),var(--accent),var(--surface3));background-size:200% 100%}
@media(prefers-reduced-motion:no-preference){
  #view-edit .ea-export-progress-bar:indeterminate::-webkit-progress-bar {animation:ea-save-wait 1.5s linear infinite}
  @keyframes ea-save-wait {to{background-position:-200% 0}}
}
#view-edit .ea-fc-error {color:var(--red);font-size:12px}
#view-edit .ea-fc-cleaned {gap:12px;overflow-wrap:anywhere}
#view-edit .ea-fc-cleaned-note {max-width:56ch}
#view-edit .ea-fc-batch {gap:12px;overflow-wrap:anywhere}
#view-edit .ea-fc-batch-note {max-width:56ch}
#view-edit .ea-fc-cleaned-actions {display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
#view-edit .ea-fc-cleaned-status {display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%}
#view-edit .ea-fc-details {font-size:12px;color:var(--text2);max-width:100%;min-width:0}
#view-edit .ea-fc-details summary {cursor:pointer;color:var(--text2)}
#view-edit .ea-fc-details summary:hover {color:var(--text)}
#view-edit .ea-fc-details-body {display:grid;gap:2px;padding-top:4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#view-edit .ea-fc-style {max-width:220px}
/* The terminal covers FableCut's right column (the 320px Inspector + 6px gutter) below its 52px toolbar, so the program
   monitor, track headers and toolbar stay visible at any width. Minimized it is a labelled tab on the right edge. */
#view-edit .ea-dock-host {position:absolute;top:52px;right:0;bottom:0;z-index:6;display:flex;align-items:flex-start;pointer-events:none}
#view-edit .ea-dock-host:has(> .ea-dock-max) {inset:0}
#view-edit .ea-dock {position:relative;display:flex;align-self:stretch;min-height:0;width:326px;pointer-events:auto}
#view-edit .ea-dock:not(.ea-dock-open) {width:auto;align-self:flex-start;position:static}
/* Minimized, the panel keeps its size off-screen so the terminal stays live and the tab can report Claude's state. */
#view-edit .ea-dock:not(.ea-dock-open) .ea-dock-panel {position:absolute;top:0;right:0;bottom:0;width:326px;visibility:hidden;pointer-events:none}
#view-edit .ea-dock.ea-dock-max {width:auto;flex:1}
#view-edit .ea-dock-icon {display:flex;flex-direction:column;align-items:center;gap:10px;width:40px;padding:14px 0;border:1px solid var(--border-strong);border-right:0;
  border-radius:8px 0 0 8px;box-shadow:0 6px 18px rgba(0,0,0,.25);background:var(--surface);color:var(--text2);font:inherit;font-size:12px;cursor:pointer}
#view-edit .ea-dock-icon-label {writing-mode:vertical-rl;letter-spacing:.02em;white-space:nowrap}
#view-edit .ea-dock-icon:hover {color:var(--accent);background:var(--accent-light)}
#view-edit .ea-dock-icon-label {font-weight:600;font-size:13px}
/* One dot colour per state, shared by the tab and the header. */
#view-edit .ea-dock-dot {width:8px;height:8px;border-radius:50%;background:var(--text3);flex:none}
#view-edit .ea-dock[data-phase="ready"] .ea-dock-icon {background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
#view-edit .ea-dock[data-phase="ready"] .ea-dock-icon .ea-dock-dot {background:var(--on-accent)}
#view-edit .ea-dock[data-phase="starting"] .ea-dock-dot,#view-edit .ea-dock[data-phase="working"] .ea-dock-dot {background:var(--accent)}
#view-edit .ea-dock[data-phase="waiting"] .ea-dock-dot {background:var(--green)}
#view-edit .ea-dock[data-phase="waiting"] .ea-dock-icon {color:var(--green)}
#view-edit .ea-dock[data-phase="attention"] .ea-dock-dot,#view-edit .ea-dock[data-phase="stopped"] .ea-dock-dot {background:var(--red)}
#view-edit .ea-dock[data-phase="attention"] .ea-dock-icon {color:var(--red)}
@media (prefers-reduced-motion:no-preference){
  #view-edit .ea-dock[data-phase="starting"] .ea-dock-dot,#view-edit .ea-dock[data-phase="working"] .ea-dock-dot {animation:ea-dock-pulse 1.2s ease-in-out infinite}
  @keyframes ea-dock-pulse {50%{opacity:.25}}
}
#view-edit .ea-dock-phase {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
#view-edit .ea-dock[data-phase="waiting"] .ea-dock-phase {color:var(--green)}
#view-edit .ea-dock[data-phase="attention"] .ea-dock-phase,#view-edit .ea-dock[data-phase="stopped"] .ea-dock-phase {color:var(--red)}
#view-edit .ea-dock-icon:focus-visible {outline:2px solid var(--accent);outline-offset:-2px}
#view-edit .ea-dock-panel {position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;
  border-left:1px solid var(--border-strong);background:var(--bg);overflow:hidden;box-shadow:-12px 0 32px rgba(0,0,0,.3)}
#view-edit .ea-dock.ea-dock-max .ea-dock-panel {border-left:0}
#view-edit .ea-dock-resize {position:absolute;left:0;top:0;bottom:0;width:8px;z-index:2;cursor:col-resize;touch-action:none}
#view-edit .ea-dock-resize:hover,#view-edit .ea-resizing .ea-dock-resize {background:var(--accent);opacity:.5}
#view-edit .ea-dock.ea-dock-max .ea-dock-resize {display:none}
#view-edit .ea-dock-head {display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-bottom:1px solid var(--border);background:var(--surface)}
#view-edit .ea-dock-title {font-size:12px;color:var(--text2);white-space:nowrap}
#view-edit .ea-dock-status {font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-edit .ea-dock[data-state="connecting"] .ea-dock-status,#view-edit .ea-dock[data-state="reconnecting"] .ea-dock-status {color:var(--orange)}
#view-edit .ea-dock[data-state="error"] .ea-dock-status,#view-edit .ea-dock[data-state="stopped"] .ea-dock-status {color:var(--red)}
#view-edit .ea-dock-btn {display:grid;place-items:center;width:26px;height:26px;border:1px solid transparent;border-radius:6px;background:none;
  color:var(--text2);font:inherit;font-size:14px;line-height:1;cursor:pointer}
#view-edit .ea-dock-btn:hover {background:var(--surface2);color:var(--text)}
#view-edit .ea-dock-btn:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
#view-edit .ea-dock-start-card {display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:none;padding:14px;border-bottom:1px solid var(--border);background:var(--accent-light)}
#view-edit .ea-dock-start-title {font-weight:600;color:var(--text)}
#view-edit .ea-dock-start-text {font-size:13px;color:var(--text2)}
#view-edit .ea-dock-start {margin-top:4px;padding:9px 18px;font-size:14px}
#view-edit .ea-dock-start-note {font-size:12px;color:var(--red);overflow-wrap:anywhere}
#view-edit .ea-dock-stop {color:var(--red);border-color:var(--red)}
#view-edit .ea-dock-body {flex:1;min-height:0;display:flex;padding:6px;background:#171614}
#view-edit .ea-dock-term {flex:1;min-width:0;min-height:0}
#view-edit .ea-dock-term .xterm {height:100%}
#view-edit .ea-rough-lock {display:flex;flex:1;min-height:0;justify-content:center;align-items:flex-start;padding:32px;overflow:auto;background:var(--bg)}
#view-edit .ea-rough-lock .ea-cut-summary {max-width:460px}
#view-edit .ea-confirm {position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  padding:24px;background:rgba(10,10,10,.5)}
#view-edit .ea-confirm-text {max-width:440px;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--bg);box-shadow:0 18px 48px rgba(0,0,0,.3)}
#view-edit .ea-confirm-actions {display:flex;gap:8px}
@media(max-width:760px){
  #view-edit .ea-dock-host {top:auto;left:0;height:50%;align-items:flex-end}
  #view-edit .ea-dock-host:has(> .ea-dock-max) {height:auto}
  #view-edit .ea-dock {width:100% !important}
  #view-edit .ea-dock:not(.ea-dock-open) {align-self:flex-end}
  #view-edit .ea-dock-icon {flex-direction:row;justify-content:center;width:100%;padding:10px;border:0;border-top:1px solid var(--border-strong);border-radius:0}
  #view-edit .ea-dock-icon-label {writing-mode:horizontal-tb}
  #view-edit .ea-dock-panel {border-left:0;border-top:1px solid var(--border-strong)}
  #view-edit .ea-dock-resize {display:none}
  #view-edit .ea-confirm-actions .ea-btn {min-height:40px}
}
@media(max-width:760px){
  #view-edit .ea-flow-top{flex-wrap:wrap;gap:10px;padding:12px}
  #view-edit .ea-flow-top h2{max-width:100%;font-size:14px}
  #view-edit .ea-flow-steps{padding:0 10px 10px;gap:2px;justify-content:space-between}
  #view-edit .ea-flow-step{padding:6px;font-size:12px;gap:5px}
  #view-edit .ea-step-number{width:18px;height:18px;font-size:10px}
  #view-edit .ea-style-body{grid-template-columns:1fr;padding:16px}
  #view-edit .ea-flow-footer{padding:10px 12px;flex-wrap:wrap}
  #view-edit .ea-flow-footer .ea-btn{min-height:40px}
  #view-edit .ea-workspace{overflow:auto;display:flex;flex-direction:column}
  #view-edit .ea-chat{min-height:420px;flex:none}
  #view-edit .ea-stage{min-height:600px;flex:none;overflow:visible}
}
/* Preparation cleanup stays within the existing table and confirms the exact Drive files. */
#view-edit .ea-prep-check-col{width:38px}
#view-edit .ea-prep-check input,#view-edit [data-cleanup-all]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
#view-edit .ea-cleanup-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px;font-size:12px}
.ea-cleanup-dialog{max-width:560px;max-height:80dvh;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:24px}
.ea-cleanup-dialog h2{font-size:19px;margin:0 0 14px}
.ea-cleanup-dialog p{font-size:14px;line-height:1.5;margin:12px 0}
.ea-cleanup-dialog ul{max-height:30dvh;overflow:auto;font-size:13px;overflow-wrap:anywhere;padding-left:20px}
.ea-cleanup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
#view-edit .ea-danger,.ea-cleanup-dialog .ea-danger{color:var(--red);border-color:var(--danger-border);background:var(--danger-soft)}
.ea-cleanup-dialog button{min-height:44px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface2);color:var(--text);font:inherit}
@media(max-width:600px){.ea-cleanup-dialog{width:calc(100% - 24px);padding:18px}.ea-cleanup-actions button{flex:1}}

/* Reference style creator uses a native modal, with scrollable content and stable drafts. */
.es-modal{position:fixed;inset:0;margin:auto;width:min(760px,94vw);max-height:90vh;padding:0;border:1px solid var(--border,#d6d3d1);border-radius:12px;background:var(--bg,#fff);color:var(--text,#1c1917);overflow:auto}
.es-modal::backdrop{background:#0008}.es-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:inherit;border-bottom:1px solid var(--border,#d6d3d1)}
.es-header h2{font-size:20px;font-weight:600}.es-body{padding:20px}.es-body h3{font-size:19px;margin:16px 0 8px}.es-body h4{font-weight:600;margin:16px 0 8px}.es-body p{margin:10px 0}.es-error{color:#c2410c;margin:12px 20px;overflow-wrap:anywhere}
.es-form,.es-sample{display:grid;gap:12px;margin-top:16px}.es-field{display:grid;gap:6px;min-width:0}.es-field input,.es-field textarea,.es-field select{width:100%;padding:10px;border:1px solid var(--border,#a8a29e);border-radius:6px;background:transparent;color:inherit;font:inherit}.es-references{display:grid;gap:10px}.es-reference{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.es-actions,.es-library-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.es-library-row{justify-content:space-between;border-bottom:1px solid var(--border,#d6d3d1);padding-bottom:12px}.es-video{width:100%;max-height:420px;background:#000}.es-report{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:300px;overflow:auto}.es-check{display:flex;gap:8px;align-items:start}.es-modal .ea-btn{min-height:40px}.es-modal [hidden]{display:none!important}
@media(max-width:600px){.es-modal{width:96vw}.es-body{padding:14px}.es-reference{grid-template-columns:1fr}.es-header{padding:12px}}
.es-modal,.es-modal *{box-sizing:border-box}.es-modal{font-family:var(--font-sans,sans-serif);font-size:14px;line-height:1.5}.es-modal .ea-muted{color:var(--text2,#78716c)}.es-modal .ea-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--border,#a8a29e);border-radius:6px;background:var(--surface,#fff);color:var(--text,#1c1917);font:inherit;cursor:pointer}.es-modal .ea-primary{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:var(--on-accent,#fff)}.es-modal .ea-btn:disabled{opacity:.45;cursor:not-allowed}.es-modal input[type=checkbox]{width:18px;height:18px;flex:none}.es-modal :focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:3px}
.es-badge{display:inline-block;font-size:12px;line-height:1.4;font-weight:500;border:1px solid var(--border,#8b8580);border-radius:5px;padding:3px 6px;white-space:normal}.es-final-review{display:grid;gap:12px;margin-top:16px}.es-modal .es-check{display:flex;gap:8px;align-items:flex-start}

#view-edit .ea-tablewrap{overscroll-behavior-x:contain}
#view-edit .ea-tablewrap :is(th,td){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-edit .ea-cap :is(.ea-t,.ea-s),#view-edit .ea-prep-row :is(.ea-prep-phase,.ea-prep-detail,.ea-prep-warning,.ea-prep-error){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#view-edit .ea-queue-table{table-layout:fixed;min-width:1080px}
#view-edit .ea-queue-table th:first-child{width:100px}
#view-edit .ea-queue-table th:nth-child(2){width:32%}
#view-edit .ea-queue-table th:nth-child(3){width:90px}
#view-edit .ea-queue-table th:last-child{width:200px}
#view-edit .ea-prep-table .ea-prep-id-col{width:90px}
