:root {
  --director-bg: #f4f7fb;
  --director-panel: rgb(255 255 255 / 86%);
  --director-panel-2: #ffffff;
  --director-panel-3: #f1f4f9;
  --director-control: #f8faff;
  --director-control-hover: #f0f4fa;
  --director-border: #d8e0eb;
  --director-border-soft: #e7ecf3;
  --director-control-border: #cbd5e3;
  --director-text: #202b3d;
  --director-muted: #59687d;
  --director-subtle: #68778c;
  --director-purple: #5b57e8;
  --director-purple-2: #4338ca;
  --director-purple-soft: rgb(91 87 232 / 9%);
  --director-focus: #5b57e8;
  --director-green: #177a55;
  --director-yellow: #9a6210;
  --director-red: #c24158;
  --director-shadow-sm: 0 8px 22px rgb(42 58 88 / 8%);
  --director-shadow-md: 0 18px 48px rgb(42 58 88 / 12%);
}

.director-workspace {
  width: 100%;
  max-width: 1880px;
  height: calc(100vh - 86px);
  min-width: 0;
  min-height: 720px;
  margin: -12px auto 0;
  overflow: hidden;
  color: var(--director-text);
  background: #f6f9fd;
  border: 1px solid rgb(255 255 255 / 88%);
  border-radius: 18px;
  box-shadow: 0 24px 72px rgb(54 67 92 / 18%), inset 0 0 0 1px rgb(198 208 222 / 42%);
  color-scheme: light;
  font-size: 14px;
  line-height: 1.5;
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

.director-workspace h1,
.director-workspace h2,
.director-workspace h3,
.director-workspace h4,
.director-workspace p { color: inherit; }

.director-workspace[hidden] { display: none !important; }
.director-workspace *, .director-picker-dialog * { box-sizing: border-box; }
.director-workspace button,
.director-workspace input,
.director-workspace textarea,
.director-workspace select,
.director-picker-dialog button { font: inherit; }
.director-workspace button,
.director-picker-dialog button { color: inherit; cursor: pointer; }
.director-workspace input,
.director-workspace textarea,
.director-workspace select { font-size: 14px; caret-color: var(--director-focus); }
.director-workspace input::placeholder,
.director-workspace textarea::placeholder { color: #7f899c; opacity: 1; }
.director-workspace select option { color: var(--director-text); background: #171c26; }
.director-workspace select option:checked { color: #fff; background: #6538c4; }
.director-workspace select:disabled { color: #8993a4; background: #181d26; border-color: #323947; }
.director-workspace .director-lineai-select .lineai-select-trigger {
  min-height: 42px;
  padding: 9px 11px;
  color: var(--director-text);
  background: var(--director-control);
  border-color: var(--director-control-border);
  border-radius: 9px;
  font-size: 14px;
  font-weight: 620;
}
.director-workspace .director-lineai-select .lineai-select-trigger:hover,
.director-workspace .director-lineai-select .lineai-select-trigger.open {
  color: #fff;
  background: var(--director-control-hover);
  border-color: #667287;
}
.director-workspace .director-lineai-select .lineai-select-trigger:focus-visible {
  color: #fff;
  background: var(--director-control-hover);
  border-color: var(--director-focus);
  outline: 0;
  box-shadow: 0 0 0 3px rgb(182 151 255 / 16%);
}
.director-workspace .director-lineai-select .lineai-select-trigger:disabled {
  color: #aab3c2;
  background: #181d26;
  border-color: #343c4b;
  opacity: 1;
}
.director-workspace .director-lineai-select .lineai-select-trigger > .ti { color: #aab3c2; }
.director-workspace .director-lineai-select .lineai-select-trigger.open > .ti { color: #d6c8ff; }
.director-lineai-select-menu.setting-popover {
  color: var(--director-text);
  background: #171c26;
  border-color: #465062;
  box-shadow: 0 18px 42px rgb(0 0 0 / 42%);
  color-scheme: dark;
}
.director-lineai-select-menu .lineai-select-option {
  min-height: 42px;
  color: #e8ebf1;
  background: transparent;
  font-size: 13px;
}
.director-lineai-select-menu .lineai-select-option:hover,
.director-lineai-select-menu .lineai-select-option:focus-visible {
  color: #fff;
  background: #252c39;
}
.director-lineai-select-menu .lineai-select-option.selected {
  color: #fff;
  background: #33274d;
}
.director-lineai-select-menu .lineai-select-option strong { color: inherit; font-size: 13px; }
.director-lineai-select-menu .lineai-select-option small { color: #aab3c2; font-size: 12px; }
.director-lineai-select-menu .lineai-select-option .menu-check { color: transparent; }
.director-lineai-select-menu .lineai-select-option.selected .menu-check { color: #cbbaff; }
.director-lineai-select-menu .lineai-select-option:disabled { color: #818b9d; opacity: .72; }
.director-workspace button:focus-visible,
.director-workspace input:focus-visible,
.director-workspace textarea:focus-visible,
.director-workspace select:focus-visible,
.director-picker-dialog button:focus-visible {
  outline: 2px solid var(--director-focus);
  outline-offset: 2px;
}
.director-workspace button:disabled,
.director-picker-dialog button:disabled { cursor: not-allowed; opacity: .48; }
.director-app, .director-shell { width: 100%; height: 100%; min-height: 0; }
.director-shell { display: grid; grid-template-rows: 70px minmax(0, 1fr); background: linear-gradient(180deg, rgb(255 255 255 / 34%), rgb(244 247 251 / 82%)); }

.director-shell-header {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--director-border-soft);
  background: #fff;
}

.director-shell-breadcrumb,
.director-shell-breadcrumb > div,
.director-shell-actions { display: flex; align-items: center; min-width: 0; }
.director-shell-breadcrumb { gap: 20px; }
.director-shell-breadcrumb > button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  color: #d3d6df;
  background: transparent;
  border: 0;
}
.director-shell-breadcrumb > button:hover { color: white; }
.director-shell-breadcrumb > span { width: 1px; height: 30px; background: var(--director-border); }
.director-shell-breadcrumb > div { display: grid; gap: 3px; }
.director-shell-breadcrumb h1 { max-width: 720px; margin: 0; overflow: hidden; color: var(--director-text); font-size: 20px; font-weight: 680; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.director-shell-breadcrumb p { margin: 0; color: var(--director-subtle); font-size: 13px; }
.director-brand { display: inline-flex !important; grid-auto-flow: column; gap: 10px !important; color: #c7b6ff; letter-spacing: .02em; }
.director-brand i { font-size: 22px; }
.director-shell-actions { gap: 8px; }

.director-primary,
.director-secondary,
.director-icon-button,
.director-shell-actions button,
.director-step-footer button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  color: #e4e6ed;
  background: var(--director-panel-2);
  border: 1px solid var(--director-control-border);
  border-radius: 9px;
  font-size: 14px;
  font-weight: 620;
}
.director-primary { color: white !important; background: linear-gradient(135deg, var(--director-purple), var(--director-purple-2)) !important; border-color: #9b78f3 !important; box-shadow: 0 8px 24px rgb(101 56 196 / 22%); }
.director-primary:hover { filter: brightness(1.08); }
.director-secondary:hover, .director-shell-actions button:hover { border-color: #50596d; background: #212630; }
.director-icon-button { width: 42px; padding: 0 !important; }
.director-icon-button:hover, [data-action="delete-project"]:hover, [data-action="delete-episode"]:hover { color: var(--director-red) !important; border-color: rgb(255 107 122 / 36%) !important; }

.director-toast {
  position: absolute;
  z-index: 20;
  top: 82px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(680px, 70vw);
  padding: 11px 12px 11px 14px;
  color: #ffd8dd;
  background: #3a1c25;
  border: 1px solid #7f3441;
  border-radius: 10px;
  box-shadow: 0 12px 36px rgb(0 0 0 / 30%);
  transform: translateX(-50%);
}
.director-toast[hidden] { display: none; }
.director-toast.info { color: #ded2ff; background: #2a2141; border-color: #5c4690; }
.director-toast.success { color: #c6f7e4; background: #173328; border-color: #2d7156; }
.director-toast span { font-size: 13px; line-height: 1.55; }
.director-toast button { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; background: transparent; border: 0; }

.director-loading { display: inline-flex; align-items: center; gap: 4px; margin-right: 8px; }
.director-loading i { width: 5px; height: 5px; background: #b59aff; border-radius: 50%; animation: director-pulse 1s ease-in-out infinite; }
.director-loading i:nth-child(2) { animation-delay: .14s; }
.director-loading i:nth-child(3) { animation-delay: .28s; }
@keyframes director-pulse { 0%, 70%, 100% { opacity: .3; transform: translateY(0); } 35% { opacity: 1; transform: translateY(-3px); } }

.director-projects-page,
.director-form-page,
.director-project-detail,
.director-episode-page { min-height: 0; overflow: auto; }

.director-projects-page { padding: 34px 38px 46px; }
.director-page-heading { display: flex; align-items: flex-end; justify-content: space-between; max-width: 1540px; margin: 0 auto 28px; }
.director-page-heading > div, .director-form-heading { display: grid; gap: 6px; }
.director-page-heading span, .director-form-heading > span, .director-asset-stage > header > span, .director-asset-intro > div > span { color: #b89fff; font-size: 12px; font-weight: 760; letter-spacing: .08em; }
.director-page-heading h2, .director-form-heading h2 { margin: 0; font-size: 30px; line-height: 1.25; letter-spacing: -.02em; }
.director-page-heading p, .director-form-heading p { margin: 0; color: var(--director-muted); font-size: 14px; }
.director-project-grid { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 16px; max-width: 1540px; margin: auto; }
.director-project-card { display: grid; grid-template-rows: auto 1fr auto; min-height: 190px; padding: 18px; background: linear-gradient(155deg, #171a22, #12151b); border: 1px solid var(--director-border); border-radius: 12px; transition: .18s ease; }
.director-project-card:hover { border-color: #5c4b87; box-shadow: 0 12px 34px rgb(0 0 0 / 22%); transform: translateY(-2px); }
.director-project-card:focus-visible,
.director-episode-card:focus-visible { outline: 2px solid var(--director-focus); outline-offset: 3px; border-color: var(--director-focus); }
.director-project-card > header, .director-project-card > footer { display: flex; align-items: center; }
.director-project-card > header { justify-content: space-between; }
.director-project-card > header > span { color: var(--director-subtle); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.director-project-card > header button, .director-episode-card > header button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #98a2b4; background: transparent; border: 0; border-radius: 7px; }
.director-project-card > div { align-self: center; min-width: 0; }
.director-project-card h2 { margin: 0 0 8px; overflow: hidden; font-size: 20px; font-weight: 680; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.director-project-card p { margin: 0; color: var(--director-subtle); font-size: 13px; }
.director-project-card > footer { gap: 8px; padding-top: 14px; border-top: 1px solid var(--director-border-soft); }
.director-project-card > footer b { color: #d0d5df; font-size: 12px; font-weight: 570; }
.director-project-card > footer em { margin-left: auto; color: #ad99e7; font-size: 12px; font-style: normal; }
.director-dot { width: 7px; height: 7px; background: #697083; border-radius: 50%; }
.director-dot.ready { background: var(--director-green); box-shadow: 0 0 10px rgb(88 214 164 / 50%); }
.director-dot.running { background: #b58cff; box-shadow: 0 0 10px rgb(181 140 255 / 50%); }
.director-dot.attention { background: var(--director-red); box-shadow: 0 0 10px rgb(255 123 139 / 50%); }
.director-project-empty { display: grid; justify-items: center; align-content: center; min-height: 520px; color: var(--director-muted); text-align: center; }
.director-project-empty > i { margin-bottom: 14px; color: #8a6cde; font-size: 44px; }
.director-project-empty h2 { margin: 0 0 8px; color: var(--director-text); font-size: 24px; }
.director-project-empty p { max-width: 520px; margin: 0 0 20px; font-size: 14px; line-height: 1.7; }

.director-workspace.director-home-mode {
  height: calc(100dvh - 120px);
  min-height: 650px;
  color: #151922;
  background: transparent;
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
  color-scheme: light;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.workspace:has(#director-workspace:not([hidden])) > .workspace-header {
  position: relative;
  z-index: 60;
}
.workspace:has(#director-workspace.director-home-mode:not([hidden])) {
  padding-bottom: 0;
  background-color: #f1f3f6;
  background-image:
    linear-gradient(to bottom, rgb(241 243 246 / 0%) 68%, rgb(241 243 246 / 82%) 88%, #f1f3f6 96%),
    url('/assets/workbench-dreamscape-composite-v3.webp');
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 100dvh, cover;
}
.director-home-bootstrap {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  pointer-events: none;
}
.director-home-bootstrap-progress {
  position: absolute;
  top: 50%;
  left: clamp(34px, 6vw, 112px);
  width: 112px;
  height: 2px;
  overflow: hidden;
  background: rgb(37 87 214 / 14%);
  opacity: 0;
  animation: director-home-bootstrap-reveal 0s .24s forwards;
}
.director-home-bootstrap-progress i {
  position: absolute;
  inset: 0;
  background: #2557d6;
  transform: translateX(-76%);
  animation: director-home-bootstrap-progress 1.05s cubic-bezier(.22, 1, .36, 1) .24s infinite;
}
@keyframes director-home-bootstrap-reveal { to { opacity: 1; } }
@keyframes director-home-bootstrap-progress { 50% { transform: translateX(48%); } 100% { transform: translateX(176%); } }
.workspace:has(#director-workspace.director-home-mode:not([hidden]))::before {
  height: 100dvh;
  background: url('/assets/director-home-portrait-base-hd-v1.webp') center center / cover no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 38% 82% at 54% 52%, #000 0 58%, rgb(0 0 0 / 72%) 76%, rgb(0 0 0 / 22%) 90%, transparent 100%);
  mask-image: radial-gradient(ellipse 38% 82% at 54% 52%, #000 0 58%, rgb(0 0 0 / 72%) 76%, rgb(0 0 0 / 22%) 90%, transparent 100%);
}
.workspace:has(#director-workspace.director-home-mode:not([hidden]))::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 100dvh;
  background: url('/assets/director-home-portrait-reveal-hd-v1.webp') center center / cover no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 6.5% 11.5% at var(--director-reveal-x, 54%) var(--director-reveal-y, 39%), #000 0 44%, rgb(0 0 0 / 86%) 60%, rgb(0 0 0 / 44%) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse 6.5% 11.5% at var(--director-reveal-x, 54%) var(--director-reveal-y, 39%), #000 0 44%, rgb(0 0 0 / 86%) 60%, rgb(0 0 0 / 44%) 78%, transparent 100%);
  opacity: 0;
  transition: opacity .18s cubic-bezier(.16, 1, .3, 1);
  content: '';
  pointer-events: none;
}
.workspace[data-director-portrait-reveal='active']:has(#director-workspace.director-home-mode:not([hidden]))::after { opacity: 1; }
.director-home-mode .director-shell { grid-template-rows: minmax(0, 1fr); background: transparent; }
.director-home-mode .director-shell-header { display: none; }
.director-home-mode .director-projects-page {
  position: relative;
  height: 100%;
  overflow: hidden;
  padding: 0;
  background: transparent;
}
.director-home-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
}
.director-home-hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: none;
  content: '';
  pointer-events: none;
}
.director-home-copy {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(920px, 50%);
  align-content: center;
  justify-items: start;
  min-height: 100%;
  padding: clamp(28px, 3.5vw, 56px) clamp(28px, 3vw, 52px) clamp(28px, 3.5vw, 56px) clamp(34px, 6vw, 112px);
}
.director-home-copy h2 {
  display: grid;
  gap: .08em;
  margin: clamp(16px, 2vh, 24px) 0 clamp(24px, 3.4vh, 38px);
  color: #11151c;
  font-size: clamp(38px, 3.3vw, 60px);
  font-weight: 850;
  letter-spacing: -.075em;
  line-height: 1.06;
}
.director-home-copy h2 > span { display: block; white-space: nowrap; }
.director-home-copy h2 strong { color: #2557d6; font-weight: inherit; }
.director-home-corner { display: block; width: 16px; height: 16px; border-color: #151922; }
.director-home-corner-top { border-top: 1px solid; border-left: 1px solid; }
.director-home-corner-bottom { border-bottom: 1px solid; border-left: 1px solid; }
.director-home-primary {
  display: inline-flex;
  min-width: 180px;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(18px, 2.5vh, 28px);
  border: 1px solid #151922;
  border-radius: 10px;
  padding: 0 16px 0 19px;
  color: #fff !important;
  background: #151922;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s cubic-bezier(.16, 1, .3, 1);
}
.director-home-primary i { font-size: 18px; transition: transform .22s cubic-bezier(.16, 1, .3, 1); }
.director-home-primary:hover { border-color: #2557d6; background: #2557d6; transform: translateY(-2px); }
.director-home-primary:hover i { transform: translate(2px, -2px); }
.director-home-primary:active { transform: translateY(0) scale(.98); }
.director-home-primary:focus-visible { outline-color: #2557d6 !important; }
.director-home-projects {
  position: relative;
  z-index: 3;
  width: min(1120px, 200%);
  margin-top: clamp(22px, 3vh, 30px);
  padding: 0 0 4px;
  background: transparent;
}
.director-home-projects > header {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: end;
  justify-content: flex-start;
  gap: 10px;
  margin: 0 0 10px;
}
.director-home-projects > header > div { display: grid; gap: 4px; }
.director-home-projects > header > div > span { color: #2b67d4; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.director-home-projects > header h2 { margin: 0; color: #263244; font-size: 18px; font-weight: 780; letter-spacing: -.02em; }
.director-home-project-count {
  margin: 0 0 1px;
  border: 1px solid rgb(120 137 162 / 16%);
  border-radius: 999px;
  padding: 2px 8px;
  color: #657388;
  background: rgb(255 255 255 / 58%);
  font-size: 12px;
  line-height: 18px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.director-home-mode .director-project-grid {
  grid-template-columns: none;
  grid-auto-columns: minmax(260px, 290px);
  grid-auto-flow: column;
  justify-content: start;
  gap: 12px;
  max-width: none;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 4px;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
.director-home-mode .director-project-grid > * { scroll-snap-align: start; }
.director-home-mode .director-project-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 208px;
  overflow: hidden;
  padding: 0;
  color: #354153;
  background: rgb(255 255 255 / 74%);
  border-color: rgb(255 255 255 / 84%);
  border-radius: 15px;
  box-shadow: 0 12px 28px rgb(49 65 94 / 7%);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s cubic-bezier(.16, 1, .3, 1);
}
.director-home-mode .director-project-card:hover {
  background: rgb(255 255 255 / 86%);
  border-color: rgb(255 255 255 / 96%);
  box-shadow: 0 15px 34px rgb(49 65 94 / 11%);
  transform: translateY(-2px);
}
.director-project-open { display: grid; width: 100%; height: 100%; min-height: 208px; grid-template-rows: 142px minmax(66px, auto); border: 0; padding: 0; color: inherit; background: transparent; text-align: left; }
.director-project-open:hover { background: rgb(248 251 255 / 72%); }
.director-project-open:focus-visible { outline: 3px solid rgb(40 100 232 / 20%) !important; outline-offset: -3px; }
.director-project-preview { display: grid; min-height: 142px; overflow: hidden; background: #e9eef4; }
.director-project-map { display: flex; align-items: center; justify-content: center; gap: 13px; color: #5d7fa8; background: #edf3fa; }
.director-project-map > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #cfdeee; border-radius: 11px; background: #fff; box-shadow: 0 6px 15px rgb(49 81 119 / 8%); font-size: 17px; }
.director-project-meta { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 44px 12px 13px; }
.director-project-meta > span { display: grid; min-width: 0; gap: 4px; }
.director-project-meta strong { overflow: hidden; color: #344153; font-size: 14px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.director-project-meta small { display: flex; min-width: 0; align-items: center; gap: 7px; overflow: hidden; color: #7f8997; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.director-project-meta small > span { display: inline-flex; flex: none; align-items: center; gap: 7px; }
.director-project-meta small > span + span::before { width: 1px; height: 9px; background: #d5dde6; content: ''; }
.director-project-meta em { color: #687584; font-size: 12px; font-style: normal; white-space: nowrap; transition: opacity .16s ease; }
.director-project-meta em.ready { color: #16794a; }
.director-project-meta em.running { color: #6550c8; }
.director-project-meta em.attention { color: #b23b4d; }
.director-project-actions { position: absolute; right: 9px; bottom: 20px; display: flex; gap: 3px; opacity: 0; pointer-events: none; }
.director-project-card:hover .director-project-actions,
.director-project-card:focus-within .director-project-actions { opacity: 1; pointer-events: auto; }
.director-project-card:hover .director-project-meta em,
.director-project-card:focus-within .director-project-meta em { opacity: 0; }
.director-project-actions button { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #dde5ed; border-radius: 8px; padding: 0; color: #6f7c8c; background: #fff; }
.director-project-actions button:hover { color: #b53d50 !important; border-color: #edc7ce !important; background: #fff7f8; }
.director-home-mode .director-project-empty {
  max-width: 1280px;
  min-height: 170px;
  margin: 0 auto;
  color: #727b89;
  background: rgb(255 255 255 / 45%);
  border: 1px dashed rgb(166 181 199 / 60%);
  border-radius: 15px;
}
.director-home-mode .director-project-empty > i { margin-bottom: 9px; color: #2557d6; font-size: 31px; }
.director-home-mode .director-project-empty h2 { margin-bottom: 4px; color: #252b34; font-size: 18px; }
.director-home-mode .director-project-empty p { margin-bottom: 0; font-size: 13px; }

@media (prefers-reduced-motion: no-preference) {
  .director-home-copy h2 > span,
  .director-home-copy .director-home-corner,
  .director-home-primary { animation: director-home-enter .72s cubic-bezier(.16, 1, .3, 1) both; }
  .director-home-copy h2 > span:nth-child(2) { animation-delay: .07s; }
  .director-home-copy .director-home-corner-bottom { animation-delay: .12s; }
  .director-home-primary { animation-delay: .17s; }
}
@keyframes director-home-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .workspace:has(#director-workspace.director-home-mode:not([hidden]))::after { display: none; }
  .director-home-bootstrap-progress { opacity: 1; animation: none; }
  .director-home-bootstrap-progress i { transform: none; animation: none; }
  .director-home-primary,
  .director-home-primary i,
  .director-home-mode .director-project-card,
  .director-project-meta em { transition: none; }
  .director-home-primary:hover,
  .director-home-mode .director-project-card:hover { transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .director-home-mode .director-project-card { background: #fff; }
}

.director-form-page { display: grid; place-items: start center; padding: 30px 40px 50px; }
.director-project-form { width: min(1040px, 100%); padding: 28px; background: #14171e; border: 1px solid var(--director-border); border-radius: 14px; box-shadow: 0 20px 60px rgb(0 0 0 / 16%); }
.director-form-heading { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--director-border-soft); }
.director-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.director-form-grid > label, .director-form-grid > fieldset, .director-style-control { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.director-form-grid > label > span, .director-form-grid legend, .director-style-control > span, .director-generator-parameters label > span, .director-prompt-editor > span, .director-negative-editor > span { color: #dde1e9; font-size: 13px; font-weight: 650; }
.director-form-grid input:not([type="radio"]):not([type="checkbox"]), .director-form-grid textarea,
.director-generator-parameters select, .director-generator-parameters input,
.director-prompt-editor textarea, .director-negative-editor textarea {
  width: 100%;
  color: var(--director-text);
  background: var(--director-control);
  border: 1px solid var(--director-control-border);
  border-radius: 9px;
  outline: none;
}
.director-form-grid input:not([type="radio"]):not([type="checkbox"]), .director-generator-parameters select, .director-generator-parameters input { height: 46px; padding: 0 13px; }
.director-form-grid textarea { min-height: 120px; padding: 13px; resize: vertical; line-height: 1.7; }
.director-form-grid > label > small, .director-style-control small { color: var(--director-subtle); font-size: 12px; line-height: 1.5; }
.director-source-capability { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; }
.director-source-capability::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ''; }
.director-source-capability.stable { color: #21805a; }
.director-source-capability.long-story { color: #a45a0a; }
.director-source-capability.blocked { color: #c33f52; }
.director-form-grid input:not([type="radio"]):not([type="checkbox"]):hover,
.director-form-grid textarea:hover,
.director-generator-parameters select:hover,
.director-generator-parameters input:hover,
.director-prompt-editor textarea:hover,
.director-negative-editor textarea:hover { border-color: #596578; background: #141a24; }
.director-form-grid input:not([type="radio"]):not([type="checkbox"]):focus,
.director-form-grid textarea:focus,
.director-generator-parameters select:focus,
.director-generator-parameters input:focus,
.director-prompt-editor textarea:focus,
.director-negative-editor textarea:focus { border-color: var(--director-focus); background: #141a24; box-shadow: 0 0 0 3px rgb(182 151 255 / 14%); }
.director-form-wide { grid-column: 1 / -1; }
.director-form-grid fieldset { grid-auto-flow: column; justify-content: start; align-content: start; gap: 10px; }
.director-form-grid fieldset legend { margin-bottom: 8px; }
.director-form-grid fieldset label { display: inline-flex; align-items: center; gap: 8px; min-width: 112px; height: 46px; padding: 0 15px; background: var(--director-control); border: 1px solid var(--director-control-border); border-radius: 9px; font-size: 13px; }
.director-form-grid fieldset label:has(input:checked) { color: #f7f3ff; background: var(--director-purple-soft); border-color: #7e60c2; }
.director-form-grid input[type="radio"], .director-form-grid input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--director-purple); }
.director-form-grid > .director-episode-count-control { display: grid; grid-auto-flow: row; justify-content: stretch; align-content: start; gap: 8px; }
.director-episode-count-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.director-episode-count-modes label { display: flex; align-items: center; gap: 8px; min-width: 0; height: 46px; padding: 0 12px; color: var(--director-muted); background: var(--director-control); border: 1px solid var(--director-control-border); border-radius: 9px; font-size: 13px; cursor: pointer; }
.director-episode-count-modes label:has(input:checked) { color: #f7f3ff; background: var(--director-purple-soft); border-color: #7e60c2; }
.director-episode-count-manual { min-width: 0; }
.director-episode-count-control > small { color: var(--director-subtle); font-size: 12px; line-height: 1.5; }
.director-form-grid > .director-prompt-target-control { display: grid; grid-auto-flow: row; justify-content: stretch; gap: 9px; }
.director-prompt-target-control > p { margin: 0; color: var(--director-subtle); font-size: 12px; line-height: 1.6; }
.director-prompt-target-control > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.director-form-grid .director-prompt-target-control label { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; height: auto; min-height: 82px; padding: 13px; cursor: pointer; }
.director-prompt-target-control label > span { display: grid; gap: 5px; min-width: 0; }
.director-prompt-target-control label b { display: flex; align-items: center; gap: 7px; font-size: 14px; }
.director-prompt-target-control label b em { padding: 2px 6px; color: #d8c8ff; background: rgb(126 96 194 / 28%); border-radius: 999px; font-size: 12px; font-style: normal; }
.director-prompt-target-control label small { color: var(--director-subtle); font-size: 12px; line-height: 1.5; }
.director-upload-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 14px; text-align: left; background: #10131a; border: 1px dashed #3a4151; border-radius: 8px; }
.director-upload-row i { color: #a98aff; font-size: 20px; }
.director-upload-row small { margin-left: auto; }
.director-style-control > div { display: flex; align-items: center; gap: 14px; }
.director-style-control > div > label { display: inline-flex; align-items: center; gap: 7px; color: var(--director-muted); font-size: 13px; white-space: nowrap; }
.director-style-choice { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 7px; text-align: left; background: #10131a; border: 1px solid #303643; border-radius: 8px; }
.director-style-choice img { width: 56px; height: 42px; object-fit: cover; border-radius: 6px; }
.director-style-choice span { display: grid; gap: 3px; min-width: 0; }
.director-style-choice b { font-size: 14px; }
.director-style-choice small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.director-platform-standard { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 14px; color: #dcd4f6; background: linear-gradient(100deg, rgb(126 91 204 / 18%), #11151d); border: 1px solid #4b3c6f; border-radius: 9px; }
.director-platform-standard[hidden] { display: none; }
.director-platform-standard > i { color: #b896ff; font-size: 24px; }
.director-platform-standard > div { display: grid; gap: 4px; }
.director-platform-standard b { font-size: 14px; }
.director-platform-standard span { color: var(--director-muted); font-size: 12px; line-height: 1.55; }
.director-project-form > footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--director-border-soft); }

.director-project-detail { padding: 24px 28px 44px; }
.director-setup-banner { display: flex; align-items: center; justify-content: space-between; gap: 22px; max-width: 1660px; margin: 0 auto 18px; padding: 18px 20px; background: linear-gradient(110deg, rgb(102 62 173 / 18%), #151822 62%); border: 1px solid #493b67; border-radius: 10px; }
.director-setup-banner.running { border-color: #34415d; }
.director-setup-banner.failed { border-color: #6c3541; }
.director-setup-banner > div { display: grid; flex: 1; gap: 4px; min-width: 0; }
.director-setup-banner span { color: #b89fff; font-size: 12px; font-weight: 750; letter-spacing: .06em; }
.director-setup-banner h3 { margin: 0; font-size: 18px; }
.director-setup-banner p { max-width: 1000px; margin: 0; color: var(--director-muted); font-size: 13px; line-height: 1.65; }
.director-setup-banner.recommendation { align-items: end; background: linear-gradient(110deg, rgb(112 68 204 / 24%), #151822 66%); }
.director-setup-banner.recommendation > div:first-child > small { color: #aaa3bb; font-size: 12px; line-height: 1.5; }
.director-setup-banner .director-intake-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 8px; }
.director-intake-reasons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.director-intake-reasons i { padding: 4px 7px; color: #b9b2c7; background: rgb(255 255 255 / 4%); border: 1px solid rgb(255 255 255 / 7%); border-radius: 5px; font-size: 12px; font-style: normal; }
.director-count-confirmation { display: flex !important; flex: 0 0 auto !important; grid-template-columns: none !important; align-items: end; gap: 10px !important; }
.director-count-confirmation label { display: grid; gap: 6px; color: #d9d4e5; font-size: 12px; font-weight: 700; }
.director-count-confirmation input { width: 118px; height: 42px; padding: 0 12px; color: #fff; background: #10131a; border: 1px solid #5d4a86; border-radius: 8px; font: inherit; font-size: 15px; }
.director-count-confirmation .director-primary { min-height: 42px; white-space: nowrap; }
.director-analysis-progress { display: grid; gap: 7px; width: min(680px, 100%); margin-top: 10px; }
.director-analysis-progress > div { height: 8px; overflow: hidden; background: #282e3a; border: 1px solid #3a4353; border-radius: 999px; }
.director-analysis-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #6f43d4, #ae8aff); border-radius: inherit; transform: scaleX(calc(var(--director-progress-value, 0) / 100)); transform-origin: left center; transition: transform .3s ease; }
.director-analysis-progress small { color: #9da8ba; font-size: 12px; }
.director-analysis-progress.indeterminate i { width: 36%; transform: none; animation: director-progress-scan 1.35s ease-in-out infinite; }
@keyframes director-progress-scan { from { transform: translateX(-110%); } to { transform: translateX(300%); } }
.director-bible { max-width: 1660px; margin: auto; }
.director-prompt-target-lock { display: flex; align-items: center; gap: 11px; margin: 0 0 10px; padding: 10px 14px; color: #ded7f3; background: linear-gradient(100deg, rgb(126 91 204 / 16%), #151821); border: 1px solid #443664; border-radius: 8px; }
.director-prompt-target-lock > i { color: #b896ff; font-size: 21px; }
.director-prompt-target-lock > span { display: grid; gap: 3px; }
.director-prompt-target-lock b { font-size: 13px; }
.director-prompt-target-lock small { color: #aaa4b9; font-size: 12px; line-height: 1.45; }
.director-section-label { display: flex; align-items: center; justify-content: space-between; margin: 0 2px 10px; }
.director-section-label > span { color: #e1e4eb; font-size: 14px; font-weight: 680; }
.director-section-label em { display: inline-flex; align-items: center; gap: 5px; color: var(--director-green); font-size: 12px; font-style: normal; }
.director-bible-grid { display: grid; grid-template-columns: 1.3fr 1fr 1.25fr .8fr; background: #151821; border: 1px solid var(--director-border); border-radius: 9px; }
.director-bible-grid > button { display: grid; align-content: start; min-width: 0; padding: 15px 18px; text-align: left; background: transparent; border: 0; }
.director-bible-grid > button + button { border-left: 1px solid var(--director-border-soft); }
.director-bible-grid > button:hover { background: #1a1e28; }
.director-bible-grid > button > span { color: #d6dae3; font-size: 12px; font-weight: 650; }
.director-bible-grid p { display: -webkit-box; margin: 8px 0 0; overflow: hidden; color: var(--director-muted); font-size: 13px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.director-bible-grid > button > em { display: inline-flex; align-items: center; gap: 4px; align-self: end; margin-top: 9px; color: #a991ec; font-size: 12px; font-style: normal; }
.director-style-lock { display: inline-flex !important; align-items: center; gap: 6px; color: #b59aff !important; }
.director-readonly-lock { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; color: #aeb6c5; background: #181c24; border: 1px solid #343b49; border-radius: 8px; font-size: 12px; white-space: nowrap; }
.director-project-tabs { display: flex; gap: 6px; max-width: 1660px; margin: 24px auto 18px; border-bottom: 1px solid var(--director-border); }
.director-project-tabs button { position: relative; display: inline-flex; align-items: center; gap: 8px; min-width: 118px; min-height: 44px; padding: 0 18px 13px; color: var(--director-muted); background: transparent; border: 0; font-size: 14px; font-weight: 620; }
.director-project-tabs button.active { color: #c8b7ff; }
.director-project-tabs button.active::after { content: ''; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--director-purple); }
.director-project-tabs b { padding: 2px 7px; color: #c3afff; background: #2c2341; border-radius: 999px; font-size: 12px; }
.director-episode-grid { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 14px; max-width: 1660px; margin: auto; }
.director-episode-card { min-height: 250px; padding: 16px; text-align: left; background: #151821; border: 1px solid var(--director-border); border-radius: 9px; transition: .16s ease; }
.director-episode-card:hover { border-color: #665194; background: #181b25; transform: translateY(-1px); }
.director-episode-card > header { display: flex; align-items: center; justify-content: space-between; }
.director-episode-card > header > span { color: #cabaff; font-size: 13px; font-weight: 750; }
.director-episode-card h3 { margin: 18px 0; font-size: 18px; line-height: 1.4; }
.director-episode-card dl { display: grid; gap: 9px; margin: 0; }
.director-episode-card dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.director-episode-card dt { color: var(--director-subtle); }
.director-episode-card dd { margin: 0; color: #b5bac6; }
.director-episode-card > footer { display: flex; align-items: center; gap: 8px; margin-top: 20px; padding-top: 13px; border-top: 1px solid var(--director-border-soft); }
.director-episode-card > footer b { color: #c9ced8; font-size: 12px; font-weight: 570; }
.director-add-episode { display: grid; place-items: center; align-content: center; gap: 10px; min-height: 250px; color: #8a91a1; background: transparent; border: 1px dashed #394150; border-radius: 9px; }
.director-add-episode i { font-size: 28px; }
.director-add-episode:hover { color: #c9b8ff; border-color: #665194; background: rgb(139 92 246 / 5%); }

.director-library-view { max-width: 1660px; margin: auto; }
.director-library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.director-library-tabs { display: flex; gap: 8px; }
.director-library-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 15px; color: var(--director-muted); background: var(--director-panel); border: 1px solid var(--director-border); border-radius: 8px; font-size: 13px; }
.director-library-tabs button.active { color: #d6caff; background: #211b32; border-color: #684e9c; }
.director-library-tabs b { color: #ad98e8; font-size: 12px; }
.director-add-asset-button { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; white-space: nowrap; }
.director-character-library { display: grid; grid-template-columns: repeat(3, minmax(320px, 1fr)); gap: 12px; }
.director-character-library-card { display: grid; grid-template-columns: minmax(0, 1fr) 140px; min-height: 156px; background: #151821; border: 1px solid var(--director-border); border-radius: 9px; overflow: hidden; }
.director-character-image { display: grid; grid-template-columns: 120px 1fr; align-items: stretch; min-width: 0; padding: 0; text-align: left; background: transparent; border: 0; border-right: 1px solid var(--director-border-soft); }
.director-character-image > img, .director-character-image > .director-asset-empty { width: 120px; height: 156px; border-radius: 0; object-fit: cover; }
.director-character-image > span { display: grid; align-content: end; gap: 5px; min-width: 0; padding: 15px; }
.director-character-image b { overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.director-character-image small { font-size: 12px; }
.director-character-tools { display: grid; align-content: center; gap: 9px; padding: 12px; }
.director-character-tools button, .director-character-tools > span { display: flex; align-items: center; gap: 8px; padding: 9px; text-align: left; background: #11141b; border: 1px solid var(--director-border-soft); border-radius: 7px; }
.director-character-tools i { color: #a98aff; }
.director-character-tools span > span, .director-character-tools button > span { display: grid; gap: 2px; }
.director-character-tools b { color: var(--director-muted); font-size: 12px; font-weight: 520; }
.director-asset-card-grid { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 12px; }
.director-simple-asset-card { min-width: 0; background: #151821; border: 1px solid var(--director-border); border-radius: 9px; overflow: hidden; }
.director-simple-asset-card > button { display: grid; grid-template-rows: 134px auto; width: 100%; min-width: 0; padding: 0; text-align: left; background: transparent; border: 0; }
.director-simple-asset-card img, .director-simple-asset-card .director-asset-empty { width: 100%; height: 134px; object-fit: cover; border-radius: 0; }
.director-simple-asset-card > button > span { display: grid; gap: 5px; padding: 11px 12px; }
.director-simple-asset-card small { color: var(--director-subtle); font-size: 12px; }
.director-simple-asset-card b { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.director-simple-asset-card em { font-size: 12px; font-style: normal; }
.director-inline-empty { display: grid; place-items: center; min-height: 180px; color: var(--director-subtle); background: #13161d; border: 1px dashed #303745; border-radius: 9px; }
.director-inline-empty.small { min-height: 80px; padding: 16px; font-size: 13px; }

.director-episode-page { display: grid; grid-template-rows: 70px minmax(0, 1fr); overflow: hidden; }
.director-episode-steps { display: grid; grid-template-columns: 1fr 90px 1fr 90px 1fr; align-items: center; padding: 0 max(9vw, 100px); background: #11141b; border-bottom: 1px solid var(--director-border-soft); }
.director-step-connector { height: 1px; background: #353b48; }
.director-episode-steps button { display: flex; align-items: center; justify-content: center; gap: 10px; align-self: stretch; color: #9aa4b5; background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: 14px; font-weight: 600; }
.director-step-index { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #626d80; border-radius: 50%; font-size: 12px; }
.director-episode-steps button.complete { color: #77dcb5; }
.director-episode-steps button.complete .director-step-index { border-color: #4fc897; }
.director-episode-steps button.active { color: #d7ccf9; border-bottom-color: var(--director-purple); }
.director-episode-steps button.active .director-step-index { color: white; background: var(--director-purple); border-color: var(--director-purple); }
.director-episode-body { min-height: 0; overflow: auto; }
.director-step-empty { display: grid; justify-items: center; align-content: center; min-height: 500px; padding: 30px; color: var(--director-muted); text-align: center; }
.director-step-empty > i { margin-bottom: 12px; color: #8065cf; font-size: 38px; }
.director-step-empty h2 { margin: 0 0 8px; color: var(--director-text); }
.director-step-empty p { max-width: 650px; margin: 0 0 18px; line-height: 1.7; }

.director-screenplay-editor { display: grid; grid-template-rows: auto minmax(420px, 1fr) auto; width: min(1240px, calc(100% - 56px)); min-height: calc(100% - 50px); margin: 24px auto; background: #151821; border: 1px solid var(--director-border); border-radius: 10px; overflow: hidden; }
.director-screenplay-editor > header, .director-screenplay-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; }
.director-screenplay-editor > header { border-bottom: 1px solid var(--director-border-soft); }
.director-screenplay-editor > header > div:first-child { display: grid; gap: 4px; }
.director-screenplay-editor > header span { color: var(--director-muted); font-size: 12px; }
.director-screenplay-editor h2 { margin: 0; font-size: 19px; }
.director-screenplay-editor > header > div:last-child { display: flex; gap: 6px; }
.director-screenplay-editor > header > div:last-child span { padding: 5px 8px; background: #20242e; border-radius: 5px; }
.director-screenplay-editor > textarea { width: 100%; min-height: 480px; padding: 26px 32px; color: #e2e5ec; background: var(--director-control); border: 0; outline: 0; resize: none; font-size: 15px; line-height: 1.9; }
.director-screenplay-editor > footer { border-top: 1px solid var(--director-border-soft); }
.director-screenplay-editor > footer > span { display: inline-flex; align-items: center; gap: 6px; color: var(--director-green); font-size: 12px; }
.director-screenplay-editor > footer > div { display: flex; gap: 8px; }

.director-episode-assets { width: min(1480px, calc(100% - 48px)); margin: 22px auto 42px; }
.director-asset-intro { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 16px; }
.director-asset-intro h2 { margin: 5px 0; font-size: 22px; }
.director-asset-intro p { margin: 0; color: var(--director-muted); font-size: 13px; }
.director-asset-intro-actions { display: flex; align-items: center; gap: 9px; }
.director-asset-intro-actions > span { padding: 7px 10px; border-radius: 6px; font-size: 12px; }
.director-asset-intro-actions > span.pending { color: #efc77f; background: #392c1d; }
.director-asset-intro-actions > span.ready { color: #9ce8cb; background: #183128; }
.director-batch-generate-button { display: inline-flex; align-items: center; gap: 6px; border-color: #7651dc; color: #d8c9ff; background: #251b3b; }
.director-asset-batch-progress { display: grid; gap: 9px; margin: -2px 0 16px; padding: 12px 14px; border: 1px solid #343a48; border-radius: 8px; background: #151922; }
.director-asset-batch-progress > div:first-child { display: flex; align-items: center; gap: 10px; }
.director-asset-batch-progress > div:first-child > i { color: #9f7aea; font-size: 20px; }
.director-asset-batch-progress.active > div:first-child > i { animation: director-storyboard-spin 1s linear infinite; }
.director-asset-batch-progress.complete > div:first-child > i { color: #4ad3a1; }
.director-asset-batch-progress.warning > div:first-child > i { color: #e5ac5a; }
.director-asset-batch-progress span { display: grid; gap: 2px; }
.director-asset-batch-progress span b { font-size: 13px; }
.director-asset-batch-progress span small, .director-asset-batch-progress p { margin: 0; color: var(--director-muted); font-size: 12px; }
.director-asset-batch-bar { height: 4px; overflow: hidden; background: #272c37; border-radius: 999px; }
.director-asset-batch-bar i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #7c4dff, #a987ff); transform: scaleX(calc(var(--director-progress-value, 0) / 100)); transform-origin: left center; transition: transform .25s ease; }
.director-asset-group { margin-bottom: 14px; background: #14171e; border: 1px solid var(--director-border); border-radius: 10px; overflow: hidden; }
.director-asset-group > header { display: flex; align-items: center; justify-content: space-between; min-height: 55px; padding: 0 16px; border-bottom: 1px solid var(--director-border-soft); }
.director-asset-group > header > div { display: flex; align-items: center; gap: 10px; }
.director-asset-group > header i { color: #a98aff; font-size: 20px; }
.director-asset-group > header span { display: grid; gap: 2px; }
.director-asset-group > header b { font-size: 14px; }
.director-asset-group > header small { color: var(--director-subtle); font-size: 12px; }
.director-asset-group > .director-asset-card-grid { padding: 12px; }
.director-role-list { display: grid; }
.director-role-row { display: grid; grid-template-columns: minmax(340px, .8fr) minmax(520px, 1.2fr); min-height: 152px; }
.director-role-row + .director-role-row { border-top: 1px solid var(--director-border-soft); }
.director-role-identity { padding: 12px; border-right: 1px solid var(--director-border-soft); }
.director-role-look-list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 8px; overflow-x: auto; }
.director-role-look-list > button { display: grid; grid-template-columns: 104px 1fr; min-width: 260px; height: 126px; padding: 0; text-align: left; background: #10131a; border: 1px solid var(--director-border-soft); border-radius: 7px; overflow: hidden; }
.director-role-look-list img, .director-role-look-list .director-asset-empty { width: 104px; height: 126px; object-fit: cover; border-radius: 0; }
.director-role-look-list button > span { display: grid; align-content: end; gap: 5px; padding: 12px; }
.director-role-look-list small { font-size: 12px; }
.director-role-audio { display: grid; grid-template-columns: 170px 1fr; gap: 10px; padding: 12px; }
.director-role-audio > button { display: flex; align-items: center; gap: 10px; padding: 12px; text-align: left; background: #10131a; border: 1px solid var(--director-border-soft); border-radius: 7px; }
.director-role-audio > button i { color: #a98aff; font-size: 22px; }
.director-role-audio > button span { display: grid; gap: 4px; }
.director-role-audio > button small { font-size: 12px; }
.director-dialogue-lines { min-width: 0; padding: 9px 10px; background: #10131a; border: 1px solid var(--director-border-soft); border-radius: 7px; }
.director-dialogue-lines > header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.director-dialogue-lines > header b { font-size: 13px; }
.director-dialogue-lines > header small { color: var(--director-subtle); font-size: 12px; }
.director-dialogue-lines > button { display: flex; justify-content: space-between; gap: 12px; width: 100%; padding: 5px 2px; text-align: left; background: transparent; border: 0; border-top: 1px solid #20242e; }
.director-dialogue-lines > button span { overflow: hidden; color: #c8ced8; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.director-dialogue-lines > button em { flex: none; color: #b7a0f5; font-size: 12px; font-style: normal; }
.director-dialogue-lines > p { margin: 0; padding: 5px 2px; color: #c8ced8; border-top: 1px solid #20242e; font-size: 12px; line-height: 1.5; }
.director-step-footer { display: flex; justify-content: space-between; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--director-border-soft); }

.director-shot-count { display: grid; grid-template-columns: minmax(240px, 1fr) 230px 210px auto; align-items: center; gap: 20px; width: min(1180px, calc(100% - 48px)); margin: 90px auto; padding: 28px; background: #151821; border: 1px solid var(--director-border); border-radius: 12px; }
.director-shot-count > div span { color: #b89fff; font-size: 12px; letter-spacing: .06em; }
.director-shot-count h2 { margin: 6px 0; font-size: 24px; }
.director-shot-count p { margin: 0; color: var(--director-muted); font-size: 13px; }
.director-shot-count label { display: grid; gap: 7px; }
.director-shot-count label span { color: #d9dde5; font-size: 13px; }
.director-shot-count input { width: 100%; height: 46px; padding: 0 13px; color: white; background: var(--director-control); border: 1px solid var(--director-control-border); border-radius: 8px; font-size: 14px; }
.director-shot-count small { color: var(--director-subtle); font-size: 12px; }
.director-storyboard-progress-shell { display: grid; min-height: 520px; place-items: center; padding: 32px; }
.director-storyboard-progress-shell .director-storyboard-run-state { width: min(760px, 100%); margin: 0; }
.director-storyboard-run-state { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; margin: 16px 24px 0; padding: 18px 20px; background: #161a23; border: 1px solid #3a4252; border-radius: 12px; }
.director-storyboard-run-state > i { color: #a98aff; font-size: 24px; }
.director-storyboard-run-state.running > i { animation: director-storyboard-spin 1.1s linear infinite; }
.director-storyboard-run-state.failed { background: #21181b; border-color: #77404b; }
.director-storyboard-run-state.failed > i { color: #ff8797; }
.director-storyboard-run-state.recovered { background: #12201c; border-color: #2f735c; }
.director-storyboard-run-state.recovered > i { color: #54e1ae; }
.director-storyboard-run-state h3 { margin: 0 0 5px; color: var(--director-text); font-size: 16px; line-height: 1.35; }
.director-storyboard-run-state p { margin: 0; color: #b3bdcc; font-size: 13px; line-height: 1.55; }
.director-storyboard-run-state .director-analysis-progress { width: min(520px, 100%); margin-top: 10px; }
.director-storyboard-run-state.failed .director-analysis-progress i { background: linear-gradient(90deg, #c05b70, #ff8797); }
.director-storyboard-run-state.recovered .director-analysis-progress i { background: linear-gradient(90deg, #32b88a, #67e8ba); }
.director-quality-report { display: grid; gap: 12px; margin: 16px 24px; padding: 18px 20px; background: #171b24; border: 1px solid #3a4352; border-radius: 12px; }
.director-quality-report > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.director-quality-report > header > div { display: grid; gap: 4px; }
.director-quality-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.director-quality-report > header span { color: #aab4c4; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.director-quality-report h3 { margin: 0; color: #f2f4f8; font-size: 17px; }
.director-quality-report > p { margin: 0; color: #b9c2d0; font-size: 13px; line-height: 1.65; }
.director-quality-report.passed { background: #12231d; border-color: #34775e; }
.director-quality-report.passed h3 { color: #7ce8bd; }
.director-quality-report.warning { background: #241f16; border-color: #74603a; }
.director-quality-report.warning h3 { color: #f2cd7e; }
.director-quality-report.blocked { background: #241a1d; border-color: #78424d; }
.director-quality-report.blocked h3 { color: #ff9aaa; }
.director-quality-report.running { background: #1c1930; border-color: #654ca0; }
.director-quality-metrics { display: flex; flex-wrap: wrap; gap: 8px; }
.director-quality-metrics span { padding: 5px 9px; color: #d7ddeb; background: #252b37; border: 1px solid #404959; border-radius: 999px; font-size: 12px; }
.director-quality-report ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.director-quality-report li { display: grid; grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr); gap: 14px; padding: 10px 12px; background: rgb(8 12 18 / 48%); border-radius: 8px; }
.director-quality-report li.is-locatable { cursor: pointer; border: 1px solid transparent; transition: border-color .16s ease, background .16s ease; }
.director-quality-report li.is-locatable:hover,
.director-quality-report li.is-locatable:focus-visible { background: rgb(33 27 47 / 72%); border-color: #6f559c; outline: 0; }
.director-quality-report li b { color: #f1b0ba; font-size: 12px; }
.director-quality-report.warning li b { color: #f2cd7e; }
.director-quality-report li span { display: grid; gap: 5px; color: #b8c0cd; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.director-quality-report li em { color: #d6dce7; font-style: normal; }
.director-quality-report li small { color: #99a5b6; font-size: 12px; }
.director-quality-report .director-quality-locate { color: #bda9f2; }
@keyframes director-storyboard-spin { to { transform: rotate(360deg); } }

.director-video-workbench { display: grid; grid-template-columns: 290px minmax(560px, 1fr) 420px; height: 100%; min-height: 570px; overflow: hidden; }
.director-shot-list, .director-video-generator { min-height: 0; background: #11141b; }
.director-shot-list { display: grid; grid-template-rows: 48px minmax(0, 1fr) 58px; border-right: 1px solid var(--director-border-soft); }
.director-shot-list > header, .director-video-generator > header { display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--director-border-soft); }
.director-shot-list > header b, .director-video-generator > header span { font-size: 13px; }
.director-shot-list > header button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; background: var(--director-panel-3); border: 1px solid var(--director-control-border); border-radius: 7px; }
.director-shot-list > div { overflow: auto; padding: 7px; }
.director-shot-item { display: grid; grid-template-columns: 18px 28px minmax(0, 1fr); align-items: center; gap: 9px; width: 100%; min-height: 66px; padding: 9px 10px; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 8px; }
.director-shot-item:hover { background: #181c24; }
.director-shot-item.active { background: #251d38; border-color: #65499d; }
.director-shot-item > span { color: #c5b2ff; font-size: 12px; }
.director-shot-item > div { display: grid; gap: 3px; min-width: 0; }
.director-shot-item b { overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.director-shot-item small { color: var(--director-subtle); font-size: 12px; }
.director-shot-list > footer { display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-top: 1px solid var(--director-border-soft); }
.director-shot-list > footer span { color: var(--director-subtle); font-size: 12px; }
.director-shot-list > footer button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 11px; background: var(--director-panel-2); border: 1px solid var(--director-control-border); border-radius: 7px; font-size: 12px; }
.director-shot-editor { min-width: 0; overflow: auto; padding: 18px 20px 28px; background: #0f1218; }
.director-shot-editor > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.director-shot-editor > header > div { display: grid; gap: 3px; }
.director-shot-editor > header span { color: #b89fff; font-size: 12px; letter-spacing: .06em; }
.director-shot-editor h2 { margin: 0; font-size: 20px; }
.director-bound-assets { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: #171b23; border: 1px solid var(--director-border-soft); border-radius: 7px; }
.director-bound-assets > div:first-child { display: grid; grid-template-columns: auto auto; align-items: center; gap: 2px 8px; }
.director-bound-assets i { grid-row: 1 / 3; color: #9e82e7; font-size: 21px; }
.director-bound-assets b { font-size: 13px; }
.director-bound-assets span { color: var(--director-subtle); font-size: 12px; }
.director-bound-assets button { color: #b89fff; background: transparent; border: 0; font-size: 12px; }
.director-bound-asset-actions { display: flex; align-items: center; gap: 6px; }
.director-bound-assets .director-match-assets { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 10px; color: #ffd9a0; background: #3b2b16; border: 1px solid #795722; border-radius: 6px; }
.director-bound-assets .director-match-assets i { grid-row: auto; color: inherit; font-size: 14px; }
.director-bound-assets .director-add-asset-inline { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 10px; color: #eee9ff; background: #33245a; border: 1px solid #684da4; border-radius: 6px; }
.director-bound-assets .director-add-asset-inline i { grid-row: auto; color: inherit; font-size: 14px; }
.director-asset-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 12px; }
.director-asset-chips button { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 5px 8px; color: #cbd1db; text-align: left; background: var(--director-panel-3); border: 1px solid var(--director-border); border-radius: 6px; font-size: 12px; }
.director-asset-chips button:hover:not(:disabled) { color: #fff; border-color: #7658b5; background: #242034; }
.director-asset-chips button > span { overflow: hidden; max-width: 190px; text-overflow: ellipsis; white-space: nowrap; }
.director-asset-chips button.ready small { color: var(--director-green); }
.director-asset-chips button.pending { color: #c6a86e; border-color: #584521; }
.director-asset-chips button.pending small { color: var(--director-yellow); }
.director-asset-chips button.missing { color: #ffd2d9; background: #25191d; border-color: #78424d; }
.director-asset-chips button.missing small { color: #ff8fa3; }
.director-asset-chips .director-first-frame-chip { color: #eee9ff; background: #211b32; border-color: #7458ac; }
.director-first-frame-chip img { width: 26px; height: 26px; flex: none; object-fit: cover; border: 1px solid #6e5a98; border-radius: 5px; }
.director-prompt-editor, .director-negative-editor { display: grid; gap: 7px; }
.director-prompt-editor > span, .director-negative-editor > span { display: flex; justify-content: space-between; }
.director-prompt-editor em { color: var(--director-green); font-size: 12px; font-style: normal; font-weight: 520; }
.director-prompt-editor textarea { min-height: 230px; padding: 14px; resize: vertical; font-size: 13px; line-height: 1.75; }
.director-prompt-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.director-prompt-heading > div { display: grid; gap: 2px; }
.director-prompt-heading b { color: #f0f3f8; font-size: 14px; }
.director-prompt-heading small { color: #8e98aa; font-size: 12px; font-weight: 450; }
.director-prompt-format-guide { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 10px; color: #b9c2d0; background: #121720; border: 1px solid #2d3543; border-radius: 8px; font-size: 12px; }
.director-prompt-format-guide > span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.director-prompt-format-guide > span > b { display: grid; width: 20px; height: 20px; place-items: center; color: #dcd0ff; background: #322653; border-radius: 50%; font-size: 12px; }
.director-prompt-format-guide > i { width: 18px; height: 1px; background: #465064; }
.director-prompt-format-guide > small { margin-left: auto; color: #8691a4; }
.director-shot-continuity { overflow: hidden; background: #121720; border: 1px solid #303847; border-radius: 9px; }
.director-shot-continuity summary { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; color: #cdd4df; cursor: pointer; list-style: none; }
.director-shot-continuity summary::-webkit-details-marker { display: none; }
.director-shot-continuity summary > span { display: grid; grid-template-columns: 20px auto; align-items: center; gap: 1px 8px; }
.director-shot-continuity summary > span > i { grid-row: 1 / 3; color: #a78bfa; }
.director-shot-continuity summary b { font-size: 13px; }
.director-shot-continuity summary small { color: #8792a5; font-size: 12px; font-weight: 450; }
.director-shot-continuity summary > i { color: #9c83d8; transition: transform .18s ease; }
.director-shot-continuity[open] summary > i { transform: rotate(180deg); }
.director-shot-continuity > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #2b3340; }
.director-shot-continuity article { min-width: 0; padding: 10px 12px; }
.director-shot-continuity article + article { border-left: 1px solid #2b3340; }
.director-shot-continuity article span { color: #8f9bad; font-size: 12px; }
.director-shot-continuity article p { margin: 5px 0 0; color: #d6dce6; font-size: 12px; line-height: 1.55; }
.director-video-prompt-shell { position: relative; }
.director-video-prompt-content { width: 100%; min-height: 230px; max-height: 430px; overflow-y: auto; padding: 14px; color: var(--director-text); background: var(--director-control); border: 1px solid var(--director-control-border); border-radius: 9px; outline: none; font-size: 14px; line-height: 1.75; white-space: pre-wrap; word-break: break-word; }
.director-video-prompt-content:hover { border-color: #596578; background: #141a24; }
.director-video-prompt-content:focus { border-color: var(--director-focus); background: #141a24; box-shadow: 0 0 0 3px rgb(182 151 255 / 14%); }
.director-video-prompt-content:empty::before { content: attr(data-placeholder); color: #727b8d; pointer-events: none; }
.director-prompt-mention-chip { display: inline-flex; align-items: center; flex: none; gap: 4px; max-width: calc(100% - 8px); margin: 0 2px; padding: 1px 7px; overflow: hidden; color: #eef8ff; background: #255fa8; border: 1px solid #3f83d3; border-radius: 5px; font-weight: 700; line-height: 1.55; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; user-select: all; vertical-align: baseline; }
.director-prompt-mention-chip::after { content: '×'; color: #bcd9fb; font-size: 12px; font-weight: 500; }
.director-prompt-mention-chip.missing { color: #ffe4e8; background: #713341; border-color: #b05267; }
.director-prompt-mention-chip.missing::after { color: #ffbdc8; }
.director-prompt-mention-chip:hover { background: #914557; border-color: #d86b82; }
.director-video-mention-menu { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; right: 0; max-height: 260px; overflow-y: auto; padding: 7px; color: #e9edf5; background: #171c25; border: 1px solid #3a4353; border-radius: 10px; box-shadow: 0 18px 38px rgb(0 0 0 / 42%); }
.director-video-mention-menu[hidden] { display: none; }
.director-video-mention-menu > p { margin: 3px 7px 7px; color: #9099aa; font-size: 12px; }
.director-video-mention-menu > button { display: grid; width: 100%; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 50px; padding: 6px 8px; color: #d9dfe9; background: transparent; border: 1px solid transparent; border-radius: 8px; text-align: left; }
.director-video-mention-menu > button:hover, .director-video-mention-menu > button.active { color: #fff; background: #25203a; border-color: #7153ad; }
.director-video-mention-menu > button.missing { color: #ffd2d9; background: #21171b; border-color: #503039; }
.director-video-mention-menu > button.missing small { color: #ff9cad; }
.director-video-mention-menu img, .director-video-mention-menu > button > i { display: grid; width: 40px; height: 40px; place-items: center; object-fit: cover; color: #b99bff; background: #10141c; border: 1px solid #333c4c; border-radius: 7px; font-size: 19px; }
.director-video-mention-menu > button > span { display: grid; min-width: 0; gap: 2px; }
.director-video-mention-menu strong { overflow: hidden; color: inherit; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.director-video-mention-menu small { color: #9aa4b5; font-size: 12px; }
.director-prompt-constraints { overflow: hidden; margin-top: 2px; background: #121720; border: 1px solid #303847; border-radius: 9px; }
.director-prompt-constraints summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 12px; color: #cdd4df; cursor: pointer; list-style: none; }
.director-prompt-constraints summary::-webkit-details-marker { display: none; }
.director-prompt-constraints summary > span { display: grid; gap: 2px; }
.director-prompt-constraints summary b { font-size: 13px; }
.director-prompt-constraints summary small { color: #8792a5; font-size: 12px; font-weight: 450; }
.director-prompt-constraints summary > i { color: #9c83d8; transition: transform .18s ease; }
.director-prompt-constraints[open] summary > i { transform: rotate(180deg); }
.director-prompt-constraints textarea { display: block; width: 100%; min-height: 170px; max-height: 340px; margin: 0; padding: 12px; resize: vertical; color: #d6dce6; background: #0f141c; border: 0; border-top: 1px solid #2b3340; border-radius: 0; outline: 0; font: inherit; font-size: 13px; line-height: 1.75; }
.director-prompt-constraints textarea:focus { background: #121823; box-shadow: inset 0 0 0 1px #8363c7; }
.director-negative-editor textarea { min-height: 82px; padding: 12px; resize: vertical; font-size: 13px; line-height: 1.6; }
.director-prompt-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 12px; }
.director-prompt-actions button { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 11px; color: #c2c8d3; background: var(--director-panel-2); border: 1px solid var(--director-border); border-radius: 7px; font-size: 12px; }
.director-video-autosave { display: inline-flex; align-items: center; gap: 6px; color: #8994a6; font-size: 12px; }
.director-video-autosave.saving { color: #bea8f1; }
.director-video-autosave.saving > i { animation: director-storyboard-spin .85s linear infinite; }
.director-video-autosave.saved { color: var(--director-green); }
.director-video-autosave.error { color: #f28f9a; }
.director-timing-check { background: #151a20; border: 1px solid #2b5e49; border-radius: 7px; }
.director-timing-check.pending { background: #171b25; border-color: #46536b; }
.director-timing-check.invalid { background: #241b14; border-color: #72542d; }
.director-timing-check > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 10px 12px; }
.director-timing-check > div > i { color: var(--director-green); font-size: 20px; }
.director-timing-check.pending > div > i { color: #9eb2d5; }
.director-timing-check.invalid > div > i { color: var(--director-yellow); }
.director-timing-check span { display: grid; gap: 2px; }
.director-timing-check b { font-size: 12px; }
.director-timing-check small { color: var(--director-subtle); font-size: 12px; }
.director-timing-check em { color: var(--director-green); font-size: 12px; font-style: normal; }
.director-timing-check.pending em { color: #9eb2d5; }
.director-timing-check.invalid em { color: var(--director-yellow); }
.director-timing-check footer { display: flex; justify-content: flex-end; gap: 7px; padding: 0 10px 10px; }
.director-timing-check footer button { min-height: 34px; padding: 0 11px; color: #f0cb87; background: #302418; border: 1px solid #76582d; border-radius: 6px; font-size: 12px; }
.director-blocking-note { display: flex; align-items: center; gap: 8px; margin-top: 9px; padding: 10px 11px; color: #edc985; background: #2b2116; border: 1px solid #6b512f; border-radius: 7px; font-size: 12px; line-height: 1.55; }
.director-system-reference-note { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 11px; color: #bcd2ff; background: #172035; border: 1px solid #30456f; border-radius: 7px; font-size: 12px; line-height: 1.6; }
.director-system-reference-note i { flex: 0 0 auto; margin-top: 2px; color: #8eb1ff; font-size: 16px; }

.director-video-generator { display: grid; grid-template-rows: 48px auto auto auto auto auto minmax(0, 1fr); border-left: 1px solid var(--director-border-soft); overflow: hidden; }
.director-video-generator > header b { color: #b49bea; font-size: 12px; }
.director-generator-model-note { display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; color: #bcb5cc; background: #151523; border-bottom: 1px solid var(--director-border-soft); font-size: 12px; line-height: 1.5; }
.director-generator-model-note i { color: #a98aff; margin-top: 1px; }
.director-generator-model-note b { color: #e1d5ff; }
.director-generator-parameters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--director-border-soft); }
.director-generator-parameters.asset { grid-template-columns: repeat(3, minmax(130px, 1fr)); padding: 0; border: 0; }
.director-generator-parameters label { display: grid; gap: 5px; min-width: 0; }
.director-generator-parameters label:first-child { grid-column: 1 / -1; }
.director-generator-parameters.asset label:first-child { grid-column: auto; }
.director-generator-parameters select, .director-generator-parameters input { height: 42px; padding: 0 11px; color: var(--director-text); background: var(--director-control); border-color: var(--director-control-border); font-size: 13px; font-weight: 560; color-scheme: dark; }
.director-seedance-review { display: grid; gap: 9px; padding: 11px 14px; border-bottom: 1px solid var(--director-border-soft); background: #121720; }
.director-seedance-review > header { display: flex; align-items: center; justify-content: space-between; }
.director-seedance-review > header span { color: #e2e6ed; font-size: 13px; font-weight: 650; }
.director-seedance-review > header em { color: #c4adff; font-size: 12px; font-style: normal; }
.director-seedance-route-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.director-seedance-route-options > button { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px; min-height: 52px; padding: 7px 9px; color: #bac2cf; text-align: left; background: #171c25; border: 1px solid #343d4d; border-radius: 7px; }
.director-seedance-route-options > button:hover { border-color: #7253b4; background: #201b2e; }
.director-seedance-route-options > button.active { color: #fff; border-color: #8862d9; background: #281f3b; box-shadow: 0 0 0 1px rgb(136 98 217 / 22%); }
.director-seedance-route-options i { color: #a98aff; font-size: 18px; }
.director-seedance-route-options span { display: grid; gap: 2px; min-width: 0; }
.director-seedance-route-options b { font-size: 13px; }
.director-seedance-route-options small { overflow: hidden; color: #9aa5b6; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.director-seedance-review-result { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 8px 9px; color: #c1c8d3; background: #171c25; border: 1px solid #343d4d; border-radius: 7px; }
.director-seedance-review-result.ready { color: #d4f5e7; background: #12251e; border-color: #286447; }
.director-seedance-review-result.failed { color: #ffd2d8; background: #2a171c; border-color: #75404a; }
.director-seedance-review-result > i { color: #a98aff; font-size: 18px; }
.director-seedance-review-result.ready > i { color: var(--director-green); }
.director-seedance-review-result.failed > i { color: #ff8292; }
.director-seedance-review-result > span { display: grid; gap: 2px; min-width: 0; }
.director-seedance-review-result b { font-size: 12px; }
.director-seedance-review-result small { color: #9aa5b6; font-size: 12px; line-height: 1.4; }
.director-seedance-review-result button { min-height: 32px; padding: 0 9px; color: #f1eaff; background: #6544ad; border: 1px solid #8a6bc9; border-radius: 6px; font-size: 12px; white-space: nowrap; }
.director-price { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 11px 14px; background: #171922; border-bottom: 1px solid var(--director-border-soft); }
.director-price span { color: var(--director-muted); font-size: 12px; }
.director-price b { color: #e2d7ff; font-size: 15px; }
.director-price small { grid-column: 1 / -1; color: var(--director-subtle); font-size: 12px; line-height: 1.5; }
.director-generate-button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; min-height: 52px; margin: 12px 14px; padding: 0 15px; color: white; text-align: left; background: linear-gradient(135deg, var(--director-purple), var(--director-purple-2)); border: 1px solid #b195ff; border-radius: 8px; }
.director-generate-button span { font-size: 14px; font-weight: 680; }
.director-generate-button b { font-size: 12px; font-weight: 570; }
.director-generate-button[data-generation-pending]:disabled,
.director-candidate footer button[aria-busy="true"]:disabled { cursor: wait; opacity: 1; }
.director-generate-button[data-generation-pending] .ti-loader-2,
.director-candidate footer button[aria-busy="true"] .ti-loader-2 { animation: director-storyboard-spin .8s linear infinite; }
.director-candidate-list, .director-asset-candidates > div { min-height: 0; overflow: auto; padding: 0 12px 14px; }
.director-candidate { margin-bottom: 9px; background: #161a22; border: 1px solid #2e3542; border-radius: 8px; overflow: hidden; }
.director-candidate.selected { border-color: #7954c2; box-shadow: 0 0 0 1px rgb(121 84 194 / 35%); }
.director-candidate > div { position: relative; min-height: 96px; background: #0b0e13; }
.director-candidate img, .director-candidate video { display: block; width: 100%; max-height: 210px; object-fit: contain; background: #090b0f; }
.director-previewable-image { cursor: zoom-in; }
.director-previewable-image:focus-visible { outline: 3px solid #7774ee; outline-offset: -3px; }
.director-candidate > div > span { position: absolute; bottom: 7px; left: 8px; padding: 4px 7px; color: #eef0f5; background: rgb(8 10 14 / 86%); border-radius: 5px; font-size: 12px; }
.director-candidate > div > b { position: absolute; top: 7px; right: 7px; padding: 4px 7px; color: white; background: #7651c6; border-radius: 5px; font-size: 12px; }
.director-candidate footer { display: flex; justify-content: flex-end; gap: 4px; padding: 6px; }
.director-candidate footer button { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 0 10px; color: #c4cad4; background: transparent; border: 0; border-radius: 6px; font-size: 12px; }
.director-candidate footer button:hover { color: white; background: var(--director-control-hover); }
.director-candidate footer button.primary { color: white; background: #6944bd; }
.director-candidate footer span { margin-right: auto; color: #f08e9b; font-size: 12px; }
.director-candidate-loading { display: grid; place-items: center; align-content: center; min-height: 110px; color: var(--director-muted); font-size: 12px; }
.director-candidate-audio { display: flex; align-items: center; gap: 10px; min-height: 90px; padding: 15px; }
.director-candidate-audio i { color: #a98aff; font-size: 26px; }
.director-candidate-audio audio { width: 100%; height: 34px; }
.director-candidate footer button.danger { color: #ff9aa6; }
.director-candidate footer button.danger:hover { color: #ffd4d9; background: #3a2027; border-color: #71404a; }

@media (prefers-reduced-motion: reduce) {
  .director-generate-button[data-generation-pending] .ti-loader-2,
  .director-candidate footer button[aria-busy="true"] .ti-loader-2 { animation: none; }
}

.director-image-preview-dialog { width: min(94vw, 1600px); max-width: none; height: min(92vh, 1080px); max-height: none; padding: 0; overflow: hidden; background: transparent; border: 0; border-radius: 14px; box-shadow: 0 28px 90px rgb(8 15 30 / 38%); }
.director-image-preview-dialog::backdrop { background: rgb(9 15 28 / 76%); }
.director-image-preview-shell { display: grid; grid-template-rows: 58px minmax(0, 1fr); width: 100%; height: 100%; overflow: hidden; background: #fff; border: 1px solid rgb(219 226 237 / 88%); border-radius: inherit; }
.director-image-preview-shell > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 16px 0 20px; color: #202b3c; background: #fff; border-bottom: 1px solid #e3e8ef; }
.director-image-preview-shell > header h2 { margin: 0; overflow: hidden; font-size: 15px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.director-image-preview-shell > header button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: #5c6879; background: #f3f6fa; border: 1px solid #e0e6ee; border-radius: 8px; }
.director-image-preview-shell > header button:hover { color: #253247; background: #e9eef5; }
.director-image-preview-canvas { display: grid; place-items: center; min-height: 0; padding: 18px; overflow: auto; background: #0b0f16; }
.director-image-preview-canvas img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }

.director-asset-generator-page { display: grid; grid-template-columns: minmax(360px, .88fr) minmax(560px, 1.22fr) 400px; min-height: 0; overflow: hidden; }
.director-asset-stage, .director-asset-composer, .director-asset-candidates { min-height: 0; overflow: auto; }
.director-asset-stage { padding: 22px; background: #11141b; border-right: 1px solid var(--director-border-soft); }
.director-asset-stage > header { display: grid; gap: 5px; margin-bottom: 14px; }
.director-asset-stage h2 { margin: 0; font-size: 20px; }
.director-asset-stage p { margin: 0; color: var(--director-subtle); font-size: 12px; }
.director-main-preview { display: grid; place-items: center; min-height: 390px; overflow: hidden; background: #0b0e13; border: 1px solid var(--director-border); border-radius: 10px; }
.director-main-preview > img, .director-main-preview > video { width: 100%; max-height: 520px; object-fit: contain; }
.director-main-preview .director-asset-empty { width: 100%; min-height: 390px; }
.director-confirmed-label { margin-top: 10px; color: var(--director-green); font-size: 12px; text-align: center; }
.director-asset-composer { display: grid; align-content: start; gap: 12px; padding: 22px; background: #0f1218; }
.director-asset-composer .director-prompt-editor textarea { min-height: 185px; }
.director-voice-binding { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: #a8e9d0; background: #152a22; border: 1px solid #2e624d; border-radius: 7px; }
.director-voice-binding span { display: grid; gap: 2px; }
.director-voice-binding b { font-size: 12px; }
.director-voice-binding small { color: #8bd1b6; font-size: 12px; }
.director-reference-box { background: #151922; border: 1px solid var(--director-border-soft); border-radius: 8px; }
.director-reference-box > header { display: flex; align-items: center; justify-content: space-between; padding: 9px 10px; border-bottom: 1px solid var(--director-border-soft); }
.director-reference-box > header > div:first-child { display: grid; gap: 2px; }
.director-reference-box > header span { font-size: 12px; font-weight: 650; }
.director-reference-box > header small { color: var(--director-subtle); font-size: 12px; }
.director-reference-box > header > div:last-child { display: flex; gap: 5px; }
.director-reference-box > header button { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 10px; color: #c4cad5; background: var(--director-panel-3); border: 1px solid var(--director-control-border); border-radius: 6px; font-size: 12px; }
.director-reference-box > div { display: flex; flex-wrap: wrap; gap: 5px; min-height: 42px; padding: 8px; }
.director-reference-box > div > span { display: inline-flex; align-items: center; gap: 5px; max-width: 240px; padding: 6px 8px; color: #cbd1dc; background: var(--director-control); border: 1px solid var(--director-border); border-radius: 6px; font-size: 12px; }
.director-reference-box > div b { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.director-reference-box > div button { display: grid; place-items: center; padding: 0; color: #737b8c; background: transparent; border: 0; }
.director-reference-box > div p { margin: auto 2px; color: var(--director-subtle); font-size: 12px; }
.director-asset-composer > .director-generate-button { width: 100%; margin: 0; }
.director-asset-candidates { display: grid; grid-template-rows: 48px minmax(0, 1fr); background: #11141b; border-left: 1px solid var(--director-border-soft); }
.director-asset-candidates > header { display: flex; align-items: center; justify-content: space-between; padding: 0 14px; border-bottom: 1px solid var(--director-border-soft); }
.director-asset-candidates > header span { font-size: 13px; }
.director-asset-candidates > header b { color: #b49bea; font-size: 12px; }
.director-asset-candidates > div { padding-top: 12px; }

.director-asset-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 9px;
  min-height: 120px;
  color: #7f899c;
  background: #0e1117;
  border-radius: 8px;
}
.director-asset-state-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: #7f899c;
  border: 1px solid transparent;
  border-radius: 10px;
}
.director-asset-state-icon > i:first-child { font-size: 25px; }
.director-asset-state-label { font-size: 12px; font-weight: 560; }
.director-asset-empty.is-generating { color: #c6b6f5; background: #11101a; }
.director-asset-empty.is-generating .director-asset-state-icon {
  color: #b499ff;
  background: rgb(132 86 237 / 12%);
  border-color: rgb(182 151 255 / 28%);
}
.director-asset-empty.is-generating .director-asset-state-icon > i:first-child { animation: director-asset-state-spin .9s linear infinite; }
.director-asset-empty.is-selecting { color: #f0cb83; background: #12110e; }
.director-asset-empty.is-selecting .director-asset-state-icon {
  color: #f0c574;
  background: rgb(240 197 116 / 10%);
  border-color: rgb(240 197 116 / 28%);
}
.director-asset-state-badge {
  position: absolute;
  right: -4px;
  bottom: -3px;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: #17130b;
  background: #f0c574;
  border: 2px solid #12110e;
  border-radius: 50%;
  font-size: 12px !important;
  font-weight: 800;
}
.director-asset-empty.is-failed { color: #ff929f; background: #151013; }
.director-asset-empty.is-failed .director-asset-state-icon { color: var(--director-red); background: rgb(255 123 139 / 9%); }
.director-asset-state-text { color: #929bad !important; font-style: normal; }
.director-asset-state-text.is-generating { color: #bca7f5 !important; }
.director-asset-state-text.is-selecting { color: #f0c574 !important; }
.director-asset-state-text.is-confirmed { color: var(--director-green) !important; }
.director-asset-state-text.is-failed { color: var(--director-red) !important; }
@keyframes director-asset-state-spin { to { transform: rotate(360deg); } }
.director-asset-empty.compact { min-height: 100px; }
.director-audio-preview { display: flex; align-items: center; gap: 12px; width: 100%; padding: 18px; }
.director-audio-preview i { color: #a98aff; font-size: 32px; }
.director-audio-preview audio { width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .director-asset-empty.is-generating .director-asset-state-icon > i:first-child { animation: none; }
}

.director-picker-dialog { width: min(880px, calc(100vw - 80px)); max-height: 720px; padding: 0; color: var(--director-text); background: #12151c; border: 1px solid #343a48; border-radius: 12px; box-shadow: 0 28px 80px rgb(0 0 0 / 45%); }
.director-picker-dialog::backdrop { background: rgb(4 6 10 / 72%); backdrop-filter: blur(4px); }
.director-picker-dialog > header { display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; border-bottom: 1px solid var(--director-border-soft); }
.director-picker-dialog > header > div { display: grid; gap: 3px; }
.director-picker-dialog > header span { color: #b89fff; font-size: 12px; letter-spacing: .06em; }
.director-picker-dialog h2 { margin: 0; font-size: 18px; }
.director-picker-dialog > header button { display: grid; place-items: center; width: 30px; height: 30px; background: #1b1f28; border: 1px solid #343a48; border-radius: 6px; }
.director-asset-batch-dialog { width: min(720px, calc(100vw - 72px)); max-height: min(860px, calc(100vh - 48px)); overflow: hidden; }
.director-asset-batch-body { display: grid; gap: 13px; max-height: calc(100vh - 190px); padding: 16px 18px; overflow: auto; }
.director-asset-batch-body > section { padding: 13px 14px; border: 1px solid var(--director-border-soft); border-radius: 8px; background: #10131a; }
.director-asset-batch-body h3 { margin: 0 0 10px; font-size: 13px; }
.director-asset-batch-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 0; padding: 0; list-style: none; }
.director-asset-batch-counts li { display: flex; justify-content: space-between; gap: 12px; color: #b8bfcb; font-size: 12px; }
.director-asset-batch-counts li b { color: #eee9fb; }
.director-asset-batch-model { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 50px; padding: 8px 0; }
.director-asset-batch-model + .director-asset-batch-model { border-top: 1px solid var(--director-border-soft); }
.director-asset-batch-model > span { display: grid; gap: 3px; }
.director-asset-batch-model > span b { font-size: 13px; }
.director-asset-batch-model > span small { color: var(--director-muted); font-size: 12px; }
.director-asset-batch-model select { min-width: 260px; padding: 8px 32px 8px 10px; color: var(--director-text); background: #191d26; border: 1px solid #383e4d; border-radius: 6px; }
.director-asset-batch-model.locked strong { color: #d7c8ff; font-size: 12px; font-weight: 700; }
.director-asset-batch-sequence ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.director-asset-batch-sequence li { display: flex; align-items: center; gap: 9px; color: #c7ced9; font-size: 12px; }
.director-asset-batch-sequence li b { display: grid; place-items: center; width: 20px; height: 20px; color: #d7c8ff; background: #29203d; border-radius: 999px; }
.director-asset-batch-sequence > p { display: flex; align-items: flex-start; gap: 7px; margin: 11px 0 0; padding-top: 10px; color: #8f98a8; font-size: 12px; border-top: 1px solid var(--director-border-soft); }
.director-asset-batch-total { display: grid; grid-template-columns: 1fr auto; gap: 3px 16px; padding: 14px; border: 1px solid #5f43a5; border-radius: 8px; background: #21182f; }
.director-asset-batch-total span { color: #bba9e8; font-size: 12px; }
.director-asset-batch-total b { color: #f0e9ff; font-size: 19px; }
.director-asset-batch-total small { grid-column: 1 / -1; color: #9f95b4; font-size: 12px; }
.director-asset-batch-quote-state { display: flex; align-items: center; gap: 8px; padding: 14px; color: #d9cff2; background: #191523; border-radius: 8px; }
.director-asset-batch-quote-state small { margin-left: auto; color: var(--director-muted); font-size: 12px; }
.director-asset-batch-quote-error { display: flex; align-items: center; gap: 9px; padding: 12px; color: #f0a5ab; background: #30191d; border: 1px solid #643038; border-radius: 8px; font-size: 12px; }
.director-asset-batch-quote-error span { flex: 1; }
.director-asset-batch-quote-error button { padding: 6px 9px; color: #ffd4d7; background: transparent; border: 1px solid #7b3b44; border-radius: 5px; }
.director-asset-batch-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 13px 18px; border-top: 1px solid var(--director-border-soft); }
.director-picker-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 9px; max-height: 600px; padding: 14px; overflow: auto; }
.director-picker-grid > button { display: grid; grid-template-rows: 130px auto; padding: 0; text-align: left; background: #171a22; border: 1px solid #2e3440; border-radius: 8px; overflow: hidden; }
.director-picker-grid img, .director-picker-grid .director-asset-empty { width: 100%; height: 130px; object-fit: cover; border-radius: 0; }
.director-picker-grid > button > span { padding: 10px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.director-asset-create-dialog { width: min(860px, calc(100vw - 72px)); max-height: min(880px, calc(100vh - 48px)); overflow: hidden; }
.director-asset-create-dialog.library { width: min(1040px, calc(100vw - 72px)); }
.director-asset-create-dialog.generator { width: min(1520px, calc(100vw - 48px)); max-height: calc(100vh - 36px); }
.director-asset-create-dialog > header > div:last-child { display: flex; align-items: center; gap: 8px; }
.director-asset-create-dialog > header button.director-modal-upload { display: inline-flex; width: auto; min-width: 108px; height: 34px; padding: 0 11px; gap: 6px; color: #e8e2f8; }
.director-asset-create-body { display: grid; gap: 20px; max-height: calc(100vh - 140px); padding: 24px; overflow: auto; }
.director-asset-create-heading { display: grid; gap: 6px; }
.director-asset-create-heading > span { color: #b89fff; font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.director-asset-create-heading h2 { margin: 0; color: #f1f3f7; font-size: 24px; }
.director-asset-create-heading p { margin: 0; color: #9ca6b7; font-size: 14px; line-height: 1.7; }
.director-asset-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.director-asset-type-grid > button { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 86px; padding: 15px; color: #e5e8ef; text-align: left; background: #171b24; border: 1px solid #303746; border-radius: 10px; }
.director-asset-type-grid > button:hover { background: #211c32; border-color: #7053ac; transform: translateY(-1px); }
.director-asset-type-grid > button > i:first-child { display: grid; width: 44px; height: 44px; place-items: center; color: #c5b0ff; background: #2d2345; border-radius: 9px; font-size: 22px; }
.director-asset-type-grid > button > i:last-child { color: #7e8798; }
.director-asset-type-grid span { display: grid; gap: 5px; }
.director-asset-type-grid b { font-size: 16px; }
.director-asset-type-grid small { color: #949eaf; font-size: 12px; }
.director-asset-library-step { gap: 14px; }
.director-asset-library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.director-asset-library-toolbar nav { display: flex; flex-wrap: wrap; gap: 6px; }
.director-asset-library-toolbar nav button { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 11px; color: #aeb7c6; background: #151a22; border: 1px solid #303846; border-radius: 7px; }
.director-asset-library-toolbar nav button.active { color: #f2edff; background: #302348; border-color: #7759b4; }
.director-asset-library-toolbar nav button b { min-width: 19px; padding: 1px 5px; color: #cbbaff; background: #25202f; border-radius: 10px; font-size: 12px; text-align: center; }
.director-asset-library-toolbar > button { display: inline-flex; align-items: center; flex: none; gap: 6px; min-height: 40px; padding: 0 13px; border-radius: 8px; }
.director-asset-library-choice-list { display: grid; gap: 8px; max-height: min(510px, calc(100vh - 330px)); overflow: auto; padding-right: 3px; }
.director-asset-library-choice { display: grid; grid-template-columns: 220px minmax(0, 1fr) 128px; align-items: center; gap: 13px; min-height: 112px; padding: 9px; background: #151a22; border: 1px solid #303846; border-radius: 9px; }
.director-asset-library-choice.linked { background: #17251f; border-color: #315a48; }
.director-asset-library-choice.continuity { background: #1b1728; border-color: #624b91; }
.director-asset-library-choice.continuity.linked { background: #17251f; border-color: #3b8062; }
.director-asset-library-choice-preview { width: 220px; height: 94px; overflow: hidden; background: #0d1117; border-radius: 7px; }
.director-asset-library-choice.continuity .director-asset-library-choice-preview { display: grid; place-items: center; color: #bba7ed; font-size: 30px; }
.director-asset-library-choice-preview > img, .director-asset-library-choice-preview > video, .director-asset-library-choice-preview .director-asset-empty { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 7px; }
.director-asset-library-choice-preview .director-audio-preview { height: 100%; padding: 10px; }
.director-asset-library-choice-preview .director-audio-preview i { font-size: 22px; }
.director-asset-library-choice-preview audio { min-width: 0; width: 100%; }
.director-asset-library-choice-copy { display: grid; gap: 4px; min-width: 0; }
.director-asset-library-choice-copy small { color: #9f86e2; font-size: 12px; }
.director-asset-library-choice-copy b { overflow: hidden; color: #eef1f6; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.director-asset-library-choice-copy span { color: #c5a971; font-size: 12px; }
.director-asset-library-choice-copy span.ready { color: var(--director-green); }
.director-asset-library-choice > button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; color: #eee9ff; background: #39275a; border: 1px solid #7352ad; border-radius: 7px; }
.director-asset-library-choice > button:disabled { color: #83cdae; background: #183127; border-color: #32634e; opacity: 1; }
.director-asset-library-step > footer > span { color: #8f99aa; font-size: 12px; }
.director-asset-create-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.director-asset-create-form label { display: grid; gap: 7px; min-width: 0; }
.director-asset-create-form label.wide { grid-column: 1 / -1; }
.director-asset-create-form label > span { color: #dce1e9; font-size: 13px; font-weight: 680; }
.director-asset-create-form input, .director-asset-create-form select, .director-asset-create-form textarea { width: 100%; color: #f2f4f8; background: #11161e; border: 1px solid #3a4557; border-radius: 8px; outline: 0; font-size: 14px; }
.director-asset-create-form input, .director-asset-create-form select { height: 46px; padding: 0 13px; color-scheme: dark; }
.director-asset-create-form textarea { min-height: 112px; padding: 12px 13px; resize: vertical; line-height: 1.7; }
.director-asset-create-form input:hover, .director-asset-create-form select:hover, .director-asset-create-form textarea:hover { border-color: #59667a; background: #141a24; }
.director-asset-create-form input:focus, .director-asset-create-form select:focus, .director-asset-create-form textarea:focus { border-color: #a985ff; box-shadow: 0 0 0 3px rgb(169 133 255 / 14%); }
.director-asset-create-body > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 16px; border-top: 1px solid #2a303c; }
.director-asset-create-body > footer button { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 15px; border-radius: 8px; }
.director-voice-paths { display: grid; gap: 14px; }
.director-voice-paths > button { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 90px; padding: 16px; color: #ebedf3; text-align: left; background: #231c36; border: 1px solid #7355ae; border-radius: 10px; }
.director-voice-paths > button > i:first-child { color: #c7b0ff; font-size: 27px; }
.director-voice-paths > button span, .director-voice-paths > div > header { display: grid; gap: 5px; }
.director-voice-paths > button small, .director-voice-paths > div > header small { color: #9ba5b6; }
.director-voice-paths > div { display: grid; gap: 9px; padding: 14px; background: #151922; border: 1px solid #303746; border-radius: 10px; }
.director-voice-paths > div > header { grid-template-columns: 1fr auto; align-items: center; }
.director-voice-master-list { display: grid; gap: 7px; max-height: 330px; overflow: auto; }
.director-voice-master-list > button { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 64px; padding: 6px 10px; color: #e0e4eb; text-align: left; background: #10141b; border: 1px solid #2b3341; border-radius: 8px; }
.director-voice-master-list .director-audio-preview, .director-voice-master-list .director-asset-empty { width: 52px; min-height: 52px; height: 52px; padding: 0; border-radius: 7px; }
.director-voice-master-list audio, .director-voice-master-list .director-audio-preview i + audio { display: none; }
.director-voice-master-list > button > span { display: grid; gap: 4px; min-width: 0; }
.director-voice-master-list small { color: #72dcb5; }
.director-selected-voice { display: flex; align-items: center; gap: 12px; padding: 13px 15px; color: #d9f5e9; background: #143126; border: 1px solid #317358; border-radius: 9px; }
.director-selected-voice > i { color: #62dfaf; font-size: 22px; }
.director-selected-voice > span { display: grid; gap: 3px; }
.director-selected-voice small { color: #8fd7bd; }
.director-asset-create-generator-note { display: flex; align-items: center; gap: 8px; padding: 10px 16px; color: #d9d1ee; background: #211a32; border-bottom: 1px solid #44365e; font-size: 13px; }
.director-asset-create-dialog.generator .director-asset-generator-page { height: min(760px, calc(100vh - 132px)); }
.director-asset-create-dialog.generator .director-asset-stage, .director-asset-create-dialog.generator .director-asset-composer, .director-asset-create-dialog.generator .director-asset-candidates { max-height: 100%; }
.director-asset-hover-card { position: fixed; z-index: 10020; display: grid; width: 286px; overflow: hidden; color: #edf1f7; background: #151a22; border: 1px solid #4b5669; border-radius: 10px; box-shadow: 0 18px 48px rgb(0 0 0 / 55%); }
.director-asset-hover-card > header { display: grid; gap: 2px; padding: 9px 11px; border-bottom: 1px solid #303846; }
.director-asset-hover-card > header span { overflow: hidden; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.director-asset-hover-card > header small { color: #9ba5b6; font-size: 12px; }
.director-asset-hover-card > div { min-height: 150px; background: #0d1117; }
.director-asset-hover-card img, .director-asset-hover-card video { display: block; width: 100%; max-height: 220px; object-fit: contain; }
.director-asset-hover-card.audio > div { display: grid; min-height: 82px; padding: 14px; place-items: center; }
.director-asset-hover-card audio { width: 100%; }
.director-bible-dialog { width: min(960px, calc(100vw - 80px)); max-height: min(820px, calc(100vh - 80px)); }
.director-bible-dialog-body { display: grid; gap: 14px; max-height: calc(100vh - 170px); padding: 18px; overflow: auto; }
.director-intake-review-dialog { width: min(1440px, calc(100vw - 64px)); max-height: min(900px, calc(100vh - 48px)); }
.director-intake-review-body { display: grid; gap: 14px; max-height: calc(100vh - 190px); padding: 18px; overflow: auto; }
.director-intake-review-note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; color: #c8d8d0; background: rgb(66 155 112 / 10%); border: 1px solid rgb(73 177 126 / 28%); border-radius: 8px; }
.director-intake-review-note.adaptation { color: #e5d4ae; background: rgb(183 132 56 / 10%); border-color: rgb(208 151 68 / 30%); }
.director-intake-review-note > i { margin-top: 2px; font-size: 20px; }
.director-intake-review-note div { display: grid; gap: 3px; }
.director-intake-review-note p { margin: 0; color: #a9a4b3; font-size: 12px; line-height: 1.55; }
.director-intake-change-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.director-intake-change-summary section { padding: 10px 12px; background: #171a22; border: 1px solid #2b303c; border-radius: 8px; }
.director-intake-change-summary ul { margin: 7px 0 0; padding-left: 18px; color: #aba6b5; font-size: 12px; line-height: 1.6; }
.director-intake-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-height: 440px; }
.director-intake-compare label { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 7px; min-width: 0; }
.director-intake-compare label > span { color: #b8b2c4; font-size: 12px; font-weight: 700; }
.director-intake-compare textarea { width: 100%; min-height: 440px; padding: 14px; resize: vertical; color: #e4e1ea; background: #0d1016; border: 1px solid #303541; border-radius: 8px; font: 13px/1.75 "Microsoft YaHei", sans-serif; }
.director-intake-compare textarea[readonly] { color: #96919e; background: #101218; }
.director-intake-review-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; border-top: 1px solid var(--director-border-soft); }
.director-intake-review-footer > span { color: #96909f; font-size: 12px; }
.director-intake-review-footer > div { display: flex; gap: 8px; }
.director-bible-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.director-bible-detail-block { padding: 16px; background: #171b24; border: 1px solid #303745; border-radius: 9px; }
.director-bible-detail-block.applied { background: #18271f; border-color: #326048; }
.director-bible-detail-block h3 { margin: 0 0 9px; color: #eef0f5; font-size: 14px; }
.director-bible-detail-block p { margin: 0; color: #c7ccd6; font-size: 14px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.director-bible-detail-block ul { display: grid; gap: 7px; margin: 0; padding-left: 20px; color: #c7ccd6; font-size: 14px; line-height: 1.7; }
.director-bible-character-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.director-bible-character-list article { padding: 16px; background: #171b24; border: 1px solid #303745; border-radius: 9px; }
.director-bible-character-list h3 { margin: 0 0 10px; font-size: 15px; }
.director-bible-character-list dl { display: grid; gap: 8px; margin: 0; }
.director-bible-character-list dl > div { display: grid; grid-template-columns: 88px 1fr; gap: 10px; }
.director-bible-character-list dt { color: #929daf; }
.director-bible-character-list dd { margin: 0; color: #cbd0da; line-height: 1.65; }
.director-bible-empty { margin: 0; color: #929daf; }
.director-episode-create-form textarea[name="episodeText"] { min-height: 460px; font-size: 15px; line-height: 1.85; }

@media (max-width: 1500px) {
  .director-project-grid { grid-template-columns: repeat(3, minmax(230px, 1fr)); }
  .director-episode-grid { grid-template-columns: repeat(4, minmax(190px, 1fr)); }
  .director-video-workbench { grid-template-columns: 250px minmax(500px, 1fr) 380px; }
  .director-asset-generator-page { grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr) 360px; }
  .director-character-library { grid-template-columns: repeat(2, minmax(320px, 1fr)); }
}

.workspace:has(#director-workspace:not(.director-home-mode):not([hidden])) {
  background-color: #f1f3f6;
}

.director-workspace:not(.director-home-mode) {
  color: var(--director-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.director-workspace:not(.director-home-mode) .director-shell {
  background: transparent;
}

.director-workspace:not(.director-home-mode) .director-shell-header {
  color: var(--director-text);
  background: #f1f3f6;
  border-bottom-color: #dce3ec;
  box-shadow: none;
}

.director-workspace:not(.director-home-mode) .director-shell-breadcrumb > button {
  color: #49576b;
}

.director-workspace:not(.director-home-mode) .director-shell-breadcrumb > button:hover {
  color: #2557d6;
}

.director-workspace:not(.director-home-mode) .director-shell-breadcrumb > span {
  background: #d9e0ea;
}

.director-workspace:not(.director-home-mode) .director-brand,
.director-workspace:not(.director-home-mode) .director-page-heading span,
.director-workspace:not(.director-home-mode) .director-form-heading > span,
.director-workspace:not(.director-home-mode) .director-asset-stage > header > span,
.director-workspace:not(.director-home-mode) .director-asset-intro > div > span,
.director-workspace:not(.director-home-mode) .director-shot-editor > header span,
.director-workspace:not(.director-home-mode) .director-shot-count > div span,
.director-workspace:not(.director-home-mode) .director-asset-create-heading > span,
.director-picker-dialog > header span {
  color: #5a54dc;
}

.director-workspace:not(.director-home-mode) :is(.director-secondary, .director-icon-button, .director-shell-actions button, .director-step-footer button),
.director-picker-dialog :is(.director-secondary, .director-icon-button) {
  color: #344257;
  background: rgb(255 255 255 / 82%);
  border-color: #d4dce7;
  box-shadow: 0 4px 12px rgb(49 67 94 / 5%);
}

.director-workspace:not(.director-home-mode) :is(.director-secondary, .director-icon-button, .director-shell-actions button, .director-step-footer button):hover,
.director-picker-dialog :is(.director-secondary, .director-icon-button):hover {
  color: #244fae;
  background: #f6f8fc;
  border-color: #b9c6d8;
}

.director-workspace:not(.director-home-mode) .director-primary,
.director-picker-dialog .director-primary,
.director-workspace:not(.director-home-mode) .director-generate-button {
  color: #fff !important;
  background: linear-gradient(135deg, #6260ed, #4b43d4) !important;
  border-color: #7774ee !important;
  box-shadow: 0 10px 24px rgb(74 68 207 / 18%);
}

.director-workspace:not(.director-home-mode) input::placeholder,
.director-workspace:not(.director-home-mode) textarea::placeholder {
  color: #68778c;
}

.director-workspace:not(.director-home-mode) select,
.director-workspace:not(.director-home-mode) input,
.director-workspace:not(.director-home-mode) textarea,
.director-picker-dialog select,
.director-picker-dialog input,
.director-picker-dialog textarea {
  color-scheme: light;
}

.director-workspace:not(.director-home-mode) select option,
.director-picker-dialog select option {
  color: var(--director-text);
  background: #fff;
}

.director-workspace:not(.director-home-mode) select option:checked,
.director-picker-dialog select option:checked {
  color: #fff;
  background: #5b57e8;
}

.director-workspace:not(.director-home-mode) select:disabled {
  color: #7b8798;
  background: #eef2f7;
  border-color: #d7dee8;
}

.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger,
.director-picker-dialog .director-lineai-select .lineai-select-trigger {
  color: #263246;
  background: #fff;
  border-color: #cbd5e3;
}

.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger:hover,
.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger.open,
.director-picker-dialog .director-lineai-select .lineai-select-trigger:hover,
.director-picker-dialog .director-lineai-select .lineai-select-trigger.open {
  color: #253653;
  background: #f7f9fc;
  border-color: #aebbd0;
}

.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger:focus-visible,
.director-picker-dialog .director-lineai-select .lineai-select-trigger:focus-visible {
  color: #253653;
  background: #fff;
  border-color: #5b57e8;
  box-shadow: 0 0 0 3px rgb(91 87 232 / 13%);
}

.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger:disabled {
  color: #7d8999;
  background: #eef2f7;
  border-color: #d7dee8;
}

.director-workspace:not(.director-home-mode) .director-lineai-select .lineai-select-trigger > .ti {
  color: #778499;
}

.director-lineai-select-menu.setting-popover {
  color: #263246;
  background: #fff;
  border-color: #d3dbe7;
  box-shadow: 0 18px 46px rgb(45 59 84 / 16%);
  color-scheme: light;
}

.director-lineai-select-menu .lineai-select-option {
  color: #344257;
}

.director-lineai-select-menu .lineai-select-option:hover,
.director-lineai-select-menu .lineai-select-option:focus-visible {
  color: #253653;
  background: #f2f5fa;
}

.director-lineai-select-menu .lineai-select-option.selected {
  color: #4942c8;
  background: #eeedff;
}

.director-lineai-select-menu .lineai-select-option small {
  color: #6f7d90;
}

.director-lineai-select-menu .lineai-select-option.selected .menu-check {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-toast {
  color: #9d2e43;
  background: #fff2f4;
  border-color: #efc4cc;
  box-shadow: var(--director-shadow-md);
}

.director-workspace:not(.director-home-mode) .director-toast.info {
  color: #5149c5;
  background: #f1efff;
  border-color: #d5d0ff;
}

.director-workspace:not(.director-home-mode) .director-toast.success {
  color: #176947;
  background: #edf9f3;
  border-color: #bfe4d1;
}

.director-workspace:not(.director-home-mode) .director-loading i {
  background: #5b57e8;
}

.director-workspace:not(.director-home-mode) :is(
  .director-project-form,
  .director-project-card,
  .director-setup-banner,
  .director-bible-grid,
  .director-episode-card,
  .director-character-library-card,
  .director-simple-asset-card,
  .director-screenplay-editor,
  .director-asset-batch-progress,
  .director-asset-group,
  .director-shot-count,
  .director-storyboard-run-state,
  .director-quality-report,
  .director-bound-assets,
  .director-prompt-format-guide,
  .director-prompt-constraints,
  .director-timing-check,
  .director-reference-box,
  .director-candidate
) {
  color: var(--director-text);
  background: rgb(255 255 255 / 88%);
  border-color: var(--director-border);
}

.director-workspace:not(.director-home-mode) :is(
  .director-project-card,
  .director-episode-card,
  .director-character-library-card,
  .director-simple-asset-card
) {
  border-radius: 14px;
}

.director-workspace:not(.director-home-mode) :is(.director-project-card, .director-episode-card, .director-simple-asset-card):hover {
  background: #fff;
  border-color: #b9c5d8;
  box-shadow: 0 16px 34px rgb(54 67 92 / 10%);
  transform: translateY(-2px);
}

.director-workspace:not(.director-home-mode) .director-project-card > footer b,
.director-workspace:not(.director-home-mode) .director-episode-card > footer b,
.director-workspace:not(.director-home-mode) .director-episode-card dd {
  color: #4f5e73;
}

.director-workspace:not(.director-home-mode) .director-project-card > footer em,
.director-workspace:not(.director-home-mode) .director-episode-card > header > span,
.director-workspace:not(.director-home-mode) .director-bible-grid > button > em,
.director-workspace:not(.director-home-mode) .director-library-tabs b {
  color: #5a54dc;
}

.director-workspace:not(.director-home-mode) .director-project-detail {
  background: linear-gradient(180deg, rgb(255 255 255 / 22%), rgb(242 246 251 / 46%));
}

.director-workspace:not(.director-home-mode) .director-setup-banner {
  background: linear-gradient(110deg, rgb(238 236 255 / 88%), rgb(255 255 255 / 88%) 66%);
  border-color: #d8d3ff;
  border-radius: 12px;
}

.director-workspace:not(.director-home-mode) .director-setup-banner.running {
  border-color: #c8d5e6;
}

.director-workspace:not(.director-home-mode) .director-setup-banner.failed {
  background: #fff4f5;
  border-color: #efc4cc;
}

.director-workspace:not(.director-home-mode) .director-setup-banner span,
.director-workspace:not(.director-home-mode) .director-style-lock {
  color: #5b57e8 !important;
}

.director-workspace:not(.director-home-mode) .director-setup-banner.recommendation {
  background: linear-gradient(110deg, rgb(235 233 255 / 92%), rgb(255 255 255 / 90%) 68%);
}

.director-workspace:not(.director-home-mode) .director-setup-banner.recommendation > div:first-child > small {
  color: var(--director-subtle);
}

.director-workspace:not(.director-home-mode) .director-intake-reasons i {
  color: #5f6d81;
  background: #f4f6fa;
  border-color: #e0e6ee;
}

.director-workspace:not(.director-home-mode) .director-count-confirmation label {
  color: #39475b;
}

.director-workspace:not(.director-home-mode) .director-count-confirmation input,
.director-workspace:not(.director-home-mode) .director-shot-count input {
  color: var(--director-text);
  background: #fff;
  border-color: #c9c4f2;
}

.director-workspace:not(.director-home-mode) .director-analysis-progress > div,
.director-workspace:not(.director-home-mode) .director-asset-batch-bar {
  background: #e6eaf1;
  border-color: #d6dde8;
}

.director-workspace:not(.director-home-mode) .director-prompt-target-lock {
  color: #403b93;
  background: #f1efff;
  border-color: #d6d1ff;
}

.director-workspace:not(.director-home-mode) .director-prompt-target-lock > i {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-prompt-target-lock small {
  color: #68658b;
}

.director-workspace:not(.director-home-mode) .director-section-label > span,
.director-workspace:not(.director-home-mode) .director-bible-grid > button > span {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-bible-grid {
  overflow: hidden;
  border-radius: 14px;
  box-shadow: var(--director-shadow-sm);
}

.director-workspace:not(.director-home-mode) .director-bible-grid > button:hover {
  background: #f7f9fc;
}

.director-workspace:not(.director-home-mode) .director-readonly-lock {
  color: #59687d;
  background: #f4f6f9;
  border-color: #d9e0ea;
}

.director-workspace:not(.director-home-mode) .director-project-tabs {
  border-bottom-color: #dbe2eb;
}

.director-workspace:not(.director-home-mode) .director-project-tabs button {
  color: #657388;
}

.director-workspace:not(.director-home-mode) .director-project-tabs button:hover {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-project-tabs button.active {
  color: #4d47d4;
}

.director-workspace:not(.director-home-mode) .director-project-tabs b {
  color: #514acb;
  background: #eeedff;
}

.director-workspace:not(.director-home-mode) .director-add-episode {
  color: #66758a;
  background: rgb(255 255 255 / 36%);
  border-color: #bfcadb;
  border-radius: 14px;
}

.director-workspace:not(.director-home-mode) .director-add-episode:hover {
  color: #4d47d4;
  background: #f7f6ff;
  border-color: #8f8ae9;
}

.director-workspace:not(.director-home-mode) .director-library-tabs button {
  color: #5d6b7f;
  background: #fff;
  border-color: #d7dee8;
}

.director-workspace:not(.director-home-mode) .director-library-tabs button.active {
  color: #4d47d4;
  background: #eeedff;
  border-color: #bbb6f3;
}

.director-workspace:not(.director-home-mode) .director-character-image,
.director-workspace:not(.director-home-mode) .director-character-tools button,
.director-workspace:not(.director-home-mode) .director-character-tools > span,
.director-workspace:not(.director-home-mode) .director-role-look-list > button,
.director-workspace:not(.director-home-mode) .director-role-audio > button,
.director-workspace:not(.director-home-mode) .director-dialogue-lines {
  background: #f7f9fc;
  border-color: var(--director-border-soft);
}

.director-workspace:not(.director-home-mode) .director-character-tools i,
.director-workspace:not(.director-home-mode) .director-role-audio > button i,
.director-workspace:not(.director-home-mode) .director-asset-group > header i,
.director-workspace:not(.director-home-mode) .director-audio-preview i {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-character-tools b {
  color: #59687d;
}

.director-workspace:not(.director-home-mode) .director-inline-empty,
.director-workspace:not(.director-home-mode) .director-asset-empty {
  color: #68778c;
  background: #f1f4f8;
  border-color: #cfd8e5;
}

.director-workspace:not(.director-home-mode) .director-form-page {
  background: rgb(247 249 252 / 36%);
}

.director-workspace:not(.director-home-mode) .director-project-form {
  background: rgb(255 255 255 / 90%);
  border-color: #dce3ec;
  border-radius: 16px;
  box-shadow: var(--director-shadow-md);
}

.director-workspace.director-document-flow-mode {
  height: auto;
  min-height: 0;
  overflow: visible;
}

.director-workspace.director-document-flow-mode .director-app,
.director-workspace.director-document-flow-mode .director-shell {
  height: auto;
  overflow: visible;
}

.director-workspace.director-document-flow-mode .director-shell {
  display: block;
  background: transparent;
}

.director-workspace.director-document-flow-mode .director-shell-header {
  position: sticky;
  top: 0;
}

.director-workspace.director-document-flow-mode .director-form-page,
.director-workspace.director-document-flow-mode .director-project-detail,
.director-workspace.director-document-flow-mode .director-episode-page,
.director-workspace.director-document-flow-mode .director-episode-body {
  min-height: 0;
  overflow: visible;
}

.director-workspace.director-document-flow-mode .director-episode-page {
  display: block;
}

.director-workspace.director-single-card-mode .director-form-page {
  padding-top: 20px;
  background: transparent;
}

.director-form-navigation {
  position: sticky;
  z-index: 3;
  top: -1px;
  display: flex;
  align-items: center;
  margin: -8px -8px 18px;
  padding: 7px 8px 10px;
  background: #fff;
  border-bottom: 1px solid var(--director-border-soft);
}

.director-form-navigation button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  color: #49576b;
  background: transparent;
  border: 0;
  font-size: 13px;
  font-weight: 650;
}

.director-form-navigation button:hover {
  color: #2557d6;
}

.director-workspace:not(.director-home-mode) .director-form-grid > label > span,
.director-workspace:not(.director-home-mode) .director-form-grid legend,
.director-workspace:not(.director-home-mode) .director-style-control > span,
.director-workspace:not(.director-home-mode) .director-generator-parameters label > span,
.director-workspace:not(.director-home-mode) .director-prompt-editor > span,
.director-workspace:not(.director-home-mode) .director-negative-editor > span,
.director-workspace:not(.director-home-mode) .director-prompt-heading b,
.director-picker-dialog .director-asset-create-form label > span,
.director-picker-dialog .director-intake-compare label > span {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-form-grid input:not([type="radio"]):not([type="checkbox"]),
.director-workspace:not(.director-home-mode) .director-form-grid textarea,
.director-workspace:not(.director-home-mode) .director-generator-parameters select,
.director-workspace:not(.director-home-mode) .director-generator-parameters input,
.director-workspace:not(.director-home-mode) .director-prompt-editor textarea,
.director-workspace:not(.director-home-mode) .director-negative-editor textarea,
.director-workspace:not(.director-home-mode) .director-video-prompt-content {
  color: var(--director-text);
  background: #fff;
  border-color: #cbd5e3;
}

.director-workspace:not(.director-home-mode) .director-form-grid input:not([type="radio"]):not([type="checkbox"]):hover,
.director-workspace:not(.director-home-mode) .director-form-grid textarea:hover,
.director-workspace:not(.director-home-mode) .director-generator-parameters select:hover,
.director-workspace:not(.director-home-mode) .director-generator-parameters input:hover,
.director-workspace:not(.director-home-mode) .director-prompt-editor textarea:hover,
.director-workspace:not(.director-home-mode) .director-negative-editor textarea:hover,
.director-workspace:not(.director-home-mode) .director-video-prompt-content:hover {
  background: #fbfcfe;
  border-color: #aebbd0;
}

.director-workspace:not(.director-home-mode) .director-form-grid input:not([type="radio"]):not([type="checkbox"]):focus,
.director-workspace:not(.director-home-mode) .director-form-grid textarea:focus,
.director-workspace:not(.director-home-mode) .director-generator-parameters select:focus,
.director-workspace:not(.director-home-mode) .director-generator-parameters input:focus,
.director-workspace:not(.director-home-mode) .director-prompt-editor textarea:focus,
.director-workspace:not(.director-home-mode) .director-negative-editor textarea:focus,
.director-workspace:not(.director-home-mode) .director-video-prompt-content:focus {
  background: #fff;
  border-color: #5b57e8;
  box-shadow: 0 0 0 3px rgb(91 87 232 / 12%);
}

.director-workspace:not(.director-home-mode) .director-form-grid fieldset label,
.director-workspace:not(.director-home-mode) .director-episode-count-modes label {
  color: #59687d;
  background: #fff;
  border-color: #d4dce7;
}

.director-workspace:not(.director-home-mode) .director-form-grid fieldset label:has(input:checked),
.director-workspace:not(.director-home-mode) .director-episode-count-modes label:has(input:checked) {
  color: #4540bd;
  background: #eeedff;
  border-color: #afaaf0;
}

.director-workspace:not(.director-home-mode) .director-form-grid .director-prompt-target-control label {
  box-shadow: none;
}

.director-workspace:not(.director-home-mode) .director-episode-steps {
  background: rgb(255 255 255 / 74%);
  border-bottom-color: #dce3ec;
}

.director-workspace:not(.director-home-mode) .director-step-connector {
  background: #d5dce7;
}

.director-workspace:not(.director-home-mode) .director-episode-steps button {
  color: #657388;
}

.director-workspace:not(.director-home-mode) .director-episode-steps button.complete {
  color: #177a55;
}

.director-workspace:not(.director-home-mode) .director-episode-steps button.active {
  color: #4d47d4;
}

.director-workspace:not(.director-home-mode) .director-step-index {
  border-color: #9ba8ba;
}

.director-workspace:not(.director-home-mode) .director-screenplay-editor {
  background: rgb(255 255 255 / 88%);
  border-radius: 16px;
  box-shadow: var(--director-shadow-sm);
}

.director-workspace:not(.director-home-mode) .director-screenplay-editor > header > div:last-child span {
  color: #5d6b7f;
  background: #eef2f7;
}

.director-workspace:not(.director-home-mode) .director-screenplay-editor > textarea {
  color: #263246;
  background: #fff;
}

.director-workspace:not(.director-home-mode) .director-asset-intro-actions > span.pending {
  color: #8a570c;
  background: #fff4dc;
}

.director-workspace:not(.director-home-mode) .director-asset-intro-actions > span.ready {
  color: #176947;
  background: #e9f7f0;
}

.director-workspace:not(.director-home-mode) .director-batch-generate-button {
  color: #4e47ca;
  background: #eeedff;
  border-color: #bbb6f3;
}

.director-workspace:not(.director-home-mode) .director-role-look-list small,
.director-workspace:not(.director-home-mode) .director-role-audio > button small,
.director-workspace:not(.director-home-mode) .director-dialogue-lines > button span,
.director-workspace:not(.director-home-mode) .director-dialogue-lines > p {
  color: #59687d;
}

.director-workspace:not(.director-home-mode) .director-dialogue-lines > button,
.director-workspace:not(.director-home-mode) .director-dialogue-lines > p {
  border-top-color: #e3e8ef;
}

.director-workspace:not(.director-home-mode) .director-dialogue-lines > button em {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-shot-count label span {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-storyboard-run-state p,
.director-workspace:not(.director-home-mode) .director-quality-report > p,
.director-workspace:not(.director-home-mode) .director-quality-report li span {
  color: #59687d;
}

.director-workspace:not(.director-home-mode) .director-storyboard-run-state.failed,
.director-workspace:not(.director-home-mode) .director-quality-report.blocked {
  color: #8f3041;
  background: #fff2f4;
  border-color: #edbdc6;
}

.director-workspace:not(.director-home-mode) .director-storyboard-run-state.recovered,
.director-workspace:not(.director-home-mode) .director-quality-report.passed {
  color: #176947;
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-workspace:not(.director-home-mode) .director-quality-report.warning {
  color: #81540d;
  background: #fff7e8;
  border-color: #ecd19e;
}

.director-workspace:not(.director-home-mode) .director-quality-report.running {
  color: #4942c8;
  background: #f1efff;
  border-color: #ccc7f7;
}

.director-workspace:not(.director-home-mode) .director-quality-report h3 {
  color: inherit;
}

.director-workspace:not(.director-home-mode) .director-quality-metrics span {
  color: #4f5e73;
  background: #f4f6f9;
  border-color: #d9e0ea;
}

.director-workspace:not(.director-home-mode) .director-quality-report li {
  background: rgb(255 255 255 / 64%);
  border: 1px solid #e4e9f0;
}

.director-workspace:not(.director-home-mode) .director-quality-report li.is-locatable:hover,
.director-workspace:not(.director-home-mode) .director-quality-report li.is-locatable:focus-visible {
  background: #f4f2ff;
  border-color: #b7b2ec;
}

.director-workspace:not(.director-home-mode) .director-quality-report li em {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-video-workbench,
.director-workspace:not(.director-home-mode) .director-asset-generator-page {
  background: rgb(247 249 252 / 76%);
}

.director-workspace:not(.director-home-mode) :is(.director-shot-list, .director-video-generator, .director-asset-stage, .director-asset-candidates) {
  background: rgb(255 255 255 / 78%);
}

.director-workspace:not(.director-home-mode) :is(.director-shot-editor, .director-asset-composer) {
  background: #f7f9fc;
}

.director-workspace:not(.director-home-mode) .director-shot-item:hover {
  background: #eef2f7;
}

.director-workspace:not(.director-home-mode) .director-shot-item.active {
  color: #403ab2;
  background: #ecebff;
  border-color: #aaa5ec;
}

.director-workspace:not(.director-home-mode) .director-shot-item > span,
.director-workspace:not(.director-home-mode) .director-bound-assets i,
.director-workspace:not(.director-home-mode) .director-bound-assets button,
.director-workspace:not(.director-home-mode) .director-asset-candidates > header b,
.director-workspace:not(.director-home-mode) .director-video-generator > header b {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-bound-assets {
  background: #fff;
}

.director-workspace:not(.director-home-mode) .director-bound-assets .director-match-assets {
  color: #87570c;
  background: #fff4dc;
  border-color: #e8c786;
}

.director-workspace:not(.director-home-mode) .director-bound-assets .director-add-asset-inline {
  color: #4d47d4;
  background: #eeedff;
  border-color: #bbb6f3;
}

.director-workspace:not(.director-home-mode) .director-asset-chips button {
  color: #4f5e73;
  background: #fff;
}

.director-workspace:not(.director-home-mode) .director-asset-chips button:hover:not(:disabled) {
  color: #4942c8;
  background: #f1efff;
  border-color: #aaa5ec;
}

.director-workspace:not(.director-home-mode) .director-asset-chips button.pending {
  color: #87570c;
  background: #fff7e8;
  border-color: #e2c68f;
}

.director-workspace:not(.director-home-mode) .director-asset-chips button.missing {
  color: #9d2e43;
  background: #fff2f4;
  border-color: #efc4cc;
}

.director-workspace:not(.director-home-mode) .director-asset-chips .director-first-frame-chip {
  color: #4942c8;
  background: #eeedff;
  border-color: #bbb6f3;
}

.director-workspace:not(.director-home-mode) .director-prompt-heading small,
.director-workspace:not(.director-home-mode) .director-prompt-format-guide,
.director-workspace:not(.director-home-mode) .director-prompt-format-guide > small,
.director-workspace:not(.director-home-mode) .director-prompt-constraints summary,
.director-workspace:not(.director-home-mode) .director-prompt-constraints summary small {
  color: #657388;
}

.director-workspace:not(.director-home-mode) .director-prompt-format-guide,
.director-workspace:not(.director-home-mode) .director-prompt-constraints {
  background: #fff;
  border-color: #d8e0eb;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity {
  background: #fff;
  border-color: #d8e0eb;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity summary {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity summary small,
.director-workspace:not(.director-home-mode) .director-shot-continuity article span {
  color: #718096;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity > div {
  border-top-color: #e2e8f0;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity article + article {
  border-left-color: #e2e8f0;
}

.director-workspace:not(.director-home-mode) .director-shot-continuity article p {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-prompt-format-guide > span > b {
  color: #4d47d4;
  background: #eeedff;
}

.director-workspace:not(.director-home-mode) .director-prompt-format-guide > i {
  background: #cbd5e3;
}

.director-workspace:not(.director-home-mode) .director-prompt-constraints textarea {
  color: #344257;
  background: #f9fbfd;
  border-top-color: #e2e8f0;
}

.director-workspace:not(.director-home-mode) .director-prompt-constraints textarea:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-prompt-actions button {
  color: #4f5e73;
  background: #fff;
  border-color: #d4dce7;
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu {
  color: #344257;
  background: #fff;
  border-color: #d3dbe7;
  box-shadow: var(--director-shadow-md);
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu > p,
.director-workspace:not(.director-home-mode) .director-video-mention-menu small {
  color: #68778c;
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu > button {
  color: #344257;
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu > button:hover,
.director-workspace:not(.director-home-mode) .director-video-mention-menu > button.active {
  color: #4942c8;
  background: #f1efff;
  border-color: #bbb6f3;
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu > button.missing {
  color: #9d2e43;
  background: #fff2f4;
  border-color: #efc4cc;
}

.director-workspace:not(.director-home-mode) .director-video-mention-menu img,
.director-workspace:not(.director-home-mode) .director-video-mention-menu > button > i {
  color: #5b57e8;
  background: #f1f4f8;
  border-color: #d7dee8;
}

.director-workspace:not(.director-home-mode) .director-timing-check {
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-workspace:not(.director-home-mode) .director-timing-check.pending {
  background: #f3f6fa;
  border-color: #ced7e4;
}

.director-workspace:not(.director-home-mode) .director-timing-check.invalid,
.director-workspace:not(.director-home-mode) .director-blocking-note {
  color: #81540d;
  background: #fff7e8;
  border-color: #e7ca91;
}

.director-workspace:not(.director-home-mode) .director-system-reference-note {
  color: #315c9f;
  background: #eef5ff;
  border-color: #c6d9f4;
}

.director-workspace:not(.director-home-mode) .director-generator-model-note,
.director-workspace:not(.director-home-mode) .director-seedance-review,
.director-workspace:not(.director-home-mode) .director-price {
  color: #5f6d81;
  background: #f7f8fc;
}

.director-workspace:not(.director-home-mode) .director-generator-model-note b,
.director-workspace:not(.director-home-mode) .director-seedance-review > header span,
.director-workspace:not(.director-home-mode) .director-price b {
  color: #4942c8;
}

.director-workspace:not(.director-home-mode) .director-seedance-route-options > button,
.director-workspace:not(.director-home-mode) .director-seedance-review-result {
  color: #59687d;
  background: #fff;
  border-color: #d5dde8;
}

.director-workspace:not(.director-home-mode) .director-seedance-route-options > button:hover {
  color: #4942c8;
  background: #f4f2ff;
  border-color: #b9b4ee;
}

.director-workspace:not(.director-home-mode) .director-seedance-route-options > button.active {
  color: #4942c8;
  background: #ecebff;
  border-color: #a9a4eb;
}

.director-workspace:not(.director-home-mode) .director-seedance-review-result.ready {
  color: #176947;
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-workspace:not(.director-home-mode) .director-seedance-review-result.failed {
  color: #9d2e43;
  background: #fff2f4;
  border-color: #efc4cc;
}

.director-workspace:not(.director-home-mode) .director-candidate {
  background: #fff;
}

.director-workspace:not(.director-home-mode) .director-candidate footer button {
  color: #59687d;
}

.director-workspace:not(.director-home-mode) .director-candidate footer button:hover {
  color: #344257;
  background: #eef2f7;
}

.director-workspace:not(.director-home-mode) .director-candidate footer button.primary {
  color: #fff;
  background: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-candidate footer button.danger {
  color: #b2384e;
}

.director-workspace:not(.director-home-mode) .director-candidate footer button.danger:hover {
  color: #982f43;
  background: #fff2f4;
}

.director-workspace:not(.director-home-mode) .director-asset-stage {
  border-right-color: #e0e6ee;
}

.director-workspace:not(.director-home-mode) .director-asset-composer {
  background: #f7f9fc;
}

.director-workspace:not(.director-home-mode) .director-asset-candidates {
  border-left-color: #e0e6ee;
}

.director-workspace:not(.director-home-mode) .director-voice-binding {
  color: #176947;
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-workspace:not(.director-home-mode) .director-voice-binding small {
  color: #467d65;
}

.director-workspace:not(.director-home-mode) .director-reference-box > header button,
.director-workspace:not(.director-home-mode) .director-reference-box > div > span {
  color: #4f5e73;
  background: #f4f6f9;
  border-color: #d8e0eb;
}

.director-picker-dialog {
  color: var(--director-text);
  background: #fff;
  border-color: #d5dde8;
  box-shadow: 0 30px 84px rgb(42 58 88 / 24%);
  color-scheme: light;
}

.director-picker-dialog::backdrop {
  background: rgb(38 48 66 / 34%);
  backdrop-filter: blur(5px);
}

.director-picker-dialog > header {
  background: #fbfcfe;
  border-bottom-color: #e2e8f0;
}

.director-picker-dialog > header button {
  color: #536176;
  background: #fff;
  border-color: #d5dde8;
}

.director-picker-dialog :is(.director-asset-batch-body > section, .director-picker-grid > button, .director-intake-change-summary section, .director-bible-detail-block, .director-bible-character-list article) {
  color: var(--director-text);
  background: #f8fafc;
  border-color: #dfe5ed;
}

.director-picker-dialog .director-asset-batch-counts li,
.director-picker-dialog .director-asset-batch-sequence li,
.director-picker-dialog .director-bible-detail-block p,
.director-picker-dialog .director-bible-detail-block ul,
.director-picker-dialog .director-bible-character-list dd {
  color: #526176;
}

.director-picker-dialog .director-asset-batch-counts li b,
.director-picker-dialog .director-asset-create-heading h2,
.director-picker-dialog .director-bible-detail-block h3 {
  color: #263246;
}

.director-picker-dialog .director-asset-batch-model select,
.director-picker-dialog .director-asset-create-form input,
.director-picker-dialog .director-asset-create-form select,
.director-picker-dialog .director-asset-create-form textarea,
.director-picker-dialog .director-intake-compare textarea {
  color: #263246;
  background: #fff;
  border-color: #cbd5e3;
  color-scheme: light;
}

.director-picker-dialog .director-asset-batch-model.locked strong,
.director-picker-dialog .director-asset-batch-sequence li b {
  color: #4d47d4;
}

.director-picker-dialog .director-asset-batch-sequence li b {
  background: #eeedff;
}

.director-picker-dialog .director-asset-batch-total {
  background: #f1efff;
  border-color: #c7c2f5;
}

.director-picker-dialog .director-asset-batch-total span,
.director-picker-dialog .director-asset-batch-total small,
.director-picker-dialog .director-asset-batch-quote-state {
  color: #5f5898;
}

.director-picker-dialog .director-asset-batch-total b {
  color: #433cc0;
}

.director-picker-dialog .director-asset-batch-quote-state {
  background: #f7f5ff;
}

.director-picker-dialog .director-asset-batch-quote-error {
  color: #9d2e43;
  background: #fff2f4;
  border-color: #efc4cc;
}

.director-picker-dialog .director-asset-batch-dialog > footer,
.director-picker-dialog .director-intake-review-footer {
  background: #fbfcfe;
  border-top-color: #e2e8f0;
}

.director-picker-dialog .director-asset-type-grid > button,
.director-picker-dialog .director-asset-library-toolbar nav button,
.director-picker-dialog .director-asset-library-choice,
.director-picker-dialog .director-voice-paths > div,
.director-picker-dialog .director-voice-master-list > button {
  color: #344257;
  background: #f8fafc;
  border-color: #dce3ec;
}

.director-picker-dialog .director-asset-type-grid > button:hover {
  color: #4942c8;
  background: #f1efff;
  border-color: #b9b4ee;
}

.director-picker-dialog .director-asset-type-grid > button > i:first-child {
  color: #5b57e8;
  background: #eae9ff;
}

.director-picker-dialog .director-asset-type-grid small,
.director-picker-dialog .director-asset-create-heading p,
.director-picker-dialog .director-asset-library-choice-copy span,
.director-picker-dialog .director-voice-paths > button small,
.director-picker-dialog .director-voice-paths > div > header small {
  color: #68778c;
}

.director-picker-dialog .director-asset-library-toolbar nav button.active {
  color: #4942c8;
  background: #ecebff;
  border-color: #aaa5ec;
}

.director-picker-dialog .director-asset-library-toolbar nav button b {
  color: #514acb;
  background: #eeedff;
}

.director-picker-dialog .director-asset-library-choice.linked,
.director-picker-dialog .director-asset-library-choice.continuity.linked {
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-picker-dialog .director-asset-library-choice.continuity {
  background: #f1efff;
  border-color: #c7c2f5;
}

.director-picker-dialog .director-asset-library-choice-copy small,
.director-picker-dialog .director-asset-library-choice-copy b {
  color: #344257;
}

.director-picker-dialog .director-asset-library-choice > button {
  color: #fff;
  background: #5b57e8;
  border-color: #6d69ea;
}

.director-picker-dialog .director-asset-library-choice > button:disabled {
  color: #176947;
  background: #e7f6ee;
  border-color: #b8dec9;
}

.director-picker-dialog .director-voice-paths > button {
  color: #4942c8;
  background: #f1efff;
  border-color: #b9b4ee;
}

.director-picker-dialog .director-voice-master-list small {
  color: #177a55;
}

.director-picker-dialog .director-selected-voice {
  color: #176947;
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-picker-dialog .director-asset-create-generator-note {
  color: #504a8c;
  background: #f1efff;
  border-bottom-color: #d6d1ff;
}

.director-asset-hover-card {
  color: #263246;
  background: #fff;
  border-color: #d5dde8;
  box-shadow: var(--director-shadow-md);
}

.director-asset-hover-card > header {
  border-bottom-color: #e2e8f0;
}

.director-asset-hover-card > header small {
  color: #68778c;
}

.director-picker-dialog .director-intake-review-note {
  color: #176947;
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-picker-dialog .director-intake-review-note.adaptation {
  color: #81540d;
  background: #fff7e8;
  border-color: #e7ca91;
}

.director-picker-dialog .director-intake-review-note p,
.director-picker-dialog .director-intake-change-summary ul,
.director-picker-dialog .director-intake-review-footer > span {
  color: #657388;
}

.director-picker-dialog .director-intake-compare textarea[readonly] {
  color: #657388;
  background: #f4f6f9;
}

.director-picker-dialog .director-bible-detail-block.applied {
  background: #edf8f2;
  border-color: #b8dec9;
}

.director-workspace:not(.director-home-mode) .director-upload-row,
.director-workspace:not(.director-home-mode) .director-style-choice {
  color: #344257;
  background: #fff;
  border-color: #cfd8e5;
}

.director-workspace:not(.director-home-mode) .director-upload-row:hover,
.director-workspace:not(.director-home-mode) .director-style-choice:hover {
  background: #f7f9fc;
  border-color: #aebbd0;
}

.director-workspace:not(.director-home-mode) .director-upload-row i,
.director-workspace:not(.director-home-mode) .director-platform-standard > i {
  color: #5b57e8;
}

.director-workspace:not(.director-home-mode) .director-platform-standard {
  color: #4f4a87;
  background: #f1efff;
  border-color: #d3cff9;
}

.director-workspace:not(.director-home-mode) .director-prompt-target-control label b em {
  color: #4d47d4;
  background: #e5e3ff;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-generating {
  color: #514acb;
  background: #f1efff;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-generating .director-asset-state-icon {
  color: #5b57e8;
  background: #e8e7ff;
  border-color: #c5c0f5;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-selecting {
  color: #81540d;
  background: #fff7e8;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-selecting .director-asset-state-icon {
  color: #9a6210;
  background: #fff0cf;
  border-color: #e7ca91;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-failed {
  color: #9d2e43;
  background: #fff2f4;
}

.director-workspace:not(.director-home-mode) .director-asset-empty.is-failed .director-asset-state-icon {
  color: #c24158;
  background: #ffe5e9;
  border-color: #efc4cc;
}

.director-workspace:not(.director-home-mode) .director-asset-state-badge {
  color: #fff;
  background: #b97812;
  border-color: #fff;
}

.director-workspace:not(.director-home-mode) .director-timing-check footer button {
  color: #81540d;
  background: #fff1d4;
  border-color: #ddbd7f;
}

@media (prefers-reduced-transparency: reduce) {
  .director-workspace:not(.director-home-mode) .director-project-form,
  .director-workspace:not(.director-home-mode) .director-bible-grid,
  .director-workspace:not(.director-home-mode) .director-episode-card {
    background: #f7f9fc;
    backdrop-filter: none;
  }
}

.director-text-pricing-overview {
  padding: 16px 18px;
  color: #353267;
  background: linear-gradient(135deg, #f2f0ff, #f8f9ff);
  border: 1px solid #d6d2fb;
  border-radius: 14px;
}

.director-text-pricing-overview > div,
.director-text-billing-strip {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.director-text-pricing-overview > div > i,
.director-text-billing-strip > i {
  margin-top: 2px;
  color: var(--director-purple);
  font-size: 21px;
}

.director-text-pricing-overview > div span,
.director-text-billing-strip span { display: grid; gap: 2px; }
.director-text-pricing-overview > div b,
.director-text-billing-strip b { color: #292653; font-size: 14px; }
.director-text-pricing-overview > div small,
.director-text-billing-strip small { color: #676689; }

.director-text-pricing-overview ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 10px;
  padding: 0;
  list-style: none;
}

.director-text-pricing-overview li {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 11px;
  background: rgb(255 255 255 / 72%);
  border: 1px solid #e1defa;
  border-radius: 10px;
}

.director-text-pricing-overview li span { color: #74728f; font-size: 12px; }
.director-text-pricing-overview li b { color: #363172; font-size: 13px; }
.director-text-pricing-overview li small { color: #797692; font-size: 12px; line-height: 1.45; }
.director-text-pricing-overview > p { margin: 0; color: #66647f; font-size: 12px; }

.director-plan-price {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  color: #57528a;
}

.director-text-billing-strip {
  margin-bottom: 12px;
  padding: 12px 14px;
  background: #f5f4ff;
  border: 1px solid #dcdaff;
  border-radius: 12px;
}

.director-text-billing-strip.completed,
.director-text-billing-strip.included { background: #eef9f4; border-color: #c7e8d8; }
.director-text-billing-strip.completed > i,
.director-text-billing-strip.included > i { color: var(--director-green); }
.director-text-billing-strip.refunded { background: #fff7e8; border-color: #eed7a7; }
.director-text-billing-strip.refunded > i { color: var(--director-yellow); }

.director-text-price-card {
  display: grid;
  min-width: 190px;
  padding: 10px 12px;
  background: #f3f1ff;
  border: 1px solid #d8d4fc;
  border-radius: 11px;
}

.director-text-price-card > span { color: #77748f; font-size: 12px; }
.director-text-price-card > b { color: #4039bc; font-size: 18px; }
.director-text-price-card > small { color: #696780; font-size: 12px; }

.director-shot-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.director-shot-header-actions .director-secondary {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 12px;
}

.director-text-charge-dialog {
  width: min(520px, calc(100vw - 40px));
  padding: 0;
  color: #202b3d;
  background: #fff;
  border: 1px solid #dce2ed;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgb(26 36 58 / 30%);
}

.director-text-charge-dialog::backdrop {
  background: rgb(24 30 43 / 48%);
  backdrop-filter: blur(5px);
}

.director-text-charge-dialog form { display: grid; }
.director-text-charge-dialog header { padding: 24px 24px 17px; }
.director-text-charge-dialog header > span { color: #5b57e8; font-size: 12px; font-weight: 760; letter-spacing: .08em; }
.director-text-charge-dialog h2 { margin: 5px 0 7px; color: #20253a; font-size: 24px; }
.director-text-charge-dialog header p { margin: 0; color: #657087; }
.director-text-charge-dialog section { display: grid; gap: 14px; padding: 18px 24px; background: #f7f8fc; border-block: 1px solid #e7eaf2; }
.director-text-charge-dialog section > div { display: flex; align-items: baseline; justify-content: space-between; }
.director-text-charge-dialog section > div span { color: #5f687d; }
.director-text-charge-dialog section > div strong { color: #4b45d0; font-size: 30px; }
.director-text-charge-dialog section > div strong small { margin-left: 4px; font-size: 13px; }
.director-text-charge-dialog ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.director-text-charge-dialog li { display: flex; align-items: center; gap: 8px; color: #566076; font-size: 13px; }
.director-text-charge-dialog li i { color: #25845f; }
.director-text-charge-dialog footer { display: flex; justify-content: flex-end; gap: 10px; padding: 17px 24px 22px; }

@media (max-width: 1100px) {
  .director-text-pricing-overview ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .director-text-price-card { min-width: 150px; }
}
