.episode-workbench,
.episode-workbench * {
  box-sizing: border-box;
}

.episode-workbench-overlay {
  position: fixed;
  z-index: 121;
  inset: 0;
  min-width: 0;
  min-height: 0;
  padding: var(--space-4);
  overflow: hidden;
  background: var(--color-background);
}

.episode-workbench-host {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.episode-workbench {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 520px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  background: var(--color-surface-panel);
  box-shadow: var(--shadow-low);
  font-family: var(--font-family-ui);
}

.episode-workbench button {
  max-width: 100%;
  font-family: inherit;
}

.episode-workbench__model-picker { position: relative; min-width: 0; }
.episode-workbench__model-picker > button { width: 100%; justify-content: space-between; white-space: normal; text-align: left; }
.episode-workbench__model-choices { margin-top: var(--space-2); padding: var(--space-3); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); background: var(--color-surface-overlay-inner); max-height: 320px; overflow: auto; }
.production-library { width: min(1120px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: auto; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); background: var(--color-surface-overlay-inner); color: var(--color-text-primary); box-shadow: var(--shadow-low); font-family: var(--font-family-ui); }
.production-library::backdrop { background: var(--color-overlay-backdrop); }
.production-library__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--color-border-subtle); }
.production-library__header strong { font-size: 20px; }
.production-library p { margin: var(--space-2) 0; }
.production-library__header p, .production-library small, .production-library__item span { color: var(--color-text-secondary); }
.production-library__filters { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); padding: var(--space-4) var(--space-5); }
.production-library label { display: grid; gap: var(--space-2); min-width: 0; font-size: 12px; }
.production-library input, .production-library select { min-height: 36px; width: 100%; box-sizing: border-box; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); padding: var(--space-2); background: var(--color-surface-panel); color: var(--color-text-primary); font: inherit; }
.production-library__filters label:first-child { flex: 1 1 200px; }
.production-library__filters label:last-of-type { max-width: 140px; }
.production-library__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); border-block: 1px solid var(--color-border-subtle); }
.production-library__results, .production-library__detail { padding: var(--space-4) var(--space-5); min-width: 0; }
.production-library__detail { border-left: 1px solid var(--color-border-subtle); overflow-wrap: anywhere; }
.production-library__detail img, .production-library__detail video { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; border-radius: var(--radius-sm); }
.production-library__detail dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-4); font-size: 13px; }
.production-library__detail dd { margin: 0; }
.production-library__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.production-library__item { display: grid; align-content: start; gap: var(--space-2); padding: var(--space-3); min-width: 0; min-height: 118px; overflow-wrap: anywhere; text-align: left; font: inherit; color: inherit; background: var(--color-surface-panel); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); cursor: pointer; }
.production-library__item[aria-pressed="true"] { border-color: var(--color-text-primary); box-shadow: inset 0 0 0 1px var(--color-text-primary); }
.production-library__item span, .production-library__item small { font-size: 12px; }
.production-library__actions, .production-library__results footer { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.production-library__register { display: grid; gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border-subtle); }
.production-library__message { padding: var(--space-2) var(--space-5); font-size: 13px; overflow-wrap: anywhere; }
.production-library__message[role="alert"] { color: var(--color-text-primary); border-block: 1px solid var(--color-border-subtle); }
.production-library__reviews { padding: var(--space-4) var(--space-5); }
.production-library__reviews article { padding: var(--space-3) 0; border-top: 1px solid var(--color-border-subtle); overflow-wrap: anywhere; }
.production-library__reviews article > div:first-child { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: space-between; }
.production-library details { margin-top: var(--space-3); font-size: 12px; }
.production-library pre { max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.production-library__empty { color: var(--color-text-secondary); padding: var(--space-4) 0; grid-column: 1 / -1; }
.production-library :focus-visible { outline: 2px solid var(--color-text-primary); outline-offset: 3px; }
.production-library button:disabled { opacity: .5; cursor: default; }
.production-media__shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-3); border: 1px solid var(--color-border-subtle); padding: var(--space-3); margin-block: var(--space-4); }
.production-media__shots label { display: flex; align-items: center; gap: var(--space-2); }
.production-media__shots input { width: 16px; min-height: 16px; }
.production-media__job { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-block: var(--space-3); }
.production-media__job > span { flex: 1 1 200px; }
.production-media .production-timeline__preview { margin: var(--space-4); }
.production-timeline { width: calc(100vw - 32px); max-width: 1600px; }
.production-timeline__editor { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); padding: var(--space-4); gap: var(--space-4); }
.production-timeline__preview { min-width: 0; min-height: 200px; display: grid; place-items: center; background: var(--color-surface-panel); border-radius: var(--radius-md); }
.production-timeline__preview img, .production-timeline__preview video { width: 100%; height: auto; max-height: 420px; object-fit: contain; }
.production-timeline__properties { min-width: 0; display: grid; align-content: start; gap: var(--space-2); }
.production-timeline__properties h3 { margin: 0; }
.production-timeline__tracks { padding: var(--space-4); overflow: auto; }
.production-timeline__track { min-width: 480px; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-2) 0; }
.production-timeline__track > strong { font-size: 12px; align-self: center; }
.production-timeline__track > div { position: relative; height: 60px; border: 1px solid var(--color-border-subtle); background: var(--color-surface-panel); }
.production-timeline__track button { position: absolute; top: 2px; bottom: 2px; min-width: 12px; text-align: left; overflow: hidden; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); color: var(--color-text-primary); background: var(--color-surface-overlay-inner); font: inherit; font-size: 12px; }
.production-timeline__track button small { display: block; }
.production-timeline__track button[aria-pressed="true"] { border-color: var(--color-text-primary); }
@media (max-width: 700px) {
  .production-library { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .production-library__body { grid-template-columns: minmax(0, 1fr); }
  .production-timeline__editor { grid-template-columns: minmax(0, 1fr); }
  .production-library__detail { border-left: 0; border-top: 1px solid var(--color-border-subtle); }
  .production-library__filters label { flex: 1 1 120px; }
  .production-library__header, .production-library__filters, .production-library__results, .production-library__detail, .production-library__reviews { padding: var(--space-3); }
}

.episode-workbench__header {
  min-width: 0;
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-5);
  border-bottom: 1px solid var(--color-border-subtle);
  background: var(--color-surface-overlay-inner);
}

