/* Studio V2 — one isolated presentation. No legacy Production styles are loaded. */
:root {
  color-scheme: dark;
  --sv-bg: #0c0e12;
  --sv-panel: #15181f;
  --sv-raised: #1c2029;
  --sv-hover: #242936;
  --sv-border: #2c323f;
  --sv-subtle: #212631;
  --sv-text: #eef0f6;
  --sv-muted: #a3abba;
  --sv-dim: #8791a3;
  --sv-accent: #a48aff;
  --sv-accent-bg: #28223c;
  --sv-primary: #7954de;
  --sv-green: #7dd2b1;
  --sv-amber: #e7bc78;
  --sv-red: #f39398;
  --sv-radius: 8px;
}
:root:not([data-public-studio]), [data-public-studio] #studio {
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  background: var(--sv-bg);
  color: var(--sv-text);
  font-size: 14px;
  line-height: 1.5;
}
:where(html:not([data-public-studio]), #studio) * {
  box-sizing: border-box;
}
:where(html:not([data-public-studio]), #studio) body {
  margin: 0;
}
:where(html:not([data-public-studio]), #studio) button,
:where(html:not([data-public-studio]), #studio) input,
:where(html:not([data-public-studio]), #studio) select,
:where(html:not([data-public-studio]), #studio) textarea {
  font: inherit;
}
:where(html:not([data-public-studio]), #studio) button,
:where(html:not([data-public-studio]), #studio) a,
:where(html:not([data-public-studio]), #studio) input,
:where(html:not([data-public-studio]), #studio) select,
:where(html:not([data-public-studio]), #studio) textarea,
:where(html:not([data-public-studio]), #studio) summary {
  -webkit-tap-highlight-color: transparent;
}
:where(html:not([data-public-studio]), #studio) button {
  cursor: pointer;
}
:where(html:not([data-public-studio]), #studio) button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}
:where(html:not([data-public-studio]), #studio) a {
  color: inherit;
  text-decoration: none;
}
:where(html:not([data-public-studio]), #studio) button:focus-visible,
:where(html:not([data-public-studio]), #studio) a:focus-visible,
:where(html:not([data-public-studio]), #studio) input:focus-visible,
:where(html:not([data-public-studio]), #studio) select:focus-visible,
:where(html:not([data-public-studio]), #studio) textarea:focus-visible,
:where(html:not([data-public-studio]), #studio) summary:focus-visible {
  outline: 2px solid #b49cff;
  outline-offset: 3px;
}
:where(html:not([data-public-studio]), #studio) h1,
:where(html:not([data-public-studio]), #studio) h2,
:where(html:not([data-public-studio]), #studio) h3,
:where(html:not([data-public-studio]), #studio) p {
  margin: 0;
}
:where(html:not([data-public-studio]), #studio) h2 {
  font-size: 18px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -0.02em;
}
:where(html:not([data-public-studio]), #studio) h3 {
  font-size: 15px;
  font-weight: 620;
  line-height: 1.4;
}
:where(html:not([data-public-studio]), #studio) button {
  border: 0;
}
:where(html:not([data-public-studio]), #studio) img,
:where(html:not([data-public-studio]), #studio) video {
  display: block;
  max-width: 100%;
}
:where(html:not([data-public-studio]), #studio) input,
:where(html:not([data-public-studio]), #studio) select,
:where(html:not([data-public-studio]), #studio) textarea {
  background: #101319;
  border: 1px solid #3b4352;
  color: var(--sv-text);
  border-radius: 5px;
  padding: 9px 11px;
  min-height: 38px;
  width: 100%;
  font-size: 14px;
}
:where(html:not([data-public-studio]), #studio) textarea {
  resize: vertical;
  line-height: 1.6;
  min-height: 88px;
}
:where(html:not([data-public-studio]), #studio) input:disabled,
:where(html:not([data-public-studio]), #studio) select:disabled,
:where(html:not([data-public-studio]), #studio) textarea:disabled {
  opacity: 0.6;
}
:where(html:not([data-public-studio]), #studio) summary {
  cursor: pointer;
  list-style: none;
}
:where(html:not([data-public-studio]), #studio) summary::-webkit-details-marker {
  display: none;
}
:where(html:not([data-public-studio]), #studio) button svg,
:where(html:not([data-public-studio]), #studio) a svg {
  flex-shrink: 0;
}

.sv2-icon {
  vertical-align: middle;
  flex-shrink: 0;
}
.sv2-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sv2-skip {
  position: fixed;
  top: -70px;
  left: 75px;
  z-index: 1000;
  background: #fff;
  color: #111;
  padding: 12px;
}
.sv2-skip:focus {
  top: 8px;
}
.sv2-boot {
  min-height: 100dvh;
  display: grid;
  place-content: center;
  color: var(--sv-muted);
}
.sv2-shell {
  height: 100dvh;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  overflow: hidden;
}
.sv2-rail {
  background: #101218;
  border-right: 1px solid var(--sv-subtle);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 18px 8px;
}
.sv2-rail > a:not(.sv2-brand),
.sv2-rail-bottom > a {
  width: 40px;
  height: 42px;
  display: grid;
  place-content: center;
  color: var(--sv-dim);
  border-radius: 7px;
}
.sv2-rail > a:hover {
  color: var(--sv-text);
  background: var(--sv-raised);
}
.sv2-rail > a.is-active {
  background: var(--sv-accent-bg);
  color: var(--sv-accent);
}
.sv2-brand {
  height: 34px;
  width: 34px;
  background: #7852dc;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 22px;
  position: relative;
  margin-bottom: 24px;
  color: white;
}
.sv2-brand span {
  position: absolute;
  right: 4px;
  top: 5px;
  width: 4px;
  height: 4px;
  background: #d6caff;
  border-radius: 50%;
}
.sv2-rail-bottom {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}
.sv2-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.sv2-header {
  height: 69px;
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 10px 26px;
  border-bottom: 1px solid var(--sv-subtle);
  background: #12151b;
  position: relative;
  z-index: 5;
}
.sv2-identity {
  min-width: 0;
}
.sv2-breadcrumb {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.14em;
  color: var(--sv-dim);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 3px;
}
.sv2-breadcrumb svg {
  width: 11px;
  height: 11px;
}
.sv2-title-line {
  display: flex;
  gap: 14px;
  align-items: center;
}
.sv2-title-line h1 {
  font-size: 19px;
  line-height: 1.3;
  letter-spacing: -0.025em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(40vw, 620px);
}
.sv2-header-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-shrink: 0;
}
.sv2-save {
  font-size: 12px;
  color: var(--sv-muted);
  min-width: 72px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.sv2-save:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sv-green);
}
.sv2-save[data-state="saving"]:before,
.sv2-save[data-state="unsaved"]:before {
  background: var(--sv-amber);
}
.sv2-save[data-state="error"]:before,
.sv2-save[data-state="conflict"]:before {
  background: var(--sv-red);
}
.sv2-stage-nav {
  display: flex;
  align-items: stretch;
  gap: 28px;
  padding: 0 26px;
  min-height: 64px;
  background: #12151b;
  border-bottom: 1px solid var(--sv-border);
  flex-shrink: 0;
}
.sv2-stage {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  color: var(--sv-dim);
  position: relative;
  padding: 9px 8px;
  min-width: 126px;
  text-align: left;
  border-bottom: 2px solid transparent;
}
.sv2-stage strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
}
.sv2-stage small {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-stage-number {
  font-size: 12px;
  width: 27px;
  height: 27px;
  border: 1px solid #343b48;
  border-radius: 7px;
  display: grid;
  place-content: center;
  font-variant-numeric: tabular-nums;
}
.sv2-stage:hover {
  color: var(--sv-text);
}
.sv2-stage.is-active {
  color: var(--sv-text);
  border-bottom-color: var(--sv-accent);
}
.sv2-stage.is-active .sv2-stage-number {
  background: #332748;
  color: #c5b4ff;
  border-color: #5c4683;
}
.sv2-stage.is-active small {
  color: #c0afd9;
}
.sv2-format {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--sv-muted);
  margin-left: auto;
  white-space: nowrap;
}
.sv2-format i {
  height: 13px;
  width: 1px;
  background: var(--sv-border);
}
.sv2-statusbar {
  height: 27px;
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 18px;
  align-items: center;
  background: #11141a;
  border-top: 1px solid var(--sv-subtle);
  color: var(--sv-dim);
  font-size: 12px;
}
.sv2-statusbar > span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sv2-statusbar svg {
  width: 13px;
  height: 13px;
}
.sv2-statusbar i {
  font-style: normal;
  color: #4e5668;
}
.sv2-workspace {
  padding: 22px 24px 28px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  scrollbar-gutter: stable;
  min-width: 0;
}
.sv2-workspace:focus {
  outline: none;
}
.sv2-stage-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
.sv2-stage-heading h2 {
  font-size: 24px;
  margin: 7px 0 6px;
  letter-spacing: -0.035em;
  font-weight: 600;
}
.sv2-stage-heading p {
  color: var(--sv-muted);
  font-size: 14px;
}
.sv2-stage-heading > .sv2-btn {
  flex-shrink: 0;
}
.sv2-eyebrow {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--sv-dim);
}
.sv2-eyebrow .sv2-badge {
  margin-left: 6px;
  letter-spacing: 0;
}
.sv2-btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #363e4c;
  border-radius: 6px;
  background: #20252e;
  color: #dbe0ec;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 560;
  white-space: nowrap;
  transition:
    background 0.15s,
    border-color 0.15s;
}
.sv2-btn:hover:not(:disabled) {
  background: #2b3140;
  border-color: #566176;
}
.sv2-btn.sv2-primary {
  background: var(--sv-primary);
  border-color: #9876ed;
  color: #fff;
}
.sv2-btn.sv2-primary:hover:not(:disabled) {
  background: #8862ed;
  border-color: #b39af4;
}
.sv2-btn.sv2-quiet {
  border-color: transparent;
  background: transparent;
  color: var(--sv-muted);
}
.sv2-btn.sv2-quiet:hover:not(:disabled) {
  background: var(--sv-hover);
  color: var(--sv-text);
}
.sv2-btn.sv2-danger {
  color: var(--sv-red);
  border-color: #694249;
  background: #352429;
}
.sv2-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.sv2-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #343b49;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  padding: 3px 7px;
  color: #bdc5d3;
  background: #20252f;
  white-space: nowrap;
}
.sv2-badge.sv2-green {
  color: var(--sv-green);
  background: #172d28;
  border-color: #28483e;
}
.sv2-badge.sv2-type {
  font-size: 12px;
  border-color: #303644;
  color: #aeb6c7;
  background: #1c202a;
}
.sv2-meta {
  font-size: 12px;
  color: var(--sv-muted);
}
.sv2-count {
  font-size: 12px;
  color: var(--sv-dim);
  margin-left: 5px;
}
.sv2-panel {
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius);
  background: var(--sv-panel);
  min-width: 0;
  overflow: hidden;
}
.sv2-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--sv-subtle);
  min-width: 0;
}
.sv2-panel-head h2 {
  font-size: 15px;
}
.sv2-panel-head h3 {
  font-size: 14px;
}
.sv2-panel-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 18px;
  border-top: 1px solid var(--sv-subtle);
}
.sv2-develop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 16px;
  margin-bottom: 20px;
}
.sv2-brief-content {
  padding: 24px 28px;
}
.sv2-brief-content h3 {
  font-size: 27px;
  font-weight: 550;
  letter-spacing: -0.035em;
  margin: 10px 0 14px;
  line-height: 1.3;
}
.sv2-brief-copy {
  font-size: 17px;
  line-height: 1.8;
  max-width: 820px;
  white-space: pre-wrap;
  color: #d4d9e5;
}
.sv2-direction {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--sv-border);
}
.sv2-direction p {
  color: var(--sv-muted);
  line-height: 1.8;
  font-size: 14px;
  margin-top: 8px;
  white-space: pre-wrap;
}
.sv2-brief-facts {
  display: flex;
  gap: 25px;
  margin-top: 26px;
  color: var(--sv-dim);
  font-size: 12px;
}
.sv2-brief-facts > span {
  display: flex;
  gap: 7px;
  align-items: center;
}
.sv2-brief-facts strong {
  color: var(--sv-text);
  font-weight: 550;
}
.sv2-facts {
  margin: 0;
  padding: 12px 20px;
}
.sv2-facts > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 0;
}
.sv2-facts dt {
  font-size: 14px;
  color: var(--sv-muted);
}
.sv2-facts dd {
  margin: 0;
  font-size: 14px;
  text-align: right;
}
.sv2-divider {
  height: 1px;
  background: var(--sv-border);
  margin: 10px 20px;
}
.sv2-director-invite {
  padding: 18px 20px;
}
.sv2-director-invite > svg {
  color: var(--sv-accent);
  height: 22px;
  width: 22px;
  margin-bottom: 10px;
}
.sv2-director-invite h3 {
  margin-bottom: 8px;
}
.sv2-director-invite p {
  color: var(--sv-muted);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 14px;
}
.sv2-scene-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}
.sv2-scene-card {
  min-width: 0;
  background: #101319;
  border: 1px solid #2e3542;
  border-radius: 6px;
  overflow: hidden;
}
.sv2-scene-cover {
  aspect-ratio: 2.6;
  overflow: hidden;
  position: relative;
  background: #0b0d10;
}
.sv2-scene-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.82;
}
.sv2-scene-number {
  position: absolute;
  left: 12px;
  bottom: 10px;
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #fff;
  background: #0c0e12ad;
  padding: 4px 7px;
  border-radius: 3px;
}
.sv2-scene-copy {
  padding: 16px;
}
.sv2-scene-copy h3 {
  font-size: 16px;
  margin-bottom: 8px;
}
.sv2-scene-copy p {
  color: var(--sv-muted);
  font-size: 14px;
  line-height: 1.6;
  min-height: 43px;
  overflow-wrap: anywhere;
}
.sv2-scene-meta {
  margin: 14px 0 7px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sv2-scene-copy .sv2-actions {
  justify-content: space-between;
  margin-left: -8px;
  margin-right: -8px;
}
.sv2-prep-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 335px;
  gap: 16px;
  align-items: start;
}
.sv2-filter-strip {
  display: flex;
  gap: 5px;
  padding: 12px;
  border-bottom: 1px solid var(--sv-border);
  overflow: auto;
  scrollbar-width: thin;
}
.sv2-filter-strip button {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  background: none;
  color: var(--sv-muted);
  border-radius: 5px;
  white-space: nowrap;
  padding: 6px 10px;
  font-size: 14px;
}
.sv2-filter-strip button span {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-filter-strip button.is-active {
  color: #d9caff;
  background: var(--sv-accent-bg);
}
.sv2-element-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  padding: 18px;
}
.sv2-element-card {
  min-width: 0;
  text-align: left;
  padding: 0;
  background: #11141a;
  border: 1px solid #333b49;
  border-radius: 7px;
  overflow: hidden;
  color: var(--sv-text);
}
.sv2-element-card:hover {
  border-color: #6a607f;
}
.sv2-element-card.is-selected {
  border-color: #ad90ff;
  box-shadow: 0 0 0 1px #ad90ff;
}
.sv2-element-preview {
  aspect-ratio: 1.5;
  position: relative;
  overflow: hidden;
  background: #0a0c10;
  isolation: isolate;
}
.sv2-element-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sv2-element-type {
  position: absolute;
  bottom: 8px;
  left: 8px;
  padding: 3px 6px;
  font-size: 12px;
  border-radius: 3px;
  color: #f0edf6;
  background: #0d101ad9;
}
.sv2-selected-mark {
  position: absolute;
  right: 9px;
  top: 9px;
  border-radius: 50%;
  background: #9e7bf2;
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  color: #fff;
}
.sv2-selected-mark svg {
  width: 14px;
  height: 14px;
}
.sv2-element-copy {
  padding: 14px;
}
.sv2-element-copy h3 {
  font-size: 15px;
  margin-bottom: 6px;
  overflow-wrap: anywhere;
}
.sv2-element-copy p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--sv-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 39px;
}
.sv2-element-copy > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 14px;
  align-items: center;
}
.sv2-prep-inspector {
  padding: 19px;
  max-height: calc(100dvh - 248px);
  overflow-y: auto;
  scrollbar-width: thin;
  position: sticky;
  top: 0;
}
.sv2-context-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.sv2-context-heading > :first-child {
  flex: 1 1 12rem;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.sv2-context-heading > .sv2-actions {
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 100%;
}
.sv2-context-heading h2 {
  font-size: 19px;
  margin-top: 5px;
  overflow-wrap: anywhere;
}
.sv2-context-heading .sv2-btn {
  flex-shrink: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.sv2-context-description {
  color: var(--sv-muted);
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.sv2-chips {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 14px 0 8px;
  flex-wrap: wrap;
}
.sv2-prep-inspector > .sv2-panel-head {
  padding: 16px 0 10px;
  border: 0;
}
.sv2-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.sv2-field > span {
  font-size: 14px;
  color: #c3cad7;
  font-weight: 500;
}
.sv2-field > small {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-field.sv2-checkfield {
  min-height: 44px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  grid-column: 1/-1;
}
.sv2-checkfield input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  accent-color: var(--sv-accent);
}
.sv2-wide {
  grid-column: 1/-1;
}
.sv2-state-detail {
  margin-top: 12px;
  padding-bottom: 10px;
}
.sv2-state-detail > p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--sv-muted);
  margin: 6px 0 8px;
}
.sv2-state-detail > .sv2-actions {
  justify-content: space-between;
}
.sv2-context-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 14px;
  border-top: 1px solid var(--sv-subtle);
  padding-top: 12px;
}
.sv2-reference-empty {
  background: #11141b;
  padding: 18px 12px;
  text-align: center;
  border: 1px dashed #3b4351;
  border-radius: 6px;
}
.sv2-reference-empty > svg {
  color: var(--sv-dim);
  width: 25px;
  height: 25px;
}
.sv2-reference-empty p {
  font-size: 14px;
  color: var(--sv-muted);
  margin: 8px 0 12px;
}
.sv2-references {
  margin-top: 12px;
  min-width: 0;
}
.sv2-references > .sv2-panel-head {
  padding: 10px 0;
  border: 0;
  gap: 4px;
}
.sv2-references .sv2-btn {
  font-size: 14px;
  padding: 6px 8px;
}
.sv2-reference-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.sv2-reference {
  border: 1px solid #303846;
  border-radius: 6px;
  overflow: hidden;
  background: #11141b;
  min-width: 0;
}
.sv2-reference-preview {
  grid-template-rows: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
  height: 145px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #0b0d12;
}
.sv2-reference-preview:has(audio) {
  height: 90px;
  padding: 10px;
}
.sv2-reference-preview img,
.sv2-reference-preview video {
  min-height: 0;
  min-width: 0;
  max-height: 100%;
  max-width: 100%;
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.sv2-reference-copy {
  padding: 10px 12px;
  min-width: 0;
}
.sv2-reference-copy > strong {
  display: block;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.sv2-reference-copy > small {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-reference-copy .sv2-actions {
  margin: 7px -5px -4px;
  justify-content: flex-end;
}
.sv2-audio {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}
.sv2-audio > svg {
  color: var(--sv-accent);
  width: 18px;
  height: 18px;
}
.sv2-audio audio {
  display: block;
  width: 100%;
  min-width: 0;
  height: 40px;
}
.sv2-media-missing {
  height: 100%;
  min-height: 70px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #8b95a7;
  gap: 9px;
  background: #0d1016;
  font-size: 12px;
  padding: 10px;
}
.sv2-media-missing svg {
  width: 24px;
  height: 24px;
}
.sv2-create-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.sv2-workspace-create {
  padding: 13px 18px 24px;
}
.sv2-storyboard {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scrollbar-width: thin;
  scrollbar-color: #414656 transparent;
  scroll-snap-type: x proximity;
}
.sv2-shot-card {
  flex: 0 0 164px;
  background: #141820;
  border: 1px solid #313846;
  border-radius: 6px;
  color: var(--sv-text);
  padding: 5px;
  text-align: left;
  overflow: hidden;
  scroll-snap-align: start;
}
.sv2-shot-card:hover {
  border-color: #74708b;
}
.sv2-shot-card.is-selected {
  border-color: #b294ff;
  background: #231d35;
  box-shadow: 0 0 0 1px #9d7bdd;
}
.sv2-shot-thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: #090a0d;
  overflow: hidden;
  border-radius: 3px;
}
.sv2-shot-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sv2-shot-thumb > span {
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 3px;
  padding: 2px 5px;
  background: #0a0c11bd;
}
.sv2-shot-thumb > small {
  position: absolute;
  right: 5px;
  bottom: 4px;
  font-size: 12px;
  border-radius: 3px;
  background: #0a0c11bd;
  padding: 1px 4px;
}
.sv2-shot-card > strong {
  font-size: 14px;
  font-weight: 550;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding: 7px 5px 0;
  line-height: 1.4;
  min-height: 25px;
}
.sv2-shot-card-status {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--sv-muted);
  padding: 5px 5px 2px;
}
.sv2-shot-card-status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #737c8a;
}
.sv2-shot-card-status i.sv2-dot-green {
  background: var(--sv-green);
}
.sv2-selected-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 2px 15px;
}
.sv2-selected-header h2 {
  font-size: 20px;
  margin-top: 4px;
  line-height: 1.4;
}
.sv2-selected-header > .sv2-actions {
  flex-shrink: 0;
}
.sv2-create-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 336px;
  gap: 14px;
  align-items: stretch;
}
.sv2-viewer-workspace {
  min-width: 0;
}
.sv2-viewer {
  height: clamp(390px, 52vh, 560px);
  position: relative;
  background: #060709;
  border: 1px solid #292e39;
  border-radius: 7px 7px 0 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 0;
}
/* Definite media bounds prevent intrinsic image/video dimensions expanding the grid. */
.sv2-viewer-screen {
  position: absolute;
  inset: 0;
  min-height: 0;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.sv2-viewer-screen > img,
.sv2-viewer-screen > video {
  display: block;
  height: 100%;
  width: 100%;
  min-height: 0;
  min-width: 0;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  aspect-ratio: auto;
  background: #060709;
}
.sv2-viewer-badge {
  position: absolute;
  left: 14px;
  top: 13px;
  z-index: 1;
  font-size: 12px;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  background: #0b0d13ce;
  border: 1px solid #57586377;
  border-radius: 4px;
  color: #ccd2dd;
  pointer-events: none;
}
.sv2-viewer-badge svg {
  height: 13px;
  width: 13px;
}
.sv2-frame-corners {
  position: absolute;
  inset: 35px;
  pointer-events: none;
  background:
    linear-gradient(#aaa6, #aaa6) left top/14px 1px no-repeat,
    linear-gradient(#aaa6, #aaa6) left top/1px 14px no-repeat,
    linear-gradient(#aaa6, #aaa6) right bottom/14px 1px no-repeat,
    linear-gradient(#aaa6, #aaa6) right bottom/1px 14px no-repeat;
}
.sv2-viewer-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  color: var(--sv-dim);
  padding: 10px 14px;
  min-height: 38px;
  background: #141820;
  border: 1px solid var(--sv-border);
  border-top: 0;
  border-radius: 0 0 6px 6px;
}
.sv2-viewer-foot > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.sv2-viewer-foot > span:last-child {
  white-space: nowrap;
}
.sv2-takes-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 2px 0;
}
.sv2-takes-bar > div:first-child {
  display: flex;
  align-items: center;
  gap: 11px;
}
.sv2-takes-bar > div > svg {
  color: var(--sv-dim);
}
.sv2-takes-bar strong {
  font-size: 14px;
  font-weight: 550;
}
.sv2-takes-bar small {
  display: block;
  color: var(--sv-dim);
  font-size: 12px;
  margin-top: 2px;
}
.sv2-shot-inspector {
  display: flex;
  flex-direction: column;
  max-height: calc(clamp(340px, 45vh, 490px) + 108px);
  min-width: 0;
}
.sv2-context-tabs {
  display: flex;
  border-bottom: 1px solid var(--sv-border);
  padding: 0 9px;
  flex-shrink: 0;
  gap: 2px;
}
.sv2-context-tabs button {
  min-height: 43px;
  flex: 1;
  background: transparent;
  color: var(--sv-muted);
  font-size: 14px;
  padding: 9px 8px;
  border-bottom: 2px solid transparent;
}
.sv2-context-tabs button.is-active {
  color: #d5c5ff;
  border-color: #a184e2;
}
.sv2-context-scroll {
  padding: 18px;
  overflow-y: auto;
  min-height: 0;
  scrollbar-width: thin;
}
.sv2-context-scroll .sv2-context-heading h2 {
  font-size: 17px;
}
.sv2-context-scroll .sv2-context-heading {
  margin-bottom: 8px;
}
.sv2-accordion {
  border-bottom: 1px solid #2a313d;
}
.sv2-accordion summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 0;
  font-size: 13px;
  font-weight: 600;
  color: #c4cbd8;
}
.sv2-accordion summary > .sv2-icon:last-child {
  margin-left: auto;
  width: 14px;
  height: 14px;
  color: var(--sv-dim);
  transition: transform 0.15s;
}
.sv2-accordion[open] > summary > .sv2-icon:last-child {
  transform: rotate(180deg);
}
.sv2-accordion > div {
  padding: 0 0 14px;
}
.sv2-intention {
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: #d3d9e5;
}
.sv2-direction-value {
  margin: 12px 0 0;
  overflow-wrap: anywhere;
}
.sv2-direction-value > span {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-direction-value > p {
  font-size: 14px;
  line-height: 1.7;
  white-space: pre-wrap;
  margin-top: 3px;
  color: #c5cddc;
}
.sv2-linked-element {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--sv-subtle);
  min-width: 0;
}
.sv2-link-thumb {
  flex: 0 0 45px;
  height: 48px;
  overflow: hidden;
  border-radius: 4px;
}
.sv2-link-thumb img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.sv2-linked-element > div:nth-child(2) {
  min-width: 0;
  flex: 1;
}
.sv2-linked-element strong {
  display: block;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.sv2-linked-element span {
  display: block;
  font-size: 12px;
  color: var(--sv-muted);
  margin-top: 2px;
}
.sv2-linked-element small {
  display: block;
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-linked-element > .sv2-btn {
  padding: 6px;
}
.sv2-mobile-context {
  display: none;
}
.sv2-timeline {
  margin-top: 20px;
  border: 1px solid var(--sv-border);
  border-radius: 7px;
  background: #12161d;
  overflow: hidden;
}
.sv2-timeline-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--sv-border);
  min-height: 48px;
}
.sv2-timeline-head > button {
  background: transparent;
  color: #c7d0de;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.sv2-timeline-head > span {
  margin-left: auto;
  color: var(--sv-dim);
  font-size: 12px;
}
.sv2-timeline-head > button svg:last-child {
  width: 13px;
}
.sv2-timeline.is-collapsed .sv2-timeline-head {
  border-bottom: 0;
}
.sv2-timeline.is-collapsed .sv2-timeline-head > button svg:last-child {
  transform: rotate(180deg);
}
.sv2-timeline-body {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  min-height: 120px;
}
.sv2-track-label {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  border-right: 1px solid var(--sv-border);
  color: #b8c2d3;
  font-size: 12px;
}
.sv2-track-label small {
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-timeline-scroll {
  overflow: auto;
  padding: 0 12px 12px;
  scrollbar-width: thin;
}
.sv2-time-ruler {
  display: flex;
  height: 30px;
  color: #79869b;
  align-items: center;
  font-size: 12px;
}
.sv2-time-ruler span {
  flex: 0 0 175px;
  border-left: 1px solid #41495a;
  padding-left: 5px;
}
.sv2-timeline-clips {
  display: flex;
  gap: 5px;
  width: max-content;
}
.sv2-timeline-clip {
  display: flex;
  gap: 8px;
  width: 170px;
  min-height: 58px;
  align-items: center;
  border-radius: 4px;
  background: #272536;
  border: 1px solid #514566;
  text-align: left;
  color: var(--sv-text);
  padding: 6px;
}
.sv2-timeline-clip.is-selected {
  border-color: #b89bff;
  background: #3c3058;
  box-shadow: inset 0 0 0 1px #a88cdb;
}
.sv2-timeline-clip > span {
  display: block;
  height: 39px;
  flex: 0 0 43px;
  overflow: hidden;
  border-radius: 2px;
}
.sv2-timeline-clip img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.sv2-timeline-clip > div {
  min-width: 0;
}
.sv2-timeline-clip strong {
  font-size: 12px;
  line-height: 1.45;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.sv2-timeline-clip small {
  display: block;
  color: #b6adca;
  font-size: 12px;
  margin-top: 3px;
}
.sv2-finish-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  overflow: auto;
}
.sv2-finish-tabs > button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  min-height: 38px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--sv-muted);
  white-space: nowrap;
  font-size: 14px;
}
.sv2-finish-tabs > button.is-active {
  background: #282237;
  border-color: #4d405f;
  color: #d6c8f5;
}
.sv2-finish-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 16px;
}
.sv2-assembly-frame {
  min-height: 340px;
  height: 40vh;
  background: #090b0f;
  display: grid;
  place-items: center;
  border: 1px solid #29303b;
  border-radius: 7px 7px 0 0;
  padding: 40px;
}
.sv2-assembly-frame > div {
  max-width: 430px;
  text-align: center;
}
.sv2-assembly-frame > div > svg {
  width: 38px;
  height: 38px;
  color: #646c7f;
  margin-bottom: 20px;
}
.sv2-assembly-frame h2 {
  font-size: 22px;
  margin-top: 8px;
  color: #bfc6d3;
}
.sv2-assembly-frame p {
  color: var(--sv-dim);
  font-size: 14px;
  line-height: 1.8;
  margin: 13px 0 20px;
}
.sv2-finish-context {
  padding: 22px;
  overflow-y: auto;
  max-height: calc(40vh + 40px);
  min-height: 380px;
  scrollbar-width: thin;
}
.sv2-finish-tracks {
  margin-top: 20px;
}
.sv2-track-empty {
  display: grid;
  grid-template-columns: 170px 1fr;
  min-height: 62px;
  border-bottom: 1px solid var(--sv-subtle);
  align-items: center;
}
.sv2-track-empty > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px;
  border-right: 1px solid var(--sv-border);
  height: 100%;
  font-size: 14px;
  color: var(--sv-muted);
}
.sv2-track-empty > span {
  margin: 12px 20px;
  padding: 9px 16px;
  border: 1px dashed #313a48;
  border-radius: 4px;
  font-size: 12px;
  color: var(--sv-dim);
}
.sv2-future {
  padding: 4px;
  max-width: 660px;
}
.sv2-future-symbol {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  background: #282237;
  color: var(--sv-accent);
  border: 1px solid #45375f;
  border-radius: 9px;
  margin-bottom: 20px;
}
.sv2-future-symbol svg {
  width: 23px;
  height: 23px;
}
.sv2-future h2 {
  font-size: 24px;
  line-height: 1.4;
  margin: 10px 0 14px;
  max-width: 420px;
}
.sv2-future > p {
  color: var(--sv-muted);
  font-size: 14px;
  line-height: 1.8;
}
.sv2-future-groups {
  margin-top: 26px;
}
.sv2-future-groups details {
  border-top: 1px solid var(--sv-border);
}
.sv2-future-groups summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  font-size: 14px;
  color: #ccd3e0;
}
.sv2-future-groups summary svg {
  width: 14px;
}
.sv2-future-groups ul {
  margin: 0 0 16px;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--sv-muted);
}
.sv2-future-compact h2 {
  font-size: 19px;
}
.sv2-future-compact .sv2-future-symbol {
  width: 35px;
  height: 35px;
  margin-bottom: 16px;
}
.sv2-future-compact .sv2-future-groups {
  margin-top: 18px;
}
.sv2-future-notice {
  margin-top: 18px;
  padding: 16px;
  background: #1a1d26;
  border: 1px solid var(--sv-border);
  border-radius: 6px;
}
.sv2-future-notice strong {
  font-size: 14px;
}
.sv2-future-notice p {
  font-size: 14px;
  color: var(--sv-muted);
  line-height: 1.7;
  margin-top: 7px;
}
.sv2-empty {
  padding: 36px 24px;
  text-align: center;
  max-width: 580px;
  margin: auto;
  grid-column: 1/-1;
}
.sv2-empty > svg {
  height: 29px;
  width: 29px;
  color: var(--sv-dim);
  margin-bottom: 12px;
}
.sv2-empty h3 {
  font-size: 17px;
}
.sv2-empty p {
  color: var(--sv-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 8px 0 16px;
}
.sv2-context-scroll .sv2-empty {
  padding: 20px 4px;
}
.sv2-inline-note {
  padding: 14px 18px;
  font-size: 14px;
  color: var(--sv-muted);
  line-height: 1.7;
}
.sv2-menu {
  position: relative;
}
.sv2-menu summary {
  padding: 9px;
  color: var(--sv-muted);
}
.sv2-menu > div {
  position: absolute;
  right: 0;
  top: 40px;
  min-width: 225px;
  padding: 6px;
  border: 1px solid #404959;
  border-radius: 8px;
  background: #1a1e27;
  box-shadow: 0 15px 45px #0008;
  z-index: 20;
}
.sv2-menu > div > * {
  display: flex;
  width: 100%;
  text-align: left;
  justify-content: flex-start;
  padding: 11px;
  background: none;
  border: 0;
  font-size: 14px;
  color: var(--sv-text);
}
.sv2-menu > div > a {
  gap: 8px;
}
.sv2-toast {
  position: fixed;
  bottom: 45px;
  left: 50%;
  transform: translateX(-50%);
  background: #252f35;
  border: 1px solid #586570;
  border-radius: 7px;
  color: #ecf2f0;
  font-size: 14px;
  box-shadow: 0 8px 30px #0009;
  padding: 12px 20px;
  z-index: 40;
  max-width: calc(100vw - 32px);
  display: none;
}
.sv2-toast.is-visible {
  display: block;
}
.sv2-notice {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 22px;
  background: #30252a;
  color: #f3d1d3;
  border-bottom: 1px solid #64434b;
  font-size: 14px;
  line-height: 1.7;
}
.sv2-notice p {
  max-width: 900px;
}
.sv2-notice .sv2-actions {
  flex-shrink: 0;
}
.sv2-demo-notice {
  padding: 8px 22px;
  font-size: 12px;
  background: #282236;
  color: #d5c6ef;
}
.sv2-demo-notice a {
  text-decoration: underline;
}
.sv2-dialog {
  padding: 0;
  width: min(720px, calc(100vw - 40px));
  max-height: 90dvh;
  overflow: hidden;
  border: 1px solid #465066;
  border-radius: 10px;
  color: var(--sv-text);
  background: #171b23;
  box-shadow: 0 25px 100px #000a;
}
.sv2-dialog::backdrop {
  background: #04060ab8;
  backdrop-filter: blur(3px);
}
.sv2-dialog[open] {
  display: flex;
  flex-direction: column;
}
.sv2-dialog-head {
  padding: 18px 22px;
  border-bottom: 1px solid var(--sv-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-shrink: 0;
}
.sv2-dialog-head h2 {
  font-size: 19px;
}
.sv2-dialog-head small {
  display: block;
  color: var(--sv-dim);
  font-size: 12px;
  margin-top: 4px;
}
.sv2-dialog-body {
  padding: 24px;
  overflow-y: auto;
  min-height: 0;
  scrollbar-width: thin;
}
.sv2-dialog-foot {
  padding: 14px 22px;
  border-top: 1px solid var(--sv-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.sv2-dialog form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.sv2-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.sv2-form-grid > .sv2-accordion {
  grid-column: 1/-1;
}
.sv2-form-grid > .sv2-accordion > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sv2-form-error {
  padding: 13px 22px;
  background: #35272d;
  color: #f4b7be;
  font-size: 14px;
  line-height: 1.7;
  flex-shrink: 0;
}
.sv2-form-error:empty {
  display: none;
}
.sv2-dialog.sv2-sheet {
  width: min(560px, calc(100vw - 24px));
  margin-right: 12px;
  height: calc(100dvh - 24px);
  max-height: calc(100dvh - 24px);
}
.sv2-sheet .sv2-dialog-body {
  padding: 22px;
  flex: 1;
}
.sv2-picker {
  width: min(980px, calc(100vw - 40px));
  height: min(800px, 90dvh);
}
.sv2-dialog form.sv2-picker-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px auto;
  flex: 0 0 auto;
  min-width: 0;
  gap: 12px;
  align-items: end;
  padding: 16px 22px;
  border-bottom: 1px solid var(--sv-border);
}
.sv2-picker-controls .sv2-field {
  min-width: 0;
}
.sv2-picker > #pickerResults {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.sv2-picker-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  grid-auto-rows: max-content;
}
.sv2-picker-item {
  padding: 0;
  min-width: 0;
  text-align: left;
  background: #10131b;
  border: 1px solid #384151;
  border-radius: 6px;
  color: var(--sv-text);
  overflow: hidden;
}
.sv2-picker-item.is-selected {
  border-color: #b092ff;
  box-shadow: 0 0 0 1px #b092ff;
}
.sv2-picker-thumb {
  aspect-ratio: 1.5;
  overflow: hidden;
}
.sv2-picker-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sv2-picker-item > strong {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  padding: 10px 10px 3px;
  overflow-wrap: anywhere;
}
.sv2-picker-item > small {
  display: block;
  font-size: 12px;
  color: var(--sv-dim);
  padding: 0 10px 10px;
}
.sv2-picker-foot {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.sv2-picker-foot > .sv2-field {
  flex: 1;
  max-width: 280px;
}
.sv2-picker-foot > .sv2-actions {
  margin-left: auto;
}
.sv2-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.sv2-dialog .sv2-pagination {
  margin-top: 18px;
}
.sv2-structure-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sv2-structure-row {
  padding: 14px;
  border: 1px solid #333c4a;
  border-radius: 6px;
  background: #11151c;
  display: flex;
  align-items: center;
  gap: 12px;
}
.sv2-structure-row > div:first-child {
  min-width: 0;
  flex: 1;
}
.sv2-structure-row strong {
  font-size: 14px;
  display: block;
  overflow-wrap: anywhere;
}
.sv2-structure-row small {
  color: var(--sv-muted);
  font-size: 12px;
  display: block;
}
.sv2-structure-row > .sv2-actions {
  flex-shrink: 0;
}
.sv2-production-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.sv2-production-card {
  background: var(--sv-panel);
  border: 1px solid var(--sv-border);
  border-radius: 9px;
  overflow: hidden;
}
.sv2-production-card:hover {
  border-color: #8a75b4;
}
.sv2-production-cover {
  height: 130px;
  background: #191622;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  color: #ab96ca;
  font-size: 12px;
}
.sv2-production-cover svg {
  height: 30px;
  width: 30px;
}
.sv2-production-open > div:last-child {
  padding: 20px;
}
.sv2-production-card h3 {
  font-size: 18px;
  margin-bottom: 10px;
}
.sv2-production-card p {
  font-size: 14px;
  color: var(--sv-muted);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 66px;
}
.sv2-production-card footer {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.sv2-entry-tools {
  margin-bottom: 18px;
}
::-webkit-scrollbar {
  height: 6px;
  width: 6px;
}
::-webkit-scrollbar-thumb {
  background: #454d5d;
  border-radius: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
@media (min-width: 1600px) {
  .sv2-create-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
  }
  .sv2-element-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sv2-workspace {
    padding-left: 30px;
    padding-right: 30px;
  }
  .sv2-viewer {
    height: min(52vh, 600px);
  }
}
@media (max-width: 1280px) {
  .sv2-stage-nav {
    gap: 14px;
  }
  .sv2-create-grid {
    grid-template-columns: minmax(0, 1fr) 305px;
  }
  .sv2-prep-grid {
    grid-template-columns: minmax(0, 1fr) 305px;
  }
  .sv2-element-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sv2-header {
    padding-left: 20px;
    padding-right: 20px;
  }
  .sv2-workspace {
    padding: 18px;
  }
  .sv2-workspace-create {
    padding-top: 12px;
  }
  .sv2-context-scroll {
    padding: 16px;
  }
  .sv2-format {
    gap: 7px;
  }
  .sv2-type {
    display: none;
  }
  .sv2-finish-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
  .sv2-takes-bar small {
    font-size: 12px;
  }
  .sv2-develop-grid {
    grid-template-columns: minmax(0, 1fr) 290px;
  }
  .sv2-brief-content {
    padding: 22px;
  }
}
@media (max-width: 1100px) {
  .sv2-format {
    display: none;
  }
  .sv2-stage-nav {
    justify-content: space-between;
  }
  .sv2-stage {
    flex: 1;
  }
  .sv2-workspace {
    padding: 18px;
  }
  .sv2-create-grid {
    display: block;
  }
  .sv2-shot-inspector {
    display: none;
  }
  .sv2-mobile-context {
    display: flex;
    gap: 6px;
    margin-top: 18px;
    overflow: auto;
  }
  .sv2-mobile-context button {
    padding: 9px 14px;
    min-height: 38px;
    border-radius: 5px;
    white-space: nowrap;
    background: #20252f;
    color: var(--sv-muted);
    border: 1px solid #394253;
    font-size: 14px;
  }
  .sv2-mobile-context button[aria-pressed="true"] {
    color: #d9caff;
    background: #2c233f;
    border-color: #685284;
  }
  .sv2-viewer {
    height: clamp(340px, 47vh, 500px);
  }
  .sv2-prep-grid {
    grid-template-columns: minmax(0, 1fr) 290px;
  }
  .sv2-stage-heading h2 {
    font-size: 22px;
  }
  .sv2-scene-board {
    gap: 12px;
    padding: 14px;
  }
  .sv2-scene-copy {
    padding: 12px;
  }
  .sv2-scene-copy .sv2-actions {
    flex-wrap: wrap;
  }
  .sv2-finish-context {
    min-height: 380px;
  }
  .sv2-develop-grid {
    grid-template-columns: minmax(0, 1fr) 270px;
  }
  .sv2-brief-copy {
    font-size: 15px;
  }
}
@media (max-width: 900px) {
  .sv2-develop-grid {
    grid-template-columns: 1fr;
  }
  .sv2-planning-context {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .sv2-planning-context > .sv2-panel-head {
    grid-column: 1/-1;
  }
  .sv2-planning-context .sv2-divider {
    display: none;
  }
  .sv2-director-invite {
    border-left: 1px solid var(--sv-border);
  }
  .sv2-prep-grid {
    display: block;
  }
  .sv2-prep-inspector {
    display: none;
  }
  .sv2-element-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sv2-scene-board {
    grid-template-columns: 1fr 1fr;
  }
  .sv2-finish-grid {
    grid-template-columns: 1fr;
  }
  .sv2-finish-context {
    max-height: none;
    min-height: 0;
  }
  .sv2-future-compact .sv2-future-groups {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .sv2-context-scroll .sv2-future-groups,
  .sv2-sheet .sv2-future-groups {
    display: block;
  }
  .sv2-assembly-frame {
    min-height: 300px;
    height: 360px;
  }
  .sv2-header-actions {
    gap: 8px;
  }
  .sv2-header .sv2-btn {
    padding: 7px 9px;
  }
  .sv2-header .sv2-save {
    min-width: 62px;
    font-size: 12px;
  }
  .sv2-title-line h1 {
    max-width: 40vw;
  }
  .sv2-production-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sv2-picker-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  :root:not([data-public-studio]) {
    font-size: 15px;
  }
  .sv2-shell {
    display: block;
    height: 100dvh;
  }
  .sv2-main {
    height: 100dvh;
  }
  .sv2-rail {
    display: none;
  }
  .sv2-header {
    height: 64px;
    padding: 10px 14px;
    gap: 8px;
  }
  .sv2-title-line h1 {
    font-size: 18px;
    max-width: 63vw;
  }
  .sv2-breadcrumb {
    font-size: 12px;
    margin-bottom: 5px;
  }
  .sv2-header-actions {
    gap: 1px;
  }
  .sv2-header-actions > .sv2-btn {
    display: none;
  }
  .sv2-header .sv2-save {
    position: absolute;
    right: 74px;
    top: 12px;
    font-size: 12px;
    min-width: 0;
  }
  .sv2-title-line .sv2-type {
    display: none;
  }
  .sv2-header .sv2-menu summary {
    min-width: 44px;
    min-height: 44px;
    display: grid;
    place-content: center;
  }
  .sv2-stage-nav {
    padding: 0 7px;
    gap: 0;
    min-height: 61px;
  }
  .sv2-stage {
    min-width: 0;
    padding: 9px 7px;
    justify-content: center;
    gap: 5px;
    flex: 1;
  }
  .sv2-stage strong {
    font-size: 14px;
  }
  .sv2-stage small {
    display: none;
  }
  .sv2-stage-number {
    border: 0;
    width: 19px;
    height: 22px;
    font-size: 12px;
    background: none;
  }
  .sv2-stage.is-active {
    color: #d5c5ff;
  }
  .sv2-statusbar {
    height: 24px;
    padding: 0 12px;
    font-size: 12px;
  }
  .sv2-statusbar > span:last-child {
    display: none;
  }
  .sv2-workspace {
    padding: 20px 14px 26px;
    scrollbar-gutter: auto;
  }
  .sv2-workspace-create {
    padding-top: 12px;
  }
  .sv2-stage-heading {
    display: block;
    margin-bottom: 22px;
  }
  .sv2-stage-heading h2 {
    font-size: 23px;
    line-height: 1.35;
    margin: 9px 0;
  }
  .sv2-stage-heading p {
    font-size: 14px;
    line-height: 1.7;
  }
  .sv2-stage-heading > .sv2-btn {
    margin-top: 16px;
  }
  .sv2-eyebrow {
    font-size: 12px;
  }
  .sv2-btn {
    min-height: 44px;
    font-size: 14px;
    padding: 9px 12px;
  }
  .sv2-panel-head {
    padding: 14px;
  }
  .sv2-panel-head > .sv2-actions {
    gap: 2px;
  }
  .sv2-panel-head .sv2-btn {
    font-size: 14px;
    padding: 8px;
    min-height: 44px;
  }
  .sv2-brief-content {
    padding: 22px 18px;
  }
  .sv2-brief-content h3 {
    font-size: 25px;
  }
  .sv2-brief-copy {
    font-size: 16px;
    line-height: 1.75;
  }
  .sv2-direction p {
    font-size: 14px;
  }
  .sv2-brief-facts {
    gap: 13px;
    flex-wrap: wrap;
  }
  .sv2-planning-context {
    display: block;
  }
  .sv2-director-invite {
    border-left: 0;
    border-top: 1px solid var(--sv-border);
  }
  .sv2-scene-board {
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .sv2-scene-cover {
    aspect-ratio: 2.2;
  }
  .sv2-scene-copy {
    padding: 16px;
  }
  .sv2-scene-copy h3 {
    font-size: 17px;
  }
  .sv2-scene-copy p {
    font-size: 14px;
  }
  .sv2-scene-number {
    font-size: 12px;
  }
  .sv2-story > .sv2-panel-head {
    flex-wrap: wrap;
  }
  .sv2-story > .sv2-panel-head > .sv2-actions {
    flex-wrap: wrap;
  }
  .sv2-story .sv2-panel-foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .sv2-filter-strip {
    padding: 9px;
    gap: 5px;
  }
  .sv2-filter-strip button {
    min-height: 44px;
    font-size: 14px;
  }
  .sv2-element-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }
  .sv2-element-preview {
    aspect-ratio: 1.8;
  }
  .sv2-element-copy {
    padding: 16px;
  }
  .sv2-element-copy h3 {
    font-size: 18px;
  }
  .sv2-element-copy p {
    font-size: 14px;
    line-height: 1.6;
    min-height: 0;
  }
  .sv2-element-copy .sv2-badge,
  .sv2-element-copy .sv2-meta {
    font-size: 12px;
  }
  .sv2-panel-foot {
    padding: 12px;
  }
  .sv2-create-toolbar {
    gap: 6px;
    margin-bottom: 10px;
  }
  .sv2-create-toolbar > .sv2-actions:first-child .sv2-meta {
    display: none;
  }
  .sv2-create-toolbar > .sv2-actions .sv2-btn {
    padding: 8px;
    min-height: 44px;
    font-size: 14px;
  }
  .sv2-create-toolbar > .sv2-actions:last-child {
    gap: 3px;
  }
  .sv2-storyboard {
    gap: 10px;
    padding-bottom: 12px;
  }
  .sv2-shot-card {
    flex-basis: 158px;
  }
  .sv2-shot-card > strong {
    font-size: 14px;
  }
  .sv2-shot-card-status {
    font-size: 12px;
    padding-top: 6px;
  }
  .sv2-shot-thumb > small,
  .sv2-shot-thumb > span {
    font-size: 12px;
  }
  .sv2-selected-header {
    align-items: flex-start;
    padding: 15px 1px;
    gap: 10px;
  }
  .sv2-selected-header h2 {
    font-size: 20px;
    line-height: 1.35;
  }
  .sv2-selected-header > .sv2-actions {
    gap: 0;
  }
  .sv2-selected-header > .sv2-actions > .sv2-badge {
    display: none;
  }
  .sv2-selected-header > .sv2-actions > .sv2-btn {
    padding: 9px;
    min-width: 40px;
  }
  .sv2-viewer {
    height: auto;
    min-height: 0;
    aspect-ratio: 16/10;
    max-height: 60dvh;
  }
  .sv2-viewer[data-ratio="9:16"] {
    height: 55dvh;
    aspect-ratio: auto;
  }
  .sv2-viewer[data-ratio="1:1"] {
    aspect-ratio: 1;
  }
  .sv2-viewer-badge {
    left: 9px;
    top: 9px;
    font-size: 12px;
    padding: 4px 6px;
  }
  .sv2-frame-corners {
    inset: 25px;
  }
  .sv2-viewer-foot {
    font-size: 12px;
    gap: 12px;
    padding: 10px;
    min-height: 37px;
  }
  .sv2-viewer-foot > span:last-child {
    display: none;
  }
  .sv2-takes-bar {
    flex-wrap: wrap;
    padding-top: 17px;
    gap: 12px;
  }
  .sv2-takes-bar strong {
    font-size: 14px;
  }
  .sv2-takes-bar small {
    font-size: 12px;
  }
  .sv2-takes-bar > .sv2-actions {
    margin-left: auto;
  }
  .sv2-mobile-context {
    margin-top: 18px;
    padding-bottom: 9px;
    gap: 7px;
  }
  .sv2-mobile-context button {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 14px;
  }
  .sv2-timeline {
    margin-top: 13px;
  }
  .sv2-timeline-head {
    padding: 6px 8px;
    gap: 6px;
    flex-wrap: wrap;
  }
  .sv2-timeline-head > button {
    font-size: 14px;
    min-height: 44px;
  }
  .sv2-timeline-head > span {
    font-size: 12px;
    display: none;
  }
  .sv2-timeline-head > .sv2-btn {
    margin-left: auto;
  }
  .sv2-timeline-body {
    grid-template-columns: 62px minmax(0, 1fr);
  }
  .sv2-track-label {
    font-size: 12px;
  }
  .sv2-timeline-clip {
    min-height: 63px;
  }
  .sv2-timeline-clip strong {
    font-size: 12px;
  }
  .sv2-timeline-clip small {
    font-size: 12px;
  }
  .sv2-time-ruler {
    font-size: 12px;
  }
  .sv2-finish-tabs {
    gap: 4px;
    padding-bottom: 4px;
  }
  .sv2-finish-tabs > button {
    font-size: 14px;
    min-height: 44px;
    padding: 10px 12px;
  }
  .sv2-finish-tabs > button > svg {
    width: 16px;
  }
  .sv2-finish-grid {
    gap: 16px;
  }
  .sv2-assembly-frame {
    height: 340px;
    min-height: 0;
    padding: 25px;
  }
  .sv2-assembly-frame h2 {
    font-size: 21px;
  }
  .sv2-assembly-frame p {
    font-size: 14px;
  }
  .sv2-finish-context {
    padding: 20px;
  }
  .sv2-future-compact .sv2-future-groups {
    display: block;
  }
  .sv2-track-empty {
    grid-template-columns: 85px minmax(0, 1fr);
  }
  .sv2-track-empty > div {
    padding: 12px;
    gap: 6px;
    font-size: 14px;
    flex-direction: column;
    justify-content: center;
  }
  .sv2-track-empty > span {
    font-size: 12px;
    margin: 10px;
    padding: 9px 11px;
  }
  .sv2-finish-tracks .sv2-meta {
    font-size: 12px;
  }
  .sv2-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 10px;
    margin: auto;
  }
  .sv2-dialog-head {
    padding: 14px 16px;
    gap: 12px;
  }
  .sv2-dialog-head h2 {
    font-size: 19px;
  }
  .sv2-dialog-head > .sv2-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .sv2-dialog-body {
    padding: 18px 16px;
  }
  .sv2-form-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .sv2-form-grid > .sv2-accordion > div {
    grid-template-columns: 1fr;
  }
  .sv2-field > span {
    font-size: 14px;
  }
  input,
  select,
  textarea {
    font-size: 16px;
    min-height: 44px;
    padding: 10px 12px;
  }
  .sv2-dialog-foot {
    padding: 12px 16px;
    gap: 8px;
  }
  .sv2-dialog-foot .sv2-actions {
    gap: 6px;
    flex-wrap: wrap;
  }
  .sv2-dialog-foot > .sv2-meta {
    font-size: 12px;
  }
  .sv2-dialog.sv2-sheet {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
  }
  .sv2-sheet .sv2-dialog-body {
    padding: 22px 20px;
  }
  .sv2-context-heading h2 {
    font-size: 21px;
  }
  .sv2-context-description {
    font-size: 15px;
  }
  .sv2-context-heading .sv2-eyebrow {
    font-size: 12px;
  }
  .sv2-accordion summary {
    font-size: 14px;
    min-height: 48px;
  }
  .sv2-direction-value > span {
    font-size: 12px;
  }
  .sv2-direction-value > p,
  .sv2-intention {
    font-size: 15px;
  }
  .sv2-references .sv2-btn {
    font-size: 14px;
    min-height: 44px;
  }
  .sv2-reference-copy > strong {
    font-size: 14px;
  }
  .sv2-reference-copy > small {
    font-size: 14px;
  }
  .sv2-reference-preview {
    height: 180px;
  }
  .sv2-reference-preview:has(audio) {
    height: 100px;
  }
  .sv2-linked-element strong {
    font-size: 14px;
  }
  .sv2-linked-element span,
  .sv2-linked-element small {
    font-size: 12px;
  }
  .sv2-linked-element .sv2-btn {
    min-width: 44px;
  }
  .sv2-future h2 {
    font-size: 23px;
  }
  .sv2-future > p {
    font-size: 15px;
  }
  .sv2-future-groups summary {
    font-size: 14px;
    min-height: 48px;
  }
  .sv2-future-groups ul {
    font-size: 14px;
  }
  .sv2-picker {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }
  .sv2-dialog form.sv2-picker-controls {
    padding: 12px 16px;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .sv2-picker-controls .sv2-field:first-child {
    grid-column: 1 / -1;
  }
  .sv2-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .sv2-picker-item > strong {
    font-size: 14px;
  }
  .sv2-picker-item > small {
    font-size: 12px;
  }
  .sv2-picker-foot {
    flex-wrap: wrap;
    gap: 12px;
  }
  .sv2-picker-foot > .sv2-field {
    width: 100%;
    max-width: none;
    flex-basis: 100%;
  }
  .sv2-picker-foot > .sv2-actions {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }
  .sv2-dialog .sv2-pagination {
    gap: 8px;
  }
  .sv2-notice {
    padding: 12px 14px;
    display: block;
  }
  .sv2-notice .sv2-actions {
    margin-top: 8px;
  }
  .sv2-structure-row {
    flex-wrap: wrap;
    padding: 12px;
  }
  .sv2-structure-row > .sv2-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .sv2-structure-row > .sv2-actions > .sv2-btn {
    min-height: 44px;
  }
  .sv2-production-grid {
    grid-template-columns: 1fr;
  }
  .sv2-production-card p {
    font-size: 14px;
  }
  .sv2-production-card h3 {
    font-size: 20px;
  }
  .sv2-brief-facts strong {
    font-size: 14px;
  }
  .sv2-filter-strip button span {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

.sv2-references .sv2-btn,
.sv2-context-tabs button,
.sv2-filter-strip button,
.sv2-panel-head .sv2-btn {
  font-size: 14px;
}

/* Phase A: native reference preparation surfaces. */
.sv2-board-actions { flex-wrap: wrap; margin: 12px 0; }
.sv2-upload-drop { display: grid; gap: 16px; padding: 24px; border: 1px dashed #82739f; border-radius: 10px; background: #191621; }
.sv2-upload-drop input { max-width: 100%; min-height: 44px; }
.sv2-upload-item,.sv2-lineage { display: grid; gap: 8px; padding: 16px 0; border-bottom: 1px solid #343747; overflow-wrap: anywhere; }
.sv2-upload-item progress { width: 100%; accent-color: #a986ff; }
.sv2-upload-item p { color: #f4b4ad; }
.sv2-lineage span,.sv2-lineage small { color: #b3b8c8; }
.sv2-full-preview { display: grid; min-height: 220px; max-height: 65vh; }
.sv2-full-preview img,.sv2-full-preview video { width: 100%; max-height: 65vh; object-fit: contain; }
.sv2-references .sv2-actions .sv2-btn { min-height: 44px; }

.sv2-coverage-hint { margin: 8px 0; color: #b3b8c8; font-size: 13px; }

/* Phase B: progressive Director surfaces in the existing Studio palette. */

/* Director One — conversation, structured proposals and stable sheet composer. */
.dir-develop{max-width:1120px;margin:auto;padding-bottom:40px}
.dir-brief,.dir-artifact,.dir-concept,.dir-start{border:1px solid #353a47;background:#15181f;border-radius:14px;padding:24px;margin-bottom:24px}
.dir-brief p,.dir-copy p,.dir-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.dir-brief{padding:0;background:transparent}.dir-brief>p,.dir-brief>.dir-copy,.dir-brief>.dir-actions{margin:20px}
.dir-territories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.dir-concept h3,.dir-artifact h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:12px 0 20px}
.dir-artifact{border-color:#625575;box-shadow:0 8px 28px #0000001c}
.dir-artifact .sv2-eyebrow{color:#c8b7e2}.dir-artifact.dir-applied{border-color:#43594e;background:#151d19}
.dir-copy{margin:20px 0}.dir-copy h4{font-size:12px;letter-spacing:.055em;color:#aab2c2;margin:0 0 7px;font-weight:600}
.dir-copy p{margin:0;color:#dce0e9}.dir-lead{font-size:17px;line-height:1.65}
.dir-actions,.dir-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.dir-heading{justify-content:space-between}.dir-muted,.dir-key-hint{font-size:12px;color:#aeb5c3;line-height:1.55}
.dir-error{color:#f4c3bf;border:1px solid #7d514f;border-radius:10px;background:#291d20;padding:14px;margin:16px 0}
.dir-error .sv2-btn{margin:10px 0 0;display:flex}.dir-scene,.dir-shot{border-top:1px solid #343946;padding:16px 0}
.dir-shot{margin-left:12px}.dir-shot summary{display:flex;justify-content:space-between;gap:12px}
.dir-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(700px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;display:none;flex-direction:column;padding:0;overflow:hidden}
.dir-drawer[open]{display:flex}.dir-drawer .dir-territories{grid-template-columns:1fr}.dir-drawer>.sv2-dialog-head{flex-shrink:0;padding:22px 26px;border-bottom:1px solid #303644}
.dir-drawer .sv2-dialog-head h2{font-size:22px;letter-spacing:-.025em;margin:5px 0}.dir-drawer .sv2-dialog-head p{margin:4px 0 0}
.dir-conversation{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 26px;scroll-padding:18px}
.dir-transcript,.dir-workspace-conversation{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}
.dir-workspace-conversation{max-width:850px;margin:0 auto 28px}
.dir-message{width:fit-content;max-width:min(88%,62ch);padding:16px 19px;border:1px solid #383d49;background:#1b2029;border-radius:14px 14px 14px 4px;align-self:flex-start;margin-right:auto}
.dir-message.dir-user{margin-left:auto;margin-right:0;align-self:flex-end;border-color:#5b4c72;background:#2b233a;border-radius:14px 14px 4px 14px;max-width:min(84%,55ch)}
.dir-speaker{display:block;font-size:12px;letter-spacing:.025em;color:#c6ccd7;margin-bottom:7px}
.dir-user .dir-speaker{color:#d6c4f1}.dir-message p{margin:0;color:#edf0f5;font-size:15px}.dir-message small{display:block;color:#bdc2cc;margin-top:10px;line-height:1.45}
.dir-thinking{background:transparent;border-style:dashed;min-width:220px}.dir-thinking .sv2-activity{color:#d3c2ed}
.dir-message-actions{margin-top:12px}.dir-global-history{margin-top:26px}.dir-global-history .dir-message{margin-top:16px;margin-bottom:16px}
.dir-composer{flex-shrink:0;padding:18px 26px max(16px,env(safe-area-inset-bottom));border-top:1px solid #383442;background:#15171e}
.dir-composer .dir-actions{margin:10px 0 0;justify-content:space-between}.dir-composer>.dir-muted{margin:8px 0 0}
.dir-drawer textarea,.dir-new textarea{width:100%;background:#0e1117;color:#ecedf3;border:1px solid #51586a;border-radius:10px;padding:12px;font:inherit;line-height:1.5;resize:vertical;max-height:150px;box-sizing:border-box}
.dir-drawer textarea:focus-visible,.dir-new textarea:focus-visible{outline:2px solid #bba2ed;outline-offset:2px}
.dir-composer label,.dir-composer-label{display:block;font-size:13px;color:#d5d9e1;margin-bottom:8px}
.dir-context{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #343946}.dir-context .dir-copy{margin:14px 0}.dir-context>.dir-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* New Production: three existing modes, one clear next step. */
.dir-empty{color:#b8beca;line-height:1.7;margin:18px 0}
.dir-new{width:min(860px,calc(100vw - 40px));max-height:92dvh;border-color:#514363;border-radius:20px;background:#14151d}
.dir-new [hidden]{display:none!important}
.dir-new-head{align-items:flex-start;padding:28px 30px 24px;background:radial-gradient(ellipse at 12% 0%,#8056cf30,transparent 75%);border-color:#393041}
.dir-new-brand{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.15em;font-weight:700;color:#c5a5ff}
.dir-new-head h2{font-size:clamp(24px,3vw,32px);font-weight:650;letter-spacing:-.045em;line-height:1.2;margin:14px 0 9px}
.dir-new-head h2 em{font-style:normal;color:#c4a4ff}
.dir-new-head h2:focus{outline:none}
.dir-new-head p{margin:0;font-size:14px;color:#b8b5c5;line-height:1.55}
.dir-new-head>.sv2-btn{width:36px;min-width:36px;min-height:36px;padding:8px;border-radius:50%;flex-shrink:0;color:#c4bdd2}
.dir-new-body{padding:24px 30px;display:grid;gap:24px}
.dir-new fieldset{min-width:0;padding:0;margin:0;border:0}
.dir-new legend{padding:0;margin-bottom:12px;color:#eeebf5;font-size:13px;font-weight:600}
.dir-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dir-mode-choice,.dir-script-options label{position:relative;cursor:pointer;min-width:0}
.dir-mode-choice input,.dir-script-options input{position:absolute;opacity:0;width:1px;height:1px}
.dir-mode-card{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding:18px 16px;border:1px solid #3b3748;border-radius:12px;background:#1b1b26;transition:background .16s,border-color .16s}
.dir-mode-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #514262;border-radius:9px;background:#2b2439;color:#ccb4f5;margin-bottom:14px}
.dir-mode-copy{display:grid;gap:7px;min-width:0}
.dir-mode-copy strong{font-size:14px;line-height:1.35;font-weight:600;color:#f2eff9}
.dir-mode-copy>span{font-size:12px;line-height:1.6;color:#b4afc0}
.dir-mode-selected{position:absolute;top:16px;right:14px;width:19px;height:19px;border:1px solid #514b60;border-radius:50%;display:grid;place-items:center}
.dir-mode-selected svg{width:12px;height:12px;visibility:hidden}
.dir-mode-choice:hover .dir-mode-card{border-color:#8f70b5}
.dir-mode-choice input:checked+.dir-mode-card{border-color:#ae83ed;background:linear-gradient(140deg,#352747,#242030)}
.dir-mode-choice input:checked+.dir-mode-card .dir-mode-selected{border-color:#c29af6;background:#c29af6;color:#20162e}
.dir-mode-choice input:checked+.dir-mode-card .dir-mode-selected svg{visibility:visible}
.dir-mode-choice input:focus-visible+.dir-mode-card,.dir-script-options input:focus-visible+span{outline:2px solid #ddc6ff;outline-offset:3px}
.dir-script-options{display:flex;flex-wrap:wrap;gap:8px}
.dir-script-options span{display:block;padding:10px 13px;border:1px solid #494052;border-radius:8px;background:#1c1924;font-size:12px;color:#c9c3d3}
.dir-script-options input:checked+span{border-color:#a87de4;background:#30233f;color:#f3e9ff}
.dir-new .dir-composer-label{font-size:14px;font-weight:600;color:#eeebf5;margin:0 0 6px}
.dir-new .dir-input-help{font-size:12px;line-height:1.6;color:#b4afc0;margin:0 0 12px}
.dir-script-permission .dir-input-help{margin:10px 0 0}
.dir-new textarea{min-height:130px;max-height:300px;padding:15px 16px;font-size:14px;line-height:1.7;border-color:#494053;border-radius:12px;background:#0e0e15}
.dir-new textarea::placeholder{color:#8f879e;opacity:1}
.dir-new-error:empty{display:none}
.dir-new-error{padding:12px 14px;border:1px solid #805252;border-radius:10px;background:#2c1c23;color:#f4c3bf;font-size:13px;line-height:1.5}
.dir-new-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 30px 22px;border-top:1px solid #342e3e;background:#17141f;flex-shrink:0}
.dir-new-footer>span{font-size:12px;line-height:1.5;color:#b9aec9}
.dir-new .dir-start-button{gap:10px;min-height:44px;padding:11px 17px;border-radius:10px;border:1px solid #ae83ed;background:#7950ca;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 3px 14px #7e4ccb22}
.dir-new .dir-start-button:hover{background:#895ddb;border-color:#c6a1ff}
.dir-new input:disabled+.dir-mode-card,.dir-new input:disabled+span{cursor:wait}
.dir-new form[aria-busy=true] .dir-start-button{opacity:.8}
@media(max-width:650px){
 .dir-new{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);margin:auto;border-radius:16px}
 .dir-new-head{padding:21px 18px 18px;gap:10px}
 .dir-new-head h2{font-size:25px;max-width:230px}
 .dir-new-head p{font-size:12px}
 .dir-new-body{padding:18px;gap:20px}
 .dir-mode-options{grid-template-columns:1fr;gap:8px}
 .dir-mode-card{flex-direction:row;align-items:center;gap:12px;padding:13px 38px 13px 12px}
 .dir-mode-icon{flex-shrink:0;margin:0;width:30px;height:30px}
 .dir-mode-copy{gap:3px}
 .dir-mode-copy strong{font-size:13px}
 .dir-mode-copy>span{font-size:11px;line-height:1.5}
 .dir-mode-selected{top:50%;right:12px;transform:translateY(-50%)}
 .dir-script-options{gap:6px}
 .dir-script-options span{padding:11px 9px;font-size:11px}
 .dir-new textarea{min-height:112px}
 .dir-new-footer{padding:14px 18px max(16px,env(safe-area-inset-bottom));gap:12px;flex-wrap:wrap}
 .dir-new-footer>span{font-size:11px}
 .dir-new .dir-start-button{margin-left:auto;font-size:12px;padding:10px 13px}
}
.sv2-sound-revision .dir-message{margin-top:16px;margin-bottom:16px}.sv2-sound-revision .dir-artifact{padding:18px}.sv2-sound-revision textarea{width:100%;box-sizing:border-box;min-height:90px}
@media(max-width:1200px){.dir-territories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dir-territories{grid-template-columns:1fr}.dir-concept,.dir-artifact{padding:18px}.dir-conversation{padding:18px 14px}.dir-composer{padding:12px 14px max(12px,env(safe-area-inset-bottom))}.dir-drawer>.sv2-dialog-head{padding:14px}.dir-message{max-width:94%;padding:13px 15px}.dir-message.dir-user{max-width:90%}.dir-key-hint{font-size:11px}.dir-concept h3{font-size:21px}.dir-shot{margin-left:0}.dir-drawer .dir-artifact .dir-actions{gap:8px}.dir-drawer .dir-artifact .dir-actions .sv2-btn{min-height:44px}}
@media(max-height:550px){.dir-drawer>.sv2-dialog-head{padding:10px 14px}.dir-drawer .sv2-dialog-head p,.dir-composer>.dir-muted,.dir-key-hint{display:none}.dir-composer{padding-top:8px;padding-bottom:8px}.dir-composer textarea{max-height:72px}.dir-composer label{margin-bottom:4px}}

/* Studio refinement — hierarchy and spacing, retaining the F44 action language. */
.sv2-stage-heading h2{letter-spacing:-.03em;line-height:1.15}
.sv2-panel{border-color:#343946}
.sv2-complete-summary{line-height:1.6}
.sv2-shot-next{border-radius:14px}
.sv2-finish-room-context{box-shadow:0 8px 28px #00000018}
.sv2-finish-filmstrip button{transition:border-color .15s ease}
@media(prefers-reduced-motion:reduce){.sv2-finish-filmstrip button{transition:none}}


.sv2-control-frames{padding:16px;margin-top:16px;min-width:0;overflow-wrap:anywhere}
.sv2-control-frames p{margin:10px 0;line-height:1.5}
.sv2-opening-control{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.sv2-opening-control img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#080808;display:block}
.sv2-control-empty{aspect-ratio:16/9;background:#151515;color:#ddd;display:grid;place-items:center;text-align:center}
@media(max-width:700px){.sv2-opening-control{grid-template-columns:1fr}.sv2-control-frames .sv2-panel-head{flex-wrap:wrap;gap:8px}}

/* Phase E1: contained Finish controls; existing Studio geometry remains authority. */
.sv2-editorial-video{width:100%;height:100%;object-fit:contain;display:block}
.sv2-editorial-controls label{display:block;margin:12px 0}
.sv2-editorial-controls input{display:block;width:100%;min-height:44px;box-sizing:border-box;margin-top:6px}
.sv2-editorial-controls .sv2-actions{flex-wrap:wrap;margin:12px 0}
.sv2-editorial-stale{padding:12px;border:1px solid currentColor;border-radius:8px}
.sv2-editorial-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:16px;list-style:none}
.sv2-editorial-list button{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;min-height:100px;padding:14px;border:1px solid var(--sv-border);border-radius:10px;background:transparent;color:inherit}
.sv2-editorial-list button[aria-pressed=true]{border-color:#8d72c7;background:#282237}
.sv2-editorial-list span,.sv2-editorial-list small{overflow-wrap:anywhere}
@media(max-width:600px){.sv2-editorial-list{grid-template-columns:minmax(0,1fr)}.sv2-editorial-controls .sv2-actions>*{min-height:44px}.sv2-editorial .sv2-panel-head{flex-wrap:wrap;gap:8px}}

.sv2-editorial-frame{position:relative;overflow:hidden}
.sv2-editorial-frame .sv2-editorial-video{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0}

/* E2 controls stay within the existing Finish panel hierarchy. */
.sv2-timeline-director { margin-top: 16px; padding: 18px; }
.sv2-timeline-director .sv2-actions { flex-wrap: wrap; gap: 10px; }
.sv2-timeline-director li { margin: 12px 0; overflow-wrap: anywhere; }
.sv2-timeline-director p { overflow-wrap: anywhere; }
@media(max-width: 600px) { .sv2-timeline-director { padding: 14px; } .sv2-timeline-director button { min-height: 44px; } }

.sv2-timeline-director > p { margin: 10px 0; }

.sv2-voice-panel{padding:16px 0;min-width:0}.sv2-voice-panel audio{width:100%;max-width:100%}.sv2-voice-attempt{padding:12px 0;border-top:1px solid #34383d}.sv2-voice-panel .sv2-btn{margin:4px 4px 4px 0}.sv2-voice-panel p{overflow-wrap:anywhere}.sv2-voice-speaking{padding:12px 0}

/* E4: mobile review stays focused on listening, selection and approval. */
@media(max-width: 760px){.sv2-soundtrack-desktop{display:none!important}}

.sv2-soundtrack>.sv2-panel{padding:18px;margin-bottom:16px}
.sv2-soundtrack .sv2-actions{flex-wrap:wrap;align-items:end}
.sv2-soundtrack label{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.sv2-soundtrack input,.sv2-soundtrack select{min-width:0;max-width:100%;padding:8px;border:1px solid #343c4c;border-radius:6px;background:#11151c;color:inherit}
.sv2-soundtrack audio{max-width:100%}
.sv2-soundtrack details{margin-top:12px}
.sv2-soundtrack details article{padding:12px 0;border-bottom:1px solid #343c4c}

/* E5: mobile stays a review/approval surface, not a subtitle workstation. */
.sv2-caption-editor textarea { width:100%; max-width:100%; box-sizing:border-box; }
@media(max-width:720px) { .sv2-caption-editor { display:none; } }

.sv2-finishing > .sv2-panel { padding:18px; margin:16px 0; }
.sv2-finishing .sv2-panel h2,.sv2-finishing .sv2-panel h3 { margin:0 0 10px; }
.sv2-finishing .sv2-panel p { margin:8px 0; }
.sv2-finishing .sv2-actions { flex-wrap:wrap; gap:8px; margin:12px 0; }
.sv2-finishing .sv2-panel > a { display:inline-block; margin:8px 10px 8px 0; }
.sv2-finishing .sv2-caption-editor label { display:block; margin:12px 0; }
@media(max-width:720px) { .sv2-finishing > .sv2-panel { padding:14px; } }

/* Prep reference review stays within the existing Studio dialog. */
.sv2-refgen {min-width:0; overflow-wrap:anywhere;}
.sv2-refgen-prompt {white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font:12px/1.6 monospace;}
.sv2-refgen-candidate {padding:16px 0;border-top:1px solid var(--sv2-border,#333);}
.sv2-refgen-candidate img {display:block;max-width:100%;width:240px;max-height:420px;object-fit:contain;margin:12px auto;}
.sv2-refgen-related {display:flex;gap:10px;align-items:flex-start;margin:10px 0;}
.sv2-refgen-related input {width:auto;flex-shrink:0;}
.sv2-refgen .sv2-actions {flex-wrap:wrap;}
.sv2-refgen > p {margin:0 0 12px;}
.sv2-refgen > h3 {margin:22px 0 10px;}
.sv2-refgen details {padding:12px;margin:12px 0;border:1px solid var(--sv2-border,#343b49);border-radius:8px;}
.sv2-refgen summary {cursor:pointer;font-weight:600;display:list-item;list-style:disclosure-closed inside;}
.sv2-refgen details[open] > summary {list-style-type:disclosure-open;margin-bottom:10px;}
.sv2-refgen-price {padding:12px;border-radius:8px;background:rgba(134,105,223,.12);}
@media(max-width:600px) {.sv2-refgen-candidate img {max-height:300px;}}

/* F1.1: identity-first reference hierarchy, within existing Prep panels. */
.sv2-generation-action { margin: 12px 0 8px; }
.sv2-generation-action .sv2-btn { white-space: normal; text-align: left; }
.sv2-identity-guidance { line-height: 1.5; }
.sv2-refgen-parent { display: grid; gap: 8px; margin: 12px 0; }
.sv2-refgen-parent img { max-width: 150px; max-height: 170px; object-fit: contain; border-radius: 8px; }
.sv2-refgen details { margin: 14px 0; }
.sv2-refgen summary { cursor: pointer; padding: 10px 0; font-weight: 600; }
.sv2-refgen-direction { overflow-wrap: anywhere; }

.sv2-reference-dialog .sv2-dialog-head > div { min-width: 0; }
.sv2-reference-dialog .sv2-dialog-head h2 { white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
.sv2-reference-dialog .sv2-dialog-head > button { flex-shrink: 0; }

/* F1.3: action-local exact credit pricing */
.sv2-refgen-cta{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--sv2-border,#343c49);margin-top:16px}.sv2-refgen-credit{font-size:14px;line-height:1.5;color:var(--sv2-text,#eef0f5)}.sv2-refgen-cta .sv2-actions{margin:0}.sv2-refgen-cta .sv2-primary{min-width:130px}@media(max-width:600px){.sv2-refgen-cta{gap:10px;justify-content:space-between}.sv2-refgen-credit{max-width:100%}.sv2-refgen-cta .sv2-actions{flex-wrap:wrap}}


/* F1.4: clear decisions, secondary continuity detail. */
.sv2-no-shot{display:grid;place-items:center;height:100%;min-height:110px;padding:22px 14px;color:var(--muted,#a4a4ad);font-size:12px;text-align:center;background:linear-gradient(145deg,#20212a,#15151c)}
.sv2-shot-next{padding:22px;display:grid;gap:12px}.sv2-shot-next h3,.sv2-shot-next p{margin:0}.sv2-shot-next small{color:var(--muted,#aaa)}
.sv2-shot-next>.sv2-btn{justify-self:start}.sv2-pending-look{display:grid;gap:12px;padding:14px;border:1px solid #8d78ff66;border-radius:12px;margin:14px 0}.sv2-pending-look img{width:100%;max-height:240px;object-fit:contain;border-radius:8px}
.sv2-shot-card-status.is-active i{width:9px;height:9px;background:transparent;border:2px solid #a892ff;border-right-color:transparent;animation:sv2-create-spin .8s linear infinite}@keyframes sv2-create-spin{to{transform:rotate(360deg)}}
.sv2-variations{margin-top:24px}.sv2-reference-details{margin:12px 0}.sv2-reference-details>summary{cursor:pointer;color:var(--muted,#aaa)}
.dir-artifact details{margin:16px 0;padding:0}.dir-artifact summary{cursor:pointer;padding:14px 0;display:list-item;list-style:disclosure-closed}.dir-artifact details[open]>summary{list-style:disclosure-open;border-bottom:1px solid #ffffff12}.dir-artifact summary:hover{color:#b9a7ff}.dir-artifact button[aria-busy=true]{opacity:.7}
.sv2-refgen-candidate:has(img){border:1px solid #ffffff20;border-radius:12px;padding:16px}.sv2-refgen-candidate img{width:100%;max-height:55vh;object-fit:contain}
@media(max-width:640px){.sv2-shot-next{padding:16px}.sv2-shot-next>.sv2-btn{width:100%}.sv2-pending-look img{max-height:200px}.sv2-shot-next .sv2-chips{flex-wrap:wrap}}

.sv2-scene-storyboard > h3 { font-size: 13px; color: var(--sv-muted); margin: 6px 0 8px; }

/* Director One: one reachable conversation and restrained creative blueprint. */
.sv2-shot-inspector .sv2-context-heading {display:block;}
.sv2-shot-inspector .sv2-context-heading > .sv2-btn {margin-top:14px;}
.sv2-blueprint {max-width:1120px;margin:0 auto;padding-bottom:32px;}
.sv2-blueprint section {padding:26px 0;border-bottom:1px solid #292e39;}
.sv2-blueprint h2 {font-size:26px;line-height:1.3;margin:0 0 14px;}
.sv2-blueprint h3 {font-size:18px;margin:0 0 12px;}
.sv2-blueprint p {line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-width:850px;color:#cbd0db;}
.sv2-blueprint .sv2-blueprint-idea {font-size:22px;line-height:1.55;color:#eef0f5;}
.sv2-blueprint-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.sv2-blueprint-flow {display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;}
.sv2-blueprint-flow li {background:#1b202a;padding:10px 14px;border-radius:6px;}
.sv2-blueprint-shots {list-style:none;padding:0;}
.sv2-blueprint-shots li {display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;padding:16px 0;border-top:1px solid #252a34;}
.sv2-blueprint-shots p {margin:6px 0 0;font-size:14px;}
.sv2-blueprint-world {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.sv2-blueprint-world p {font-size:14px;margin:5px 0;}
.sv2-original-brief {padding:24px 0;}.sv2-original-brief summary {cursor:pointer;color:#bbc3d2;}.sv2-original-brief .sv2-brief-copy {font-size:14px;}
@media(max-width:650px){.sv2-blueprint-grid,.sv2-blueprint-world {grid-template-columns:1fr;gap:16px;}.sv2-blueprint h2{font-size:23px;}.sv2-blueprint .sv2-blueprint-idea{font-size:19px;}}

.sv2-next-review { margin-top: 16px; }
.sv2-next-review img { display:block; max-width:100%; max-height:360px; object-fit:contain; border-radius:12px; }
.sv2-shot-next .sv2-video-take { margin-top:16px; min-width:0; }

.sv2-shot-ready-check{background:var(--sv-green);border-radius:3px!important;width:15px!important;height:15px!important;color:white;display:inline-grid!important;place-items:center;font-style:normal;font-size:11px}.sv2-shot-ready-check::after{content:"✓"}.sv2-video-opening{display:block;max-height:260px;max-width:100%;border-radius:10px}.sv2-video-take pre{white-space:pre-wrap;overflow-wrap:anywhere}

.sv2-video-take{padding:18px}.sv2-video-take>.sv2-panel-head{padding:0 0 12px}.sv2-video-take>h3{margin:0 0 12px}.sv2-video-take>p{margin:10px 0}.sv2-video-take .sv2-video-opening{float:left;max-height:180px;margin:0 20px 12px 0}.sv2-video-take>details{clear:both;padding-top:14px}

.sv2-video-review-dialog{width:min(760px,94vw)}.sv2-video-review-dialog .sv2-video-take{margin:0}.sv2-video-review-dialog code{overflow-wrap:anywhere}.sv2-video-review-stale{clear:both;color:var(--sv-warning,#ecc36b)}

.sv2-video-direction{clear:both;padding:16px 0 8px;border-top:1px solid var(--sv-border)}
.sv2-video-direction dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 14px;margin:12px 0}
.sv2-video-direction dt{color:var(--sv-muted);font-size:13px}
.sv2-video-direction dd{margin:0;overflow-wrap:anywhere}
.sv2-video-take>.sv2-video-disclosure{padding:0;border-top:1px solid var(--sv-border)}
.sv2-video-disclosure>summary{padding:14px 8px;color:var(--sv-text);min-height:44px;border-radius:var(--sv-radius)}
.sv2-video-disclosure>summary:hover{background:var(--sv-hover)}
.sv2-video-disclosure>summary:focus-visible{outline:2px solid var(--sv-accent)}
.sv2-video-disclosure>div{padding:8px}
.sv2-video-disclosure p{margin:8px 0;overflow-wrap:anywhere}
.sv2-video-generate{margin:16px 0}

.sv2-shot-media > .sv2-viewer-screen{position:relative;inset:auto;height:clamp(300px,52vh,560px);border:1px solid var(--sv-border);border-radius:7px;background:#060709}
.sv2-shot-media-tabs{display:flex;gap:6px;padding:8px 0;border-bottom:1px solid var(--sv-border);margin-bottom:12px}
.sv2-shot-media-tabs button{padding:12px 16px;background:transparent;color:var(--sv-muted);border-radius:var(--sv-radius)}
.sv2-shot-media-tabs button[aria-pressed=true]{background:var(--sv-accent-bg);color:var(--sv-text)}
.sv2-shot-media-tabs button:hover{background:var(--sv-hover)}
.sv2-shot-media-caption{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0}
.sv2-shot-media-caption p{flex-basis:100%;color:var(--sv-muted)}
.sv2-take-history{margin:16px 0 20px}
.sv2-take-history-heading h3{margin:0 0 5px;font-size:16px}
.sv2-take-history-heading h3 span{color:#bba7ed;font-size:13px;margin-left:5px}
.sv2-take-history-heading p{margin:0;color:#aab0bf;font-size:13px;line-height:1.5}
.sv2-take-switcher{display:flex;gap:12px;overflow-x:auto;padding:10px 2px 6px;max-width:100%}
.sv2-take-card{flex:0 0 176px;min-width:0;padding:5px;border:1px solid #394050;border-radius:11px;background:#14161e;color:#f3efff;text-align:left;cursor:pointer}
.sv2-take-card[aria-pressed=true]{border-color:#ab88ff;box-shadow:0 0 0 1px #ab88ff;background:#251e38}
.sv2-take-card:focus-visible{outline:2px solid #cfb8ff;outline-offset:3px}
.sv2-take-thumbnail{display:block;position:relative;aspect-ratio:16/9;background:#090b10;border-radius:7px;overflow:hidden}
.sv2-take-thumbnail>img{width:100%;height:100%;object-fit:cover}
.sv2-take-latest{position:absolute;top:6px;left:6px;border-radius:4px;background:#171125e8;color:#e0cfff;font-size:10px;padding:3px 6px}
.sv2-take-card-label{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px 5px 5px;font-size:11px}
.sv2-take-card-label strong{font-size:13px;white-space:nowrap}
.sv2-take-current{color:#82ddbc}
@media(max-width:600px){.sv2-take-card{flex-basis:148px}.sv2-take-switcher{gap:9px}}
.sv2-take-sources{display:flex;gap:16px;flex-wrap:wrap}
.sv2-take-sources figure{margin:0;max-width:200px}
.sv2-take-sources img{max-height:220px;object-fit:contain}
.sv2-take-sources figcaption{font-size:12px;color:var(--sv-muted);margin-top:8px}
@media(max-width:600px){.sv2-shot-media-tabs button{padding:12px 10px;flex:1}}

/* Deterministic graphics: static exact raster previews; playback is opt-in. */
.sv2-graphic-previews{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.sv2-graphic-previews figure{margin:0;flex:1 1 180px;max-width:280px}
.sv2-graphic-previews img{display:block;width:100%;height:auto;border:1px solid var(--sv-border);border-radius:6px}
.sv2-graphic figcaption{margin-top:8px;color:var(--sv-muted)}
.sv2-graphic video{display:block;width:100%;max-width:360px;max-height:640px;margin:16px auto;background:#08090b}
.sv2-graphic fieldset{border:1px solid var(--sv-border);padding:12px;margin:12px 0;border-radius:6px}
.sv2-graphic label{display:grid;gap:6px;margin:8px 0}
.sv2-graphic textarea{width:100%;min-height:90px;resize:vertical}
.sv2-graphic-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.sv2-graphic-controls label{flex:1 1 120px}
.sv2-graphic input,.sv2-graphic select,.sv2-graphic textarea{color:var(--sv-text);background:var(--sv-bg);border:1px solid var(--sv-border);padding:10px;border-radius:5px}
.sv2-graphic input:focus-visible,.sv2-graphic select:focus-visible,.sv2-graphic textarea:focus-visible{outline:2px solid var(--sv-accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.sv2-graphic *{animation:none!important;transition:none!important}}

.sv2-finish-blocker{display:grid;gap:8px;margin:12px 0 18px;padding:12px 0;border-top:1px solid #303744;border-bottom:1px solid #303744}.sv2-finish-blocker p{margin:0}.sv2-finish-blocker button{justify-self:start}

/* Finish is one room: stable cinema, persistent strip, focused task panel. */
.sv2-finish-room {max-width:1680px;margin:0 auto;padding:24px 28px 48px;color:var(--sv2-text,#e8e8ed)}
.sv2-finish-room [hidden] {display:none!important}
.sv2-finish-room-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.sv2-finish-room-heading h1 {font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;margin:8px 0}
.sv2-finish-room-heading p,.sv2-finish-viewer-label {color:#a4a6b2;font-size:13px}
.sv2-finish-room-grid {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:28px;align-items:start}
.sv2-finish-cinema {position:sticky;top:20px;min-width:0}
.sv2-finish-viewer {overflow:hidden;border:1px solid #30303c;border-radius:16px;background:#08090d}
.sv2-finish-screen {position:relative;height:clamp(280px,47vh,580px);background:radial-gradient(ellipse at center,#20212a,#08090d 75%);display:flex;align-items:center;justify-content:center}
.sv2-finish-screen video {width:100%;height:100%;object-fit:contain;display:block}
.sv2-finish-before {position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sv2-finish-before img {height:100%;max-width:100%;object-fit:contain;opacity:.8}
.sv2-finish-before>div {position:absolute;inset:auto 0 0;padding:60px 24px 32px;text-align:center;background:linear-gradient(transparent,rgba(5,6,10,.95))}
.sv2-finish-before strong {font-size:22px;letter-spacing:-.025em}
.sv2-finish-before p {margin:10px 0}.sv2-finish-before small {color:#b6b7c4}
.sv2-finish-viewer-label {padding:12px 18px;margin:0}
.sv2-finish-filmstrip {margin-top:18px;min-width:0}
.sv2-finish-filmstrip-heading {display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;gap:12px;font-size:12px}
.sv2-finish-filmstrip-heading span {color:#9ea0ae}
.sv2-finish-filmstrip ol {display:flex;gap:8px;overflow-x:auto;list-style:none;padding:0 0 10px;margin:0;scrollbar-width:thin}
.sv2-finish-filmstrip li {flex:1 0 86px;min-width:0;max-width:150px}
.sv2-finish-filmstrip button {display:flex;flex-direction:column;width:100%;height:100%;border:1px solid #343442;background:#171820;color:#eaeaf2;border-radius:9px;padding:5px;text-align:left;cursor:pointer}
.sv2-finish-filmstrip button[aria-pressed=true] {border-color:#b9a2ff;box-shadow:0 0 0 1px #b9a2ff}
.sv2-finish-filmstrip img {width:100%;height:88px;object-fit:cover;border-radius:5px;background:#07080b}
.sv2-finish-filmstrip button>span {font-size:11px;line-height:1.45;padding:7px 3px 2px}
.sv2-finish-filmstrip b {display:block;color:#c5b3ff;letter-spacing:.08em}
.sv2-finish-filmstrip small {font-size:10px;color:#b2b3c2;padding:4px 3px;margin-top:auto}
.sv2-finish-thumbnail-empty {min-height:88px;display:flex;align-items:center}
.sv2-finish-room-context {min-width:0;border:1px solid #30303c;background:#14151d;border-radius:16px;padding:22px}
.sv2-finish-next {display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:2px 0 22px;border-bottom:1px solid #30303c}
.sv2-finish-next>.sv2-btn {width:100%;justify-content:center;min-height:46px}
.sv2-finish-sections {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:18px 0 24px}
.sv2-finish-sections button {border:0;border-bottom:2px solid transparent;padding:10px 3px;background:none;color:#9ea0b2;font:inherit;font-size:12px;cursor:pointer}
.sv2-finish-sections button[aria-pressed=true] {color:#f3efff;border-bottom-color:#b9a2ff}
.sv2-finish-room [data-finish-panel] h2 {font-size:20px;letter-spacing:-.025em;margin:0 0 12px}
.sv2-finish-room [data-finish-panel] h3 {font-size:15px;margin:0 0 10px}
.sv2-finish-room [data-finish-panel] p {font-size:13px;line-height:1.6;color:#b5b7c5}
.sv2-finish-disclosure {border-top:1px solid #30303c;padding:15px 0;margin-top:15px}
.sv2-finish-room summary {font-size:13px;cursor:pointer;line-height:1.6;color:#e7e4f2}
.sv2-finish-room details[open]>summary {margin-bottom:16px}
.sv2-finish-room label {display:flex;flex-direction:column;font-size:12px;gap:7px;color:#b7b7c4;margin:14px 0}
.sv2-finish-room input,.sv2-finish-room textarea,.sv2-finish-room select {width:100%;min-width:0;box-sizing:border-box;background:#0e1018;border:1px solid #3a3a4b;border-radius:7px;padding:10px;color:#f0edf7;font:inherit}
.sv2-finish-room textarea {min-height:100px;resize:vertical}
.sv2-finish-room pre {font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:#b6b8c7}
.sv2-finish-sound-card {padding:18px 0;border-top:1px solid #30303c}
.sv2-finish-sound-card>.sv2-finish-disclosure {border:0;padding:4px 0;margin-top:10px}
.sv2-finish-audio-card,.sv2-finish-finding {padding:14px;border:1px solid #343443;border-radius:10px;margin:12px 0;background:#191b25}
.sv2-finish-room audio {display:block;max-width:100%;height:36px;margin:12px 0}
.sv2-finish-room .sv2-btn {margin:4px 3px 4px 0;white-space:normal;line-height:1.4}
.sv2-finish-room .sv2-actions {flex-wrap:wrap;gap:6px}
.sv2-finish-room .sv2-finish-checks {list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;font-size:12px;line-height:1.5}
.sv2-finish-activity {display:flex;align-items:center;gap:8px;margin:0}
.sv2-finish-activity:before {content:"";width:12px;height:12px;border:2px solid #494153;border-top-color:#c1aaff;border-radius:50%;animation:finish-spin .8s linear infinite;flex:none}
.sv2-finish-caption-preview {position:absolute;bottom:18%;left:14%;right:14%;text-align:center;white-space:pre-line;font-size:clamp(14px,1.4vw,22px);font-weight:600;color:white;text-shadow:0 1px 4px black;background:rgba(0,0,0,.4);border-radius:4px;padding:8px;pointer-events:none}
.sv2-finish-caption-preview[data-style=speaker_safe] {bottom:25%}
.sv2-finish-room :focus-visible {outline:2px solid #c4afff;outline-offset:4px}
@keyframes finish-spin {to{transform:rotate(360deg)}}
@media(max-width:1050px){.sv2-finish-room-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:18px}.sv2-finish-room{padding:20px 16px}.sv2-finish-room-context{padding:16px}}
@media(max-width:760px){.sv2-finish-room-grid{grid-template-columns:minmax(0,1fr)}.sv2-finish-cinema{position:static}.sv2-finish-screen{height:48vh;min-height:280px}.sv2-finish-room-heading{align-items:flex-start;gap:12px}.sv2-finish-room{padding:18px 12px 40px}.sv2-finish-filmstrip li{flex:0 0 88px}.sv2-finish-room-context{border-radius:12px}.sv2-finish-room-heading>.sv2-btn{font-size:11px}.sv2-finish-room .sv2-finish-checks{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.sv2-finish-activity:before{animation:none}}

/* Sound work is a focused part of the persistent Finish room. */
.sv2-sound-work h2{margin-top:0}
.sv2-sound-component{padding:20px 0;border-bottom:1px solid var(--sv2-line,#30313c)}
.sv2-sound-component-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv2-sound-component h3{margin:0;font-size:16px}
.sv2-sound-status{font-size:12px;color:var(--sv2-muted,#b7b6c4)}
.sv2-sound-component>audio{width:100%;height:36px;margin:4px 0 14px}
.sv2-sound-direction-summary{line-height:1.6;color:var(--sv2-muted,#b7b6c4)}
.sv2-sound-part{padding:16px 0;border-top:1px solid #30313c}
.sv2-sound-part h4{margin:0 0 8px}
.sv2-sound-part blockquote{font-size:16px;line-height:1.5;margin:12px 0;padding-left:14px;border-left:2px solid #8057dd}
.sv2-sound-part small{display:block;margin:10px 0;color:#b7b6c4}
.sv2-sound-part audio{width:100%;margin:10px 0}
.sv2-sound-price{font-weight:600;margin:22px 0}
.sv2-sound-progress{padding:18px;background:#1b1829;border:1px solid #4c3d70;border-radius:12px;margin-top:18px}
.sv2-narrator-chooser,.sv2-sound-revision{margin:18px 0;padding:18px;border:1px solid #66508c;border-radius:12px;background:#17151f}
.sv2-narrator-card{border:1px solid #393344;border-radius:10px;padding:14px;margin:12px 0;background:#101117}
.sv2-narrator-card p{font-size:13px;line-height:1.5}
.sv2-narrator-card audio{width:100%;height:36px;margin:10px 0}
.sv2-narrator-list{max-height:520px;overflow:auto}
.sv2-sound-work label{display:block;margin:14px 0}
.sv2-sound-work input,.sv2-sound-work textarea{box-sizing:border-box;width:100%;margin-top:7px;padding:10px;border-radius:8px;border:1px solid #494452;background:#0b0c11;color:inherit;font:inherit}
.sv2-sound-work .sv2-btn{margin:5px 6px 5px 0;max-width:100%;white-space:normal}
.sv2-sound-work details>summary{cursor:pointer;padding:10px 0}
@media(max-width:760px){.sv2-narrator-chooser,.sv2-sound-revision{padding:12px}.sv2-sound-component-head{align-items:flex-start}.sv2-sound-status{max-width:45%;text-align:right}}

/* Narrator uses the shared native Studio sheet and its responsive geometry. */
.sv2-narrator-sheet .sv2-dialog-body { overscroll-behavior: contain; }
.sv2-narrator-sheet .sv2-narrator-chooser { margin: 0; border: 0; padding: 0; }
.sv2-narrator-sheet audio { max-width: 100%; }

/* Keep the focused plan heading clear of the scroll edge. */
#soundPlanReviewTitle{scroll-margin-block-start:24px}
.sv2-sound-spend-boundary{border:1px solid var(--sv2-border,#46505b);border-radius:12px;padding:16px;margin-block:16px}

/* Sound-specific feedback and discoverable catalogue disclosure. */
.sv2-sound-busy::before{content:'';display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sv2-sound-spin .8s linear infinite;vertical-align:middle}
@keyframes sv2-sound-spin{to{transform:rotate(360deg)}}
[data-section="sound-browse-voices"]>summary{display:list-item;list-style:disclosure-closed;padding:14px;cursor:pointer;border:1px solid #46505b;border-radius:8px}
[data-section="sound-browse-voices"][open]>summary{list-style:disclosure-open}
.sv2-narrator-chooser [hidden]{display:none!important}
#soundPlanReviewTitle:focus-visible{outline:2px solid #ae97ff;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.sv2-sound-busy::before{animation:none;border-right-color:currentColor}}

/* Shared Studio interaction language: native disclosures and explicit activity. */
.sv2-activity{display:inline-flex;align-items:center;gap:9px;line-height:1.45;vertical-align:middle}
.sv2-activity small{display:block;font-size:12px;color:#bcb5cb;font-weight:400}
.sv2-activity-mark{display:inline-block;flex:0 0 14px;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sv2-activity-spin .8s linear infinite}
@keyframes sv2-activity-spin{to{transform:rotate(360deg)}}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary,.sv2-dialog details:not(.sv2-menu)>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border:1px solid #51465f;border-radius:9px;background:#211d2c;color:#e5dfee;font-weight:600;box-sizing:border-box}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary::-webkit-details-marker,.sv2-dialog details:not(.sv2-menu)>summary::-webkit-details-marker{display:none}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary::after,.sv2-dialog details:not(.sv2-menu)>summary::after{content:'Show +';display:block;flex-shrink:0;margin-left:auto;padding:4px 8px;border:1px solid #65537e;border-radius:6px;font-size:11px;font-weight:600;color:#d4bbff;white-space:nowrap}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)[open]>summary::after,.sv2-dialog details:not(.sv2-menu)[open]>summary::after{content:'Hide −';background:#3c2c54;color:#f3eaff}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary:hover,.sv2-dialog details:not(.sv2-menu)>summary:hover{background:#322a42;border-color:#a18ac7}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary:focus-visible,.sv2-dialog details:not(.sv2-menu)>summary:focus-visible,.sv2-btn:focus-visible{outline:3px solid #bda2ff;outline-offset:3px}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)>summary>.sv2-icon:last-child,.sv2-dialog details:not(.sv2-menu)>summary>.sv2-icon:last-child{display:none}
:is(.sv2-shell,.sv2-finish-room) details:not(.sv2-menu)[open]>summary,.sv2-dialog details:not(.sv2-menu)[open]>summary{margin-bottom:14px;background:#30243f;border-color:#9c7dc3}
.sv2-btn[aria-busy=true]{cursor:wait;opacity:1}
.sv2-complete-summary{padding:16px;border:1px solid #64517e;border-radius:12px;background:#211c2e;margin:12px 0}
.sv2-complete-summary strong{display:block;font-size:18px;margin-bottom:6px}
.sv2-panel-activity{padding:12px 0;color:#d0bcff}
.sv2-dialog{max-height:calc(100dvh - 32px)}
@media(prefers-reduced-motion:reduce){.sv2-activity-mark{animation:none;border-right-color:currentColor}.sv2-pending-look.is-active strong::before,.sv2-shot-card-status.is-active i{animation:none}}
@media(max-width:600px){.sv2-btn{min-height:44px;white-space:normal}.sv2-dialog{max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px)}.sv2-activity{overflow-wrap:anywhere}}

.sv2-mobile-final{display:none}
@media(max-width:760px){.sv2-mobile-final{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sv2-finish-room.is-complete .sv2-finish-next{display:none}.sv2-mobile-final .sv2-btn{flex-shrink:0}}

.sv2-mobile-final:empty{display:none}

/* Public mode uses the Studio layout inside the frozen public navigation. */
[data-public-studio] #studio { font-size:14px; }
[data-public-studio] .sv2-shell { grid-template-columns:minmax(0,1fr); height:calc(100dvh - var(--public-header-height,108px)); min-height:440px; }
[data-public-studio] .sv2-main { height:100%; }
[data-public-studio] .sv2-boot { min-height:60vh; }
[data-public-studio] .sv2-published { color:var(--sv-green); font-size:12px; white-space:nowrap; }
[data-public-studio] .sv2-title-line h1 { max-width:100%; }
[data-public-studio] .sv2-header { height:auto; min-height:78px; }
[data-public-studio] .sv2-public-look { margin:20px 0; background:#08090d; border-radius:8px; overflow:hidden; }
[data-public-studio] .sv2-public-look img { display:block; width:100%; height:auto; object-fit:contain; }
[data-public-studio] .sv2-filter-strip:empty,
[data-public-studio] .sv2-context-tabs:empty,
[data-public-studio] .sv2-mobile-context:empty { display:none; }
[data-public-studio] .sv2-context-description { white-space:pre-line; }
[data-public-studio] .sv2-finish-sound-card p { white-space:pre-line; }
[data-public-studio] .sv2-finish-screen > .sv2-btn { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); min-height:48px; }
[data-public-studio] .sv2-finish-screen > .sv2-btn[hidden] { display:none; }
[data-public-studio] .sv2-finish-room-heading h2 { font-size:clamp(22px,2.4vw,34px); margin:8px 0; }
[data-public-studio] .sv2-statusbar { flex-shrink:0; }
[data-public-studio] .sv2-shot-card-status { color:var(--sv-muted); }
[data-public-studio] .sv2-shot-card-status i { display:none; }
@media(max-width:1100px) {
 [data-public-studio] .sv2-shot-inspector { display:block; }
 [data-public-studio] .sv2-create-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); }
}
@media(max-width:760px) {
 [data-public-studio] .sv2-header { flex-wrap:wrap; gap:12px; padding:16px; }
 [data-public-studio] .sv2-title-line { flex-wrap:wrap; gap:8px; }
 [data-public-studio] .sv2-title-line h1 { white-space:normal; font-size:18px; }
 [data-public-studio] .sv2-title-line .sv2-type { display:inline-flex; }
 [data-public-studio] .sv2-header-actions { width:100%; gap:10px; flex-wrap:wrap; }
 [data-public-studio] .sv2-header-actions > .sv2-btn { display:inline-flex; min-height:44px; }
 [data-public-studio] .sv2-published { margin-right:auto; }
 [data-public-studio] .sv2-create-grid { grid-template-columns:minmax(0,1fr); }
 [data-public-studio] .sv2-context-scroll { max-height:none; }
 [data-public-studio] .sv2-element-grid { grid-template-columns:minmax(0,1fr); padding:10px; gap:18px; }
 [data-public-studio] .sv2-element-card h3 { white-space:normal; overflow:visible; }
 [data-public-studio] .sv2-stage small { display:none; }
 [data-public-studio] .sv2-stage { min-width:0; flex:1; padding:12px 5px; gap:5px; }
 [data-public-studio] .sv2-stage-nav { gap:0; padding:0 7px; }
 [data-public-studio] .sv2-format { display:none; }
 [data-public-studio] .sv2-blueprint-shots li { grid-template-columns:28px minmax(0,1fr); gap:10px; }
 [data-public-studio] .sv2-blueprint-shots .sv2-btn { grid-column:2; justify-self:start; }
}

[data-public-studio] #studio .sv2-element-copy h3 { font-size:15px; line-height:1.45; }
[data-public-studio] .sv2-dialog .sv2-context-heading h2 { display:none; }

[data-public-studio] .sv2-title-line .sv2-type { display:inline-flex; }
/* Public Prep preserves the complete approved frame and lets the image lead. */
[data-public-studio] .sv2-element-grid { align-items:start; grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-public-studio] .sv2-element-preview { aspect-ratio:auto; }
[data-public-studio] .sv2-element-preview img { display:block; width:100%; height:auto; object-fit:contain; }
[data-public-studio] #studio .sv2-element-copy h3 { margin:0; }
[data-public-studio] .sv2-dialog .sv2-context-heading { display:none; }
[data-public-studio] .sv2-dialog .sv2-public-look { margin:0; }
[data-public-studio] .sv2-dialog.sv2-sheet { height:fit-content; max-height:calc(100dvh - 24px); margin:auto; border-radius:12px; }
@media(max-width:760px) {
 [data-public-studio] .sv2-element-grid { grid-template-columns:minmax(0,1fr); }
 [data-public-studio] #studio .sv2-element-copy h3 { font-size:16px; }
 [data-public-studio] .sv2-element-copy { padding:14px; }
}

[data-public-studio] .sv2-sheet .sv2-dialog-body { flex:0 1 auto; }

/* Published shots reuse the final film; load video only after a deliberate Play. */
.sv2-public-shot-player{position:relative;width:100%;height:100%;display:grid;place-items:center}
.sv2-public-shot-player video{display:block;width:100%;max-height:62vh;object-fit:contain}
.sv2-public-shot-player>button{position:absolute;inset:auto auto 24px;z-index:1}
.sv2-public-shot-player>button[hidden]{display:none}

.dir-character-count{display:block;text-align:right;font-size:11px;line-height:1.5;color:#aaa0b7;margin-top:7px}
.dir-character-count.is-limit{color:#e2c096}
.dir-start .sv2-btn:disabled{opacity:.6;cursor:wait}

.sv2-production-open{display:block;color:inherit;text-decoration:none}
.sv2-production-actions{display:flex;justify-content:flex-end;padding:8px 14px;border-top:1px solid var(--sv2-line,#34313f)}
.sv2-production-actions .sv2-btn{font-size:12px;min-height:36px;color:#b5a9bf}
.sv2-production-actions .sv2-btn:hover{color:#f2b4bd;background:#3a202b}
.sv2-delete-note{padding:14px 16px;border:1px solid #633746;border-radius:10px;background:#2b1b25;color:#f2c7ce;line-height:1.6}

:is(.dir-develop,.sv2-blueprint,.dir-drawer) details[open]{border-left:2px solid #796094;padding-left:12px;margin-bottom:16px}
.dir-thinking{position:relative;overflow:hidden;min-width:min(320px,100%);padding-bottom:22px!important}
.dir-progress-steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:18px 0 8px;font-size:12px;color:#92889f}
.dir-progress-steps .is-current{color:#e3ceff;font-weight:600}.dir-progress-steps .is-done{color:#98d7ba}
.dir-elapsed{display:block;margin-top:10px;color:#aa9bbb;font-variant-numeric:tabular-nums}
.dir-progress-light{position:absolute;bottom:0;left:0;width:40%;height:2px;background:linear-gradient(90deg,transparent,#b18aff,transparent);animation:dir-progress-travel 2.8s ease-in-out infinite}
@keyframes dir-progress-travel{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:reduce){.dir-progress-light{animation:none;width:100%;opacity:.7}}

/* Durable image activity: visible motion and honest elapsed time. */
.sv2-generation-activity{display:grid;justify-items:center;gap:9px;padding:20px 16px;color:#eee8ff;text-align:center;min-width:0;box-sizing:border-box}
.sv2-generation-activity strong{font-size:14px;line-height:1.4}
.sv2-generation-copy{max-width:28ch;font-size:12px;line-height:1.5;color:#b8afca}
.sv2-generation-orbit{position:relative;width:32px;height:32px;border:2px solid #b997ff33;border-radius:50%;box-shadow:0 0 22px #9865f52b}
.sv2-generation-orbit:before{content:"";position:absolute;inset:-2px;border:2px solid transparent;border-top-color:#c3a7ff;border-right-color:#8956ef;border-radius:50%;animation:sv2-activity-spin 1s linear infinite}
.sv2-generation-orbit i{position:absolute;inset:9px;border-radius:50%;background:#bb94ff;animation:sv2-image-pulse 1.6s ease-in-out infinite}
.sv2-generation-time{font-size:11px;font-variant-numeric:tabular-nums;color:#c2acdf;min-height:16px}
.sv2-generation-track{height:3px;width:min(160px,80%);overflow:hidden;background:#b791f522;border-radius:4px}
.sv2-generation-track i{display:block;width:40%;height:100%;background:linear-gradient(90deg,transparent,#b896ff,transparent);animation:sv2-image-sweep 1.8s ease-in-out infinite}
@keyframes sv2-image-pulse{50%{opacity:.35;transform:scale(.65)}}
@keyframes sv2-image-sweep{from{transform:translateX(-110%)}to{transform:translateX(360%)}}
.sv2-look-loading{position:absolute;inset:0;display:grid;align-items:center;background:radial-gradient(ellipse at 50% 40%,#302343,#111017 75%)}
.sv2-look-loading>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.3}
.sv2-look-loading>.sv2-generation-activity{position:relative;z-index:1;padding-bottom:34px}
.sv2-active-look{margin:12px 0}
.sv2-active-look>img{display:block;width:100%;max-height:300px;object-fit:contain;background:#100f15;border:1px solid #493b61;border-radius:10px;margin-bottom:10px}
@media(prefers-reduced-motion:reduce){.sv2-generation-orbit:before,.sv2-generation-orbit i,.sv2-generation-track i{animation:none}.sv2-generation-track i{width:100%;opacity:.5}}

.sv2-look-loading .sv2-generation-copy{display:none}

/* Saved Prep looks: preview first, explicit selection, generation only after review. */
.sv2-element-image-button,.sv2-element-select{display:block;width:100%;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer}
.sv2-element-image-button{padding:0}
.sv2-element-select{background:transparent}
.sv2-element-image-button:focus-visible,.sv2-element-select:focus-visible{outline:2px solid #b89cff;outline-offset:-3px}
.sv2-look-dialog{width:min(1120px,calc(100vw - 32px))}
.sv2-look-gallery .sv2-full-preview{background:#0b0d12;border:1px solid #333947;border-radius:10px;min-height:200px}
.sv2-look-gallery .sv2-full-preview img{height:auto;max-height:55vh}
.sv2-look-toolbar,.sv2-look-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}
.sv2-look-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px}
.sv2-look-thumbnails button{flex:0 0 150px;background:#141720;border:1px solid #414657;border-radius:9px;padding:5px;color:#c8cad5;text-align:left;cursor:pointer}
.sv2-look-thumbnails button.is-selected{border-color:#b59aff;box-shadow:0 0 0 1px #b59aff}
.sv2-look-thumbnails button:focus-visible{outline:2px solid #d9caff;outline-offset:2px}
.sv2-look-thumbnails img{display:block;width:100%;height:86px;object-fit:contain;background:#090b10;border-radius:5px}
.sv2-look-thumbnails span{display:block;padding:7px 4px 3px;font-size:12px}
.sv2-look-footer{border-top:1px solid #343847;padding-top:16px;margin-bottom:0}
.sv2-look-footer .sv2-btn{flex-shrink:0}
@media(max-width:600px){.sv2-look-dialog{width:calc(100vw - 16px)}.sv2-look-gallery .sv2-full-preview{min-height:130px}.sv2-look-toolbar,.sv2-look-footer{align-items:flex-start;flex-wrap:wrap}.sv2-look-thumbnails button{flex-basis:125px}}

/* Shared Director reference context, bounded at narrow drawer widths. */
.dir-reference-image { max-width: 260px; margin: 12px 0; }
.dir-reference-image img { display:block; width:100%; max-height:170px; object-fit:contain; border-radius:8px; }
.dir-reference-proposal .dir-copy p { overflow-wrap:anywhere; }

/* Shared native-video playback and honest request progress. */
.sv2-inline-video{position:relative;display:flex;width:100%;height:100%;min-width:0;align-items:center;justify-content:center}
.sv2-inline-video>video{display:block;width:100%;height:100%;object-fit:contain}
.sv2-video-play{position:absolute;top:16px;right:16px;z-index:2;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #c6a7ff;border-radius:999px;background:#7042cbeb;color:#fff;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 24px #0007}
.sv2-video-play:hover{background:#8d5ce7}
.sv2-video-play:focus-visible{outline:3px solid #e6d8ff;outline-offset:3px}
.sv2-video-play[hidden],.sv2-video-play-error[hidden]{display:none}
.sv2-video-play svg{width:18px;height:18px}
.sv2-video-play-error{position:absolute;bottom:56px;left:12px;right:12px;padding:8px;background:#15111ee8;font-size:13px}
.sv2-video-activity{display:grid;justify-items:center;gap:14px;padding:32px 18px;min-height:300px;border:1px solid #594477;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,#322246,#121219 75%)}
.sv2-video-activity .sv2-generation-activity{padding:8px}
.sv2-video-activity .sv2-generation-orbit{width:48px;height:48px}
.sv2-video-activity .sv2-generation-orbit i{inset:16px}
.sv2-video-activity .sv2-generation-activity strong{font-size:18px}
.sv2-video-activity .sv2-generation-copy{font-size:14px;max-width:42ch}
.sv2-video-activity .sv2-generation-time{font-size:13px}
.sv2-video-progress-steps{display:flex;gap:24px;list-style:none;padding:0;margin:0;color:#a7a0b5;font-size:13px}
.sv2-video-progress-steps li{display:flex;gap:7px;align-items:center}
.sv2-video-progress-steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #6c5d81}
.sv2-video-progress-steps .is-current{color:#e9dbff}
.sv2-video-progress-steps .is-current>span{background:#8552da;border-color:#be9aff}
.sv2-video-progress-steps .is-done>span{color:#95e0c0;border-color:#548d78}
.sv2-video-reservation{margin:0!important;text-align:center;color:#b8afca;font-size:12px}
@media(max-width:480px){.sv2-video-progress-steps{gap:13px}.sv2-video-play{top:10px;right:10px;padding:8px 12px}}

.sv2-finish-media-review {border:1px solid var(--sv2-border,#343a49);border-radius:12px;padding:16px;margin:16px 0;min-width:0;}
.sv2-finish-room .sv2-finish-media-review label {display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:14px 0;line-height:1.5;}
.sv2-finish-room .sv2-finish-media-review input {flex:0 0 20px;width:20px;height:20px;min-height:0;padding:0;margin:2px 0 0;accent-color:var(--sv-accent,#8b5cf6);}