.episode-workbench__heading {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 0 var(--space-3);
}

.episode-workbench__heading p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-control-weight);
  letter-spacing: 0.08em;
}

.episode-workbench__heading h2 {
  margin: 0;
  color: var(--color-text-primary);
  font-size: var(--font-panel-title-size);
  line-height: var(--font-panel-title-line);
  font-weight: var(--font-panel-title-weight);
}

.episode-workbench__heading > span {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__header-actions,
.episode-workbench__mode-tabs,
.episode-workbench__mobile-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.episode-workbench__header-actions {
  justify-self: end;
}

.episode-workbench__mode-tabs {
  justify-self: center;
  padding: var(--space-1);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__mode-tabs button {
  min-width: 84px;
  height: var(--control-height-sm);
  padding: 0 var(--space-3);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  background: transparent;
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-control-weight);
  white-space: nowrap;
}

.episode-workbench__mode-tabs button:hover,
.episode-workbench__mode-tabs button.is-selected {
  color: var(--color-text-primary);
  background: var(--color-surface-active);
}

.episode-workbench__mobile-nav {
  display: none;
  min-height: var(--control-height-lg);
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border-subtle);
  background: var(--color-surface-chrome);
}

.episode-workbench__mobile-nav button {
  min-width: 0;
  height: var(--control-height-sm);
  flex: 1;
  padding: 0 var(--space-3);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  background: transparent;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__mobile-nav button:hover,
.episode-workbench__mobile-nav button.is-selected {
  color: var(--color-text-primary);
  background: var(--color-surface-active);
}

.episode-workbench__button {
  min-width: 68px;
  height: var(--control-height-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: var(--color-control-bg);
  box-shadow: none;
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-control-weight);
  white-space: nowrap;
}

.episode-workbench__button:hover:not(:disabled) {
  color: var(--color-text-primary);
  border-color: var(--color-border-strong);
  background: var(--color-control-hover);
}

.episode-workbench__button:focus-visible,
.episode-workbench button:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.episode-workbench__button:disabled {
  cursor: not-allowed;
  color: var(--color-text-faint);
  border-color: var(--color-border-subtle);
  background: var(--color-control-disabled);
}

.episode-workbench__button--primary {
  color: var(--color-action-primary-ink);
  border-color: transparent;
  background: var(--color-action-primary);
}

.episode-workbench__button--primary:hover:not(:disabled) {
  color: var(--color-action-primary-ink);
  border-color: transparent;
  background: var(--color-action-primary-hover);
}

.episode-workbench__button--ghost {
  border-color: transparent;
  background: transparent;
}

.episode-workbench__status {
  max-width: 100%;
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-pill);
  color: var(--color-text-faint);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-control-weight);
  white-space: nowrap;
}

.episode-workbench__status[data-tone="success"] {
  color: var(--color-success);
  border-color: var(--color-success);
  background: var(--color-success-soft);
}

.episode-workbench__status[data-tone="running"] {
  color: var(--color-running);
  border-color: var(--color-running-border);
  background: var(--color-running-soft);
}

.episode-workbench__status[data-tone="warning"] {
  color: var(--color-warning);
  border-color: var(--color-warning);
  background: var(--color-warning-soft);
}

.episode-workbench__status[data-tone="danger"] {
  color: var(--color-danger);
  border-color: var(--color-danger-border);
  background: var(--color-danger-soft);
}

.episode-workbench__banner {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-5);
  border-bottom: 1px solid var(--color-warning);
  color: var(--color-warning);
  background: var(--color-warning-soft);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__banner[data-tone="success"] {
  color: var(--color-success);
  border-color: var(--color-success);
  background: var(--color-success-soft);
}

.episode-workbench__banner[data-tone="danger"] {
  color: var(--color-danger);
  border-color: var(--color-danger-border);
  background: var(--color-danger-soft);
}

.episode-workbench__banner strong {
  flex: 0 0 auto;
  font-weight: var(--font-panel-title-weight);
}

.episode-workbench__banner span {
  min-width: 0;
  color: var(--color-text-secondary);
}

.episode-workbench__layout {
  position: relative;
  grid-row: 4;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(210px, 0.62fr) minmax(280px, 0.9fr) minmax(340px, 1.35fr);
  overflow: hidden;
  background: var(--color-background);
}

.episode-workbench__preparation {
  position: relative;
  grid-row: 4;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  background: var(--color-background);
}

.episode-workbench__preparation-pane {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-right: 1px solid var(--color-border-subtle);
  background: var(--color-surface-panel);
}

.episode-workbench__generation {
  grid-row: 4;
  min-height: 0;
  min-width: 0;
  display: grid;
  padding: var(--space-4);
  overflow: hidden;
}

.episode-workbench__generation > section {
  width: min(100%, 960px);
  justify-self: center;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
}

.episode-workbench__preparation-pane:last-child {
  border-right: 0;
}

.episode-workbench__script-pane {
  background: var(--color-surface-overlay-inner);
}

.episode-workbench__preparation-scroll {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.episode-workbench__tree,
.episode-workbench__shots,
.episode-workbench__detail {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--color-surface-panel);
}

.episode-workbench__tree,
.episode-workbench__shots {
  border-right: 1px solid var(--color-border-subtle);
}

.episode-workbench__tree,
.episode-workbench__shots,
.episode-workbench__detail {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.episode-workbench__shots {
  grid-template-rows: auto auto minmax(0, 1fr);
  background: var(--color-surface-overlay-inner);
}

.episode-workbench__pane-head,
.episode-workbench__detail-section > header {
  min-width: 0;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__pane-head > div,
.episode-workbench__detail-section > header > div {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
}

.episode-workbench__pane-head span,
.episode-workbench__detail-section > header span {
  overflow: hidden;
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__pane-head strong,
.episode-workbench__detail-section > header strong {
  overflow: hidden;
  color: var(--color-text-primary);
  font-size: var(--font-topbar-size);
  line-height: var(--font-topbar-line);
  font-weight: var(--font-panel-title-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__pane-head > button {
  display: none;
  height: var(--control-height-sm);
  padding: 0 var(--space-2);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  background: transparent;
  font-size: var(--font-caption-size);
}

.episode-workbench__script-form {
  min-width: 0;
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
}

.episode-workbench__script-form > label,
.episode-workbench__preflight-controls > label {
  color: var(--color-text-secondary);
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-control-weight);
}

.episode-workbench__script-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 260px;
  resize: vertical;
  padding: var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  outline: none;
  color: var(--color-text-primary);
  background: var(--color-control-bg);
  font-family: inherit;
  font-size: var(--font-caption-size);
  line-height: var(--font-body-line);
  tab-size: 2;
}

.episode-workbench__script-form textarea:hover {
  border-color: var(--color-border-strong);
}

.episode-workbench__script-form textarea:focus-visible,
.episode-workbench__preflight-controls select:focus-visible {
  border-color: var(--color-focus);
  outline: 2px solid var(--color-focus);
  outline-offset: 1px;
}

.episode-workbench__script-form > p,
.episode-workbench__preflight-controls > p,
.episode-workbench__fake-execution > p,
.episode-workbench__preparation-actions > p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__file-input {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.episode-workbench__script-source,
.episode-workbench__script-secondary-actions,
.episode-workbench__preparation-actions,
.episode-workbench__preflight-result > header,
.episode-workbench__diagnostic-section > header,
.episode-workbench__preview-domain > header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.episode-workbench__script-source {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__script-source > span,
.episode-workbench__script-source > strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__script-source > span {
  flex: 0 0 auto;
  color: var(--color-text-faint);
}

.episode-workbench__script-source > span[data-tone="success"] {
  color: var(--color-success);
}

.episode-workbench__script-source > span[data-tone="warning"] {
  color: var(--color-warning);
}

.episode-workbench__script-source > span[data-tone="danger"] {
  color: var(--color-danger);
}

.episode-workbench__script-source > strong {
  color: var(--color-text-secondary);
  font-weight: var(--font-control-weight);
}

.episode-workbench__script-secondary-actions {
  justify-content: flex-start;
}

.episode-workbench__script-feedback {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.episode-workbench__script-feedback > p,
.episode-workbench__preparation-message {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding: var(--space-3);
  border-left: 2px solid var(--color-danger);
  color: var(--color-text-secondary);
  background: var(--color-danger-soft);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__script-feedback strong,
.episode-workbench__preparation-message strong {
  color: var(--color-danger);
  font-weight: var(--font-control-weight);
}

.episode-workbench__preparation-message {
  margin: var(--space-4);
}

.episode-workbench__preparation-message > p,
.episode-workbench__preparation-message > small {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: inherit;
  line-height: inherit;
}

.episode-workbench__preparation-actions {
  align-items: flex-start;
  padding: var(--space-3) var(--space-4) var(--space-4);
  border-top: 1px solid var(--color-border-subtle);
}

.episode-workbench__preparation-actions .episode-workbench__button {
  margin-left: auto;
}

.episode-workbench__tree-scroll,
.episode-workbench__shot-scroll,
.episode-workbench__detail-scroll {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: var(--color-border-strong) var(--color-background);
  scrollbar-width: thin;
}

.episode-workbench__tree-scroll,
.episode-workbench__shot-scroll {
  padding: var(--space-3);
}

.episode-workbench__episode {
  min-width: 0;
  margin-bottom: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
}

.episode-workbench__episode.is-selected {
  border-color: var(--color-border-subtle);
  background: var(--color-surface-raised);
}

.episode-workbench__episode > button,
.episode-workbench__segment {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  border: 0;
  color: var(--color-text-secondary);
  background: transparent;
  text-align: left;
}

.episode-workbench__episode > button {
  min-height: var(--control-height-lg);
  padding: var(--space-2) var(--space-3);
}

.episode-workbench__episode > button:hover,
.episode-workbench__segment:hover,
.episode-workbench__segment.is-selected {
  color: var(--color-text-primary);
  background: var(--color-surface-active);
}

.episode-workbench__episode button span,
.episode-workbench__episode button em {
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-style: normal;
}

.episode-workbench__episode button strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-control-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__segment {
  min-height: var(--control-height-sm);
  padding: var(--space-1) var(--space-3) var(--space-1) var(--space-5);
  border-radius: var(--radius-sm);
}

.episode-workbench__segment-summary {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-subtle);
  color: var(--color-text-muted);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-body-line);
}

.episode-workbench__shot-card {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  background: var(--color-surface-raised);
  box-shadow: none;
  text-align: left;
}

.episode-workbench__shot-card:hover {
  border-color: var(--color-border-strong);
  background: var(--color-surface-raised-strong);
}

.episode-workbench__shot-card.is-selected {
  border-color: var(--color-border-selected);
  background: var(--color-surface-active);
}

.episode-workbench__shot-index {
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__shot-card > strong {
  overflow: hidden;
  color: var(--color-text-primary);
  font-size: var(--font-topbar-size);
  line-height: var(--font-topbar-line);
  font-weight: var(--font-panel-title-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__shot-card > p,
.episode-workbench__proposal-card > p {
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-body-line);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.episode-workbench__shot-card footer,
.episode-workbench__proposal-card footer,
.episode-workbench__proposal-card > div,
.episode-workbench__asset-card > div {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.episode-workbench__shot-card footer > span:first-child {
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__detail {
  background: var(--color-surface-panel);
}

.episode-workbench__detail-scroll {
  padding-bottom: var(--space-6);
}

.episode-workbench__detail-summary,
.episode-workbench__detail-section {
  min-width: 0;
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__detail-summary > p,
.episode-workbench__detail-summary blockquote {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-body-size);
  line-height: var(--font-body-line);
}

.episode-workbench__detail-summary blockquote {
  margin: 0 var(--space-4) var(--space-4);
  border-left: 2px solid var(--color-border-strong);
  color: var(--color-text-muted);
  background: var(--color-control-subtle);
}

.episode-workbench__metadata {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-3) var(--space-4) 0;
}

.episode-workbench__metadata > div {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__metadata dt,
.episode-workbench__metadata dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__metadata dt {
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__metadata dd {
  color: var(--color-text-secondary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__detail-section > header em {
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  color: var(--color-text-muted);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-style: normal;
}

.episode-workbench__asset-grid,
.episode-workbench__proposal-list {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4) var(--space-4);
}

.episode-workbench__asset-card,
.episode-workbench__proposal-card {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-surface-raised);
  box-shadow: none;
}

.episode-workbench__asset-card > div > span,
.episode-workbench__proposal-card > div > span {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__asset-card > strong {
  overflow: hidden;
  color: var(--color-text-primary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-panel-title-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__asset-card > p,
.episode-workbench__asset-card > code {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--color-text-muted);
  font-family: inherit;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__prompt-statuses {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}

.episode-workbench__prompt-statuses article {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__prompt-statuses article > span {
  color: var(--color-text-secondary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-control-weight);
}

.episode-workbench__prompt-statuses article > p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__prompt-section ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0 var(--space-4) var(--space-3);
  list-style: none;
}

.episode-workbench__prompt-section li {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-left: 2px solid var(--color-border-strong);
  color: var(--color-text-secondary);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__prompt-section li[data-tone="danger"] {
  border-color: var(--color-danger);
}

.episode-workbench__prompt-section li[data-tone="warning"] {
  border-color: var(--color-warning);
}

.episode-workbench__prompt-section li[data-tone="success"] {
  border-color: var(--color-success);
}

.episode-workbench__prompt-section li strong {
  color: var(--color-text-primary);
  font-weight: var(--font-control-weight);
}

.episode-workbench__prompt-section pre {
  max-width: calc(100% - (var(--space-4) * 2));
  max-height: 180px;
  margin: 0 var(--space-4) var(--space-4);
  padding: var(--space-3);
  overflow: auto;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: var(--color-background);
  font-family: inherit;
  font-size: var(--font-caption-size);
  line-height: var(--font-body-line);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.episode-workbench__proposal-list {
  grid-template-columns: 1fr;
}

.episode-workbench__proposal-card > div > span {
  color: var(--color-text-primary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-weight: var(--font-panel-title-weight);
}

.episode-workbench__proposal-card footer {
  justify-content: flex-end;
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-border-subtle);
}

.episode-workbench__validation-summary,
.episode-workbench__diagnostic-section,
.episode-workbench__preview-domain,
.episode-workbench__preflight-controls,
.episode-workbench__preflight-result,
.episode-workbench__fake-execution,
.episode-workbench__real-execution,
.episode-workbench__preflight-boundary {
  min-width: 0;
  margin: var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-surface-raised);
}

.episode-workbench__validation-summary {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-3);
}

.episode-workbench__validation-summary > div {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.episode-workbench__validation-summary > div > strong,
.episode-workbench__diagnostic-section > header strong,
.episode-workbench__preview-domain > header strong,
.episode-workbench__preflight-result > header strong,
.episode-workbench__compiled-prompt > strong {
  color: var(--color-text-primary);
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-panel-title-weight);
}

.episode-workbench__validation-summary dl,
.episode-workbench__preflight-result dl {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.episode-workbench__validation-summary dl > div,
.episode-workbench__preflight-result dl > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(116px, auto) minmax(0, 1fr);
  gap: var(--space-2);
}

.episode-workbench__validation-summary dt,
.episode-workbench__validation-summary dd,
.episode-workbench__preflight-result dt,
.episode-workbench__preflight-result dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__validation-summary dd,
.episode-workbench__preflight-result dd {
  color: var(--color-text-secondary);
  text-align: right;
}

.episode-workbench__validation-stages {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  padding: 0 var(--space-4) var(--space-4);
}

.episode-workbench__validation-stages article {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__validation-stages article > span,
.episode-workbench__validation-stages article > p {
  min-width: 0;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__validation-stages article > p {
  grid-column: 1 / -1;
  color: var(--color-text-muted);
}

.episode-workbench__diagnostic-section > header,
.episode-workbench__preview-domain > header,
.episode-workbench__preflight-result > header {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__diagnostic-section > header span,
.episode-workbench__preview-domain > header span {
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__diagnostics {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-3);
  list-style: none;
}

.episode-workbench__diagnostics li {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border-left: 2px solid var(--color-border-strong);
  color: var(--color-text-secondary);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__diagnostics li[data-tone="danger"] {
  border-color: var(--color-danger);
}

.episode-workbench__diagnostics li[data-tone="warning"] {
  border-color: var(--color-warning);
}

.episode-workbench__diagnostics li[data-tone="success"] {
  border-color: var(--color-success);
}

.episode-workbench__diagnostics li strong {
  color: var(--color-text-primary);
  font-weight: var(--font-control-weight);
}

.episode-workbench__validation-tree {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
}

.episode-workbench__validation-tree section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-control-subtle);
}

.episode-workbench__validation-tree section > header,
.episode-workbench__validation-tree section > div {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
}

.episode-workbench__validation-tree section > header {
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__validation-tree section > div + div {
  border-top: 1px solid var(--color-border-subtle);
}

.episode-workbench__validation-tree span,
.episode-workbench__validation-tree em,
.episode-workbench__validation-tree small,
.episode-workbench__validation-tree strong {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__validation-tree strong {
  color: var(--color-text-secondary);
  font-weight: var(--font-control-weight);
}

.episode-workbench__preflight-boundary {
  padding: var(--space-3);
  border-color: var(--color-running-border);
  color: var(--color-running);
  background: var(--color-running-soft);
}

.episode-workbench__preflight-boundary strong,
.episode-workbench__preflight-boundary p {
  margin: 0;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__preflight-boundary p {
  margin-top: var(--space-1);
  color: var(--color-text-secondary);
}

.episode-workbench__preflight-controls {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-3);
}

.episode-workbench__preflight-controls > div {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
}

.episode-workbench__preflight-controls > div span,
.episode-workbench__preflight-controls > div strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__preflight-controls > div span {
  color: var(--color-text-faint);
}

.episode-workbench__preflight-controls > div strong {
  color: var(--color-text-secondary);
  font-weight: var(--font-control-weight);
}

.episode-workbench__preflight-controls select {
  width: 100%;
  min-width: 0;
  height: var(--control-height-md);
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  color: var(--color-text-primary);
  background: var(--color-control-bg);
  font-family: inherit;
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
}

.episode-workbench__preflight-controls select:disabled {
  color: var(--color-text-faint);
  background: var(--color-control-disabled);
}

.episode-workbench__preflight-controls > .episode-workbench__button {
  justify-self: end;
}

.episode-workbench__preflight-result {
  overflow: hidden;
}

.episode-workbench__preflight-result > dl,
.episode-workbench__compiled-prompt,
.episode-workbench__preflight-result > details,
.episode-workbench__execution-boundary {
  margin: 0;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__preflight-result .episode-workbench__diagnostic-section {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--color-border-subtle);
  border-radius: 0;
}

.episode-workbench__compiled-prompt,
.episode-workbench__preflight-result > details,
.episode-workbench__execution-boundary {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.episode-workbench__compiled-prompt pre,
.episode-workbench__preflight-result details pre,
.episode-workbench__execution-boundary pre {
  max-width: 100%;
  max-height: 220px;
  margin: 0;
  padding: var(--space-3);
  overflow: auto;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  background: var(--color-background);
  font-family: inherit;
  font-size: var(--font-caption-size);
  line-height: var(--font-body-line);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.episode-workbench__preflight-result summary,
.episode-workbench__execution-boundary summary {
  color: var(--color-text-secondary);
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-control-weight);
  cursor: pointer;
}

.episode-workbench__fake-execution,
.episode-workbench__real-execution {
  overflow: hidden;
}

.episode-workbench__fake-execution > header,
.episode-workbench__fake-card > header,
.episode-workbench__real-execution > header,
.episode-workbench__real-card > header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__fake-execution > header > div,
.episode-workbench__fake-card > header > div,
.episode-workbench__real-execution > header > div,
.episode-workbench__real-card > header > div {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
}

.episode-workbench__fake-execution > header span,
.episode-workbench__fake-card > header span,
.episode-workbench__real-execution > header span,
.episode-workbench__real-card > header span {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__fake-execution > header strong,
.episode-workbench__fake-card > header strong,
.episode-workbench__real-execution > header strong,
.episode-workbench__real-card > header strong {
  min-width: 0;
  overflow: hidden;
  color: var(--color-text-primary);
  font-size: var(--font-control-size);
  line-height: var(--font-control-line);
  font-weight: var(--font-panel-title-weight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.episode-workbench__fake-boundary,
.episode-workbench__real-boundary {
  margin: var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--color-info-border);
  border-radius: var(--radius-sm);
  color: var(--color-info-text);
  background: var(--color-info-soft);
}

.episode-workbench__fake-boundary strong,
.episode-workbench__fake-boundary p,
.episode-workbench__fake-capability,
.episode-workbench__fake-gate,
.episode-workbench__real-boundary strong,
.episode-workbench__real-boundary p,
.episode-workbench__real-gate {
  margin: 0;
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__fake-boundary p,
.episode-workbench__real-boundary p {
  margin-top: var(--space-1);
  color: var(--color-text-secondary);
}

.episode-workbench__fake-capability,
.episode-workbench__fake-gate,
.episode-workbench__real-gate {
  padding: 0 var(--space-3) var(--space-3);
  color: var(--color-text-muted);
}

.episode-workbench__fake-gate[data-tone="danger"],
.episode-workbench__real-gate[data-tone="danger"] {
  color: var(--color-danger);
}

.episode-workbench__fake-error,
.episode-workbench__real-error {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
  margin: var(--space-3);
  padding: var(--space-3);
  border-left: 2px solid var(--color-danger);
  color: var(--color-text-secondary);
  background: var(--color-danger-soft);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__fake-error strong,
.episode-workbench__fake-error p,
.episode-workbench__fake-error small,
.episode-workbench__real-error strong,
.episode-workbench__real-error p,
.episode-workbench__real-error small {
  display: block;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: inherit;
  line-height: inherit;
}

.episode-workbench__fake-error strong,
.episode-workbench__real-error strong {
  color: var(--color-danger);
}

.episode-workbench__fake-error p,
.episode-workbench__fake-error small,
.episode-workbench__real-error p,
.episode-workbench__real-error small {
  margin-top: var(--space-1);
}

.episode-workbench__fake-empty,
.episode-workbench__real-empty {
  min-width: 0;
}

.episode-workbench__fake-card,
.episode-workbench__real-card {
  min-width: 0;
  margin: var(--space-3);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-control-subtle);
}

.episode-workbench__fake-card dl,
.episode-workbench__real-card dl,
.episode-workbench__real-contract {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-3);
}

.episode-workbench__fake-card dl > div,
.episode-workbench__real-card dl > div,
.episode-workbench__real-contract > div {
  min-width: 0;
  padding: var(--space-2);
  border-radius: var(--radius-sm);
  background: var(--color-control-bg);
}

.episode-workbench__fake-card dt,
.episode-workbench__fake-card dd,
.episode-workbench__real-card dt,
.episode-workbench__real-card dd,
.episode-workbench__real-contract dt,
.episode-workbench__real-contract dd {
  min-width: 0;
  margin: 0;
  color: var(--color-text-faint);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  overflow-wrap: anywhere;
}

.episode-workbench__fake-card dd,
.episode-workbench__real-card dd,
.episode-workbench__real-contract dd {
  margin-top: var(--space-1);
  color: var(--color-text-secondary);
}

.episode-workbench__fake-approval-actions,
.episode-workbench__fake-actions,
.episode-workbench__real-approval-actions,
.episode-workbench__real-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  padding: var(--space-3);
  border-top: 1px solid var(--color-border-subtle);
}

.episode-workbench__fake-actions:empty,
.episode-workbench__real-actions:empty {
  display: none;
}

.episode-workbench__fake-approval-actions .episode-workbench__button,
.episode-workbench__fake-actions .episode-workbench__button,
.episode-workbench__real-approval-actions .episode-workbench__button,
.episode-workbench__real-actions .episode-workbench__button {
  width: 100%;
}

.episode-workbench__fake-terminal,
.episode-workbench__real-terminal {
  min-width: 0;
  display: grid;
  gap: var(--space-1);
  margin: 0 var(--space-3) var(--space-3);
  padding: var(--space-3);
  border-left: 2px solid var(--color-border-strong);
  color: var(--color-text-secondary);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__fake-terminal[data-tone="success"],
.episode-workbench__real-terminal[data-tone="success"] {
  border-color: var(--color-success);
  color: var(--color-success);
  background: var(--color-success-soft);
}

.episode-workbench__fake-terminal[data-tone="warning"],
.episode-workbench__real-terminal[data-tone="warning"] {
  border-color: var(--color-warning);
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.episode-workbench__fake-terminal[data-tone="danger"],
.episode-workbench__real-terminal[data-tone="danger"] {
  border-color: var(--color-danger);
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

.episode-workbench__fake-terminal strong,
.episode-workbench__fake-terminal span,
.episode-workbench__real-terminal strong,
.episode-workbench__real-terminal span {
  color: inherit;
  font-weight: var(--font-control-weight);
}

.episode-workbench__fake-progress,
.episode-workbench__real-progress {
  height: var(--space-2);
  margin: 0 var(--space-3) var(--space-3);
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: var(--color-control-disabled);
}

.episode-workbench__fake-progress i,
.episode-workbench__real-progress i {
  width: 0;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--color-running);
}

.episode-workbench__real-boundary {
  border-color: var(--color-warning);
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.episode-workbench__real-contract {
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
}

.episode-workbench__candidate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-3);
}

.episode-workbench__candidate-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  background: var(--color-control-subtle);
  font: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.episode-workbench__candidate-card img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius-sm);
}

.episode-workbench__candidate-card span {
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__candidate-card:hover:not(:disabled) {
  border-color: var(--color-border-strong);
  background: var(--color-surface-raised-strong);
}

.episode-workbench__candidate-card[aria-pressed="true"] {
  border-color: var(--color-border-selected);
  background: var(--color-surface-active);
}

.episode-workbench__candidate-card:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.episode-workbench__candidate-card:disabled {
  cursor: default;
  color: var(--color-text-muted);
}

.episode-workbench__candidate-pages {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin: var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--font-caption-size);
}

.episode-workbench__reference-section .episode-workbench__real-card > p,
.episode-workbench__reference-section .episode-workbench__real-card > details {
  margin: var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
  overflow-wrap: anywhere;
}

.episode-workbench__reference-section .episode-workbench__real-card > .episode-workbench__button,
.episode-workbench__reference-section > .episode-workbench__button {
  margin: var(--space-3);
}

.episode-workbench__real-artifact-preview {
  min-width: 0;
  display: block;
  width: calc(100% - var(--space-6));
  max-width: 320px;
  margin: var(--space-3) auto;
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  background: var(--color-background);
}

.episode-workbench__real-artifact-preview:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.episode-workbench__real-artifact-preview img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: var(--color-background);
}

.episode-workbench__availability,
.episode-workbench__muted {
  margin: 0;
  padding: var(--space-2) var(--space-4);
  color: var(--color-text-muted);
  background: var(--color-warning-soft);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__muted {
  background: transparent;
}

.episode-workbench__inline-empty {
  min-width: 0;
  display: grid;
  place-content: center;
  gap: var(--space-2);
  min-height: 112px;
  padding: var(--space-5);
  color: var(--color-text-muted);
  text-align: center;
}

.episode-workbench__inline-empty strong {
  color: var(--color-text-secondary);
  font-size: var(--font-body-size);
  line-height: var(--font-body-line);
  font-weight: var(--font-control-weight);
}

.episode-workbench__inline-empty span {
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__state {
  min-width: 0;
  min-height: 0;
  grid-row: 4;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--space-3);
  padding: var(--space-6);
  overflow-x: hidden;
  color: var(--color-text-muted);
  background: var(--color-background);
  text-align: center;
}

.episode-workbench__state > span {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-pill);
  color: var(--color-text-faint);
  background: var(--color-control-subtle);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__state[data-tone="loading"] > span {
  color: var(--color-running);
  border-color: var(--color-running-border);
  background: var(--color-running-soft);
}

.episode-workbench__state[data-tone="error"] > span,
.episode-workbench__state[data-tone="permission"] > span {
  color: var(--color-danger);
  border-color: var(--color-danger-border);
  background: var(--color-danger-soft);
}

.episode-workbench__state > strong {
  color: var(--color-text-primary);
  font-size: var(--font-panel-title-size);
  line-height: var(--font-panel-title-line);
  font-weight: var(--font-panel-title-weight);
}

.episode-workbench__state > p,
.episode-workbench__state > small {
  max-width: 560px;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--font-body-size);
  line-height: var(--font-body-line);
}

.episode-workbench__state > small {
  color: var(--color-text-muted);
  font-size: var(--font-caption-size);
  line-height: var(--font-caption-line);
}

.episode-workbench__scrim {
  display: none;
}

@media (max-width: 1100px) {
  .episode-workbench__header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .episode-workbench__mode-tabs {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
  }
  .episode-workbench__layout {
    grid-template-columns: minmax(190px, 0.52fr) minmax(240px, 0.86fr) minmax(300px, 1.2fr);
  }


  .episode-workbench__asset-grid,
  .episode-workbench__metadata,
  .episode-workbench__prompt-statuses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .episode-workbench {
    border-radius: 0;
  }

  .episode-workbench__mobile-nav {
    display: flex;
  }

  .episode-workbench__mobile-nav [data-section] {
    display: none;
  }

  .episode-workbench__layout {
    grid-template-columns: minmax(260px, 0.86fr) minmax(320px, 1.14fr);
  }


  .episode-workbench__tree {
    position: absolute;
    z-index: 4;
    inset: 0 auto 0 0;
    width: min(320px, calc(100% - var(--space-6)));
    border-right: 1px solid var(--color-border-strong);
    box-shadow: var(--shadow-overlay);
    transform: translateX(-105%);
    transition: transform 160ms ease;
  }

  .episode-workbench.is-tree-open .episode-workbench__tree {
    transform: translateX(0);
  }

  .episode-workbench__tree .episode-workbench__pane-head > button {
    display: inline-flex;
    align-items: center;
  }

  .episode-workbench__scrim {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: var(--color-surface-overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease;
  }

  .episode-workbench.is-tree-open .episode-workbench__scrim {
    opacity: 0.72;
    pointer-events: auto;
  }
}

@media (max-width: 700px) {
  .episode-workbench-overlay {
    padding: 0;
  }

  .episode-workbench {
    min-height: 480px;
  }

  .episode-workbench__header {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    padding: var(--space-3);
  }

  .episode-workbench__heading {
    grid-template-columns: 1fr;
  }

  .episode-workbench__heading > span,
  .episode-workbench__header-actions > .episode-workbench__status {
    display: none;
  }

  .episode-workbench__header-actions {
    flex: 0 0 auto;
  }

  .episode-workbench__mode-tabs {
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
  }

  .episode-workbench__mode-tabs button {
    min-width: 0;
    flex: 1;
  }

  .episode-workbench__mobile-nav [data-section] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .episode-workbench__banner {
    align-items: flex-start;
    padding: var(--space-2) var(--space-3);
  }

  .episode-workbench__layout {
    display: block;
  }

  .episode-workbench__preparation {
    display: block;
  }

  .episode-workbench__preparation-pane {
    width: 100%;
    height: 100%;
    display: none;
    border-right: 0;
  }

  .episode-workbench__generation .episode-workbench__preparation-pane {
    display: grid;
  }

  .episode-workbench[data-preparation-section="script"] [data-preparation-pane="script"],
  .episode-workbench[data-preparation-section="preview"] [data-preparation-pane="preview"],
  .episode-workbench[data-preparation-section="preflight"] [data-preparation-pane="preflight"] {
    display: grid;
  }

  .episode-workbench__script-form textarea {
    min-height: 220px;
  }

  .episode-workbench__validation-summary dl > div,
  .episode-workbench__preflight-result dl > div {
    grid-template-columns: 1fr;
  }

  .episode-workbench__fake-card dl,
  .episode-workbench__real-card dl,
  .episode-workbench__real-contract,
  .episode-workbench__fake-approval-actions,
  .episode-workbench__fake-actions,
  .episode-workbench__real-approval-actions,
  .episode-workbench__real-actions {
    grid-template-columns: 1fr;
  }

  .episode-workbench__validation-summary dd,
  .episode-workbench__preflight-result dd {
    text-align: left;
  }

  .episode-workbench__shots,
  .episode-workbench__detail {
    width: 100%;
    height: 100%;
    border-right: 0;
  }

  .episode-workbench:not([data-active-section="shots"]) .episode-workbench__shots {
    display: none;
  }

  .episode-workbench[data-active-section="shots"] .episode-workbench__detail {
    display: none;
  }

  .episode-workbench[data-active-section="detail"] .episode-workbench__proposal-section {
    display: none;
  }

  .episode-workbench[data-active-section="proposals"] .episode-workbench__detail-summary,
  .episode-workbench[data-active-section="proposals"] .episode-workbench__asset-section,
  .episode-workbench[data-active-section="proposals"] .episode-workbench__prompt-section {
    display: none;
  }

  .episode-workbench__metadata,
  .episode-workbench__asset-grid,
  .episode-workbench__candidate-grid,
  .episode-workbench__prompt-statuses {
    grid-template-columns: 1fr;
  }

  .episode-workbench__proposal-card footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .episode-workbench__proposal-card footer .episode-workbench__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .episode-workbench__tree,
  .episode-workbench__scrim {
    transition: none;
  }
}

.team-content .team-content__form { display: grid; gap: 12px; margin-block: 16px; max-width: 820px; }
.team-content .team-content__form label { display: grid; gap: 6px; color: var(--color-text-secondary); min-width: 0; }
.team-content input, .team-content select, .team-content textarea { max-width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-sm); background: var(--color-surface-panel); color: var(--color-text-primary); font: inherit; }
.team-content .team-content__check { display: flex; align-items: center; gap: 8px; }
.team-content fieldset { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); min-width: 0; }
.team-content .team-content__reference { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 0; }
.team-content code, .team-content p { overflow-wrap: anywhere; }
.team-content nav { flex-wrap: wrap; padding-inline: 20px; }
.team-content [aria-pressed="true"] { border-color: var(--color-text-primary); }
