:root {
  color-scheme: dark;
  --bg: #0b0b0a;
  --panel: #141413;
  --text: #f4f0e9;
  --muted: #b0ada7;
  --line: #343430;
  --accent: #e64325;
  --accent-strong: #c7381e;   /* accent behind white text on selected controls: 5.2:1 (the accent itself is 4.0:1) */
  --accent-light: #ff8267;
  --ink: #0b0b0a;
  --heading: 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
  scrollbar-color: #645049 var(--bg);
}
.studio-edit-sources { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-bottom:28px; }
.studio-edit-source { display:flex; flex-wrap:wrap; gap:8px; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.studio-edit-source strong,.studio-edit-source small { width:100%; }
.studio-edit-source button { flex:1; }
.studio-edit-playback video { display:block; width:100%; max-height:72vh; background:#070707; border-radius:14px; margin:16px 0; }
.studio-edit-playback audio { width:100%; margin:16px 0; }

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a, input, textarea, select, summary { outline-offset: 5px; }
:focus-visible { outline: 2px solid var(--accent-light); }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .6; }
::selection { background: var(--accent); color: var(--ink); }
.skip { position: absolute; top: -60px; background: var(--accent); color: var(--ink); padding: 10px; z-index: 5; }
.skip:focus { top: 0; }
.preview-bar { padding: 9px 24px; text-align: center; background: #1b1916; color: #c6bbb5; font-size: 11px; border-bottom: 1px solid var(--line); }
.preview-bar span { color: var(--text); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin-right: 12px; }
.site-header, main, footer { max-width: 1360px; margin: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 48px; }
.wordmark { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.brand-logo { display: block; width: 76px; height: 76px; object-fit: contain; }
.brand-name { font-size: 11px; font-weight: 900; line-height: 1.45; letter-spacing: 2px; }
nav { display: flex; align-items: center; gap: 30px; font-size: 12px; }
nav > a { color: var(--muted); padding: 8px 0; }
nav > a.active { color: var(--text); border-bottom: 2px solid var(--accent); }
nav > a:hover, footer a:hover { color: var(--accent-light); }
.beta-tag { border: 1px solid var(--line); padding: 7px 10px; color: var(--text); font-size: 10px; text-transform: uppercase; letter-spacing: .6px; }
.beta-tag i { display: inline-block; width: 6px; height: 6px; background: var(--accent); margin-right: 6px; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 470px); gap: 52px; padding: 26px 48px 72px; align-items: start; }
.hero-copy, .intake-card { min-width: 0; }
.eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 1.8px; color: var(--accent-light); margin: 0 0 18px; }
.hero-title { background: var(--accent); color: var(--ink); padding: 30px 30px 20px; }
.hero-title .eyebrow { color: var(--ink); font-size: 10px; letter-spacing: 1.2px; margin-bottom: 34px; }
h1 { font-family: var(--heading); font-size: clamp(48px, 4.9vw, 69px); font-weight: 900; letter-spacing: -3.8px; line-height: .99; text-transform: uppercase; margin: 0; }
h1 em { font-family: inherit; font-style: normal; }
.title-caption { display: flex; justify-content: space-between; gap: 12px; border-top: 2px solid var(--ink); padding-top: 12px; margin-top: 30px; font-size: 9px; font-weight: 700; letter-spacing: 1px; }
.lede { color: #d5d0c8; font-size: 16px; line-height: 1.75; max-width: 540px; margin: 26px 0 0; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 20px 0 28px; }
.hero-pills span { font-size: 10px; color: var(--muted); }
.hero-pills span::before { content: '+'; color: var(--accent-light); font-weight: 700; margin-right: 6px; }
.edit-graphic { border: 1px solid var(--line); padding: 16px; background: var(--panel); overflow: hidden; }
.graphic-top { display: flex; justify-content: space-between; gap: 10px; font-size: 9px; letter-spacing: 1.2px; color: var(--muted); margin-bottom: 14px; }
.graphic-top > span:last-child { color: var(--accent-light); font-family: monospace; }
.filmstrip { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 5px; }
.film-frame { position: relative; height: 128px; overflow: hidden; isolation: isolate; }
.film-frame::before, .film-frame::after { content: ''; position: absolute; z-index: -1; }
.film-frame span { position: absolute; bottom: 7px; left: 7px; background: #0b0b0a; padding: 2px 6px; font-size: 9px; color: var(--text); }
.landscape { background: #c5b4a1; }
.landscape::before { left: -20%; bottom: -28%; width: 125%; height: 75%; background: #272725; transform: rotate(23deg); }
.landscape::after { left: 57%; top: 16%; width: 32px; height: 32px; border-radius: 50%; background: var(--accent); }
.people { background: var(--accent); }
.people::before { width: 38px; height: 92px; border-radius: 45% 45% 0 0; background: #181817; left: 20%; top: 27px; transform: rotate(-9deg); }
.people::after { width: 40px; height: 98px; border-radius: 45% 45% 0 0; background: #f4dfc6; left: 51%; top: 22px; transform: rotate(10deg); }
.detail { background: #282827; }
.detail::before { width: 76px; height: 76px; border: 3px solid var(--accent); border-radius: 50%; top: 22px; left: 16%; transform: rotate(25deg) scaleX(.65); }
.detail::after { width: 80px; height: 48px; border: 2px solid #e3d1ba; border-radius: 50%; top: 37px; left: 13%; transform: rotate(-35deg); }
.audio-line { display: flex; align-items: center; height: 34px; gap: 4px; border-bottom: 1px solid var(--line); }
.audio-line span { background: var(--accent); width: 100%; height: 6px; }
.audio-line span:nth-child(3n) { height: 14px; }
.audio-line span:nth-child(4n) { height: 20px; }
.audio-line span:nth-child(7n) { height: 10px; }
.edit-graphic > p { margin: 8px 0 0; font-size: 10px; color: var(--muted); }
.offer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 28px 0 0; border-top: 1px solid var(--line); padding-top: 24px; }
.offer .eyebrow { font-size: 9px; margin-bottom: 4px; color: var(--muted); letter-spacing: 1.3px; }
.price { font-family: var(--heading); font-size: 38px; font-weight: 900; line-height: 1.4; margin: 0; letter-spacing: -1.5px; }
.price span { font-family: Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0; color: var(--muted); margin-left: 6px; }
.membership-heading { font-family: var(--heading); font-size: 23px; line-height: 1.3; letter-spacing: -.7px; margin: 7px 0; }
.approval-label { color: #dbbbb0; border: 1px solid #624238; font-size: 10px; padding: 3px 7px; white-space: nowrap; }
.offer-detail { font-size: 11px; color: var(--muted); line-height: 1.9; margin: 10px 0 0; }
.intake-card { background: var(--panel); border: 1px solid var(--line); border-top: 4px solid var(--accent); padding: 28px; align-self: start; }
.intake-card .eyebrow { margin-bottom: 10px; font-size: 9px; }
.intake-card h2 { font-family: var(--heading); font-size: 30px; letter-spacing: -1.3px; font-weight: 900; text-transform: uppercase; margin: 0 0 12px; line-height: 1.1; }
.card-intro { font-size: 12px; color: var(--muted); line-height: 1.75; margin: 0 0 22px; }
.file-zone { display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px dashed #805247; padding: 20px 12px; background: #211a17; cursor: pointer; position: relative; overflow: hidden; margin-bottom: 10px; }
.file-zone:hover { border-color: var(--accent-light); background: #2b1c17; }
.file-zone input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.file-zone:focus-within { outline: 2px solid var(--accent-light); outline-offset: 3px; }
.upload-icon { font-size: 28px; color: var(--accent-light); line-height: 1; margin-bottom: 10px; }
.file-zone strong { font-size: 12px; font-weight: 700; }
.file-zone > span:last-of-type { font-size: 10px; color: #c3a79d; margin-top: 4px; }
label { display: block; font-size: 11px; font-weight: 700; margin: 15px 0 7px; }
.optional { float: right; color: var(--muted); font-size: 10px; font-weight: 400; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field-row > div { min-width: 0; }
input:not([type=checkbox]):not([type=file]), textarea, select { display: block; width: 100%; border: 1px solid #48443e; border-radius: 0; padding: 10px 11px; background: #0e0e0d; color: var(--text); min-height: 42px; font-size: 12px; }
input::placeholder, textarea::placeholder { color: #a29c94; opacity: 1; }
textarea { resize: vertical; line-height: 1.65; }
select { padding-right: 5px; }
.helper { font-size: 11px; line-height: 1.6; color: var(--muted); margin: 8px 0 5px; }
.file-summary { font-size: 10px; color: var(--accent-light); margin: 7px 0 2px; overflow-wrap: anywhere; }
.check { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; font-size: 11px; color: #beb7ad; line-height: 1.55; margin: 15px 0; }
.check input { accent-color: var(--accent); width: 15px; height: 15px; margin: 1px 0; flex-shrink: 0; }
.primary, .secondary { width: 100%; border-radius: 0; padding: 14px 16px; font-size: 12px; min-height: 48px; }
.primary { background: var(--accent); color: var(--ink); font-weight: 900; text-transform: uppercase; letter-spacing: .6px; border: 1px solid var(--accent); display: flex; justify-content: space-between; align-items: center; margin-top: 21px; }
.primary:hover { background: #ff6647; border-color: #ff6647; }
.primary span { font-size: 22px; line-height: 1; }
.secondary { background: transparent; border: 1px solid #70645e; color: var(--text); margin-top: 10px; }
.secondary:hover { background: #29221e; border-color: var(--accent-light); }
.button-note { font-size: 10px; color: var(--muted); text-align: center; margin: 9px 0 0; }
.error { font-size: 12px; color: #ffb29d; background: #382019; border-left: 2px solid var(--accent); padding: 10px; }
.process { border-top: 1px solid var(--line); padding: 52px 48px 60px; }
.section-heading { display: flex; justify-content: space-between; align-items: start; gap: 28px; }
.section-heading h2 { font-family: var(--heading); font-size: 32px; font-weight: 900; text-transform: uppercase; line-height: 1.12; letter-spacing: -1px; margin: 0; min-width: 50%; }
.process ol { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding: 0; margin: 38px 0 0; }
.process li { border-top: 1px solid var(--line); padding-top: 20px; }
.step { font-family: var(--heading); font-size: 36px; font-weight: 900; letter-spacing: -2px; color: var(--accent-light); line-height: 1; }
.process h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; margin: 18px 0 10px; }
.process li p, .scope p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 0; }
.scope { padding: 44px 48px 54px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.scope .eyebrow { color: var(--accent-light); margin-bottom: 16px; font-size: 10px; }
.scope h2 { font-family: var(--heading); font-weight: 900; font-size: 28px; text-transform: uppercase; line-height: 1.2; letter-spacing: -1px; margin: 0; }
.scope .muted { color: var(--muted); margin-top: 13px; }
footer { border-top: 3px solid var(--accent); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 48px; font-size: 10px; color: var(--muted); }
footer > span { color: var(--text); letter-spacing: 1.5px; font-weight: 900; font-size: 10px; }
footer p { margin: 0; }
footer a { color: var(--text); }
.preview-controls { max-width: 1264px; margin: 12px auto 30px; font-size: 10px; color: var(--muted); padding: 15px; border: 1px dashed var(--line); }
.preview-controls summary { cursor: pointer; }
.preview-controls .secondary { width: auto; margin-right: 8px; }
.state-symbol { color: var(--ink); background: var(--accent); width: 44px; height: 44px; text-align: center; line-height: 44px; font-size: 24px; margin-bottom: 24px; }
.brief-summary { font-size: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px 0; margin: 20px 0; }
.brief-summary dt { color: var(--muted); font-size: 10px; margin-top: 10px; }
.brief-summary dd { margin: 0 0 10px; overflow-wrap: anywhere; white-space: pre-wrap; }
.notice { background: #231d19; border-left: 2px solid var(--accent); padding: 15px; font-size: 12px; }
.notice p { font-size: 11px; color: #c9bcb2; margin-bottom: 0; }
.delivery-placeholder { min-height: 230px; background: #0b0b0a; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); margin: 22px 0; padding: 24px; }
.delivery-placeholder .brand-logo { width: 100px; height: 100px; }
.delivery-placeholder p { font-size: 11px; color: var(--muted); }
#private-review { display: block; width: 100%; max-height: 340px; background: #000; margin-top: 15px; }
#project-status { margin-top: 16px; }
#music-preview { width: 100%; max-width: 100%; margin-top: 10px; }
#music-file { max-width: 100%; font-size: 11px; color: var(--muted); }
#music-file::file-selector-button { background: #302721; color: var(--text); border: 1px solid #70645e; padding: 8px 10px; margin-right: 10px; cursor: pointer; }
#music-file-note { overflow-wrap: anywhere; }
.story-panel { padding: 44px 48px 54px; border-top: 1px solid var(--line); }
.story-heading { max-width: 700px; }
.story-heading h2, .story-panel > h2 { font-family: var(--heading); font-size: 36px; line-height: 1.1; letter-spacing: -1.4px; margin: 0 0 18px; text-transform: uppercase; }
.story-intro { color: var(--muted); font-size: 14px; }
.story-customize > summary { cursor: pointer; padding: 14px 0; font-weight: bold; }
.story-customize > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.story-costs { display: grid; grid-template-columns: 170px 1fr; gap: 6px 20px; padding: 18px 22px; border-left: 3px solid var(--accent); background: #171613; margin: 25px 0; }
.story-costs p { margin: 0; }
.story-cost-title { font-size: 12px; font-weight: bold; }
.story-group-title { font-size: 16px; margin: 30px 0 18px; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.story-card { min-width: 0; border: 1px solid var(--line); background: var(--panel); }
.story-media { aspect-ratio: 16 / 9; background: #211b17; display: grid; place-items: center; font-size: 12px; color: var(--muted); overflow: hidden; }
.story-media img { width: 100%; height: 100%; object-fit: contain; }
.story-card-body { padding: 19px; }
.story-card .eyebrow { font-size: 9px; margin: 0 0 8px; }
.story-card h3 { font-size: 17px; margin: 0 0 4px; overflow-wrap: anywhere; }
.story-range { font-size: 11px; color: var(--muted); margin: 0; font-variant-numeric: tabular-nums; }
.story-reason { font-size: 12px; line-height: 1.7; margin: 14px 0; overflow-wrap: anywhere; }
.story-transcript-label { font-size: 10px; text-transform: uppercase; color: var(--muted); margin: 16px 0 5px; }
.story-transcript { font-size: 13px; border-left: 2px solid var(--accent); margin: 0 0 8px; padding-left: 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.story-card video { width: 100%; margin-top: 10px; background: #000; }
.story-card-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.story-choice { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 11px; font-weight: 400; min-height: 36px; cursor: pointer; }
.story-choice input { accent-color: var(--accent); flex-shrink: 0; width: 16px !important; height: 16px; min-height: 0 !important; margin: 0; padding: 0 !important; }
.story-choice:has(input:checked) { color: var(--accent-light); }
.story-alternatives { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.story-alternatives summary { cursor: pointer; font-size: 14px; padding: 8px 0 20px; }
.story-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.story-actions button { width: auto; margin: 0; }
.story-conflict { background: #382019; border-left: 3px solid var(--accent); padding: 18px; font-size: 13px; }
.story-conflict strong { display: block; }
.story-conflict button { width: auto; margin-right: 12px; }
.story-revisions { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.story-revision { max-width: 720px; margin-bottom: 24px; }
.story-revision h4 { margin-bottom: 10px; }
.story-revision video { width: 100%; background: #000; display: block; }
.story-revision a { display: inline-block; width: auto; }
.story-outline { padding-left: 21px; font-size: 12px; }
.story-outline li { margin: 16px 0; padding-left: 5px; }
.story-outline p { margin: 5px 0; }
[hidden] { display: none !important; }

@media (max-width: 1100px) {
  .site-header { padding: 24px 30px; }
  .hero { gap: 28px; padding: 24px 30px 55px; grid-template-columns: minmax(0, 1fr) minmax(350px, 410px); }
  .hero-title { padding: 26px 22px 18px; }
  h1 { font-size: clamp(38px, 4.75vw, 54px); letter-spacing: -2.8px; }
  .intake-card { padding: 24px; }
  .lede { font-size: 15px; }
  .offer { flex-wrap: wrap; }
  .process, .scope, footer { padding-left: 30px; padding-right: 30px; }
  .preview-controls { margin: 12px 30px 30px; }
  .story-panel { padding: 36px 30px; }
  .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .preview-bar { font-size: 10px; }
  .preview-bar span { display: block; margin: 0 0 2px; }
  .site-header { padding: 20px 22px; }
  .brand-logo { width: 64px; height: 64px; }
  .wordmark { gap: 12px; }
  .brand-name { font-size: 9px; }
  nav { gap: 0; }
  nav > a { display: none; }
  .beta-tag { font-size: 9px; letter-spacing: 0; }
  .hero { display: block; padding: 16px 22px 44px; }
  .hero-copy { max-width: 600px; margin: 0 auto 34px; }
  .hero-title { padding: 26px 24px 20px; }
  h1 { font-size: clamp(43px, 8.6vw, 72px); letter-spacing: -2.5px; }
  .hero-title .eyebrow { font-size: 9px; letter-spacing: .7px; margin-bottom: 30px; }
  .title-caption { font-size: 8px; letter-spacing: .5px; }
  .hero-pills { gap: 8px 12px; margin-bottom: 24px; }
  .film-frame { height: 120px; }
  .offer { margin-top: 24px; }
  .intake-card { max-width: 600px; margin: 0 auto; padding: 26px 22px; }
  input:not([type=checkbox]):not([type=file]), textarea, select { font-size: 16px; }
  label { font-size: 12px; }
  .process, .scope { padding: 36px 22px; }
  .section-heading { display: block; }
  .section-heading h2 { font-size: 28px; }
  .process ol { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
  .process li { position: relative; padding: 16px 0 0 54px; }
  .process h3 { margin-top: 2px; }
  .step { position: absolute; left: 0; top: 19px; font-size: 30px; }
  .scope { grid-template-columns: 1fr; gap: 22px; }
  footer { flex-wrap: wrap; gap: 15px; padding: 22px; font-size: 9px; }
  footer p { display: none; }
  .preview-controls { margin: 12px 22px 25px; }
  .story-panel { padding: 36px 22px; }
  .story-grid { grid-template-columns: 1fr; max-width: 600px; margin: auto; }
  .story-costs { display: block; padding: 16px; }
  .story-costs .helper { margin: 5px 0 14px; }
  .story-heading h2 { font-size: 30px; }
  .story-actions button { flex: 1 1 200px; }
}

@media (max-width: 380px) {
  .site-header { gap: 12px; }
  .brand-name { display: none; }
  .hero-title { padding: 22px 18px 16px; }
  h1 { font-size: 38px; letter-spacing: -2px; }
  .title-caption { font-size: 7px; }
  .intake-card { padding: 24px 18px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .optional { float: none; display: block; }
  .film-frame span { font-size: 8px; left: 3px; padding: 2px 3px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}
/* The invited story view uses the full workspace; all media arrive privately. */
.region-player{position:relative;width:100%}.region-player video{display:block;width:100%;height:auto;object-fit:contain}.region-player video[hidden]{display:none}
#region-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}#region-canvas.drawing{pointer-events:auto;cursor:crosshair}
.creative-directions{margin:24px 0;padding:16px;border:1px solid #555}.creative-directions section,.creative-directions details{margin:20px 0;border-top:1px solid #444;padding-top:18px}
.creative-directions label{display:block;margin-top:14px}.creative-directions select,.creative-directions input,.creative-directions textarea{display:block;width:100%;max-width:100%;min-width:0;background:#181818;color:#eee;border:1px solid #666;padding:10px;font:inherit}
.creative-directions button{margin:12px 8px 0 0}.creative-tools{display:flex;flex-wrap:wrap}.creative-directions li{margin:8px 0;font-size:14px;overflow-wrap:anywhere}
#private-workspace main:has(#project-state:not([hidden])) .hero{grid-template-columns:minmax(0,1fr)}
#private-workspace main:has(#project-state:not([hidden])) .hero-copy{display:none}
#private-workspace main:has(#project-state:not([hidden])) .intake-card{max-width:none;width:100%;min-width:0}
#film-workspace .story-revision,#creative-workspace{max-width:960px;margin-left:auto;margin-right:auto}
.creative-tools button{width:auto;flex:1 1 140px}
#private-workspace main:has(#private-story:not([hidden])) .hero{grid-template-columns:minmax(0,1fr)}
#private-workspace main:has(#private-story:not([hidden])) .hero-copy{display:none}
#private-workspace main:has(#private-story:not([hidden])) .intake-card{max-width:none;width:100%;min-width:0}
#private-story .story-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}
#private-story select{max-width:100%;min-width:0;background:#181818;color:#eee;border:1px solid #666;padding:12px}
#private-story .story-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#private-story pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.7;max-height:560px;overflow:auto;padding:16px;background:#151515}
#private-story .story-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}
#private-story figure{margin:0;min-width:0}#private-story img{display:block;width:100%;max-height:440px;object-fit:contain;background:#101010}
#private-story figcaption{font-size:13px;line-height:1.5;padding:12px 0;color:#bbb}
#private-story textarea{display:block;width:100%;max-width:100%;margin:10px 0 16px;background:#181818;color:#eee;border:1px solid #666;padding:12px;font:inherit}
@media(max-width:700px){#private-story .story-comparison{grid-template-columns:1fr}#private-story .story-images{grid-template-columns:1fr}#private-story .story-toolbar select{width:100%}}
.story-review{min-width:0}.story-review [hidden]{display:none!important}.story-review h2{margin:0 0 6px;font-size:28px}.story-review .story-kicker{color:#aaa;font-size:12px;letter-spacing:.06em;margin:8px 0;text-transform:uppercase}
.story-tabs,.story-scene-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.story-tabs button{width:auto;padding:10px 16px;background:#191919;border:1px solid #444;color:#eee}.story-tabs [aria-pressed=true]{background:#f05a36;color:#111;border-color:#f05a36}
.story-review .story-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.story-review select,.story-review input,.story-review textarea{background:#171717;border:1px solid #555;color:#eee;padding:10px;font:inherit;max-width:100%;min-width:0}.story-review select{max-width:620px}.story-review label{display:block;font-size:13px}
.story-scene-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:22px;align-items:start}.story-scene-view>h3{font-size:18px;margin:10px 0 16px}.story-review .story-frames{display:block!important;margin:0!important;min-width:0}.story-frames figure{margin:0}.story-review .story-frames img{display:block;width:100%;height:auto;max-height:54vh!important;object-fit:contain;background:#090909}.story-review figcaption{font-size:12px;color:#aaa;padding:8px 0}.story-review small{display:block;color:#999;font-size:11px;margin-top:6px}.story-review .story-review-note{font-size:12px;line-height:1.5;color:#e9bc8d;margin:5px 0}
.story-review .story-script h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;color:#bbb}.story-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.65;background:#171717;padding:16px;margin:0;max-height:58vh;overflow:auto}.story-script{min-width:0}.story-direction{margin:18px 0}.story-direction textarea{display:block;box-sizing:border-box;width:100%;margin:8px 0 12px}.story-direction button{width:auto;min-width:180px}.story-scene-nav button{width:auto;padding:8px 14px}.story-original,.story-reference-panel,.story-library-view details{padding:15px 0;border-top:1px solid #333}.story-review summary{cursor:pointer;font-size:14px;color:#ccc}.story-reference-panel[open] .story-references,.story-library-view .story-references{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:15px}.story-review .story-references img{width:100%;height:150px;object-fit:contain;background:#101010}.story-review .story-references figure{margin:0}
.story-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.story-review .story-film-card{display:block;text-align:left;padding:0 0 12px;overflow:hidden;border:1px solid #343434;background:#171717;color:#eee;border-radius:0;width:100%;font:inherit;text-transform:none;letter-spacing:normal;cursor:pointer}.story-film-card:hover{border-color:#f05a36}.story-review .story-film-card img{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain;background:#080808;max-height:none!important}.story-film-card span,.story-film-card strong,.story-film-card p{display:block;margin:10px 12px!important}.story-film-card strong{font-size:12px;line-height:1.5}.story-film-card p{font-size:12px;line-height:1.5;color:#aaa}.story-library-view{max-width:1100px}
@media(max-width:950px){.story-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-scene-layout{grid-template-columns:1fr}.story-review .story-script pre{max-height:320px}}
@media(max-width:520px){.story-film-grid{grid-template-columns:1fr}.story-tabs button{font-size:12px;padding:10px}.story-review .story-toolbar select{width:100%}.story-review h2{font-size:24px}}
.story-review .story-toolbar,#private-story.story-review .story-toolbar { display:grid; grid-template-columns:auto minmax(180px,1fr) auto 180px; align-items:center; gap:12px; margin:14px 0; }
.story-review .story-toolbar select { width:100%; min-width:0; margin:0; }
.story-review .story-toolbar label { margin:0; }
.story-upload { margin:24px 0; padding:20px; border:1px solid var(--line,#ddd); }
.story-material { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid #ddd; }
.story-material strong { overflow-wrap:anywhere; }
.story-reference-preview { max-width:240px; max-height:240px; object-fit:contain; }
.generation-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.generation-result{padding:14px;border:1px solid #414141;background:#111;min-width:0}.generation-result strong,.generation-result small{display:block;margin-bottom:8px}.story-review .generation-result img{width:100%;height:auto!important;max-height:380px;object-fit:contain;background:#060606}.generation-result progress{width:100%;height:9px;accent-color:#f04b27}.generation-result button{font-size:12px;margin:8px 4px 0 0}.reference-generation{margin:24px 0}.reference-generation h3{margin-bottom:12px}
.coverage-spread{border:0!important}.coverage-shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.coverage-shot{border:1px solid #444;background:#111;min-width:0}.coverage-shot[data-selected=true]{border-color:#f04b27;background:#211710}.creative-directions .coverage-shot button{margin:0;padding:10px;width:100%;border:0;text-align:left;text-transform:none;letter-spacing:normal}.coverage-shot button strong,.coverage-shot button small,.coverage-shot button>span{display:block;padding:6px 2px}.coverage-evidence{font-size:12px;line-height:1.5;color:#bbb;margin:0;padding:12px;max-height:105px;overflow:auto;white-space:pre-line}.coverage-script{white-space:pre-wrap;max-height:300px;overflow:auto;font:14px/1.6 monospace}.camera-diagram{position:relative;height:120px;background:radial-gradient(ellipse at center,#353b3b,#101415);overflow:hidden}.camera-subject{position:absolute;width:23px;height:23px;border-radius:50%;background:#d6bca6;color:#1b1612;display:grid;place-items:center;top:24px;font:11px sans-serif;left:42%}.camera-subject.second{left:65%}.camera-position{position:absolute;bottom:10px;left:44%;font-size:25px;color:#f45c36}.camera-position:before{content:'';position:absolute;border-left:26px solid transparent;border-right:26px solid transparent;border-top:48px solid #f45c3628;bottom:22px;left:-15px}.camera-diagram[data-framing=over_shoulder] .first{top:72px;left:39%}.camera-diagram[data-framing=over_shoulder] .camera-position{left:25%}.camera-diagram[data-framing=close_up] .camera-position{bottom:39px}.camera-diagram[data-framing=extreme_close_up] .camera-position{bottom:60px;left:60%}.camera-diagram[data-angle=overhead] .camera-position{left:47%;bottom:44px}.camera-diagram[data-angle=overhead]{background:repeating-radial-gradient(circle at center,#333 0 1px,#101415 2px 20px)}.camera-motion{position:absolute;bottom:8px;left:68%;font-size:28px;color:#eee}.coverage-pack-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:800px){.generation-results,.coverage-shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.generation-results,.coverage-shot-grid{grid-template-columns:minmax(0,1fr)}}
.story-character-editor { margin-top:28px; }
/* Image-first reference workspace. Forms stay behind deliberate actions. */
.story-library-view{max-width:none!important}.reference-canvas .reference-status{position:sticky;top:65px;z-index:5;min-height:24px;padding:8px 12px;background:#20251f;color:#cfebc7;border-left:3px solid #81ae70;font-size:14px}
.reference-canvas .reference-topbar{display:flex;gap:8px;margin-bottom:10px}.reference-canvas .reference-topbar button{width:auto;margin:0;font-size:12px}
.reference-canvas .reference-inspector{padding:0;border:none;background:#101010;margin:12px 0}.reference-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #333;padding:12px 0}
.reference-desk{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.reference-stage{position:sticky;top:92px;min-width:0;background:#080808;text-align:center;padding:16px}
.story-review .reference-stage>img,.story-review .reference-stage>.studio-image-preview>img{width:100%;height:58vh!important;max-height:650px!important;object-fit:contain}.reference-stage-badge{display:inline-block;margin:12px;color:#b3ddb0;font-size:13px}.reference-controls{min-width:0;padding:8px 0}.reference-controls>.reference-description{font-size:13px;line-height:1.6;color:#ccc}
.reference-canvas .reference-controls>button{width:100%;margin:4px 0;padding:12px;text-transform:none;font-size:13px}.reference-canvas button.reference-approved{background:#253f2a;border:1px solid #6b9e72;color:#d3f0d8;opacity:1}
.reference-controls details{font-size:12px;margin:10px 0}.reference-scene-drawer[open]{max-height:200px;overflow:auto}.reference-canvas .reference-scene-drawer button{display:block;text-align:left;font-size:11px;padding:8px;width:100%}
.reference-versions,.reference-inputs{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.reference-canvas .reference-versions button{padding:2px;width:74px;height:80px;margin:0}.story-review .reference-versions img{width:100%;height:100%!important;object-fit:contain}.reference-versions [aria-pressed=true]{outline:2px solid #ff6337}
.reference-composer{border-top:1px solid #444;padding-top:16px;margin-top:14px}.reference-composer h4{font-size:14px;margin:0 0 12px}.reference-input{position:relative;width:calc(50% - 4px);padding:6px;background:#222;border:1px solid #444;min-width:0}.story-review .reference-input>img{height:88px!important;width:100%;object-fit:contain}.reference-input small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-canvas .reference-input>button{position:absolute;top:2px;right:2px;margin:0;padding:1px 6px;background:#111}.reference-input select{font-size:11px!important;padding:5px!important;width:100%}
.reference-canvas .reference-add-tile{border:1px dashed #666;width:calc(50% - 4px);min-height:90px;padding:8px;margin:0;font-size:12px}.reference-canvas .reference-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:290px;overflow:auto;margin:12px 0}.reference-canvas .reference-picker button{width:100%;margin:0;padding:4px;min-width:0;text-transform:none;font-size:10px}.story-review .reference-picker img{height:85px!important;width:100%;object-fit:contain}.reference-picker [aria-pressed=true]{outline:2px solid #ff683d}.reference-picker span{display:block}
.reference-preset-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:16px 0}.reference-canvas .reference-preset-tiles button{width:100%;margin:0;padding:10px 6px;min-height:65px;font-size:11px;text-transform:none}.reference-preset-icon{display:block;font-size:22px;color:#ccc;margin-bottom:6px}.reference-canvas .reference-preset-tiles [aria-pressed=true],.reference-backgrounds [aria-pressed=true]{background:#33231e;border-color:#ff7249;color:#ffb294}
.reference-backgrounds{display:flex;gap:5px;flex-wrap:wrap}.reference-canvas .reference-backgrounds button{padding:7px;font-size:10px;margin:0}.reference-backgrounds [data-background=black]::before,.reference-backgrounds [data-background=white]::before{content:'';display:inline-block;width:10px;height:10px;background:black;border:1px solid #888;margin-right:5px}.reference-backgrounds [data-background=white]::before{background:white}.reference-canvas .reference-composer textarea{font-size:13px!important;min-height:78px;padding:10px!important}.reference-canvas .reference-composer>.primary{width:100%;margin:0;padding:14px;font-size:12px}.reference-empty{display:grid;place-items:center;min-height:400px;color:#aaa;font-size:24px;padding:30px}.reference-utilities{margin-top:22px;border-top:1px solid #444}
.studio-project-setup{max-width:760px;margin:30px auto}.studio-project-setup label{display:block;margin-top:16px}.studio-project-setup textarea{display:block;width:100%;padding:12px;background:#181818;color:#eee;font:inherit;border:1px solid #555}.studio-project-setup select{padding:10px;background:#181818;color:#eee}
@media(max-width:800px){.reference-desk{grid-template-columns:minmax(0,1fr)}.reference-stage{position:static}.story-review .reference-stage>img,.story-review .reference-stage>.studio-image-preview>img{height:44vh!important}.reference-controls{max-width:600px;width:100%;margin:auto}.reference-canvas .reference-status{position:static}.reference-canvas .reference-inspector{padding:0!important}.reference-canvas .reference-topbar{flex-wrap:wrap}.reference-detail-head h3{font-size:22px}.reference-composer .reference-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
.studio-navigation{display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:8;background:#111;padding:12px 0;border-bottom:1px solid #444;margin-bottom:22px}
.studio-navigation button,.studio-navigation a{width:auto;margin:0;padding:10px 14px;font-size:12px;color:#eee;text-decoration:none}.studio-navigation details{position:relative;font-size:13px;padding:10px}.studio-navigation details[open]{background:#242424}.studio-navigation details a{display:block}
.reference-board{margin:22px 0}.reference-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.reference-filters input{flex:1 1 260px}.reference-filters button{width:auto;margin:0}.reference-filters [aria-pressed=true]{border-color:#ff6840;color:#ff986f}
.reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.story-review .reference-card{padding:0 0 14px;text-align:left;width:100%;background:#191919;border:1px solid #393939;overflow:hidden;text-transform:none;letter-spacing:normal;color:#eee;margin:0;cursor:pointer}.reference-card:hover,.reference-card:focus-visible{border-color:#ff6840;outline:2px solid #ff6840;outline-offset:2px}
.story-review .reference-card img{width:100%;height:210px!important;max-height:none!important;object-fit:contain;background:#080808}.reference-card>span,.reference-card>strong,.reference-card>small{display:block;margin:9px 12px;font-size:13px}.reference-card .story-kicker{font-size:10px;color:#d49c85}.reference-placeholder{height:130px;background:linear-gradient(145deg,#20242a,#151515);display:grid;place-items:center;font-size:48px;color:#666}
.reference-badge{font-size:11px;color:#d8b795;text-transform:capitalize}.reference-inspector{margin:24px 0;padding:24px;border:1px solid #80503c;background:#141414}.reference-inspector h3{font-size:24px;margin:8px 0 14px}.reference-inspector button{width:auto;margin:6px 6px 6px 0}.reference-scene-links{display:flex;flex-wrap:wrap;gap:5px;max-height:110px;overflow:auto;margin:12px 0}.reference-scene-links button{font-size:10px;padding:6px 8px}
.reference-detail{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr);gap:12px 20px;padding:18px 0;border-top:1px solid #333}.story-review .reference-detail img{grid-row:span 4;max-height:500px!important;width:100%;object-fit:contain;background:#090909}.reference-detail textarea{width:100%;min-height:90px}.reference-actions{display:flex;flex-wrap:wrap}.reference-actions button{font-size:11px;padding:9px 11px}
.reference-preset-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;border-top:1px solid #444;padding-top:20px}.reference-preset-form h3,.reference-preset-form textarea,.reference-preset-form .helper{grid-column:1/-1}.reference-preset-form select{width:100%}.reference-preset-form textarea{width:100%}.reference-preset-form .primary{grid-column:1/-1;justify-self:start}.reference-queue{margin-top:28px}.reference-queue article{padding:14px;background:#181818;border-left:3px solid #8f6845;margin:10px 0}.reference-queue p{font-size:13px}
@media(max-width:650px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-review .reference-card img{height:170px!important}.reference-card>strong{font-size:12px}.reference-inspector{padding:14px}.reference-detail{grid-template-columns:1fr}.reference-detail img{grid-row:auto}.reference-preset-form{grid-template-columns:1fr}.studio-navigation{position:static}.reference-filters{display:grid;grid-template-columns:1fr}.reference-filters input,.reference-filters select{width:100%}}
.story-character-form { margin-top:16px; }
.story-ref-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0; }
.story-review .story-choice { display:flex; gap:8px; align-items:center; font-weight:400; margin:0; }
.story-review .story-choice input { width:auto; margin:0; flex-shrink:0; }
.story-scene-choices { max-height:320px; overflow:auto; padding:12px; margin-bottom:16px; border:1px solid #ddd; }
@media(max-width:620px) { .story-review .story-toolbar,#private-story.story-review .story-toolbar { grid-template-columns:1fr; gap:6px; } .story-ref-choices { grid-template-columns:1fr; } }
/* Frame regeneration stays beside the picture, with explicit batch selection. */
.story-frame-quote{border:1px solid var(--accent,#ed4924);padding:20px;margin:18px 0;background:#1a1917;display:grid;gap:12px}
.story-frame-quote[hidden]{display:none}
.story-frame-quote textarea{width:100%;box-sizing:border-box}
.story-frame-quote button{width:auto}
.story-new-frames{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.story-new-frames figure{margin:0}
.story-new-frames img{width:100%;height:auto}
.story-new-frames progress{width:100%}
.story-film-tile{min-width:0;border:1px solid #444}
.story-film-tile .story-film-card{width:100%;border:0}
.story-frame-choice{display:flex;gap:8px;align-items:center;padding:12px;cursor:pointer}
.story-frame-choice input{width:18px;height:18px;margin:0}
/* Prepared screenplay changes stay beside the boards, with explicit adoption. */
.story-script-revision { border: 1px solid var(--accent, #ed4824); padding: 1.1rem; margin: 1rem 0; }
.story-script-revision summary { cursor: pointer; font-weight: 700; padding: .7rem 0; }
.story-script-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.story-script-comparison pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 26rem; overflow: auto; padding: 1rem; background: #191919; font-size: .9rem; line-height: 1.6; }
@media(max-width: 700px) { .story-script-comparison { grid-template-columns: 1fr; } }
.scene-character-choices{margin:20px 0;padding:16px;border:1px solid #49423d}
.scene-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}
.scene-character-card{display:flex;flex-direction:column;gap:8px;text-align:left;min-width:0;padding:10px!important}
.scene-character-card img{width:100%;height:115px;object-fit:contain;background:#090909}
.scene-character-card small{white-space:normal;line-height:1.4}
.character-selection{border-top:1px solid #49423d;padding-top:14px;margin-top:14px;display:grid;gap:10px}
.character-selection select{max-width:100%;min-width:0}
.current-character-look{display:flex;align-items:center;gap:12px}
.current-character-look img{width:80px;height:65px;object-fit:contain}
.generation-inline-status{color:#f0ba79;font-weight:650;min-height:1.5em}
.reference-composer progress{width:100%;accent-color:var(--accent,#ed4824)}
.reference-composer progress[hidden]{display:none}
/* Image work stays in one large canvas; saved versions remain a compact strip. */
.image-zoomable{cursor:zoom-in}
.studio-image-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:98vw;height:96dvh;max-width:none;max-height:none;padding:16px;border:1px solid #555;background:#111;color:#eee;overflow:hidden;font:14px/1.45 Arial,sans-serif}
.studio-image-dialog[open]{display:flex;flex-direction:column;gap:10px}
.studio-image-dialog::backdrop{background:rgba(0,0,0,.88)}
.studio-image-dialog.studio-purchase-dialog{width:min(560px,94vw);height:fit-content;min-height:0;max-height:90dvh;padding:24px;border-radius:16px;overflow:auto;box-shadow:0 24px 90px #0009}
.studio-purchase-dialog h2{font-size:24px;line-height:1.2;text-transform:none;letter-spacing:normal;margin:0 0 12px}
.studio-purchase-dialog p{color:#bcc3ca;line-height:1.6}
.studio-purchase-dialog section>div{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.studio-purchase-dialog a.primary{display:block;box-sizing:border-box;border-radius:8px;padding:12px 16px;text-decoration:none;text-align:center}
.studio-image-dialog>header{display:flex;justify-content:space-between;gap:12px;align-items:center}
.studio-image-dialog button{width:auto;margin:0;padding:9px 13px;border:1px solid #555;background:#222;color:#eee;font:inherit;cursor:pointer;text-transform:none;letter-spacing:normal}
.studio-image-dialog button:hover,.studio-image-dialog button:focus-visible{border-color:#ff7850;outline-color:#ff7850}
.studio-image-dialog button:disabled{opacity:.55;cursor:wait}
.studio-image-dialog .primary{background:#ed4924;color:#090909;font-weight:700;width:100%}
.studio-image-dialog [aria-pressed=true]{background:#4d2b20;border-color:#ff7954;color:#ffc1a8}
.image-tools{display:flex;gap:6px;flex-wrap:wrap}
.image-dialog-layout{flex:1;min-height:0;display:flex;gap:16px}
.image-viewport{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;background:#050505;border:1px solid #333;touch-action:none}
.image-edit-canvas{position:absolute;transform:translate(-50%,-50%);max-width:none;max-height:none;touch-action:none}
.image-edit-panel{width:340px;flex:0 0 340px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding-right:6px}
.image-edit-panel h3,.image-edit-panel p{margin:0}.image-edit-steps{white-space:pre-line;color:#ccc}
.image-edit-panel>*{flex-shrink:0}
.image-edit-panel[hidden]{display:none}.image-dialog-layout:has(.image-edit-panel[hidden]) .image-viewport{flex:1;min-height:0}
.image-edit-panel textarea,.image-edit-panel select{box-sizing:border-box;width:100%;background:#1e1e1e;color:#eee;border:1px solid #555;padding:10px;font:inherit}
.image-edit-panel textarea{min-height:100px;resize:vertical}
.image-edit-panel img{max-width:100%;object-fit:contain}.image-edit-panel progress{width:100%}
.image-edit-panel [hidden]{display:none!important}
.image-edit-panel .reference-input{width:calc(50% - 4px);box-sizing:border-box;position:relative}
.image-edit-panel .reference-input img{width:100%;height:100px;object-fit:contain}
.image-edit-panel .reference-input button{font-size:11px;padding:4px;position:static;margin-top:5px}
.image-edit-panel .reference-input select{padding:5px;font-size:12px}
/* "+ Existing reference": readable tiles with full names, grouped Cast / Places / Props / Looks, with search. */
.image-edit-panel .reference-picker{display:block;max-height:460px;overflow:auto;margin:8px 0;padding-right:4px}
.image-edit-panel .reference-picker input[type=search]{width:100%;box-sizing:border-box;margin:0 0 8px;padding:9px 11px;font-size:14px;position:sticky;top:0;z-index:1}
.image-edit-panel .reference-picker-heading{margin:10px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#aaa)}
.image-edit-panel .reference-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.image-edit-panel .reference-picker-grid button{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px;min-width:0;height:auto;text-align:left;white-space:normal;border-radius:8px}
.image-edit-panel .reference-picker-grid img{display:block;width:100%;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:5px;background:#1a1a1a}
.image-edit-panel .reference-picker-name{display:block;font-size:13px;line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:none}
.image-edit-panel .reference-picker-grid [aria-pressed=true]{outline:3px solid var(--accent,#e64325);outline-offset:-3px;background:#2a1712}
.image-edit-panel .reference-picker-grid [aria-pressed=true] .reference-picker-name{color:var(--accent,#e64325);font-weight:700}
.image-viewer-status{margin:0;color:#ddd;font-size:12px}
.reference-context{font-size:12px;color:#c9c1bb}.reference-context summary{cursor:pointer;padding:8px 0}.reference-context pre{white-space:pre-wrap;max-height:200px;overflow:auto;font:12px/1.5 Arial,sans-serif}
.reference-canvas .reference-versions{flex-wrap:nowrap;overflow-x:auto;padding:8px 2px;max-width:100%}
.reference-canvas .reference-versions button{flex:0 0 90px;height:105px;display:flex;flex-direction:column;gap:3px}
.story-review .reference-versions img{height:76px!important}.reference-versions small{font-size:11px}
.upload-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:18px}
.upload-tile{min-width:0;background:#191919;border:1px solid #444;padding:10px;overflow-wrap:anywhere}
.story-review .upload-tile img{width:100%;height:150px!important;object-fit:contain;cursor:zoom-in}
.upload-tile details{margin-top:10px}.upload-tile summary{cursor:pointer}.upload-tile button{font-size:12px;padding:8px!important;width:auto!important}
.reference-generation-card{max-width:340px}.reference-generation-card img{max-height:200px;object-fit:contain;width:100%}
@media(max-width:700px){.studio-image-dialog{padding:9px;width:100vw;height:100dvh;border:0}.image-dialog-layout{flex-direction:column;overflow:hidden}.image-viewport{min-height:0;flex:0 0 40%}.image-edit-panel{width:100%;min-height:0;flex:1 1 0;overflow:auto;box-sizing:border-box}.image-dialog-layout:not(:has(.image-edit-panel)) .image-viewport{flex:1;min-height:65dvh}.studio-image-dialog button{padding:8px 10px;font-size:12px}.image-tools{gap:4px}}
.reference-creators{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.reference-creators button{display:grid;grid-template-columns:42px 1fr;text-align:left;align-items:center;gap:4px 10px;padding:18px;border:1px solid #594536;background:linear-gradient(130deg,#30251e,#181818);min-width:0}
.reference-creator-icon{grid-row:span 2;font-size:32px;color:#ff6137}
.reference-creators strong{font-size:17px}.reference-creators small{line-height:1.5;color:#d1c5ba;font-weight:400}
.story-coverage-frames figure{margin:0;min-width:0;max-width:100%;padding:12px;border:1px solid #343434;background:#171717;overflow-wrap:anywhere}
.story-coverage-frames figure img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#080808}
.story-coverage-frames figcaption{font-weight:700}.story-coverage-frames small{display:block;margin:5px 0 10px}.story-coverage-frames progress{max-width:100%}
.studio-take-comparison{width:min(1400px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;background:#111;color:#eee;border:1px solid #555;padding:20px}
.studio-take-comparison::backdrop{background:#000d}.studio-take-comparison header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.studio-take-comparison header strong{white-space:nowrap}.studio-take-comparison header button{width:auto;flex:0 0 auto}
.take-comparison-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.take-comparison-columns figure{margin:0;min-width:0}.take-comparison-columns figcaption{font-weight:700;margin-bottom:8px}
.take-comparison-columns img{display:block;width:100%;height:55dvh;object-fit:contain;background:#050505}.take-comparison-columns p{font-size:12px;color:#bbb;overflow-wrap:anywhere}
.studio-take-comparison button{padding:12px;border:1px solid #555;background:#24201d;color:#fff}.studio-take-comparison .primary{background:#ed4924;color:#090909;font-weight:700}
.story-active-take{margin:12px 0;padding:12px;background:#1b2720;border:1px solid #375e43}.story-take-actions{display:flex;gap:8px;flex-wrap:wrap}
.returned-image-choice{width:100%;min-width:0;margin:12px 0}.returned-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.returned-image-grid figure{min-width:0;margin:0;padding:10px;background:#111;border:1px solid #47413d}.returned-image-grid figcaption{font-weight:700;margin-bottom:8px}.returned-image-grid img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#050505}.returned-image-grid button{width:100%;margin-top:8px}
.generation-result:has(.returned-image-choice){max-width:none;width:100%;grid-column:1/-1}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.photo-card{min-width:0;padding:12px;border:1px solid #45413c;background:#171717;display:flex;flex-direction:column;gap:8px}.photo-card>img,.photo-card>.studio-image-preview>img{width:100%;height:210px;object-fit:contain;background:#080808}.photo-card strong{overflow-wrap:anywhere}.photo-card button{margin:0;width:100%}.photo-upload-proposal:not(:empty){padding:18px;margin:18px 0;border:1px solid #8c5c38;background:#221d18}.photo-upload-proposal img{max-width:100%;max-height:260px;object-fit:contain;display:block}.photo-context label{display:flex;align-items:center;gap:10px}.photo-context input{width:auto}.photo-context p{margin-top:8px}
@media(max-width:600px){.returned-image-grid{grid-template-columns:1fr}}
.story-motion-card{padding:16px;margin:12px 0;background:#171717;border:1px solid #3d3d3d}.story-motion-card video{display:block;width:100%;max-height:70dvh;margin-top:12px;background:#050505}.story-motion-card video[hidden]{display:none}
@media(max-width:700px){.take-comparison-columns{grid-template-columns:1fr}.take-comparison-columns img{height:32dvh}.studio-take-comparison{padding:12px}}
@media(max-width:600px){.reference-creators{grid-template-columns:1fr}.reference-creators button{padding:14px}}

/* Keep loading/retry feedback inside the same image layout. */
.studio-image-preview{position:relative;min-width:0;background:#080808}.studio-image-preview>img{display:block;max-width:100%;margin:auto}.studio-image-message{padding:12px;color:#ddd;font-size:13px}.studio-image-preview[data-image-state="loading"]{min-height:120px}.studio-image-preview>button{margin:0 0 12px}
.script-maker{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line,#39332d)}
.script-maker>label{display:inline-grid;gap:.4rem;margin:0 1rem 1rem 0;min-width:10rem}
.script-maker article,.paper-passage{padding:1rem;border:1px solid var(--line,#39332d);margin:.75rem 0}
.script-reader pre{white-space:pre-wrap;font:1rem/1.7 'Courier New',monospace;max-width:72ch}
.script-reader article{background:#191817}.script-maker button,.paper-passage button{margin:.25rem}
.paper-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.paper-source-grid details{padding:1rem;border:1px solid var(--line,#39332d)}
.paper-source-grid button{display:block;margin:.5rem 0;text-align:left}.paper-source-grid label{display:block;margin:.5rem 0}

/* Connected Studio: media-first workspace. Landing and public site are unchanged. */
body.studio-connected { --heading: Inter, ui-sans-serif, system-ui, sans-serif; font-family: Inter, ui-sans-serif, system-ui, sans-serif; --panel:#161719; --bg:#0d0e10; --line:#2d3035; --muted:#9ea4ad; --text:#f1f2f4; font-size:14px; }
.studio-connected .hero-copy, .studio-connected .preview-bar, .studio-connected .intake-card > .eyebrow, .studio-connected #workspace-title, .studio-connected footer:where(:not(.create-studio *, .cs-veil *)) { display:none; }
.studio-connected .site-header { max-width:none; height:64px; padding:12px 24px; border-bottom:1px solid var(--line); background:var(--bg); }
.studio-connected main { max-width:none; padding:0; margin:0; }
.studio-connected .hero { display:block; padding:0; min-height:0; }
.studio-connected .intake-card { width:auto; max-width:none; margin:0; padding:22px 32px 70px 244px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.studio-connected #workspace-status { font-size:12px; margin:0 0 12px; color:var(--muted); }
.studio-connected #project-state > .notice { display:none; }
.studio-connected #studio-navigation { position:fixed; inset:64px auto 0 0; width:210px; display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:20px 12px; border:0; border-right:1px solid var(--line); background:#111214; z-index:8; overflow:auto; }
.studio-connected #studio-navigation button { justify-content:flex-start; text-align:left; border-color:transparent; background:transparent; }
.studio-connected #studio-navigation button[aria-pressed=true] { background:#2d3035; border-color:#43474f; }
.studio-connected #studio-navigation details { margin:0 0 20px; padding:8px; }
.studio-connected #studio-navigation a { display:block; padding:9px 0; }
.studio-connected #sign-out { margin-top:32px; }
.studio-connected .story-tabs { display:none; }
.studio-connected h1,.studio-connected h2,.studio-connected h3,.studio-connected h4 { font-family:var(--heading); font-weight:650; text-transform:none; letter-spacing:-.025em; line-height:1.25; }
.studio-connected h2 { font-size:28px; margin:10px 0 6px; }
.studio-connected h3 { font-size:20px; margin:12px 0; }
.studio-connected h4 { font-size:15px; }
.studio-connected .story-kicker { text-transform:none; font-size:12px; letter-spacing:.025em; color:var(--muted); }
/* Create Studio styles its own tiles and chips (scoped .cs-*): :where() keeps them out without changing any specificity. */
.studio-connected button:where(:not(.create-studio *, .cs-veil *)), .studio-connected .primary, .studio-connected .secondary, .studio-image-dialog button, .studio-video-dialog button, .studio-take-comparison button { width:auto; min-height:38px; padding:9px 14px; margin:0; border-radius:8px; font-family:inherit; font-size:13px; line-height:1.4; letter-spacing:0; text-transform:none; font-weight:550; display:inline-flex; gap:8px; align-items:center; justify-content:center; vertical-align:middle; }
.studio-connected button:hover:not(:disabled) { border-color:#747b87; }
.studio-connected .primary { background:#ed542e; color:#fff; border:1px solid #ed542e; }
.studio-connected button[aria-pressed=true] { border-color:#f68467; background:#38261f; }
.studio-connected button[data-icon]:not([data-icon=''])::before, .studio-video-dialog button[data-icon]:not([data-icon=''])::before { content:''; width:16px; height:16px; flex-shrink:0; background:currentColor; mask:var(--studio-icon) center/contain no-repeat; }
.studio-connected input,.studio-connected select,.studio-connected textarea { border-radius:8px; background:#1b1d20; border-color:#383c43; color:var(--text); font-size:14px; }
.studio-connected textarea { resize:vertical; }
.studio-connected label { font-size:13px; }
.studio-connected details { border-radius:8px; }
.studio-connected .story-toolbar { grid-template-columns:auto minmax(150px,1fr) auto minmax(130px,180px); align-items:center; gap:12px; padding:12px 0; margin:8px 0; }
.studio-media-tabs,.studio-segments { display:flex; width:fit-content; background:#202227; padding:4px; gap:4px; border-radius:10px; margin:16px 0; }
.studio-media-tabs button,.studio-segments button { background:transparent; border-color:transparent; min-width:104px; }
.studio-connected .studio-media-tabs button[aria-pressed=true],.studio-connected .studio-segments button[aria-pressed=true] { background:#f2f3f5; color:#161719; border-color:#f2f3f5; }
.studio-connected .story-scene-layout { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr); gap:24px; align-items:start; }
.studio-scene-stage { min-width:0; background:#070708; border-radius:12px; overflow:hidden; }
.studio-connected .story-frames { display:block; }
.studio-connected .story-frames figure { margin:0; border:0; padding:0 0 14px; background:transparent; }
.studio-connected .story-frames figure > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; max-height:64vh; background:#070708; }
.studio-connected .story-frames figcaption { padding:10px 14px; font-size:12px; color:var(--muted); }
.studio-connected .story-frames figure > button { margin:4px 0 4px 10px; }
.studio-connected .story-frames figure > small, .studio-connected .story-frames figure > p { display:block; padding:0 14px; }
.studio-connected .story-script { background:#161719; border:1px solid var(--line); border-radius:12px; padding:20px; max-height:68vh; overflow:auto; }
.studio-connected .story-script h3 { font-size:12px; color:var(--muted); margin-top:0; }
.studio-connected .story-script pre { max-height:none; padding:0; font-size:14px; line-height:1.7; }
.studio-connected .story-scene-nav,.studio-card-actions,.studio-section-head,.studio-version-strip { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:14px 0; }
.studio-section-head { justify-content:space-between; margin:28px 0 16px; }
.studio-section-head h3,.studio-section-head p { margin:0 0 4px; }
.studio-connected .story-film-grid,.studio-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:18px; }
.studio-connected .story-film-card { width:100%; display:block; padding:0; border:0; text-align:left; background:transparent; border-radius:10px; overflow:hidden; }
.studio-connected .story-film-card img { width:100%; aspect-ratio:16/9; object-fit:cover; height:auto; }
.studio-connected .story-film-card > :not(img) { margin:12px; }
.studio-connected .story-film-card strong { display:block; font-size:14px; }
.studio-connected .story-film-card p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:var(--muted); font-size:12px; }
.studio-connected .story-film-tile { background:#17191c; border:1px solid var(--line); border-radius:12px; overflow:hidden; padding-bottom:12px; position:relative; }
.studio-connected .story-film-tile > button,.studio-connected .story-frame-choice { margin:8px 12px 0; }
.studio-film-media-label { display:inline-flex; border:1px solid #43474e; padding:4px 9px; border-radius:6px; font-size:11px; }
[data-media-mode="videos"] .studio-film-media-label::before { content:'▶'; margin-right:7px; }
[data-media-mode="videos"] .story-film-card img { opacity:.55; }
.studio-coverage-grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(240px,300px); gap:16px; overflow-x:auto; padding:0 0 18px; scroll-snap-type:x proximity; }
.studio-coverage-slot { border:1px dashed #484e57; background:#15171a; border-radius:12px; padding:12px; scroll-snap-align:start; }
.studio-coverage-slot > strong,.studio-coverage-slot > small { display:block; margin-top:8px; }
.studio-coverage-slot .coverage-evidence { max-height:60px; overflow:auto; color:var(--muted); font-size:12px; }
.studio-coverage-slot > img { width:100%; aspect-ratio:16/9; object-fit:contain; }
.studio-coverage-slot .camera-diagram { height:100px; opacity:.7; background:#20252a; border-radius:7px; }
.studio-coverage-slot .studio-card-actions button { padding:8px; font-size:12px; }
.studio-connected .studio-versions { margin:14px 0; padding:14px; border:1px solid var(--line); }
.studio-connected .story-new-frames { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.studio-connected .story-new-frames figure { border-radius:10px; padding:12px; }
.studio-connected .story-new-frames button { margin:4px 0; }
.studio-empty-video { min-height:350px; aspect-ratio:16/9; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center; }
.studio-empty-symbol { font-size:42px; color:#818791; }
.studio-video-tile { background:#17191c; border:1px solid var(--line); border-radius:12px; overflow:hidden; padding-bottom:12px; }
.studio-video-tile > strong,.studio-video-tile > small,.studio-video-tile > .studio-card-actions { display:flex; margin:12px; }
.studio-video-poster { width:100%!important; aspect-ratio:16/9; position:relative; display:flex!important; background:radial-gradient(ellipse at 50% 40%,#3b424b,#13161b); border:0; padding:0!important; }
.studio-video-poster img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.65; }
.studio-play-icon { position:relative; z-index:1; display:grid; place-content:center; width:56px; height:56px; border-radius:50%; background:#ffffffed; color:#111; font-size:22px; }
.studio-video-poster small { position:absolute; right:10px; bottom:10px; background:#000a; padding:3px 7px; border-radius:4px; }
.studio-video-dialog { width:96vw; max-width:1700px; height:94vh; max-height:94vh; border:1px solid #393d44; padding:20px; background:#0b0c0e; color:#f3f4f6; border-radius:14px; }
.studio-video-dialog::backdrop { background:#000d; }
.studio-video-dialog header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.studio-video-stage { height:calc(100% - 150px); display:grid; place-items:center; background:#000; border-radius:10px; }
.studio-video-stage video { width:100%; height:100%; max-height:100%; object-fit:contain; }
.studio-motion-composer { border:1px solid #434954; background:#17191d; border-radius:14px; padding:24px; margin:20px 0; max-width:1000px; }
.motion-input-strip { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:12px 0; }
.motion-input-strip figure { width:126px; margin:0; border:1px solid #474d57; padding:5px; border-radius:9px; }
.motion-input-strip img { width:114px; height:84px; object-fit:cover; border-radius:5px; }
.motion-input-strip figcaption { font-size:11px; max-height:32px; overflow:hidden; }
.motion-input-strip select,.motion-input-strip button { width:100%; font-size:10px; padding:4px; min-height:28px; }
.studio-check { display:flex; gap:9px; margin:14px 0; align-items:center; }
.studio-check input { width:auto; }
.studio-connected .reference-creators { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.studio-connected .reference-creators > button { flex:1; min-width:200px; display:grid; grid-template-columns:28px 1fr; text-align:left; padding:18px; background:#1a1d21; }
.reference-creators small { grid-column:2; }
.studio-connected .reference-topbar { gap:8px; }
.studio-connected .reference-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.studio-connected .reference-card { display:flex; flex-direction:column; align-items:stretch; padding:0 0 12px; overflow:hidden; border-radius:12px; text-align:left; }
.studio-connected .reference-card img { height:220px; object-fit:contain; background:#0a0a0b; }
.studio-connected .reference-card > :not(img):not(.reference-placeholder) { margin:0 12px; }
.studio-connected .reference-placeholder { height:180px; display:grid; place-content:center; background:#1a1e23; font-size:40px; color:#646c78; }
.studio-connected .reference-desk { grid-template-columns:minmax(0,1fr) minmax(300px,370px); gap:24px; }
.studio-connected .reference-controls { padding:18px; background:#17191c; border-radius:12px; }
.studio-connected .reference-controls > button { width:100%; margin:5px 0; }
.studio-connected .reference-stage { min-width:0; background:#08090a; border-radius:12px; padding:14px; }
.studio-connected .reference-stage > .studio-image-preview { height:min(63vh,720px); }
.studio-connected .reference-stage .studio-image-preview img { width:100%; height:100%; object-fit:contain; }
.studio-connected .reference-versions button { display:block; }
.studio-connected .reference-versions img { height:90px; width:120px; object-fit:cover; }
.studio-connected .reference-inputs { gap:8px; }
.studio-connected .reference-preset-tiles { gap:8px; }
.studio-connected .reference-preset-tiles > button { padding:12px; min-height:95px; }
.studio-connected .reference-filters { margin:18px 0; }
.studio-connected .reference-filters input { flex:1; }
.studio-connected .upload-gallery { grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); }
.studio-connected .story-material.upload-tile img { height:160px; object-fit:contain; }
.studio-trash-card { border:1px solid var(--line); padding:14px; border-radius:10px; display:flex; flex-direction:column; gap:12px; }
.studio-trash-card img { width:100%; height:190px; object-fit:contain; }
@media(min-width:1800px){.studio-connected .intake-card{padding-right:60px;padding-left:270px}.studio-connected .story-film-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1050px){.studio-connected .intake-card{padding:20px 20px 70px 194px}.studio-connected #studio-navigation{width:174px}.studio-connected .story-scene-layout{grid-template-columns:1fr}.studio-connected .story-script{max-height:320px}.studio-connected .reference-desk{grid-template-columns:1fr}.studio-connected .reference-controls{max-width:none}.studio-connected .story-toolbar{grid-template-columns:auto 1fr}.studio-connected .reference-stage > .studio-image-preview{height:55vh}}
@media(max-width:650px){.studio-connected .site-header{height:56px;padding:10px 16px}.studio-connected .intake-card{padding:12px 14px 95px}.studio-connected #studio-navigation{inset:auto 0 0;width:auto;height:70px;flex-direction:row;align-items:center;border-right:0;border-top:1px solid var(--line);padding:8px;overflow-x:auto;gap:4px}.studio-connected #studio-navigation details{margin:0;min-width:115px}.studio-connected #studio-navigation button{white-space:nowrap;flex-shrink:0;min-height:44px}.studio-connected .story-film-grid,.studio-connected .reference-grid,.studio-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studio-connected .reference-card img{height:150px}.studio-connected .story-film-card p{display:none}.studio-connected .story-film-card strong{font-size:12px}.studio-connected .story-film-card > :not(img){margin:8px}.studio-connected .story-film-tile > button{font-size:11px;padding:7px}.studio-connected .reference-card > :not(img):not(.reference-placeholder){margin:0 8px}.studio-connected .reference-card small{font-size:10px}.studio-connected .reference-topbar{flex-wrap:wrap}.studio-connected h2{font-size:24px}.studio-coverage-grid{grid-auto-columns:250px}.studio-empty-video{min-height:230px}.studio-video-dialog{padding:12px}.studio-connected .reference-filters{flex-wrap:wrap}.studio-connected .reference-filters input{min-width:180px}.studio-connected .studio-section-head > button{width:100%}}
[hidden] { display:none!important; }
button[data-icon="image"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%204h18v16H3z%20M3%2016l5-5%205%205%204-4%204%204%20M15%208h.01%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="video"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%205h12v14H3z%20M15%2010l6-4v12l-6-4%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="grid"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%203h7v7H3z%20M14%203h7v7h-7z%20M3%2014h7v7H3z%20M14%2014h7v7h-7z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="layers"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%203l10%205-10%205L2%208z%20M2%2012l10%205%2010-5%20M2%2016l10%205%2010-5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="trash"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%206h18%20M9%206V3h6v3%20M5%206l1%2015h12l1-15%20M10%2010v7%20M14%2010v7%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="undo"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%209h10a6%206%200%20010%2012%20M4%209l5-5%20M4%209l5%205%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="download"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%203v12%20M7%2010l5%205%205-5%20M4%2016v5h16v-5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="expand"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%209V3h6%20M15%203h6v6%20M21%2015v6h-6%20M9%2021H3v-6%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="plus"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%203v18%20M3%2012h18%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="script"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%203h14v18H5z%20M8%207h8%20M8%2011h8%20M8%2015h5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="edit"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%2016L16%204l4%204L8%2020H4z%20M14%206l4%204%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="check"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%2012l5%205L20%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="close"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%205l14%2014%20M19%205L5%2019%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="spark"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202l3%207%207%203-7%203-3%207-3-7-7-3%207-3z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="left"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M15%205l-7%207%207%207%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="right"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M9%205l7%207-7%207%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

.studio-batch-dialog{width:min(960px,94vw);max-height:90vh;background:#16181c;color:#f1f2f4;border:1px solid #484e59;border-radius:14px;padding:24px}.studio-batch-dialog::backdrop{background:#000c}.studio-batch-dialog header{display:flex;align-items:center;justify-content:space-between}.studio-batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:10px;max-height:50vh;overflow:auto;margin:20px 0}.studio-batch-item{padding:14px;border:1px solid #3c424b;border-radius:8px;display:grid;grid-template-columns:24px 1fr;gap:5px}.studio-batch-item input{width:auto;grid-row:span 2}.studio-batch-item small{grid-column:2;color:#a5aab3}

.studio-connected .story-review .story-frames[hidden]{display:none!important}
.studio-connected .reference-filters{display:flex;flex-wrap:nowrap;align-items:center}.studio-connected .reference-filters input{width:auto;min-width:0;flex:1}.studio-connected .reference-filters select{width:210px;flex:0 0 210px}.studio-connected .reference-filters button{flex-shrink:0}
.studio-connected img[data-image-state="loading"]:not([src]){visibility:hidden}.studio-connected .reference-card:has(img[data-image-state="loading"]){background:linear-gradient(115deg,#17191d,#272b31,#17191d);background-size:200%;animation:studio-shimmer 2s linear infinite}@keyframes studio-shimmer{to{background-position:-200% 0}}
@media(max-width:650px){.studio-connected #studio-navigation{flex-wrap:nowrap}.studio-connected .reference-filters{flex-wrap:wrap}.studio-connected .reference-filters input{min-width:100%}.studio-connected .reference-filters select{flex:1;width:auto}.studio-connected .story-review .story-frames img{max-height:none!important}}

.studio-connected .story-review > h2{scroll-margin-top:84px}.studio-video-notes{max-height:140px;overflow:auto}.studio-video-notes div{display:flex;gap:12px;align-items:center}

.studio-video-dialog[open]{display:flex;flex-direction:column;gap:12px;overflow:hidden;box-sizing:border-box}.studio-video-dialog header{margin:0;flex-shrink:0}.studio-video-stage{flex:1;min-height:0;height:auto;position:relative;overflow:hidden}.studio-video-stage video{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%}.studio-video-dialog > .studio-card-actions,.studio-video-dialog > .helper{flex-shrink:0;margin:0}

.studio-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.studio-connected .studio-overview-card{padding:24px;display:flex;flex-direction:column;align-items:flex-start;background:#171a1f;text-align:left}.studio-overview-card>strong{font-size:36px}.studio-overview-card progress{width:100%;accent-color:#f45b31}.studio-overview-card p{color:#aeb4bc}.studio-scene-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.studio-connected .studio-scene-index>button{display:flex;flex-direction:column;align-items:flex-start;padding:16px;text-align:left}.studio-scene-index small{color:#adb3bc}@media(max-width:650px){.studio-overview-grid{grid-template-columns:1fr;gap:10px}.studio-connected .studio-overview-card{padding:18px}}
/* Editing workspace shares the visual language of the image inspector. */
.studio-edit-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:start;margin:24px 0}
.studio-edit-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.studio-edit-clip,.studio-edit-result,.studio-edit-rail{padding:20px;background:#171a1d;border:1px solid #30363d;border-radius:14px}
.studio-edit-rail{position:sticky;top:24px;display:grid;gap:14px}.studio-edit-rail h3{margin:8px 0 0}
.studio-trims{display:flex;gap:12px;margin:16px 0}.studio-trims label{flex:1;font-size:12px;color:#b9c1c9}.studio-trims input{display:block;width:100%;margin-top:6px}
.studio-edit-empty{min-height:260px;display:grid;place-items:center;padding:40px;text-align:center;border:1px dashed #4b5563;border-radius:14px;color:#b9c1c9}
.studio-service-quote{padding:16px;background:#252d33;border-radius:10px}.studio-edit-view button{min-height:40px;text-transform:none;letter-spacing:normal}
.studio-edit-result audio,.studio-edit-result video{max-width:100%}.studio-edit-result progress{width:100%}
.studio-trim-dialog{width:min(1100px,96vw);max-height:94vh;padding:24px;border:1px solid #424a53;border-radius:18px;background:#111518;color:var(--text);overflow:auto}
.studio-trim-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.studio-trim-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:0}
.studio-trim-dialog video{display:block;width:100%;max-height:52vh;object-fit:contain;background:#050606;border-radius:12px}
.studio-trim-dialog output{display:block;margin:12px 0 8px;font-variant-numeric:tabular-nums;color:#bfc8d1;font-size:13px}
.studio-trim-dialog input[type=range]{width:100%;margin:10px 0;height:12px;border:0;border-radius:6px;appearance:none;background:linear-gradient(to right,#303840 var(--trim-start),#f45b31 var(--trim-start),#f45b31 var(--trim-end),#303840 var(--trim-end));accent-color:#f5f7f9;cursor:pointer}
.studio-trim-dialog input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:22px;border-radius:4px;border:2px solid #101316;background:#fff}
.studio-trim-tools,.studio-trim-dialog .studio-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.studio-trim-dialog button{min-height:42px;width:auto;flex:0 1 auto;text-transform:none;letter-spacing:normal;border-radius:8px;padding:9px 15px;font-size:14px}
.studio-trim-dialog .helper{max-width:80ch;font-size:13px;color:#afb9c4}.studio-edit-clip details{margin:14px 0}.studio-edit-clip summary{cursor:pointer;color:#adb8c3;font-size:13px}
@media(max-width:600px){.studio-trim-dialog{padding:14px;width:96vw}.studio-trim-dialog video{max-height:42vh}.studio-trim-tools button{flex:1 1 130px}.studio-trim-dialog .studio-card-actions button{flex:1}}
@media(max-width:800px){.studio-edit-workspace{grid-template-columns:1fr}.studio-edit-rail{position:static}}
.studio-downloads{padding:24px;max-width:1280px;margin:0 auto}.studio-storage-summary{padding:20px;background:#181b1e;border:1px solid #34383c;border-radius:14px;margin:20px 0}.studio-storage-summary meter,.studio-downloads>progress{width:100%;height:18px}.studio-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0}.studio-usage-grid article{padding:16px;border:1px solid #34383c;border-radius:12px}.studio-export-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:16px 0}.studio-export-files label{display:flex;gap:10px;align-items:center;overflow-wrap:anywhere}.studio-export-files input{width:auto;flex:0 0 auto}.studio-downloads>details{margin-top:24px}.studio-downloads .studio-card-actions{flex-wrap:wrap;gap:10px}.studio-downloads[hidden]{display:none!important}
#onboarding-state{max-width:760px;margin:24px auto;padding:28px;border:1px solid #34383c;border-radius:16px;background:#16191d;overflow-wrap:anywhere}
#onboarding-state h3,#onboarding-state button{text-transform:none;letter-spacing:normal}
#onboarding-state button{min-height:44px;border-radius:8px;margin-top:12px}
#onboarding-state .onboarding-account{color:#c1c9d0;font-size:14px}
#onboarding-state .onboarding-steps{color:#edab8e;padding:12px 0;border-block:1px solid #34383c;font-size:14px}
#onboarding-state [role=status]{padding:18px;background:#242b31;border-radius:10px;line-height:1.6}
@media(max-width:600px){#onboarding-state{padding:18px;margin:16px 0}}
.studio-onboarding .hero-copy{display:none}.studio-onboarding .hero{display:block;max-width:900px;margin:auto}
.studio-onboarding #workspace-title{text-transform:none;letter-spacing:normal}.studio-onboarding .intake-card{border:0;background:transparent;padding:0}
.studio-onboarding #onboarding-state{max-width:none;margin:20px 0}.studio-onboarding #access-state{padding:24px;border:1px solid #34383c;border-radius:14px}

/* Start Workspace & Proposal Engine */
#start-workspace { padding: 12px 0 40px; }
#start-workspace[hidden] { display: none !important; }
.start-workspace-container { display: flex; flex-direction: column; gap: 20px; }
.start-header { border-bottom: 1px solid var(--line); padding-bottom: 14px; text-align: left; }
.start-header h2 { font-size: 24px; font-weight: 700; margin: 0 0 6px; }
.start-layout { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 24px; align-items: start; }
@media (max-width: 980px) { .start-layout { grid-template-columns: 1fr; } }
.start-controls-panel { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.start-dropzone { border: 2px dashed #3a414e; border-radius: 10px; padding: 22px 14px; text-align: center; background: #111317; cursor: pointer; transition: border-color .2s, background .2s; }
.start-dropzone:hover, .start-dropzone:focus-visible { border-color: #38bdf8; background: #151a22; outline: none; }
.start-drop-icon { font-size: 28px; display: block; margin-bottom: 6px; }
.start-dropzone-text p { margin: 0 0 4px; font-weight: 600; font-size: 13px; color: #f1f5f9; }
.start-dropzone-text small { color: #94a3b8; font-size: 11px; }
.start-file-badge { background: #0369a1; color: #fff; padding: 8px 12px; border-radius: 6px; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.start-form-grid { display: flex; flex-direction: column; gap: 12px; }
.start-field-group { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.start-field-group label { font-size: 12px; font-weight: 600; color: #cbd5e1; }
.start-field-group select, .start-field-group textarea, .start-field-group input { width: 100%; box-sizing: border-box; background: #0d0f12; border: 1px solid #333a46; border-radius: 6px; padding: 9px 12px; color: #f1f5f9; font-size: 13px; }
.start-field-group select:focus, .start-field-group textarea:focus { border-color: #38bdf8; outline: none; }
.start-field-group textarea { resize: vertical; min-height: 64px; }
.start-controls-panel button#start-generate-btn { width: 100%; min-height: 44px; margin-top: 6px; }

.start-proposal-panel { display: flex; flex-direction: column; gap: 20px; }
.start-preview-frame { width: 100%; background: #080a0f; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px #0008; }
.start-concept-preview { width: 100%; height: auto; display: block; object-fit: contain; max-height: 260px; }
.start-concept-preview.raster-preview { aspect-ratio: 16 / 9; max-height: 260px; background: #000; }
.start-proposal-header { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 22px; text-align: left; }
.start-badges-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.start-badge { background: #252b36; border: 1px solid #3b4455; color: #38bdf8; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 4px 10px; border-radius: 4px; }
.start-proposal-title { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; margin: 0 0 10px; color: #fff; }
.start-proposal-logline { font-size: 14px; line-height: 1.6; color: #cbd5e1; margin: 0; }
.start-actions-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.start-actions-row button { min-height: 44px; width: auto; }
.start-section-card { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 20px; text-align: left; }
.start-section-card h4 { font-size: 15px; font-weight: 700; margin: 0 0 14px; border-bottom: 1px solid #282f3c; padding-bottom: 8px; color: #f8fafc; }
.start-section-card p { font-size: 13px; line-height: 1.6; color: #cbd5e1; margin: 0 0 10px; }
.start-specs-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 13px; color: #cbd5e1; }
.start-specs-list li strong { color: #94a3b8; font-weight: 600; text-transform: capitalize; }
.start-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.start-req-card { background: #0f1115; border: 1px solid #282f3c; border-radius: 8px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.start-req-card strong { font-size: 13px; color: #f1f5f9; }
.start-req-card p { font-size: 12px; color: #94a3b8; margin: 0; }
.start-req-card small { font-size: 11px; color: #38bdf8; }
.start-scenes-list { display: flex; flex-direction: column; gap: 10px; }
.start-scene-item { background: #0f1115; border: 1px solid #282f3c; border-left: 3px solid #38bdf8; border-radius: 0 8px 8px 0; padding: 12px 16px; }
.start-scene-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.start-scene-head strong { font-size: 13px; color: #f8fafc; }
.start-scene-meta { font-size: 11px; font-weight: 600; color: #94a3b8; white-space: nowrap; }
.start-deliverables-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: 13px; color: #cbd5e1; }
.start-deliverables-list strong { color: #4ade80; }
.story-fallback-card { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 32px 24px; text-align: center; max-width: 600px; margin: 24px auto; }
.story-fallback-card h3 { font-size: 18px; font-weight: 700; margin: 0 0 8px; color: #f8fafc; }
.story-fallback-card p { font-size: 13px; color: #94a3b8; line-height: 1.6; margin: 0; }

/* Content Forge Dashboard & Tester Provisioning */
.studio-dashboard-workspace { padding: 16px 0 48px; max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }
.dashboard-header-card { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 24px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; text-align: left; }
.badge-role { display: inline-block; padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.badge-role.owner { background: #064e3b; color: #34d399; border: 1px solid #059669; }
.badge-role.creator { background: #1e3a8a; color: #60a5fa; border: 1px solid #2563eb; }
.dashboard-header-card h2 { font-size: 24px; font-weight: 700; margin: 4px 0 0; color: #f8fafc; }
.btn-new-project { min-height: 42px; margin-top: 8px; font-weight: 600; }

.studio-projects-section { text-align: left; }
.studio-projects-section h3 { font-size: 18px; font-weight: 700; margin: 0 0 16px; color: #f1f5f9; }
.studio-projects-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.project-card { background: #14161a; border: 1px solid #2d333b; border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 8px; text-align: left; transition: border-color .2s; }
.project-card:hover { border-color: #38bdf8; }
.project-card h4 { margin: 0; font-size: 16px; font-weight: 600; color: #f8fafc; }
.project-card code { font-size: 11px; color: #94a3b8; background: #0c0e12; padding: 2px 6px; border-radius: 4px; align-self: flex-start; }
.project-card .helper { margin: 0; font-size: 12px; color: #94a3b8; }
.btn-open-project { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; min-height: 38px; border-radius: 6px; text-decoration: none; font-size: 13px; font-weight: 600; }
.studio-projects-empty { grid-column: 1 / -1; padding: 36px 20px; background: #131518; border: 1px dashed #374151; border-radius: 12px; text-align: center; color: #9ca3af; font-size: 14px; }

.studio-tester-panel { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 24px; text-align: left; display: flex; flex-direction: column; gap: 16px; }
.studio-tester-panel hr { border: 0; border-top: 1px solid var(--line); margin: 0 0 8px; }
.studio-tester-panel h3 { font-size: 18px; font-weight: 700; margin: 0; color: #f8fafc; }
.studio-tester-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.studio-tester-form input, .studio-tester-form select { background: #0d0f12; border: 1px solid #333a46; border-radius: 6px; padding: 9px 12px; color: #f1f5f9; font-size: 13px; }
.studio-tester-form input[type=email] { flex: 2; min-width: 200px; }
.studio-tester-form select { flex: 1.5; min-width: 180px; }
.studio-tester-form input[type=number] { width: 120px; }
.tester-invite-box { display: flex; align-items: center; gap: 12px; background: #0c0e12; border: 1px solid #282f3c; border-radius: 8px; padding: 8px 14px; }
.tester-invite-box code { font-size: 12px; color: #38bdf8; word-break: break-all; }
.studio-testers-table-host { overflow-x: auto; margin-top: 8px; }
.testers-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
.testers-table th, .testers-table td { padding: 10px 12px; border-bottom: 1px solid #232730; }
.testers-table th { color: #94a3b8; font-weight: 600; font-size: 12px; text-transform: uppercase; }
.testers-table td { color: #e2e8f0; }

.studio-new-project-dialog { width: min(640px, 94vw); max-height: 90vh; background: #131519; color: #f1f2f4; border: 1px solid #3d4451; border-radius: 14px; padding: 24px; box-shadow: 0 20px 50px #000c; }
.studio-new-project-dialog::backdrop { background: #000c; backdrop-filter: blur(4px); }
.studio-new-project-dialog header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.studio-new-project-dialog .dialog-body { display: flex; flex-direction: column; gap: 14px; text-align: left; }
.studio-new-project-dialog label { font-size: 12px; font-weight: 600; color: #cbd5e1; display: flex; flex-direction: column; gap: 6px; }
.studio-new-project-dialog input, .studio-new-project-dialog select, .studio-new-project-dialog textarea { background: #0a0c0f; border: 1px solid #2d333f; border-radius: 6px; padding: 10px 12px; color: #f8fafc; font-size: 13px; width: 100%; box-sizing: border-box; }
.studio-new-project-dialog input:focus, .studio-new-project-dialog select:focus, .studio-new-project-dialog textarea:focus { border-color: #38bdf8; outline: none; }
.studio-nav-dashboard { margin-bottom: 8px; font-weight: 600; }

/* Table Read / ElevenLabs */
.studio-table-read { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 22px; margin-top: 20px; text-align: left; display: flex; flex-direction: column; gap: 14px; }
.studio-table-read h3 { font-size: 17px; font-weight: 700; margin: 0; color: #f8fafc; }
.studio-table-read-playback { margin: 8px 0; }
.studio-table-read-audio { width: 100%; display: block; border-radius: 8px; }

/* Editor Timeline Controls */
.studio-clip-audio { width: 100%; background: #0d0f12; border: 1px solid #333a46; border-radius: 6px; padding: 6px 10px; color: #f1f5f9; font-size: 12px; margin: 6px 0; }
.studio-replace-dialog { width: min(480px, 90vw); background: #14161a; color: #f1f2f4; border: 1px solid #3d4451; border-radius: 12px; padding: 20px; }
.studio-replace-dialog::backdrop { background: #000b; }
.studio-replace-dialog header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.studio-replace-list { display: flex; flex-direction: column; gap: 8px; max-height: 50vh; overflow-y: auto; }
.studio-replace-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; background: #0d0f12; border: 1px solid #242933; border-radius: 8px; }

/* NLE Layout: Program Monitor, Multitrack Timeline & Sidebar */
.studio-edit-workspace { display: flex; gap: 24px; align-items: flex-start; margin-top: 16px; }
.studio-nle-main { flex: 3; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.studio-edit-sidebar { flex: 1.2; min-width: 280px; display: flex; flex-direction: column; gap: 20px; text-align: left; }

/* Program Monitor */
.studio-program-monitor { background: #0b0d10; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 8px 30px #000a; }
.studio-monitor-screen { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; display: flex; align-items: center; justify-content: center; }
.studio-monitor-video { width: 100%; height: 100%; object-fit: contain; }
.studio-monitor-overlay { position: absolute; bottom: 8px; right: 12px; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); padding: 4px 8px; border-radius: 4px; pointer-events: none; }
.studio-monitor-timecode { font-family: monospace; font-size: 13px; color: #38bdf8; font-weight: 700; letter-spacing: 0.5px; }
.studio-monitor-transport { display: flex; align-items: center; gap: 14px; padding: 12px 18px; background: #13161b; border-top: 1px solid var(--line); }
.studio-btn-play { min-width: 90px; }
.studio-monitor-scrubber { flex: 1; accent-color: #38bdf8; height: 6px; cursor: pointer; }
.studio-monitor-specs { font-size: 11px; color: #94a3b8; font-weight: 600; text-transform: uppercase; white-space: nowrap; }

/* Multitrack Timeline */
.studio-multitrack-timeline { background: #111418; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; text-align: left; }
.studio-timeline-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: #161920; border-bottom: 1px solid var(--line); }
.studio-timeline-header strong { font-size: 14px; color: #f1f5f9; font-weight: 700; }
.studio-timeline-tracks { display: flex; flex-direction: column; }
.studio-track-row { display: flex; border-bottom: 1px solid #1e232b; min-height: 80px; }
.studio-track-row:last-child { border-bottom: 0; }
.studio-track-label { width: 90px; flex-shrink: 0; background: #0e1014; border-right: 1px solid #1e232b; padding: 12px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.track-badge { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 4px; letter-spacing: 0.5px; }
.track-badge.video { background: #1e3a8a; color: #60a5fa; border: 1px solid #2563eb; }
.track-badge.audio { background: #064e3b; color: #34d399; border: 1px solid #059669; }
.studio-track-label span:last-child { font-size: 11px; color: #94a3b8; font-weight: 600; }
.studio-track-lane { flex: 1; padding: 12px; display: flex; gap: 12px; overflow-x: auto; align-items: center; background: #0d0f12; }

/* Timeline Clips */
.studio-edit-timeline { min-height: 140px; }
.studio-edit-empty { width: 100%; text-align: center; color: #64748b; font-size: 13px; padding: 32px 16px; border: 1px dashed #28303e; border-radius: 8px; }
.studio-edit-clip { background: #161920; border: 1px solid #28303e; border-radius: 8px; padding: 12px; min-width: 220px; max-width: 260px; display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; box-shadow: 0 4px 12px #0006; }
.studio-edit-clip:hover { border-color: #38bdf8; }
.studio-edit-clip button { font-size: 12px; padding: 6px 10px; }
.studio-trims { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.studio-trims label { font-size: 11px; color: #94a3b8; display: flex; justify-content: space-between; align-items: center; }
.studio-trims input { width: 60px; background: #090a0d; border: 1px solid #28303e; color: #f8fafc; padding: 4px 6px; border-radius: 4px; font-size: 11px; }

/* Narration Lane */
.studio-track-narration-lane { min-height: 60px; }
.studio-track-narration { background: #082f25; border: 1px solid #059669; border-radius: 6px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; color: #34d399; font-size: 13px; }
.narration-track-icon { font-size: 16px; }
.studio-track-narration strong { color: #f8fafc; font-size: 13px; }
.studio-track-narration small { color: #a7f3d0; margin-left: 4px; }
.studio-track-narration button { margin-left: auto; padding: 4px 8px; font-size: 11px; }
.studio-track-narration-empty { width: 100%; color: #64748b; font-size: 12px; font-style: italic; }

/* Media Bin in Sidebar */
.studio-edit-sources { display: flex; flex-direction: column; gap: 8px; max-height: 280px; overflow-y: auto; background: #0c0e12; border: 1px solid var(--line); border-radius: 8px; padding: 8px; }
.studio-edit-source { background: #14171d; border: 1px solid #232832; border-radius: 6px; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; text-align: left; }
.studio-edit-source strong { font-size: 13px; color: #f1f5f9; }
.studio-edit-source small { font-size: 11px; color: #94a3b8; }
.studio-edit-source button { margin-top: 4px; font-size: 11px; padding: 5px 8px; }

/* Deliverables & Export Finish Line */
.studio-deliverables-section { background: #14171d; border: 1px solid var(--line); border-radius: 14px; padding: 22px; text-align: left; margin: 20px 0; }
.studio-deliverables-section h3 { font-size: 18px; font-weight: 700; margin: 0 0 16px; color: #f8fafc; }
.studio-deliverables-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.studio-deliverable-card { background: #0c0e12; border: 1px solid #28303d; border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.studio-deliverable-card h4 { font-size: 16px; margin: 4px 0 0; color: #f1f5f9; word-break: break-all; }
.studio-deliverable-card .helper { margin: 0 0 8px; font-size: 12px; color: #94a3b8; }
.studio-deliverable-card button { margin-top: auto; }

.studio-archive-section { background: #16181d; border: 1px solid var(--line); border-radius: 14px; padding: 22px; text-align: left; margin: 20px 0; display: flex; flex-direction: column; gap: 12px; }
.studio-archive-section h3 { font-size: 18px; font-weight: 700; margin: 0; color: #f8fafc; }
.studio-storage-details { margin-top: 16px; background: #0f1115; border: 1px solid #232832; border-radius: 10px; padding: 14px 18px; text-align: left; }
.studio-storage-details summary { font-size: 13px; font-weight: 600; color: #94a3b8; cursor: pointer; }



/* Beta tester first run: invite result and the 3-step start card. */
.dashboard-invite-note { margin: 12px 0; padding: 14px 16px; border-radius: 10px; font-size: 15px; line-height: 1.45; }
.dashboard-invite-note.ok { background: rgba(230, 67, 37, 0.12); border: 1px solid var(--accent); color: var(--accent-light); }
.dashboard-invite-note.error { background: rgba(239, 68, 68, 0.12); border: 1px solid #ef4444; color: #fecaca; }
.studio-first-run { text-align: left; color: #e5e7eb; }
.studio-first-run h4 { margin: 0 0 12px; font-size: 18px; color: #fff; }
.studio-first-run ol { margin: 0 0 18px; padding-left: 22px; display: grid; gap: 10px; font-size: 15px; line-height: 1.5; }
.studio-first-run .primary { font-size: 16px; padding: 12px 22px; }

/* Credits card (Stripe, main tier). */
.studio-credits-card { margin: 12px 0; padding: 16px; border: 1px solid #374151; border-radius: 12px; background: #131518; }
.studio-credits-card h3 { margin: 0 0 6px; }
.credits-balance { font-size: 22px; font-weight: 700; color: var(--accent); margin: 0 0 10px; }
.credits-packs { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; }
.credits-history { margin: 10px 0 0; padding-left: 18px; color: #9ca3af; font-size: 13px; }

/* Start with anything (Phase 4). */
.studio-start-anything { max-width: 980px; margin: 0 auto; padding: 8px 4px 40px; display: grid; gap: 16px; }
.studio-start-anything .start-hero h2 { font-size: 32px; margin: 0 0 6px; color: #fff; }
.studio-start-anything .start-hero p { font-size: 16px; line-height: 1.5; margin: 0; }
.studio-start-anything .start-logline { color: var(--accent-light); font-size: 18px; }
.start-drop { display: flex; align-items: center; gap: 14px; padding: 18px; border: 2px dashed var(--accent); border-radius: 14px; background: rgba(230,67,37,0.06); cursor: pointer; font-size: 16px; color: var(--accent-light); }
.start-drop img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; }
.studio-start-anything textarea { width: 100%; font-size: 16px; line-height: 1.5; }
.start-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.start-choices label, .studio-start-anything > label { display: grid; gap: 6px; font-weight: 600; color: #e5e7eb; }
.start-choices input[type=range] { width: 100%; accent-color: var(--accent); }
.studio-start-anything .start-go { font-size: 18px; padding: 14px 28px; justify-self: start; }
.start-progress { padding: 16px; border: 1px solid #374151; border-radius: 12px; background: #131518; display: grid; gap: 10px; }
.start-progress progress { width: 100%; height: 10px; accent-color: var(--accent); }
.start-steps { margin: 0; padding-left: 20px; color: #9ca3af; display: grid; gap: 4px; }
.start-steps .current { color: #fff; font-weight: 700; }
.start-concept h3 { margin: 18px 0 8px; color: var(--accent); }
.start-cast { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.start-character { padding: 12px; border: 1px solid #374151; border-radius: 10px; background: #0f1113; }
.start-character small { display: block; color: var(--accent-light); margin: 2px 0 6px; }
.start-acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.start-scenes { padding-left: 22px; display: grid; gap: 6px; }
.start-next { display: flex; flex-wrap: wrap; gap: 10px; }

/* Standalone Image / Video generators with brush, sketch and scrubber. */
.studio-generator { max-width: 1100px; margin: 0 auto; padding: 8px 4px 40px; display: grid; gap: 14px; }
.studio-generator h2 { margin: 0; font-size: 28px; color: #fff; }
.gen-models { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gen-models button[aria-pressed="true"] { outline: 2px solid var(--accent); }
.gen-stage { display: grid; gap: 10px; }
.gen-picker { display: grid; gap: 6px; }
.gen-thumbs { display: flex; flex-wrap: wrap; gap: 8px; max-height: 220px; overflow: auto; }
.gen-thumb { width: 96px; height: 64px; padding: 0; border-radius: 8px; overflow: hidden; border: 2px solid transparent; }
.gen-thumb.selected { border-color: var(--accent); }
.gen-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gen-paint { position: relative; display: grid; gap: 6px; }
.gen-paint img { width: 100%; height: auto; border-radius: 10px; }
.gen-paint-canvas { position: absolute; top: 0; left: 0; width: 100%; aspect-ratio: auto; touch-action: none; cursor: crosshair; }
.gen-paint-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.gen-player { width: 100%; max-height: 420px; background: #000; border-radius: 10px; }
.gen-stage input[type=range] { width: 100%; accent-color: var(--accent); }
.studio-generator .gen-go { font-size: 18px; padding: 14px 28px; justify-self: start; }
.gen-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.gen-result { padding: 12px; border: 1px solid #374151; border-radius: 12px; background: #131518; display: grid; gap: 8px; }
.gen-result img, .gen-result video { width: 100%; border-radius: 8px; }
.gen-result progress { width: 100%; accent-color: var(--accent); }
.gen-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* More icons (polish pass): every button gets one via studioIconName. */
button[data-icon="home"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%2011l9-7%209%207v9a1%201%200%200%201-1%201h-5v-6H9v6H4a1%201%200%200%201-1-1z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="users"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M2.5%2020c.8-3.6%203.4-5.5%206.5-5.5s5.7%201.9%206.5%205.5M16%204.8a3.5%203.5%200%200%201%200%206.4M18%2014.8c1.8.8%203%202.5%203.5%205.2%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="card"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%222.5%22%20y%3D%225%22%20width%3D%2219%22%20height%3D%2214%22%20rx%3D%222%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M2.5%2010h19M6%2015h4%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="mic"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%226%22%20height%3D%2211%22%20rx%3D%223%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M5%2011a7%207%200%200%200%2014%200M12%2018v3%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="send"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%2012h14M13%206l6%206-6%206%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="play"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8%205l11%207-11%207z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="brush"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M14%204l6%206-8%208H6v-6z%20M11%207l6%206%20M3%2021c2%200%203-1%203-3%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="film"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M7%204v16M17%204v16M3%209h4M3%2015h4M17%209h4M17%2015h4%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
button[data-icon="camera"] { --studio-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4%208h3l2-3h6l2%203h3v11H4z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%223.5%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

/* Polish pass (evolution, not a redesign): clear active tool, bigger main actions, brand progress. */
.studio-connected #studio-navigation button[aria-pressed=true] { background:#2a1b16; border-color:transparent; border-left:3px solid var(--accent); color:#fff; font-weight:700; }
.studio-connected #studio-navigation button:hover:not(:disabled) { background:#1d1f23; }
.studio-connected .primary { min-height:44px; font-weight:700; letter-spacing:.2px; background:var(--accent); border-color:var(--accent); box-shadow:0 2px 0 rgba(0,0,0,.35); }
.studio-connected .primary:hover:not(:disabled) { background:var(--accent-light); border-color:var(--accent-light); color:#1a0f0b; }
.studio-connected button:focus-visible, .studio-connected a:focus-visible { outline:2px solid var(--accent-light); outline-offset:2px; }
.studio-connected button:disabled { opacity:.55; cursor:not-allowed; }
.studio-connected progress { accent-color:var(--accent); height:8px; }
.studio-connected h2 { letter-spacing:-.2px; }
.studio-connected h3 { color:#fff; }
.studio-connected .helper { line-height:1.5; }
.project-card { transition:transform .12s ease, border-color .12s ease; }
.project-card:hover { transform:translateY(-2px); border-color:var(--accent); }
.studio-projects-empty.studio-first-run, .gen-results > p.helper, .start-progress { border-radius:12px; }
.gen-results > p.helper { padding:18px; border:1px dashed #3b3f46; text-align:center; }

/* Combine references: a clean responsive tile grid (thumbnail on top, short label under it). */
.reference-canvas .reference-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;align-items:start}
.reference-canvas .reference-input{width:auto;min-width:0;display:flex;flex-direction:column;gap:6px;padding:6px;overflow:hidden;border-radius:6px}
.story-review .reference-canvas .reference-input img,.reference-canvas .reference-input img{display:block;width:100%;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:4px;background:#1a1a1a}
.reference-canvas .reference-input small{display:block;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reference-canvas .reference-add-tile{width:auto;min-height:56px;aspect-ratio:auto;display:grid;place-items:center;text-align:center;align-self:stretch}
.reference-canvas .reference-picker{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.reference-canvas .reference-picker button{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:5px;height:auto;white-space:normal;text-align:left;overflow:hidden;border-radius:6px}
.story-review .reference-canvas .reference-picker img,.reference-canvas .reference-picker img{display:block;width:100%;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:4px;background:#1a1a1a}
.reference-canvas .reference-picker span,.reference-canvas .reference-picker small{display:block;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reference-canvas .reference-picker [aria-pressed=true]{outline:3px solid var(--accent,#e64325);outline-offset:-3px;background:#2a1712}
.reference-canvas .reference-picker [aria-pressed=true] small{color:var(--accent,#e64325);font-weight:700}
@media(max-width:480px){.reference-canvas .reference-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-canvas .reference-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Model picker (every image/video surface): dropdown, a "good for" line, and content-policy tags. */
.model-picker{display:grid;gap:6px;margin:10px 0;max-width:640px}
.model-picker label{display:grid;gap:4px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#bbb}
.model-picker select{width:100%;min-width:0;font-size:14px;padding:10px;background:#15171a;color:#fff;border:1px solid #444;border-radius:6px;text-transform:none;letter-spacing:0}
.model-picker-note{margin:0;font-size:13px}
.model-picker-tags{display:flex;flex-wrap:wrap;gap:6px}
.model-tag{font-size:11px;line-height:1.3;padding:3px 8px;border-radius:999px;border:1px solid #555;color:#ddd;background:#1d1f23}
.model-tag-strict{border-color:#7a3b32;color:#ffb4a6;background:#2a1714}
.model-tag-mature{border-color:#5b4a7a;color:#d6c7ff;background:#1e1a2a}
.gen-ops{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.gen-ops button{margin:0}
.frame-model-host{margin:8px 0}

/* Cast your characters (References) */
.cast-panel{border:1px solid #3a3a3a;border-radius:8px;padding:10px 14px;margin:0 0 14px;background:#141619}
.cast-panel>summary{cursor:pointer;font-weight:700;color:#fff}
.cast-row{display:grid;gap:8px;padding:12px 0;border-top:1px solid #2a2a2a}
.cast-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.cast-head small{color:#aaa}
.cast-thumbs{display:flex;gap:6px;flex-wrap:wrap}.cast-thumbs img{width:72px;height:72px!important;object-fit:cover;border-radius:6px;background:#222}
.cast-check{display:flex;gap:8px;align-items:center;font-size:13px;text-transform:none;letter-spacing:0}
/* ✏️ Edit scene */
.scene-edit-panel{border:1px solid #3a3a3a;border-radius:8px;padding:10px 14px;margin:10px 0;background:#141619}
.scene-edit-panel>summary{cursor:pointer;font-weight:700}
.scene-edit-body{display:grid;gap:8px;max-width:640px}
.scene-edit-body label{display:grid;gap:4px;font-size:12px}
.scene-edit-body select,.scene-edit-body input,.scene-edit-body textarea{width:100%;min-width:0}
.scene-edit-preview{font-family:ui-monospace,Consolas,monospace;color:#ffb199}

/* UI clean pass (2026-09-26) */
.account-menu{display:none;position:relative;margin-left:10px}
body:has(#project-state:not([hidden])) .account-menu{display:block}
.account-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:7px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text)}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary::after{content:' ▾'}
.account-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#16171a;border:1px solid var(--line);padding:8px;display:grid;gap:6px;z-index:30;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.account-panel a,.account-panel button{display:block;width:100%;margin:0;padding:10px 12px;text-align:left;font-size:13px;color:var(--text);text-decoration:none}
.account-panel a:hover{background:#1d1f23}
.account-panel .danger-link{color:#ff8a7a}
.account-panel .account-help{font-size:12px;color:var(--muted,#9aa0a6);padding-top:4px}
.deletion-steps{margin:8px 0 16px 20px;line-height:1.7}
#film-workspace>details:has(#transferred-files:empty){display:none}
#film-workspace .story-revision:has(#released-films:empty):has(#private-film[hidden]){display:none}
details.studio-billing-notice{font-size:12px;margin:0 0 16px}
details.studio-billing-notice>summary{cursor:pointer;color:var(--muted,#9aa0a6)}
.studio-nav-more{display:none!important}
@media(max-width:650px){
  .studio-connected #studio-navigation:has(.studio-nav-more){display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));height:auto;min-height:62px;margin:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));overflow:visible;gap:2px;align-items:stretch}
  .studio-connected #studio-navigation:has(.studio-nav-more)>:not(.nav-primary):not(.studio-nav-more){display:none}
  .studio-connected #studio-navigation:has(.studio-nav-more)>.nav-primary,.studio-connected #studio-navigation:has(.studio-nav-more)>.studio-nav-more{display:flex!important;order:2;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;padding:6px 2px;font-size:10px;line-height:1.1;white-space:normal;text-align:center;border:0;border-top:2px solid transparent}
  .studio-connected #studio-navigation:has(.studio-nav-more)>.studio-nav-more{order:3}
  .studio-connected #studio-navigation button.nav-primary[aria-pressed=true]{border-left:0;border-top-color:var(--accent)}
  .studio-connected #studio-navigation.more-open:has(.studio-nav-more)>:not(.nav-primary):not(.studio-nav-more){display:block;order:1;grid-column:span 3;min-height:44px;padding:10px 12px;font-size:13px;text-align:left;border:1px solid var(--line);background:#16171a}
  .studio-connected #studio-navigation.more-open:has(.studio-nav-more)>details{grid-column:1/-1}
  .studio-connected #studio-navigation.more-open:has(.studio-nav-more)>.studio-nav-more{color:var(--accent)}
  .studio-connected #studio-navigation{margin:0}
  .account-menu{margin-left:6px}
  .account-menu>summary{padding:7px 10px;font-size:10px;white-space:nowrap}
  body:has(#project-state:not([hidden])) .site-header .beta-tag{display:none}
}

/* Invite landing: one giant button, big text, three steps. */
.invite-landing .hero-copy{display:none}
.invite-landing .hero{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}
.invite-landing .intake-card{max-width:none;width:100%;padding:36px 28px}
.invite-landing #workspace-title{font-size:clamp(40px,9vw,64px)}
.invite-landing #workspace-status{font-size:22px;line-height:1.4;color:var(--text)}
.invite-landing #member-login{display:flex;align-items:center;justify-content:center;min-height:88px;font-size:34px;letter-spacing:1px;margin:22px 0}
.invite-landing #access-state>label,.invite-landing #member-invitation,.invite-landing #open-invitation{display:none}
.invite-steps{margin:0 0 20px;padding-left:28px;font-size:20px;line-height:1.5}
.invite-steps li{margin:0 0 10px}
.invite-help{font-size:20px;font-weight:700;margin:8px 0 0}

/* Owner: beta testers usage (read-only) */
.studio-tester-usage{margin-top:28px}
.studio-usage-host{overflow-x:auto;margin-top:12px}
.studio-usage-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
.studio-usage-table th,.studio-usage-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.studio-usage-table th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted,#9aa0a6)}
.studio-usage-table td:nth-child(5){white-space:pre-line;font-size:12px}

/* Dashboard: lean project cards + Trash */
.project-card-tools{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}
.project-card-tools>button{font-size:12px;padding:8px 12px;min-height:0}
.project-share-toggle>summary{cursor:pointer;font-size:12px;padding:8px 12px;border:1px solid var(--line);list-style:none}
.project-share-toggle[open]{flex-basis:100%}
.project-trash{grid-column:1/-1;margin-top:8px;border:1px dashed var(--line);padding:10px 14px}
.project-trash>summary{cursor:pointer;color:var(--muted,#9aa0a6)}
.project-trash-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.project-trash-row button{width:auto;font-size:12px;padding:6px 12px}

/* Owner page */
.studio-owner-page>h2{margin:0 0 8px}
.studio-owner-projects,.studio-owner-audit{margin-top:24px}
.studio-owner-projects td button{width:auto;font-size:12px;padding:7px 12px;min-height:0}
.studio-usage-total td{font-weight:700;border-top:2px solid var(--line)}
.studio-owner-audit>summary{cursor:pointer;font-weight:700}
.studio-owner-audit li{font-size:12px;padding:4px 0}

/* Start: showcase first (hero image, your photo, first frames, next step) */
.start-showcase{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;margin:18px 0 12px;align-items:start}
.start-hero-image{margin:0;background:#0b0b0c;border:1px solid var(--line);min-height:200px}
.start-hero-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.start-hero-image figcaption,.start-your-photo figcaption{font-size:12px;color:var(--muted,#9aa0a6);padding:8px 10px}
.start-your-photo{margin:0;border:1px solid var(--line)}
.start-your-photo img{display:block;width:100%;object-fit:cover;max-height:260px}
.start-frames{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.start-frame{padding:0;border:1px solid var(--line);background:#0b0b0c;display:block;text-align:left;cursor:pointer}
.start-frame img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.start-frame small{display:block;padding:4px 6px;font-size:11px}
.start-next-top{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 28px}
.start-next-primary{font-size:16px;padding:14px 24px;min-height:52px}
@media(max-width:650px){.start-showcase{grid-template-columns:1fr}.start-frames{grid-template-columns:repeat(3,minmax(0,1fr))}.start-next-top button{width:100%}}
.studio-start-anything .start-frame{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-height:0;width:100%}
.studio-start-anything .start-frame::before{display:none!important}

/* Start: tone & look chips */
.start-look-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px}
.start-look-chips select{width:auto;min-height:36px;padding:6px 30px 6px 12px;border-radius:999px;font-weight:700;font-size:13px}
.start-chip-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted,#9aa0a6)}
.start-chip-dot{color:var(--muted,#9aa0a6)}
.start-look-chips button{width:auto}

/* ===== Editor (NLE) ===== */
.nle{display:grid;gap:12px}
.nle-monitor{background:#000;border:1px solid var(--line);max-width:980px;width:100%;justify-self:center}
.nle-screen{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.nle-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;transition:opacity .08s linear}
.nle-dip{position:absolute;inset:0;opacity:0;pointer-events:none;background:#000}
.nle-empty{position:absolute;inset:0;display:grid;place-items:center;color:#aaa;margin:0;text-align:center;padding:16px}
.nle-overlays{position:absolute;inset:0;pointer-events:none}
.nle-ov{position:absolute;display:grid;gap:4px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.nle-ov-title{inset:0;place-content:center;text-align:center}.nle-ov-title strong{font-size:clamp(22px,5vw,54px);letter-spacing:1px;text-transform:uppercase}
.nle-ov-lower_third{left:5%;bottom:12%;background:rgba(0,0,0,.55);padding:8px 14px;border-left:4px solid var(--accent)}.nle-ov-lower_third strong{font-size:clamp(14px,2.4vw,22px)}.nle-ov-lower_third span{font-size:clamp(11px,1.6vw,15px);opacity:.85}
.nle-ov-caption{left:8%;right:8%;bottom:7%;text-align:center}.nle-ov-caption strong{font-size:clamp(14px,2.6vw,26px);background:rgba(0,0,0,.6);padding:4px 10px}
.nle-ov-end_card{inset:0;place-content:center;text-align:center;background:#000}.nle-ov-end_card strong{font-size:clamp(24px,6vw,60px);color:var(--accent)}
.nle-transport{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#111}
.nle-transport button{width:auto;min-height:40px}.nle-time{font-variant-numeric:tabular-nums;font-size:13px;color:#ddd;margin-left:auto}
.nle-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nle-toolbar button,.nle-toolbar select{width:auto;min-height:40px;padding:8px 12px;font-size:13px}
.nle-icon{min-width:40px;justify-content:center}
.nle-view-toggle{display:flex;border:1px solid var(--line)}.nle-view-toggle button{border:0}.nle-view-toggle button[aria-pressed=true]{background:#2a1b16;color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}
.nle-titles{display:flex;flex-wrap:wrap;gap:6px}
.nle-save{font-size:12px;color:var(--muted,#9aa0a6)}
.nle-inspector{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:10px 12px;border:1px solid var(--line);background:#141518}
.nle-inspector label{display:grid;gap:4px;font-size:12px;min-width:160px}.nle-inspector select{width:auto}
.nle-timeline{border:1px solid var(--line);background:#0c0d0f}
.nle-scroll{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.nle-ruler,.nle-rows{width:var(--nle-width,100%);position:relative}
.nle-ruler{height:26px;border-bottom:1px solid var(--line);cursor:pointer;touch-action:none}
.nle-tick{position:absolute;top:4px;font-size:10px;color:#888;border-left:1px solid #333;padding-left:3px;height:18px}
.nle-row{position:relative;height:64px;border-bottom:1px solid #1d1f23}.nle-row-a1,.nle-row-a2,.nle-row-a3{height:40px}
.nle-row-name{position:sticky;left:0;z-index:3;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#999;background:rgba(12,13,15,.85);padding:2px 6px;display:inline-block}
.nle-row-empty{position:absolute;left:110px;top:50%;transform:translateY(-50%);font-size:12px;color:#666}
.nle-clip{position:absolute;top:18px;bottom:4px;border:1px solid #3a3d44;background:#23262c center/cover no-repeat;border-radius:4px;overflow:hidden;cursor:grab;touch-action:none;user-select:none}
.nle-row-v1 .nle-clip{top:18px}.nle-row-a1 .nle-clip{background:#1d3b2f;top:14px}.nle-row-a2 .nle-clip{background:#2c2a47;top:14px}.nle-row-a3 .nle-clip{background:#47342a;top:14px}
.nle-clip.is-selected{outline:2px solid var(--accent);z-index:2}
.nle-clip-label{position:absolute;left:4px;right:4px;bottom:2px;font-size:10px;color:#fff;text-shadow:0 1px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nle-clip-tx{position:absolute;left:2px;top:2px;font-size:11px;background:var(--accent);color:#000;padding:0 3px;border-radius:2px}
.nle-handle{position:absolute;top:0;bottom:0;width:10px;background:rgba(255,255,255,.18);cursor:ew-resize}.nle-handle-l{left:0}.nle-handle-r{right:0}
.nle-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);pointer-events:none;z-index:4}
.nle-story-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.nle-story-card{border:1px solid var(--line);background:#141518;display:grid;gap:4px;padding-bottom:8px}.nle-story-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.nle-story-card strong,.nle-story-card small{padding:0 8px}.nle-story-actions{display:flex;gap:6px;padding:0 8px}.nle-story-actions button{width:auto;min-height:34px;padding:4px 10px;font-size:12px}
.nle-bin h3{margin:4px 0}.nle-bin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.nle-bin-tabs button{width:auto;font-size:12px;padding:6px 12px}.nle-bin-tabs button[aria-pressed=true]{border-color:var(--accent);color:#fff}
.nle-bin-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.nle-media{display:grid;gap:3px;text-align:left;padding:0 0 6px;border:1px solid var(--line);background:#141518}.nle-media img{width:100%;aspect-ratio:16/9;object-fit:cover}.nle-media strong,.nle-media small{padding:0 6px;font-size:12px}
@media(max-width:650px){
 .nle-monitor{position:sticky;top:0;z-index:5}
 .nle-toolbar{position:sticky;bottom:72px;z-index:6;background:#101113;padding:8px;border:1px solid var(--line);flex-wrap:nowrap;overflow-x:auto}
 .nle-toolbar button,.nle-toolbar select{flex-shrink:0;min-height:44px}
 .nle-titles{flex-wrap:nowrap}
 .nle-row{height:72px}.nle-handle{width:18px}
 .nle-inspector label{min-width:100%}
 .nle-story-list{grid-template-columns:1fr}
}
/* NLE: only the timeline scrolls sideways; everything else fits the screen */
.nle{grid-template-columns:minmax(0,1fr);max-width:100%;overflow-x:hidden}
.nle>*{min-width:0;max-width:100%}
.nle-scroll{max-width:100%}
@media(max-width:650px){
 .nle-monitor{position:sticky;top:0;z-index:5;margin:0 -2px}
 .nle-screen{max-height:34vh;aspect-ratio:auto;height:calc((100vw - 28px)*9/16)}
 .nle-toolbar{position:sticky;bottom:70px;z-index:6}
 .nle-transport{position:sticky;top:0}
}
.nle-export{border:1px solid var(--line);padding:10px 12px;display:grid;gap:8px}.nle-export h3{margin:0}
.nle-export-actions{display:flex;gap:8px;flex-wrap:wrap}.nle-export-actions button{width:auto}
.nle-export-job{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.nle-export-job button{width:auto;min-height:34px;padding:4px 12px}
.nle .nle-media{display:grid!important;grid-template-columns:1fr;align-items:start;justify-items:stretch;gap:4px;padding:0 0 8px;min-height:0;text-align:left;font-weight:400}
.nle .nle-media::before{display:none!important}
.nle .nle-media strong{font-size:12px;line-height:1.3;white-space:normal}
.nle .nle-media small{font-size:11px;color:var(--muted,#9aa0a6)}
.nle-audio-form{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nle-audio-form input[type=text]{flex:1 1 260px;min-width:0}.nle-audio-form input[type=number]{width:90px}.nle-audio-form button{width:auto}
.nle .nle-audio-card{padding:8px}.nle .nle-audio-card button{width:auto;min-height:34px;font-size:12px;padding:4px 10px}

/* Coverage: built from the scene's current frame; add vs replace */
.coverage-anchor-note{margin:.4rem 0 .8rem;padding:.5rem .75rem;border-left:3px solid var(--accent,#c9a45c);background:color-mix(in srgb,var(--accent,#c9a45c) 10%,transparent);border-radius:6px;font-size:.9rem}
.coverage-placement{display:flex;gap:.35rem;flex-wrap:wrap;margin:.4rem 0}
.coverage-placement button{flex:1 1 auto;min-height:36px;font-size:.82rem;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line,#444);background:transparent;color:inherit}
.coverage-placement button[aria-checked=true]{background:var(--accent,#c9a45c);color:#111;border-color:transparent;font-weight:600}

/* Cast in this scene (under the frame) + References drawer */
.scene-character-choices{margin:.75rem 0 1rem;padding:.75rem;border:1px solid var(--line,#333);border-radius:12px;background:color-mix(in srgb,var(--panel,#1b1b1b) 92%,transparent)}
.cast-strip-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}
.cast-strip-head h3{margin:0;font-size:1rem}
.cast-unsure{border-left:3px solid #e0a030;padding:.35rem .6rem;margin:.4rem 0;background:rgba(224,160,48,.08);border-radius:4px}
.cast-mentioned{display:block;opacity:.75;margin:.2rem 0 .4rem}
.cast-strip-head .helper{flex:1 1 12rem;margin:0}
.cast-strip{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.25rem;scroll-snap-type:x proximity}
.cast-face{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:88px;padding:.35rem;border-radius:10px;background:transparent;border:1px solid transparent;color:inherit;scroll-snap-align:start;min-height:44px}
.cast-face:hover,.cast-face:focus-visible{border-color:var(--accent,#c9a45c)}
.cast-face-pic{width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#2a2a2a;border:2px solid var(--line,#444)}
.cast-face-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.cast-initials{font-weight:700;font-size:1.2rem;opacity:.8}
.cast-face strong{font-size:.82rem;line-height:1.1;text-align:center}
.cast-face small{font-size:.7rem;opacity:.7;text-align:center}
.cast-menu,.cast-who{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.6rem;padding:.6rem;border-radius:10px;background:#00000033}
.cast-menu>strong{flex-basis:100%}.cast-menu>small{flex-basis:100%}
.cast-who-item{display:flex;align-items:center;gap:.35rem;min-height:40px;padding:0 .5rem;border:1px solid var(--line,#444);border-radius:999px}
.cast-who>small{flex-basis:100%}
.ref-drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,100vw);overflow-y:auto;padding:1rem 1rem 6rem;background:var(--bg,#111);border-left:1px solid var(--line,#333);box-shadow:-12px 0 32px #0008}
.ref-drawer[hidden]{display:none}
.ref-drawer-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-1rem;background:var(--bg,#111);padding:.5rem 0;z-index:1}
.ref-drawer-head h3{margin:0}
.ref-drawer-grid{flex-wrap:wrap;overflow:visible}
.ref-drawer>button{margin-top:.75rem;width:100%}
.cast-face-pic{position:relative}
.cast-face-pic>*{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;aspect-ratio:auto!important}
.cast-face-pic img{object-fit:cover!important;object-position:50% 28%;transform:scale(1.55);transform-origin:50% 30%}
.cast-face-pic .cast-initials{position:static;display:grid;place-items:center}
/* Stupid pass: Start heading stacked (the dialog title-bar rule was squeezing it), plain slider ends */
.studio-new-project-dialog header.start-hero{display:block}
.start-hero h2{margin:0 0 .4rem}
.start-chaos-ends{display:flex;justify-content:space-between;font-weight:400}
/* Stupid pass: the Timeline / Story view toggle never shrinks under the other buttons */
.nle-toolbar>*{flex-shrink:0}
.nle-toolbar>*>button{white-space:nowrap}
.ref-cast-home{margin:0 0 1.25rem;padding:1rem;border:1px solid var(--line,#333);border-radius:14px;background:color-mix(in srgb,var(--panel,#1b1b1b) 92%,transparent)}
.ref-cast-home .ref-drawer-head{position:static;background:transparent;padding:0}
.ref-cast-home .ref-drawer-head h2{margin:0}
.start-more{grid-column:1/-1;border:1px solid var(--line,#2d333f);border-radius:10px;padding:.5rem .75rem}
.start-more>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:600}
.gen-ref-tags{display:flex;flex-direction:column;gap:.4rem;margin:.6rem 0;padding:.6rem;border:1px solid var(--line,#333);border-radius:10px}
.gen-ref-tag{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.gen-ref-tag>span{min-width:10rem;font-size:.85rem;opacity:.85}
.gen-ref-tag select,.gen-ref-tag input{width:auto;min-height:40px}
.gen-ref-tag>span{min-width:1.5rem}
.gen-ref-thumb{width:56px;height:40px;object-fit:cover;border-radius:6px;background:#222}
.gen-ref-tag input{flex:0 1 14rem!important;width:14rem!important;max-width:100%}
.nle-ov-location{left:5%;top:6%}.nle-ov-location strong{font-size:clamp(11px,1.6vw,16px);letter-spacing:3px}
.nle-ov-chapter{inset:0;place-content:center;text-align:center;background:#000}.nle-ov-chapter strong{font-size:clamp(22px,5vw,50px)}.nle-ov-chapter span{color:var(--accent);letter-spacing:4px;text-transform:uppercase}
.nle-title-form{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.6rem;border:1px solid var(--line);border-radius:10px;margin-top:.4rem}
.nle-title-form>strong{flex-basis:100%}.nle-title-form label{font-size:.8rem;opacity:.8}.nle-title-form input{flex:1 1 12rem;min-height:40px}
.nle-toolbar>.nle-titles{flex:1 1 100%;min-width:0;max-width:100%}
.nle-titles:has(.nle-title-form:not([hidden])){flex-wrap:wrap}
.nle-title-form{box-sizing:border-box;max-width:100%}
.nle-title-list{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.nle-title-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .2rem .15rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.8rem}
.nle-title-chip button{min-height:32px;padding:0 .5rem}
/* Display modes (Whole film + Script view), remembered per browser */
.view-modes{margin:.5rem 0 1rem;display:inline-flex}
.view-modes button[aria-checked=true]{background:var(--accent,#c9a45c);color:#111;border-color:transparent}
.story-film-grid.view-list{display:flex;flex-direction:column;gap:.5rem}
.story-film-grid.view-list .story-film-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:.25rem .75rem;align-items:start;text-align:left}
/* The tile holds the card (full width) with Select frame / More shots beside it; it must not squeeze the card into 160px. */
.story-film-grid.view-list .story-film-tile{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .75rem;align-items:start;text-align:left}
.story-film-grid.view-list .story-film-tile>.story-film-card{grid-column:1;grid-row:1 / span 2;width:100%;min-width:0}
.story-film-grid.view-list .story-film-tile>:not(.story-film-card){grid-column:2;justify-self:end;white-space:nowrap}
@media(max-width:650px){.story-film-grid.view-list .story-film-tile{grid-template-columns:minmax(0,1fr)}.story-film-grid.view-list .story-film-tile>*{grid-column:1 !important;grid-row:auto !important;justify-self:start}
 .story-film-grid.view-list .story-film-card{grid-template-columns:110px minmax(0,1fr)}.story-film-grid.view-list img{width:110px}}
.story-film-grid.view-list img{width:160px;aspect-ratio:16/9;object-fit:cover;grid-row:span 4}
.story-film-grid.view-filmstrip{display:flex;overflow-x:auto;gap:.5rem;scroll-snap-type:x mandatory;padding-bottom:.5rem}
.story-film-grid.view-filmstrip>*{flex:0 0 min(360px,80vw);scroll-snap-align:start}
.story-film-grid.view-filmstrip p{display:none}
/* Script view */
.story-script-view{max-width:1100px}
.script-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1rem}
.script-cards.view-list{grid-template-columns:1fr}
.script-cards.view-filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.script-cards.view-filmstrip>.script-card{flex:0 0 min(420px,86vw);scroll-snap-align:start}
.script-card{border:1px solid var(--line,#333);border-radius:14px;padding:.9rem;background:color-mix(in srgb,var(--panel,#1b1b1b) 92%,transparent);display:flex;flex-direction:column;gap:.6rem}
.script-card header{display:flex;gap:.6rem;align-items:baseline}
.script-num{font-weight:700;color:var(--accent,#c9a45c);min-width:2ch}
.script-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.script-cast{display:flex;gap:.35rem;flex-wrap:wrap}
.script-face{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#2a2a2a;border:1px solid var(--line,#444)}
.script-face img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;transform:scale(1.5)}
.script-body{font-family:"Courier Prime","Courier New",monospace;font-size:.92rem;line-height:1.45}
.script-action{margin:.35rem 0}
.script-dialogue{margin:.5rem 0 .5rem 12%;max-width:34rem}
.script-cue{margin:0;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding-left:18%}
.script-paren{margin:0;padding-left:10%;opacity:.8}
.script-line{margin:0}
.script-dialogue>button{margin-top:.35rem;font-family:inherit;font-size:.8rem;min-height:36px}
@media (max-width:640px){.script-dialogue{margin-left:4%}.script-cue{padding-left:8%}}
.world-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 1rem}
.world-ready{margin:0;font-weight:600;color:#7bd88f}
.ref-cast-home h3{margin:1rem 0 .4rem;font-size:1rem}
.world-error{padding:.6rem .8rem;border-radius:8px;background:#5a1d1d;color:#ffd7d7}
.world-building{margin:0;font-weight:600;color:#f0c674}
.nle-look{border:1px solid var(--line);padding:10px 12px;display:grid;gap:10px}.nle-look h3{margin:0}
.nle-look-pair{display:flex;gap:10px;flex-wrap:wrap}.nle-look-pair figure{margin:0;display:grid;gap:4px}.nle-look-pair canvas{max-width:100%;border-radius:4px}
.nle-look-pair figcaption{font-size:12px;opacity:.8}
.nle-look-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.nle-look-controls label{display:flex;gap:6px;align-items:center;font-size:13px}
.nle-look-controls select{width:auto}
.nle-look-grid{display:flex;flex-wrap:wrap;gap:8px}.nle-look-group{flex-basis:100%;font-size:12px;opacity:.75;margin-top:4px}
.nle-look-swatch{width:auto;padding:4px;display:grid;gap:3px;justify-items:center;background:transparent;border:2px solid transparent;border-radius:6px;min-height:0}
.nle-look-swatch canvas{display:block;border-radius:3px}.nle-look-swatch span{font-size:11px}
.nle-look-swatch.is-selected{border-color:var(--accent,#e64325)}
.nle-pro{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nle-pro select,.nle-pro button{width:auto}
@media (max-width:600px){.nle-look-swatch canvas{width:108px;height:auto}}
/* Pricing page (/forge/pricing) */
.pricing-page{background:#0b0b0b;color:#f3efe9;margin:0}
.pricing{max-width:1180px;margin:0 auto;padding:24px 16px 64px;display:grid;gap:40px}
.pricing-head{display:flex;justify-content:space-between;align-items:center}
.pricing-brand{color:#f3efe9;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.pricing-hero h1{font-size:clamp(32px,6vw,64px);line-height:1;margin:8px 0 12px;text-transform:uppercase}
.pricing-kicker{color:#e64325;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0}
.pricing-note{display:inline-block;border:1px solid #e64325;padding:4px 10px;font-size:13px}
.pricing h2{font-size:24px;margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}
.pricing-sub{opacity:.8;margin:0 0 16px}
.pricing-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.pricing-grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pricing-card{border:1px solid #333;background:#141414;padding:18px;display:grid;gap:8px;align-content:start;position:relative}
.pricing-card h3{margin:0;font-size:18px}.pricing-card p{margin:0}
.pricing-card.is-featured{border-color:#e64325}
.pricing-tag{position:absolute;top:-10px;right:12px;background:#e64325;color:#0b0b0b;font-size:11px;font-weight:800;padding:2px 8px;text-transform:uppercase}
.pricing-price{font-size:30px;font-weight:800}.pricing-price small{font-size:14px;font-weight:400;opacity:.8}
.pricing-extra{color:#e64325;font-weight:700;font-size:14px}
.pricing-card ul{margin:0;padding-left:18px;display:grid;gap:4px}
.pricing-button{display:inline-block;background:#e64325;color:#0b0b0b;font-weight:800;text-decoration:none;padding:10px 14px;text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.pricing-button.secondary{background:transparent;color:#f3efe9;border:1px solid #f3efe9}
.pricing-table{width:100%;border-collapse:collapse}.pricing-table td,.pricing-table th{border-bottom:1px solid #2a2a2a;padding:10px 8px;text-align:left}
.pricing-table small{opacity:.7}.pricing-foot{opacity:.7;font-size:13px}.pricing-foot a{color:#f3efe9}
.pricing-head .pricing-button{width:auto;flex:0 0 auto}
.credits-pick{border:1px solid #e64325;padding:10px 12px;display:grid;gap:8px;margin:8px 0}
.credits-pricing-link{display:inline-block;margin-top:8px}
.studio-credits-card h4{margin:12px 0 6px}
.table-read-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:1px solid #374151;padding:10px 12px;margin:10px 0}.table-read-bar button{width:auto}.table-read-audio{max-width:100%}
.studio-activity{border:1px solid #374151;border-radius:12px;padding:16px;margin:12px 0;background:#131518}.studio-activity h4{margin:12px 0 4px}.studio-activity-list{margin:0;padding-left:18px;display:grid;gap:3px;font-size:13px;word-break:break-word}
.pricing-compare video{width:100%;max-width:1180px;border:1px solid #333;background:#000;display:block;margin:0 0 14px}
.landing-compare{margin:18px 0}.landing-compare video{width:100%;max-width:720px;display:block;border:1px solid #333;background:#000}.landing-compare figcaption{font-size:13px;opacity:.85;margin-top:6px}.landing-compare a{color:#e64325}
body.invite-landing .landing-compare{display:none}
/* Edit my footage: the Start chip, the Footage page player, and the Editor's Footage panel */
.start-edit-chip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;border:1px solid var(--accent,#e64325);border-radius:10px;padding:.6rem .75rem;margin:.25rem 0}
.start-edit-chip[hidden]{display:none}
.start-edit-chip select{min-height:40px}
.footage-player{display:block;width:100%;max-height:60vh;border-radius:10px;background:#000;margin-bottom:.75rem}
.footage-player[hidden]{display:none}
.nle-footage{border:1px solid var(--line,#2d333f);border-radius:10px;padding:.75rem;margin:.75rem 0}
.nle-footage-files{margin:.5rem 0;padding-left:1.1rem}
.nle-footage-files li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.25rem 0}
.nle-footage-go{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.nle-footage-go select,.nle-footage-go input{min-height:40px;flex:1 1 12rem;min-width:0}
.nle-footage-edit{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;padding-top:.5rem;border-top:1px solid var(--line,#2d333f)}
.nle-footage-edit details{flex-basis:100%}
/* Capture: camera with framing guides + shot list, mic voiceover, voice direction */
.capture-dialog{width:min(960px,100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;border:1px solid var(--line,#2d333f);border-radius:12px;background:var(--panel,#14171d);color:var(--text,#f3f1ee);padding:.75rem}
.capture-dialog::backdrop{background:rgba(0,0,0,.7)}
.capture-stage{position:relative;margin:.5rem auto;background:#000;border-radius:10px;overflow:hidden;width:100%;max-height:62dvh;aspect-ratio:16/9}
.capture-stage.capture-9x16{aspect-ratio:9/16;width:auto;height:62dvh;max-width:100%}
.capture-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.capture-guides{position:absolute;inset:0;pointer-events:none;background:
 linear-gradient(to right,transparent calc(33.33% - 1px),rgba(255,255,255,.35) 33.33%,transparent calc(33.33% + 1px),transparent calc(66.66% - 1px),rgba(255,255,255,.35) 66.66%,transparent calc(66.66% + 1px)),
 linear-gradient(to bottom,transparent calc(33.33% - 1px),rgba(255,255,255,.35) 33.33%,transparent calc(33.33% + 1px),transparent calc(66.66% - 1px),rgba(255,255,255,.35) 66.66%,transparent calc(66.66% + 1px));
 box-shadow:inset 0 0 0 2px rgba(230,67,37,.7)}
.capture-guides::after{content:'';position:absolute;inset:5%;border:1px dashed rgba(255,255,255,.4)}
.capture-meter{position:absolute;left:8%;right:8%;top:50%;height:14px;margin-top:-7px;border-radius:7px;background:rgba(255,255,255,.12);overflow:hidden}
.capture-meter span{display:block;height:100%;width:0;background:var(--accent,#e64325);transition:width .08s}
.capture-stage:has(.capture-meter){aspect-ratio:auto;height:120px}
.capture-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}
.capture-controls .danger{background:#b3261e;color:#fff}
.capture-clock{font-variant-numeric:tabular-nums;min-width:3.5rem}
.capture-shots{display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:.25rem 0;list-style:none}
.capture-shots button{min-height:40px}
.voice-direction{flex-basis:100%;border:1px solid var(--accent,#e64325);border-radius:10px;padding:.5rem .75rem;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.voice-direction[hidden]{display:none}
/* Stupid pass run 2 (2026-09-27): every control is at least 44 px to tap on phones (Apple's minimum). */
@media (max-width:720px){
 button,select,.pricing-button,a[role=button],summary{min-height:44px!important}
 button{min-width:44px!important}
 input[type=text],input[type=number],input[type=email],input:not([type]),textarea{min-height:44px!important}
 .nle button,.nle-bin-tabs button,.story-scene-nav button{padding-top:.55rem;padding-bottom:.55rem}
}
@media (max-width:720px){.nle-toolbar{flex-wrap:wrap;overflow-x:visible}.nle-toolbar>*{flex:0 0 auto}}
.scan-strip{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0}
.scan-strip button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.35rem}
.scan-strip img{width:120px;height:68px;object-fit:cover;border-radius:6px}
.offline-cuts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.offline-notes textarea{width:100%;box-sizing:border-box}
.offline-notes ul,.nle-review-comments{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.3rem}
.offline-notes li,.nle-review-comments li{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.nle-review-comments{flex-basis:100%}
.offline-review{max-width:960px;margin:0 auto;padding:16px}
.project-lock{position:fixed;inset:0;z-index:1000;background:var(--panel,#0d0f12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:24px;text-align:center}
.studio-sales-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 12px}
.studio-sales-period{border:1px solid var(--line);padding:10px 12px;display:grid;gap:2px}
.studio-sales-period strong{font-size:22px}
.studio-sales-period span{font-size:12px;color:var(--muted,#9aa0a6)}
/* Desktop: keep the preview to about half the screen height so the toolbar and timeline stay in view */
@media(min-width:651px){.nle>.nle-monitor{max-width:min(980px,calc(54vh * 16 / 9))}}
/* Legal links (every public page footer and the app footer) and the legal text pages */
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:8px 0}
.legal-links a{color:var(--muted,#9aa0a6);font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}
.legal-links a:hover{color:var(--text)}
.legal-text{max-width:760px;margin:0 auto;line-height:1.7;font-size:15px}
.legal-text h1{font-size:30px;line-height:1.2;margin:8px 0 16px}.legal-text h2{font-size:21px;margin:32px 0 8px}.legal-text h3{font-size:17px;margin:22px 0 6px}
.legal-text ul,.legal-text ol{padding-left:22px;margin:8px 0 14px}.legal-text li{margin:4px 0}
.legal-text hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.legal-table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:14px;display:block;overflow-x:auto}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal-text a{color:var(--text);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.legal-text h1,.legal-text h2,.legal-text h3{letter-spacing:.01em;word-spacing:.08em;font-stretch:normal}
.legal-text h1{font-weight:800}
/* Inside the iPhone / Android app only: no mature/violence badges, no pricing links (the website keeps both) */
.native-app .model-tag-policy,.native-app .legal-links a[href="/forge/pricing"],.native-app a[href^="/forge/pricing"],.native-app a[href="/forge#credits"],.native-app .buy-only,.native-app .credits-pricing-link{display:none!important}
/* Not enough credits: a plain banner with a way to get more */
.credits-banner{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:12px 16px;background:#2a1712;border-bottom:1px solid #e64325;color:var(--text)}
.credits-banner p{margin:0;font-size:15px;max-width:720px}
.credits-banner-actions{display:flex;gap:8px}.credits-banner-actions a,.credits-banner-actions button{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;width:auto}
/* Scene Looks (2026-09-28): look picker, category chips, item list */
.scene-look-panel{border:1px solid #444;background:#1a1a1a;padding:12px;margin:0 0 14px;min-width:0}
.scene-look-panel h4{margin:0 0 8px;font-size:14px}
.scene-look-for{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.scene-look-for select{flex:1 1 180px;min-width:0;max-width:100%}
.scene-look-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.scene-look-chips button[aria-pressed="true"]{background:var(--accent-strong,#c7381e);border-color:var(--accent-strong,#c7381e);color:#fff}
.scene-look-summary{font-size:13px;margin:6px 0;overflow-wrap:anywhere}
.scene-look-items{display:flex;flex-direction:column;gap:4px;margin:6px 0}
.scene-look-items label{display:flex;gap:8px;align-items:center}
.scene-look-items label span{flex:1;min-width:0;overflow-wrap:anywhere}
.scene-look-items label button{margin:0;padding:1px 8px}
.scene-look-add{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.scene-look-add input{flex:1 1 160px;min-width:0}
.reference-notes-label{display:block;font-size:13px;margin:10px 0 4px;color:#bbb}
/* Video length / size / sound with live credits (2026-09-28) */
.gen-video-options,.studio-motion-composer .video-sound{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.gen-video-options label{display:flex;gap:6px;align-items:center;font-size:13px}
.gen-video-options select,.studio-motion-composer label select{min-width:0;max-width:100%}
.video-live-cost{font-weight:600;color:#ffd2c6;margin:6px 0;flex-basis:100%}
.pricing-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pricing-hero-actions .pricing-button{width:auto;margin:0}
.scene-look-items select{max-width:150px;min-width:0;font-size:12px}
.scene-look-items label{display:grid;grid-template-columns:auto minmax(0,1fr) 130px auto;gap:6px;align-items:center}
.scene-look-items label select{width:130px!important;max-width:130px!important}
.scene-look-items label span{white-space:normal;word-break:normal;overflow-wrap:anywhere}
/* Owner · Provider balances */
.studio-balances .studio-balance-alert{background:#3a130c;border:1px solid #e64325;color:#ffd9cf;padding:10px 12px;border-radius:8px;margin:6px 0;font-weight:600}
.studio-balances .studio-balance-big{font-size:20px;font-weight:800;color:var(--text,#f4f1ea)}
.studio-balances .studio-balance-low{border-color:#e64325!important;box-shadow:0 0 0 1px #e64325 inset}
.studio-balances .studio-balance-thresholds{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}
.studio-balances .studio-balance-thresholds label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.studio-balances .studio-balance-thresholds input{width:150px}
/* Remove music / Clean dialogue */
.nle-clean .nle-clean-mix{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:8px 0}
.nle-clean .nle-clean-mix label{display:flex;align-items:center;gap:8px;font-size:13px}
.nle-clean .nle-clean-mix input[type=range]{width:180px}
.studio-balance-banner{background:#3a130c;border:1px solid #e64325;color:#ffd9cf;padding:12px 14px;border-radius:10px;margin:0 0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* Waitlist (public /forge/waitlist) and owner waitlist/trial panels (2026-09-28). */
.waitlist-form{display:grid;gap:14px;max-width:560px;width:100%}
.waitlist-form label{display:grid;gap:6px;font-weight:700}
.waitlist-form input,.waitlist-form textarea,.waitlist-form select{font:inherit;padding:10px 12px;background:var(--panel);color:var(--text);border:1px solid var(--line);width:100%;box-sizing:border-box}
.waitlist-form .pricing-button{width:auto;justify-self:start}
.waitlist-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.waitlist-error{border-left:3px solid var(--accent);padding:8px 12px;background:var(--panel);margin:0}
.credits-waiting{border-left:3px solid var(--accent-light);padding:8px 12px;background:var(--panel)}
.waitlist-scroll{overflow-x:auto;max-width:100%}
.waitlist-table td{vertical-align:top;max-width:320px}
.waitlist-table th .link-button{background:none;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0}
.waitlist-table td button{margin:0 6px 6px 0}

/* Owner · Model Lab (2026-09-28). */
.studio-model-lab{display:grid;gap:14px}
.lab-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px}
.lab-model{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);background:var(--panel);cursor:pointer}
.lab-model.is-picked{border-color:var(--accent)}
.lab-model-name{font-weight:700}
.lab-run{border:1px solid var(--line);padding:12px;display:grid;gap:8px;margin-bottom:14px}
.lab-run-prompt{margin:0;color:var(--muted)}
.lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.lab-cell{display:grid;gap:6px;align-content:start;padding:8px;background:var(--panel);border:1px solid var(--line)}
.lab-cell img,.lab-cell video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.lab-cell.lab-refused{border-color:var(--accent)}
.lab-cell.lab-failed{border-style:dashed}
.lab-outcome{font-weight:700}

/* Report + owner Reports (2026-09-28). */
.report-button{font-size:.9em}
.studio-report{border:1px solid var(--line);padding:10px;margin:8px 0;display:grid;gap:4px}
.studio-report-dialog select,.studio-report-dialog textarea{width:100%;box-sizing:border-box;font:inherit;padding:8px;background:var(--panel);color:var(--text);border:1px solid var(--line);margin:6px 0}

/* ===== Forge Advanced Editor (advanced-editor.mjs): pro panels around the same NLE engine ===== */
.fae{display:grid;gap:10px;--fae-panel:#121316;--fae-line:#26292e;--fae-soft:#1a1c20}
.fae-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--fae-line);background:var(--fae-panel)}
.fae-brand{display:grid;margin-right:auto;min-width:220px}.fae-brand strong{font-size:15px;letter-spacing:.02em}.fae-brand .helper{font-size:11px}
.fae-bar button,.fae-bar select{padding:6px 10px;font-size:12px;width:auto}
.fae-compare{display:flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--fae-line)}
.fae-compare button[aria-pressed="true"],.fae-target button[aria-pressed="true"],.fae-sections button[aria-pressed="true"]{background:var(--accent-strong,#c7381e);color:#fff;border-color:var(--accent-strong,#c7381e)}
.fae-compare input[type=range]{width:110px}
.fae-body{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:10px;align-items:start}
.fae-panel{display:grid;gap:8px;align-content:start;padding:10px;border:1px solid var(--fae-line);background:var(--fae-panel);max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:8px}
.fae-panel h4{margin:6px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.fae-status{min-height:1.2em;margin:0;font-size:12px}
.fae-target{display:grid;grid-template-columns:1fr 1fr;gap:4px}.fae-target button{padding:6px}
.fae-target-note{margin:0;font-size:11px}
.fae-panel input[type=search]{width:100%}
.fae-sections{display:flex;flex-wrap:wrap;gap:4px}.fae-sections button{padding:3px 8px;font-size:11px;border-radius:12px}
.fae-sections button.is-later{opacity:.55}
.fae-grade-head{display:grid;gap:6px;padding:8px;background:var(--fae-soft);border:1px solid var(--fae-line)}
.fae-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:6px;font-size:12px}
.fae-check{display:flex;gap:6px;align-items:center}
.fae-later{font-size:12px;color:var(--muted);border-left:2px solid var(--accent);padding:4px 8px;margin:0}
.fae-nodes{display:grid;gap:6px}
.fae-node{border:1px solid var(--fae-line);background:var(--fae-soft)}
.fae-node.is-open{border-color:#3b3f46}.fae-node.is-off{opacity:.6}
.fae-node header{display:flex;align-items:center;gap:6px;padding:4px 6px}
.fae-node-title{flex:1;text-align:left;background:none;border:0;color:var(--text);font-weight:600;padding:4px;font-size:12px}
.fae-node-tools{display:flex;gap:2px}
.fae-icon{padding:2px 6px!important;min-width:24px;font-size:12px!important;line-height:1.2}
.fae-node-body{display:grid;gap:6px;padding:6px 8px 10px;border-top:1px solid var(--fae-line)}
.fae-param{display:grid;grid-template-columns:96px minmax(60px,1fr) 64px auto auto;align-items:center;gap:4px;font-size:11px}
.fae-param label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fae-param input[type=number]{width:64px;padding:2px 4px;font-size:11px}
.fae-param input[type=range]{width:100%;accent-color:var(--accent)}
.fae-unit{font-size:10px;color:var(--muted)}
.fae-param select,.fae-param .fae-ease-wrap{grid-column:2 / -1}
.fae-key.is-animated{color:var(--accent-light)}
.fae-vec{border:1px solid var(--fae-line);padding:4px 6px;display:grid;gap:3px}.fae-vec legend{font-size:11px;color:var(--muted)}
.fae-vec .fae-param{grid-template-columns:24px minmax(60px,1fr) 64px auto}
.fae-curve-row summary{cursor:pointer;font-size:12px}
.fae-curve-tools{display:flex;gap:6px;margin:6px 0}
.fae-curve canvas{display:block;border:1px solid var(--fae-line);touch-action:none;cursor:crosshair}
.fae-ease{display:block;border:1px solid var(--fae-line);touch-action:none}
.fae-browser{display:grid;gap:3px}
.fae-add{display:flex;gap:4px}.fae-add-btn{flex:1;text-align:left;font-size:12px!important;padding:4px 8px!important}
.fae-star{padding:2px 6px!important}
.fae-presets{display:grid;gap:6px}.fae-preset{display:grid;grid-template-columns:1fr auto auto;gap:4px 8px;align-items:center;padding:6px;border:1px solid var(--fae-line);background:var(--fae-soft)}
.fae-preset .helper{grid-column:1 / 2;font-size:11px;margin:0}
.fae-stage{min-width:0}.fae-nle .nle-monitor{max-width:none}
.fae-gl{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.fae-gl-note{position:absolute;left:8px;bottom:8px;margin:0;font-size:11px;background:#000a;padding:4px 8px}
.editor-mode{display:flex;gap:6px;align-items:center;margin:0 0 8px}.editor-mode button[aria-pressed="true"]{background:var(--accent-strong,#c7381e);color:#fff;border-color:var(--accent-strong,#c7381e)}
@media (max-width:900px){.fae-body{grid-template-columns:minmax(0,1fr)}.fae-panel{position:static;max-height:none;order:2}.fae-brand{min-width:0}}
/* Editor · Color panel (grade-ui.mjs, 2026-09-29). */
.nle-graded{pointer-events:none}
.nle-color{border:1px solid var(--line);background:var(--panel);padding:12px;margin:8px 0}
.grade-panel{display:grid;gap:10px}
.grade-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.grade-head h3{margin:0}
.grade-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.grade-section{border:1px solid var(--line);padding:6px 10px}
.grade-section summary{cursor:pointer;font-weight:700;padding:4px 0}
.grade-section-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.grade-section-head input[type=range]{width:120px}
.grade-body{display:grid;gap:6px}
.grade-row{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr) 76px 34px;gap:8px;align-items:center}
.grade-row label{font-size:13px;color:var(--muted)}
.grade-row input[type=range]{width:100%;accent-color:var(--accent)}
.grade-num{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:3px 4px;font:inherit;font-size:13px}
.grade-reset{padding:2px 6px}
.grade-vec3{border:1px solid var(--line);padding:4px 8px}
.grade-vec3 legend{font-size:13px;color:var(--muted)}
.grade-tabs{display:flex;flex-wrap:wrap;gap:4px}
.grade-curve{width:100%;max-width:420px;aspect-ratio:13/10;background:var(--bg);border:1px solid var(--line);touch-action:none;cursor:crosshair}
@media(max-width:600px){.grade-row{grid-template-columns:90px minmax(0,1fr) 64px 30px}}
/* Transition browser (transitions-ui.mjs) */
.tx-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}
.tx-head h3{margin:0}
.tx-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:12px;align-items:start}
.tx-left{display:grid;gap:8px;min-width:0}
.tx-left input[type=search]{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:6px 8px;font:inherit}
.tx-cats{display:flex;flex-wrap:wrap;gap:4px}
.tx-cats button{padding:3px 8px;font-size:13px}
.tx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;max-height:420px;overflow:auto;padding:2px}
.tx-card{position:relative;display:grid;gap:3px;border:1px solid var(--line);background:var(--bg);padding:4px;cursor:pointer}
.tx-card:hover,.tx-card:focus-visible{border-color:var(--accent);outline:none}
.tx-card.tx-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}
.tx-card img,.tx-noimg{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--panel)}
.tx-noimg{display:grid;place-items:center;font-size:12px;color:var(--muted)}
.tx-name{font-size:12px;line-height:1.25}
.tx-star{position:absolute;top:6px;right:6px;padding:0 5px;min-height:0;line-height:1.4;background:rgba(0,0,0,.55);color:#ffd35a;border:0}
.tx-right{display:grid;gap:8px}
.tx-preview{width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
.tx-current{margin:0;font-weight:700}
.tx-controls{display:grid;gap:6px}
.tx-row{display:grid;gap:3px;font-size:13px;color:var(--muted)}
.tx-row select,.tx-row input[type=color]{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:3px;font:inherit}
.tx-slider{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:6px;align-items:center}
.tx-slider input[type=range]{width:100%;accent-color:var(--accent)}
.tx-slider input[type=number]{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:3px 4px;font:inherit;font-size:13px}
@media(max-width:760px){.tx-main{grid-template-columns:1fr}.tx-right{order:-1}.tx-grid{max-height:320px}}
/* Model Lab: packs, suggestions, verdicts, paste-in, report */
.lab-packs,.lab-suggest,.lab-verdict,.lab-draft{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.lab-packs input,.lab-verdict input{min-width:220px;flex:1;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:4px 6px;font:inherit}
.lab-packs select,.lab-verdict select{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:4px;font:inherit}
.lab-untested{background:var(--accent);color:#fff}
.lab-paste textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--line);font:inherit}
.lab-draft span{flex:1;min-width:200px}
.lab-report{border:1px solid var(--line);padding:8px 10px;margin:8px 0}
.lab-report h4{margin:0 0 4px}

/* ---- Forge Quick Editor (quick-editor.mjs; docs/QUICK_EDITOR_MERGE_NOTES.md) ---- */
@font-face{font-family:'Unbounded';src:url('/ai-studio/Unbounded-ExtraBold.woff2') format('woff2');font-weight:800 900;font-display:swap}
.qe{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start;--qe-ink:#F4F1EA;--qe-accent:#E8452C;--qe-font:'Unbounded','Arial Black','Segoe UI Black',sans-serif}
.qe-stage{min-width:0}
.qe-rail{position:sticky;top:8px;display:grid;gap:8px;max-height:calc(100vh - 16px);overflow:auto;padding:10px;background:var(--panel);border:1px solid var(--line)}
.qe-head{display:grid;gap:4px}.qe-head p{margin:0}
.qe-status{min-height:1.2em;margin:0;color:var(--accent-light)}
.qe-section{border-top:1px solid var(--line);padding:6px 0}
.qe-section>summary{cursor:pointer;font-family:var(--heading);text-transform:uppercase;letter-spacing:.5px;font-size:13px;padding:4px 0}
.qe-section[open]>summary{color:var(--accent-light)}
.qe-section textarea,.qe-section select{width:100%;box-sizing:border-box;margin:4px 0}
.qe-label{margin:8px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.qe-reads{margin:2px 0 6px;color:var(--accent-light)}
.qe-src{display:grid;gap:2px;margin:6px 0}
.qe-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.qe-chips button[aria-pressed=true],.qe-looks button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:rgba(230,67,37,.18)}
.qe-check{display:flex;gap:6px;align-items:center;margin:6px 0}
.qe-job{display:grid;gap:6px;padding:8px;border:1px solid var(--line);margin-top:8px}
.qe-picks{margin:0;padding-left:18px;font-size:12px;color:var(--muted)}
.qe-cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.qe-cap-swatch{display:grid;gap:4px;padding:10px 6px;background:#1b1b19;border:1px solid var(--line);color:var(--qe-ink);cursor:pointer;text-align:center}
.qe-cap-swatch.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.qe-cap-swatch small{color:var(--muted)}
.qe-cap-demo{font-family:var(--qe-font);font-weight:800;font-size:11px;letter-spacing:-.02em;line-height:1.15;min-height:2.3em;display:block}
.qe-cap-demo.qe-cap-pop{font-size:18px;font-weight:900}
.qe-cap-demo.qe-cap-subtitle{font-family:Inter,'Segoe UI',sans-serif;font-weight:600;letter-spacing:0}
.qe-looks{display:flex;flex-wrap:wrap;gap:4px;max-height:220px;overflow:auto}
.qe-looks button{font-size:12px;padding:4px 8px}
.qe-export{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.qe-export button.is-match{border-color:var(--accent)}
.qe-jobs{display:grid;gap:4px;margin-top:6px}
/* monitor additions: the blurred fill behind "whole picture", word captions, safe-zone guide */
.qe .nle-screen{transition:max-width .15s}
.qe-fill{position:absolute;inset:-8%;width:116%;height:116%;filter:blur(18px) brightness(.9);pointer-events:none}
.qe-captions{position:absolute;inset:0;pointer-events:none;z-index:3}
.qe-cap{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.08em;text-align:center;font-family:var(--qe-font);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--qe-ink);
 text-shadow:0 0 .35em rgba(0,0,0,.35),0 0 .9em rgba(0,0,0,.35);width:max-content}
.qe-cap-subtitle{font-family:Inter,'Segoe UI',sans-serif;font-weight:600;letter-spacing:0;line-height:1.2}
.qe-cap-pop{font-weight:900}
.qe-line{display:block;white-space:nowrap}
.qe-word{display:inline-block;transition:color .04s linear}
.qe-word.is-dim{color:rgba(244,241,234,.55)}
.qe-word.is-accent{color:var(--qe-accent)}
.qe-rule{display:block;height:max(2px,.08em);background:var(--qe-accent);justify-self:center;margin-bottom:.15em}
.qe-safe{position:absolute;border:1px dashed rgba(255,255,255,.6);box-shadow:0 0 0 9999px rgba(0,0,0,.25);pointer-events:none;z-index:4}
@media (max-width:900px){.qe{grid-template-columns:1fr}.qe-rail{position:static;max-height:none}}
.qe-src label,.qe-check{display:flex;align-items:center;gap:8px;font-size:14px}.qe-src input,.qe-check input{width:16px !important;min-height:0 !important;height:16px;padding:0 !important;margin:0;flex:none;accent-color:var(--accent)}.qe-src label,.qe-check{margin:4px 0;font-weight:400}
.qe-stack{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;image-rendering:auto}
.qe-templates{display:grid;gap:6px;max-height:300px;overflow:auto}
.qe-template{display:grid;gap:2px;text-align:left;padding:8px 10px;background:#1b1b19;border:1px solid var(--line);color:var(--text);cursor:pointer}
.qe-template.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.qe-template small{color:var(--accent-light)}.qe-template .helper{font-size:12px}
.qe-brand{display:grid;gap:4px;margin-top:8px}.qe-brand input[type=color]{width:48px !important;height:32px;padding:0 !important}
.qe-template{grid-template-columns:1fr !important;grid-auto-flow:row !important;justify-items:start;width:100%}
.qe-transcript{margin-top:8px}.qe-transcript>summary{cursor:pointer;color:var(--accent-light)}
.qe-words{max-height:220px;overflow:auto;line-height:1.9;font-size:14px;padding:6px;background:#111;border:1px solid var(--line)}
.qe-tword{cursor:pointer;padding:1px 2px;border-radius:2px}.qe-tword:hover{background:rgba(230,67,37,.2)}
.qe-tword.is-filler{color:var(--muted);font-style:italic}.qe-tword.is-struck{text-decoration:line-through;color:#777;background:rgba(230,67,37,.12)}
/* Advanced Editor scopes / skin (scopes-ui.mjs) */
.fae-scopes canvas{display:block;width:100%;height:auto;border:1px solid var(--fae-line);background:#08090a}
.fae-scope-controls{display:grid;gap:4px}.fae-scope-read{font-size:11px;margin:4px 0}
.fae-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2;image-rendering:auto}
.fae-mask-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;touch-action:none;pointer-events:none}
.fae-mask-overlay .fae-mask-body{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.75);stroke-width:1.5;stroke-dasharray:5 4;cursor:move;pointer-events:all}
.fae-mask-overlay .fae-mask.is-on .fae-mask-body{stroke:#ff6a3d;stroke-dasharray:none;stroke-width:2}
.fae-mask-overlay .fae-mask-line{stroke-width:3}
.fae-mask-overlay .fae-mask-feather{fill:none;stroke:rgba(255,106,61,.45);stroke-dasharray:2 4;pointer-events:none}
.fae-mask-overlay .fae-mask-h{fill:#ff6a3d;stroke:#111;stroke-width:1;cursor:nwse-resize;pointer-events:all}
.fae-mask-pick{border-top:1px solid #333;margin-top:8px;padding-top:6px}
.fae-matte{display:flex;gap:10px;align-items:flex-start;margin:10px 0}.fae-matte canvas{width:192px;max-width:50%;background:#000;border:1px solid #333}
.fae-track-btns{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.fae-masks progress{width:100%}
.fae-skin{display:grid;gap:6px}.fae-stat{display:flex;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px solid var(--fae-line);padding:2px 0}
.fae-stat span{color:var(--muted)}
/* Animate every shot (shot-batch.mjs) and pitch deck builder (pitch-deck.mjs) */
.batch-panel{border:1px solid var(--line);padding:10px 12px;margin:10px 0}
.batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:8px 0}
.batch-shot{display:grid;gap:4px;border:1px solid var(--line);padding:6px;cursor:pointer}
.batch-shot img{width:100%;aspect-ratio:16/9;object-fit:cover}
.batch-missing{opacity:.55}
.batch-heading{font-size:13px;font-weight:700}
.batch-total{font-weight:700}
.studio-deck{border:1px solid var(--line);padding:10px 12px;margin:12px 0}
.deck-tools,.deck-link,.deck-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.deck-slides{display:grid;gap:8px;padding-left:22px}
.deck-slide{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);padding:6px}
.deck-thumb img{width:140px;aspect-ratio:16/9;object-fit:cover}
.deck-words{display:grid;gap:4px}
.deck-words input,.deck-words textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:4px 6px;font:inherit}
@media(max-width:700px){.deck-slide{grid-template-columns:1fr}}
.batch-shot>span{display:block}
/* Agent access (agent-access.mjs) */
.studio-agent-access{border:1px solid var(--line);padding:10px 12px;margin:12px 0}
.agent-form,.agent-token{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.agent-form input{min-width:220px;flex:1;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:4px 6px;font:inherit}
.agent-config{white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--line);padding:8px;font-size:12px}
.agent-log-list{margin:4px 0;padding-left:18px;font-size:13px}
.fae-copilot{display:flex;flex-direction:column;gap:8px}.fae-copilot-log{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0}
.fae-copilot-msg{padding:8px 10px;border:1px solid #333;background:#161616;font-size:13px;line-height:1.45}.fae-copilot-msg p{margin:0}
.fae-copilot-msg.is-you{align-self:flex-end;background:#2a1812;border-color:#6b2e1c;max-width:90%}.fae-copilot-msg ul{margin:6px 0 0;padding-left:16px}.fae-copilot-msg li.is-error{color:#ff9b7d}
.fae-copilot-form{display:flex;gap:6px}.fae-copilot-form input{flex:1;min-width:0}.fae-copilot-confirm{display:flex;gap:6px;margin-top:8px}
.start-quick{display:grid;gap:6px;padding:12px 14px;margin:10px 0;border:1px solid var(--accent);background:rgba(230,67,37,.08)}
.start-quick strong{font-family:var(--heading);text-transform:uppercase;letter-spacing:.5px}.start-quick button{justify-self:start}
.fae-lens-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:8px 0}.fae-lens-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:8px;min-height:64px;white-space:normal}
.fae-lens-card.is-on{outline:2px solid #ff6a3d}.fae-lens-card .helper{font-size:11px;line-height:1.35}.fae-lens-family{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#d49c85}
.fae-vec.fae-lens-group .fae-param{grid-template-columns:112px minmax(50px,1fr) 56px auto 30px}.fae-lens-group .fae-param input[type=number]{width:56px}
.fae-stab-graph{width:100%;max-width:300px;height:90px;border:1px solid #333;margin:6px 0}
/* Credit cost chip (footage-prices.mjs costChip): the same look on every priced button, in every editor mode. */
.cost-chip{display:inline-flex;align-items:center;gap:.2em;margin-left:.45em;padding:.1em .5em;border-radius:999px;font-size:.78em;font-weight:700;line-height:1.5;white-space:nowrap;background:rgba(0,0,0,.28);color:inherit;border:1px solid currentColor}
.cost-chip-free{background:transparent;opacity:.8;font-weight:600}
.ui-icon{display:inline-flex;flex-shrink:0;line-height:0}.ui-icon svg{display:block}
button.has-icon{display:inline-flex;align-items:center;gap:.4em}
.fae-section-group{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:2px 0}.fae-section-group-label{flex-basis:100%;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px}
.fae-sections{display:block}
.fae-plan{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.fae-plan-step p{margin:3px 0}.fae-plan-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fae-plan-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;border:1px solid currentColor}
.fae-plan-badge.is-ready{color:#9ad08f}.fae-plan-badge.is-confirm{color:#ffb35c}.fae-plan-badge.is-waits{color:#9fb7d8}.fae-plan-badge.is-blocked{color:#e0c060}.fae-plan-badge.is-cannot{color:#ff8a70}.fae-plan-badge.is-done{color:#6ee07a}.fae-plan-badge.is-skipped{color:#aaa}
.fae-plan-step textarea{width:100%;box-sizing:border-box;font-size:12px;margin-top:4px}.fae-plan-cannot{color:#e0b090}
.fae-cost-row{flex-wrap:wrap;align-items:center}.fae-cost-row .cost-chip{flex-shrink:0}.fae-cost-row>span:first-child{flex-basis:100%;font-size:12px}
/* Coverage pack: each finished take in its own card, a shimmer while it waits, the pack's progress on top (2026-09-29). */
.coverage-pack-progress{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--line,#333);border-radius:10px}
.coverage-pack-progress progress{flex:1 1 180px;min-width:120px;height:10px}
.coverage-take-box{margin-top:10px}
.coverage-thumb{position:relative;display:block;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:#111;aspect-ratio:16/9}
.coverage-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.coverage-thumb-count,.coverage-thumb-badge{position:absolute;bottom:6px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:rgba(0,0,0,.72);color:#fff}
.coverage-thumb-count{right:6px}.coverage-thumb-badge{left:6px}
.coverage-skeleton{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;
 background:linear-gradient(100deg,rgba(255,255,255,.04) 20%,rgba(255,255,255,.14) 40%,rgba(255,255,255,.04) 60%) #1b1b1b;background-size:200% 100%;animation:coverage-shimmer 1.4s linear infinite;font-size:.85rem;color:#ddd}
.coverage-skeleton[data-state="generating"],.coverage-skeleton[data-state="checking"],.coverage-skeleton[data-state="saving"]{box-shadow:inset 0 0 0 2px var(--accent,#e64325)}
.coverage-skeleton-label{padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.55);font-weight:700}
@keyframes coverage-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.coverage-skeleton{animation:none}}
.coverage-viewer{max-width:min(96vw,1400px);padding:12px;border:0;border-radius:12px;background:#0d0d0d;color:#fff}
.coverage-viewer::backdrop{background:rgba(0,0,0,.8)}
.coverage-viewer img{display:block;max-width:100%;max-height:78vh;margin:0 auto;border-radius:6px}
.coverage-viewer-nav{display:flex;gap:8px;justify-content:center;margin-top:8px}.coverage-viewer-caption{text-align:center;margin:8px 0 0}
.story-film-shots{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;padding:8px;border:1px dashed var(--line,#444);border-radius:10px}
.story-film-shots[hidden]{display:none}.story-film-shots>.story-kicker{flex:1 1 100%}
.story-film-shot{margin:0;flex:1 1 140px;max-width:220px}.story-film-shot img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;cursor:zoom-in}
.story-film-shot figcaption{font-size:.8rem;margin:4px 0}
.nle-row-v2{height:44px}.nle-row-v2 .nle-clip{background:#1f4a3a;top:18px;height:22px;border:1px dashed #6be3a4}
.nle-clip-speed{position:absolute;right:18px;top:2px;font-size:11px;font-weight:700;padding:0 4px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff}
/* Inside the iPhone/Android apps nothing asks to buy (App Store 3.1.1 / 3.1.3(f)): the website sells. */
.native-app [data-sells]{display:none!important}
.qe-stickers{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.qe-sticker{position:absolute;height:auto;pointer-events:none}
.qe-sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.qe-sticker-pick{padding:4px;background:#2a2f38;border:1px solid var(--line);cursor:pointer}.qe-sticker-pick img{width:100%;display:block}
.qe-sticker-row{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.qe-review{display:grid;gap:6px;margin-top:10px}.qe-review-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* ---- Visual Footage page + clip grid (footage-grid.mjs, footage-panel.mjs): pictures first, big targets, few words ---- */
.fp{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:14px;border-radius:14px}   /* one column that never grows past the screen (phones) */
.fp.fp-dropping{outline:3px dashed var(--accent);outline-offset:-6px;background:rgba(230,67,37,.06)}
.fp .fp-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
.fp .fp-drop{display:grid;place-items:center;align-content:center;gap:2px;min-height:112px;border:2px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.02);color:var(--text);cursor:pointer;font:inherit}
.fp .fp-drop:hover,.fp .fp-drop:focus-visible{border-color:var(--accent);background:rgba(230,67,37,.08)}
.fp .fp-drop-plus{font-size:36px;line-height:1;color:var(--accent)}.fp .fp-drop-text{font-family:var(--heading);font-size:18px}.fp .fp-drop-sub{color:var(--muted);font-size:13px}
.fp .fp-tile{display:grid;place-items:center;align-content:center;gap:4px;min-width:104px;min-height:104px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}
.fp .fp-tile:hover,.fp .fp-tile:focus-visible{border-color:var(--accent-light)}.fp .fp-tile[disabled]{opacity:.45;cursor:default}
.fp .fp-tile-icon{font-size:32px;line-height:1}.fp .fp-tile-label{font-weight:700;font-size:14px}
.fp .fp-kinds{display:flex;gap:10px;flex-wrap:wrap}
.fp .fp-kind{min-height:84px;min-width:112px;flex:1 1 112px}
.fp .fp-kind[aria-checked="true"]{border:2px solid var(--accent);background:rgba(230,67,37,.12)}
.fp .fp-go-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;position:sticky;bottom:8px;z-index:3}
.fp .fp-go{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;text-align:left;min-height:76px;padding:12px 22px;border:0;border-radius:18px;background:var(--accent);color:#fff;font:inherit;cursor:pointer;box-shadow:0 10px 30px rgba(230,67,37,.35)}
.fp .fp-go:hover:not([disabled]){filter:brightness(1.08)}.fp .fp-go[disabled]{opacity:.45;cursor:default;box-shadow:none}
.fp .fp-go-icon{grid-row:span 2;font-size:34px}.fp .fp-go-text{font-family:var(--heading);font-size:22px;line-height:1.1}.fp .fp-go-sub{font-size:13px;opacity:.9}
.fp .fp-kind-row{display:grid;gap:8px}
.fp .fp-title{max-width:420px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}
.fp .fp-toast{margin:0;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-weight:600}
.fp .fp-edit{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.fp .fp-edit-failed{border-color:#b4442f;background:rgba(180,68,47,.12)}
.fp .fp-edit-pic{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-radius:10px;background-color:#000;background-repeat:no-repeat;overflow:hidden}
.fp .fp-edit-body{display:grid;gap:6px;align-content:center}.fp .fp-edit-body strong{font-size:16px}
.fp .fp-edit-step{color:var(--muted)}.fp .fp-edit-error{margin:0;font-size:15px;line-height:1.4}
.fp .fp-edit-acts{display:flex;gap:8px}
.fp .fp-icon{min-width:48px;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:20px;cursor:pointer}
.fp .fp-play{width:64px;height:64px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:26px;cursor:pointer;backdrop-filter:blur(4px)}
.fp .fp-play:hover{background:var(--accent)}
.fp .fp-warn{font-size:40px}.fp .fp-retry{min-height:52px;font-size:17px;border-radius:14px;justify-self:start;padding:0 22px}
@media (max-width:640px){.fp .fp-add{grid-template-columns:1fr 1fr}.fp .fp-drop{grid-column:1/-1}.fp .fp-edit{grid-template-columns:1fr}}

.fg{display:grid;gap:18px}
.fg .fg-bin{display:grid;gap:10px;border-radius:14px;padding:6px;transition:background .15s}
.fg .fg-bin.fg-drop{background:rgba(230,67,37,.10);outline:2px dashed var(--accent)}
.fg .fg-bin-head{display:flex;align-items:center;gap:12px}
.fg .fg-bin-cover{position:relative;flex:none;width:72px;height:48px;border-radius:10px;background-color:#222;background-repeat:no-repeat;overflow:visible;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.fg .fg-bin-icon{position:absolute;left:-6px;bottom:-8px;font-size:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.fg .fg-bin-name{border:0;background:none;color:var(--text);font-family:var(--heading);font-size:20px;padding:4px 6px;border-radius:8px;cursor:text;text-align:left}
.fg .fg-bin-name:hover{background:rgba(255,255,255,.06)}
.fg .fg-bin-rename{font-family:var(--heading);font-size:20px;padding:4px 8px;border-radius:8px;border:2px solid var(--accent);background:var(--bg);color:var(--text);max-width:60%}
.fg .fg-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.08);font-weight:700;font-size:13px}
.fg .fg-all{margin-left:auto;min-height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--line);background:none;color:var(--text);font-weight:700;cursor:pointer}
.fg .fg-all[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.fg .fg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fg .fg-card{position:relative;display:grid;gap:6px;border-radius:14px;cursor:pointer;outline:none;user-select:none}
.fg .fg-card:focus-visible .fg-pic{box-shadow:0 0 0 3px var(--accent-light)}
.fg .fg-card.fg-dragging{opacity:.4}
.fg .fg-pic{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1b1b1a;display:grid;place-items:center;transition:transform .12s,box-shadow .12s}
.fg .fg-card:hover .fg-pic{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.fg .fg-picked .fg-pic{box-shadow:0 0 0 4px var(--accent)}
.fg .fg-fill{position:absolute;inset:-12px;background-repeat:no-repeat;filter:blur(14px) brightness(.55);opacity:0}
.fg .fg-has-pic .fg-fill{opacity:1}
.fg .fg-frame{position:relative;height:100%;max-width:100%;background-repeat:no-repeat}
.fg .fg-pic::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--scrub,0%);background:var(--accent);transition:width .05s}
.fg .fg-dur{position:absolute;right:8px;bottom:8px;padding:3px 8px;border-radius:8px;background:rgba(0,0,0,.72);color:#fff;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.fg .fg-check{position:absolute;left:8px;top:8px;width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(0,0,0,.35);color:transparent;font-size:18px;font-weight:900;cursor:pointer;display:grid;place-items:center;padding:0}
.fg .fg-check[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.fg .fg-add,.fg .fg-more{position:absolute;top:8px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:20px;cursor:pointer;opacity:0;transition:opacity .12s;padding:0}
.fg .fg-add{right:50px;background:var(--accent)}.fg .fg-more{right:8px}
.fg .fg-card:hover .fg-add,.fg .fg-card:hover .fg-more,.fg .fg-card:focus-within .fg-add,.fg .fg-card:focus-within .fg-more{opacity:1}
@media (hover:none){.fg .fg-add,.fg .fg-more{opacity:1}}
.fg .fg-name{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.fg .fg-status{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45)}
.fg .fg-status.fg-soft{inset:auto auto 8px 8px;background:none}
.fg .fg-busy .fg-pic{filter:saturate(.7)}
.fg .fg-ring-track{fill:none;stroke:rgba(255,255,255,.25);stroke-width:4}
.fg .fg-ring-bar{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .3s}
.fg .fg-ring-text{fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.6);stroke-width:2px;font-size:11px;font-weight:800;font-family:Inter,system-ui,sans-serif}
.fg .fg-ring-spin{animation:fg-spin 1.1s linear infinite}
@keyframes fg-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fg-ring-spin{animation:none}}
.fg-ring-spin,.fp .fg-ring-spin,.qe-job-run .fg-ring-spin{transform-origin:50% 50%}
.fg .fg-problem{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:rgba(120,30,20,.55)}
.fg .fg-bang{width:40px;height:40px;border-radius:50%;background:#e64325;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px}
.fg .fg-fix{min-height:40px;padding:0 16px;border-radius:20px;border:0;background:#fff;color:#111;font-weight:800;cursor:pointer}
.fg .fg-failed .fg-name{color:#ff9d8a}
.fg .fg-menu{position:absolute;right:8px;top:48px;z-index:5;display:grid;gap:2px;padding:6px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.fg .fg-menu button{min-height:40px;text-align:left;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;cursor:pointer}
.fg .fg-menu button:hover{background:rgba(255,255,255,.08)}
.fg .fg-empty{margin:0;color:var(--muted);text-align:center;padding:20px}
/* rows layout (Quick Editor rail): each bin is a horizontal strip of cards */
.fg.fg-rows .fg-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.fg.fg-rows .fg-card{flex:0 0 150px;scroll-snap-align:start}
.fg.fg-rows .fg-bin-name{font-size:15px}.fg.fg-rows .fg-bin-cover{width:48px;height:32px}.fg.fg-rows .fg-check{width:28px;height:28px;font-size:15px}
.fg.fg-rows .fg-add,.fg.fg-rows .fg-more{width:30px;height:30px;font-size:16px}.fg.fg-rows .fg-add{right:42px}

/* Quick Editor: clips grid in the rail, the big draft button, drop onto the editor */
.qe-clips{margin:6px 0}
.qe-go{width:100%;margin:8px 0}
.qe .qe-dropping{outline:3px dashed var(--accent);outline-offset:-4px}
.qe-job-run{display:flex;align-items:center;gap:10px}
.qe-job-failed{border:1px solid #b4442f;background:rgba(180,68,47,.12);border-radius:12px;padding:10px}
.qe-job-error{margin:6px 0;font-size:14px;line-height:1.4}
.qe-retry{min-height:48px;font-size:16px;border-radius:12px;padding:0 18px}
.fp{padding-bottom:28px}.fp .fp-go-row{margin-top:8px}

/* ---- Auto Edit front door (footage-panel.mjs), the 3 steps (flow-steps.mjs), one icon set (ui-icons.mjs) ---- */
.ui-icon{flex:none;vertical-align:-3px}
button.ui-has-icon,button.ui-ibtn{display:inline-flex;align-items:center;justify-content:center;gap:.45em}
.flow-steps{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel);margin-bottom:10px}
.flow-steps .flow-step{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;min-height:56px;padding:6px 10px;border:0;border-radius:12px;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer}
.flow-steps .flow-step:hover{background:rgba(255,255,255,.05)}
.flow-steps .flow-dot{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--line);color:var(--muted)}
.flow-steps .flow-text{display:grid;line-height:1.15;min-width:0}.flow-steps .flow-text small{font-size:11px;opacity:.8}.flow-steps .flow-text strong{font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-steps .flow-hint{color:var(--accent-light)}
.flow-steps .is-done .flow-dot{background:#2f7d4f;border-color:#2f7d4f;color:#fff}
.flow-steps .is-now{background:rgba(230,67,37,.12)}.flow-steps .is-now .flow-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px rgba(230,67,37,.25)}
.flow-steps .flow-line{flex:0 0 28px;height:2px;background:var(--line)}.flow-steps .flow-line.is-done{background:#2f7d4f}
@media (max-width:640px){.flow-steps .flow-text small:first-child{display:none}.flow-steps .flow-line{flex-basis:8px}.flow-steps .flow-step{padding:4px;gap:6px}.flow-steps .flow-dot{width:34px;height:34px}.flow-steps .flow-text strong{font-size:13px;white-space:normal}}
.fp .fp-add.fp-add-hero{grid-template-columns:1fr}
.fp .fp-add-hero .fp-drop{min-height:300px;gap:10px;border-width:3px;border-radius:22px;padding:24px}
.fp .fp-add-hero .fp-drop .ui-icon{color:var(--accent)}
.fp .fp-add-hero .fp-drop-text{font-size:clamp(24px,4vw,40px)}
.fp .fp-add-hero .fp-drop-sub{font-size:16px;max-width:560px;text-align:center;line-height:1.4}
.fp .fp-add-hero .fp-add-side{flex-direction:row;justify-content:center}
.fp .fp-add-side{display:flex;flex-direction:column;gap:8px}
.fp .fp-side{min-height:48px;padding:0 16px;border-radius:12px;font-weight:700;justify-content:flex-start}
.fp .fp-drop .ui-icon{color:var(--accent)}
.fp .fp-chips{display:flex;flex-wrap:wrap;gap:8px}
.fp .fp-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-weight:700;font-size:14px}
.fp .fp-chip .ui-icon{color:var(--accent-light)}.fp .fp-chip-busy{color:var(--muted)}
.fp .fp-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px;border-radius:16px;background:linear-gradient(90deg,rgba(230,67,37,.22),rgba(230,67,37,.06));border:1px solid rgba(230,67,37,.5)}
.fp .fp-banner>strong{font-size:18px;flex:1 1 200px}.fp .fp-banner>.ui-icon{color:var(--accent)}
.fp .fp-banner button{min-height:48px;padding:0 18px;border-radius:12px;font-weight:800}
.fp .fp-sheet{display:grid;gap:14px;padding:16px;border-radius:18px;border:2px solid var(--accent);background:var(--panel);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.fp .fp-sheet-head{display:flex;align-items:center;gap:10px}.fp .fp-sheet-head strong{font-family:var(--heading);font-size:22px;flex:1}.fp .fp-sheet-head>.ui-icon{color:var(--accent)}
.fp .fp-close{min-height:40px;border-radius:10px}
.fp .fp-choice{display:grid;gap:8px}.fp .fp-choice-title{margin:0;font-weight:800;font-size:16px}
.fp .fp-choice-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.fp .fp-choice-tiles .fp-tile{min-height:112px;padding:10px;gap:6px}
/* "What is it?": the same cards, smaller (8 of them); the sound toggles are the track pills. */
.fp .fp-choice-small .fp-choice-tiles{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.fp .fp-choice-small .fp-choice-tiles .fp-tile{min-height:76px;padding:8px;gap:3px}
.fp .fp-choice-small .fp-tile-about{font-size:12px}
.fp .fp-choice-hint{font-weight:500;color:var(--muted);font-size:13px}
.fp .fp-sound-toggle{min-height:38px;padding:0 12px}.fp .fp-sound-mark{font-weight:800;width:1em;text-align:center}
.fp .fp-tile .ui-icon{color:var(--accent-light)}
.fp .fp-tile-about{color:var(--muted);font-size:12px;text-align:center;line-height:1.3}
.fp .fp-tracks{display:flex;flex-wrap:wrap;gap:8px}
.fp .fp-track{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;cursor:pointer}
.fp .fp-track[aria-pressed="true"]{border:2px solid var(--accent);background:rgba(230,67,37,.12)}.fp .fp-track small{color:var(--muted)}
.fp .fp-empty-small{display:flex;align-items:center;gap:8px;color:var(--muted)}
.fp .fp-make{width:100%}
.fp .fp-go>.ui-icon{grid-row:span 2}
.fp .fp-edit-body strong{display:flex;align-items:center;gap:8px}.fp .fp-edit-body strong .ui-icon{color:var(--accent)}
.fp .fp-open{min-height:52px;font-size:17px;border-radius:14px;justify-self:start;padding:0 22px}
.fp .fp-edit-pic>.ui-icon{color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.fp .fp-progress-strip{display:flex;gap:6px;overflow-x:auto;padding:4px 0}
.fp .fp-progress-thumb{flex:0 0 72px;height:40px;border-radius:6px;background-color:#222;background-repeat:no-repeat;opacity:.55;transition:opacity .2s,transform .2s}
.fp .fp-progress-thumb.is-now{opacity:1;transform:scale(1.12);box-shadow:0 0 0 2px var(--accent)}
.fg .fg-best{position:absolute;left:50px;top:10px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#f5c542;color:#1b1400;font-weight:800;font-size:12px}
.fg.fg-rows .fg-best{left:42px;top:8px;padding:2px 6px}
.fg .fg-kind{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff}
.fg .fg-song .fg-pic{background:#141413}.fg .fg-song .fg-frame{width:100%}
.fg .fg-bin-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;filter:none;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.fg.fg-rows .fg-bin-icon{width:24px;height:24px}
.fg .fg-empty{display:grid;justify-items:center;gap:6px}.fg .fg-empty .ui-icon{color:var(--accent)}
.fg .fg-menu button{display:flex;align-items:center;gap:8px}
.fg .fg-fix{display:inline-flex;align-items:center;gap:6px}
.fg .fg-check .ui-icon,.fg .fg-add .ui-icon,.fg .fg-more .ui-icon{vertical-align:0}
/* Quick Editor: the landing banner of a first cut */
.qe-landing{display:grid;gap:10px;padding:12px;border-radius:14px;border:2px solid var(--accent);background:rgba(230,67,37,.1)}
.qe-landing-head{display:flex;align-items:center;gap:8px}.qe-landing-head strong{font-size:16px}.qe-landing-head .ui-icon{color:var(--accent)}
.qe-vibes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.qe-vibes button{display:grid;justify-items:center;gap:2px;min-height:64px;padding:6px 2px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.qe-vibes button[aria-pressed="true"]{border:2px solid var(--accent);background:rgba(230,67,37,.14)}
.qe-landing-acts{display:flex;flex-wrap:wrap;gap:6px}.qe-landing-acts button{min-height:44px;border-radius:12px;font-weight:700}

/* ---------- Create Studio (create-studio.mjs): templates, quick tools, layer canvas ---------- */
.create-studio .cs-head { display: grid; gap: 8px; }
.cs-tabs, .cs-filters, .cs-toolbar, .cs-actions, .cs-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cs-tabs button[aria-pressed="true"], .cs-filters button[aria-pressed="true"] { outline: 2px solid var(--accent); }
.cs-status:empty { display: none; }
.cs-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin-top: 12px; }
.cs-card { display: grid; gap: 6px; align-content: start; text-align: left; padding: 0 0 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--text); overflow: hidden; }
.cs-card:hover, .cs-card:focus-visible { border-color: var(--accent); transform: translateY(-2px); transition: transform .15s; }
.cs-card strong, .cs-card small, .cs-card .cs-chip { margin: 0 12px; }
.cs-card small { color: var(--muted); line-height: 1.4; }
.cs-card-art { display: grid; place-items: center; aspect-ratio: 16 / 9; color: #fff; }
.cs-card-business .cs-card-art { background: linear-gradient(135deg, #3b2a1e, #e64325); }
.cs-card-story .cs-card-art { background: linear-gradient(135deg, #1b1f3b, #6b4bd6); }
.cs-card-social .cs-card-art { background: linear-gradient(135deg, #0f3b35, #1fb58f); }
.cs-card-design .cs-card-art { background: linear-gradient(135deg, #2b2b2b, #a8a29a); }
.cs-chip { justify-self: start; font-size: 12px; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.cs-form { display: grid; gap: 12px; max-width: 760px; }
.cs-form > .ui-ibtn:first-child { justify-self: start; }
.cs-form h3 { display: flex; align-items: center; gap: 8px; margin: 0; }
.cs-field { display: grid; gap: 6px; }
.cs-field input, .cs-field textarea { width: 100%; }
.cs-chooser { display: grid; gap: 6px; }
.cs-upload { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; color: var(--muted); }
.cs-upload input { max-width: 220px; }
.cs-select { display: inline-flex; align-items: center; gap: 6px; }
.cs-video-opts { display: flex; flex-wrap: wrap; gap: 12px; }
.cs-go { justify-self: start; display: inline-flex; align-items: center; gap: 8px; }
.cs-cost { color: var(--accent-light); }
.cs-add { position: relative; }
.cs-add > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; }
.cs-add[open] > .cs-chooser { position: absolute; z-index: 5; top: 110%; left: 0; width: min(420px, 90vw); padding: 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.cs-work { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; margin-top: 12px; align-items: start; }
.cs-stage { display: grid; place-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #1c1c1a; }
.cs-checker { background: repeating-conic-gradient(#2a2a28 0 25%, #1c1c1a 0 50%) 0 0 / 24px 24px; }
.cs-canvas { width: 100%; max-height: 70vh; object-fit: contain; touch-action: none; cursor: move; }
.cs-side { display: grid; gap: 14px; }
.cs-layer-list, .cs-props { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.cs-layer { display: flex; gap: 4px; align-items: center; }
.cs-layer.selected { outline: 1px solid var(--accent); border-radius: 8px; }
.cs-layer .ui-ibtn { padding: 4px 6px; }
.cs-layer-name { flex: 1; display: flex; gap: 6px; align-items: center; min-width: 0; text-align: left; background: none; border: 0; color: var(--text); }
.cs-layer-name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-off { opacity: .45; }
.cs-up svg { transform: rotate(90deg); }
.cs-down svg { transform: rotate(-90deg); }
.cs-slider { display: grid; grid-template-columns: 18px 70px 1fr 44px; gap: 6px; align-items: center; font-size: 13px; }
.cs-props textarea, .cs-props select { width: 100%; }
@media (max-width: 800px) {
  .cs-work { grid-template-columns: 1fr; }
  .cs-cards { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
.create-studio button.primary, .create-studio button.secondary, .create-studio a.secondary { width: auto; min-height: 36px; margin: 0; padding: 7px 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; justify-content: center; font-size: 13px; text-transform: none; letter-spacing: 0; }
.create-studio .primary span { font-size: inherit; }
.create-studio .cs-go { min-height: 46px; padding: 10px 22px; font-size: 15px; }
.create-studio .cs-card, .create-studio .gen-thumb, .create-studio .cs-layer-name { margin: 0; min-height: 0; }
.create-studio .cs-layer .ui-ibtn { min-height: 30px; padding: 4px 7px; }
.create-studio input[type="color"] { width: 44px; height: 36px; padding: 2px; flex: none; }
.create-studio input[type="range"] { width: 100%; min-width: 0; }
.cs-side, .cs-layer-list, .cs-props, .cs-slider { min-width: 0; }
.cs-props > * { max-width: 100%; }
.cs-slider { grid-template-columns: 18px 64px minmax(0, 1fr) 42px; }
.cs-layer { min-width: 0; }
.cs-layer-name { flex: 1 1 0; }
.create-studio .cs-layer .ui-ibtn { flex: none; width: 30px; padding: 0; }

/* ---------- Create Studio v2: gallery, recipe sheet (7LM brand: ink, ember accent, Unbounded) ---------- */
.create-studio { --cs-r: 18px; --cs-glow: 0 18px 50px -18px rgba(230,67,37,.55); --cs-grad: linear-gradient(120deg,#e64325 0%,#ff6a3d 45%,#ffb35c 100%); max-width: 1320px; }
.cs-brand-row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.cs-brand { margin: 0; font: 900 clamp(26px,3.4vw,40px)/1 'Unbounded','Arial Black',sans-serif; letter-spacing: -.02em; color: #fff; }
.cs-brand-sub { color: var(--muted); font-size: 14px; }
.cs-tabs { position: sticky; top: 0; z-index: 4; padding: 8px 0; background: linear-gradient(var(--bg) 70%, transparent); }
.cs-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: #151513; color: var(--text); font-weight: 700; transition: background .2s, border-color .2s, transform .2s; }
.cs-tab:hover { border-color: #6b5a52; transform: translateY(-1px); }
.cs-tab.on, .studio-connected .cs-tab.on { background: #fff; color: var(--ink); border-color: #fff; }   /* beats the generic pressed-button brown (was 1.4:1) */
.cs-hero { position: relative; overflow: hidden; margin: 6px 0 18px; padding: clamp(22px,4vw,44px); border-radius: 28px; border: 1px solid #2c2622;
  background: radial-gradient(120% 140% at 100% 0%, rgba(230,67,37,.35), transparent 55%), radial-gradient(90% 120% at 0% 100%, rgba(255,179,92,.16), transparent 60%), #120f0d; }
.cs-hero-title { margin: 0 0 8px; font: 900 clamp(28px,5vw,56px)/1.02 'Unbounded','Arial Black',sans-serif; letter-spacing: -.03em; color: #fff; max-width: 14ch; }
.cs-hero-sub { margin: 0 0 18px; color: #d8d2c8; max-width: 52ch; }
.cs-hero-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.cs-cta, .cs-cta-ghost, .cs-generate { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border-radius: 999px; font-weight: 800; font-size: 15px; border: 0; color: #140a06; background: var(--cs-grad); box-shadow: var(--cs-glow); transition: transform .18s, box-shadow .18s, filter .18s; }
.cs-cta:hover, .cs-generate:hover:not(:disabled) { transform: translateY(-2px) scale(1.02); filter: saturate(1.15); }
.cs-cta:active, .cs-generate:active { transform: scale(.98); }
.cs-cta-ghost { background: rgba(255,255,255,.06); color: #fff; border: 1px solid rgba(255,255,255,.18); box-shadow: none; backdrop-filter: blur(8px); }
.cs-cta-ghost:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
.cs-explore-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cs-pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; max-width: 100%; }
.cs-pill { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--muted); font-weight: 700; transition: all .18s; }
.cs-pill:hover { color: #fff; border-color: #6b5a52; }
.cs-pill.on { color: #fff; background: rgba(230,67,37,.16); border-color: var(--accent); }
.cs-search { width: min(280px,100%); padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: #151513; color: var(--text); }
.cs-masonry { columns: 4 250px; column-gap: 14px; }
.cs-tile { position: relative; display: block; width: 100%; margin: 0 0 14px; padding: 0; break-inside: avoid; border: 0; border-radius: var(--cs-r); overflow: hidden; background: #161412; color: #fff; text-align: left; cursor: pointer;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; isolation: isolate; }
.cs-tile:hover, .cs-tile:focus-visible { transform: translateY(-4px); box-shadow: var(--cs-glow); }
.cs-media { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 5; }
.cs-tile-video .cs-media { aspect-ratio: 9 / 14; }
.cs-tile-tall .cs-media { aspect-ratio: 9 / 16; }
.cs-media video, .cs-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.cs-tile:hover .cs-media video, .cs-tile:hover .cs-media img, .cs-tile:hover .cs-art-glyph { transform: scale(1.06); }
.cs-tile::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 28%, transparent 45%, rgba(8,6,5,.92) 100%); }
.cs-tile-top { position: absolute; z-index: 2; top: 10px; left: 10px; right: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.cs-badge, .cs-kind, .cs-price { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; backdrop-filter: blur(10px); }
.cs-badge { background: var(--cs-grad); color: #140a06; }
.cs-kind { background: rgba(0,0,0,.45); color: #fff; }
.cs-price { margin-left: auto; background: rgba(0,0,0,.55); color: #ffd7b8; border: 1px solid rgba(255,179,92,.35); }
.cs-tile-info { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: grid; gap: 4px; padding: 14px; }
.cs-tile-info strong { display: flex; align-items: center; gap: 8px; font: 800 16px/1.15 'Unbounded','Arial Black',sans-serif; }
.cs-tile-info small { color: #d9d2c9; line-height: 1.35; font-size: 13px; }
.cs-tile-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-weight: 800; font-size: 13px; color: #ffb35c; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .25s, opacity .25s; }
.cs-tile:hover .cs-tile-go, .cs-tile:focus-visible .cs-tile-go { max-height: 24px; opacity: 1; }
@media (hover: none) { .cs-tile-go { max-height: 24px; opacity: 1; } }
/* Art cards until real samples exist: slow drifting light, our own. */
.cs-art-glyph { position: relative; z-index: 0; color: rgba(255,255,255,.92); filter: drop-shadow(0 8px 24px rgba(0,0,0,.45)); transition: transform .6s; }
.cs-art-orb { position: absolute; width: 90%; aspect-ratio: 1; border-radius: 50%; filter: blur(34px); opacity: .85; animation: cs-drift 14s ease-in-out infinite alternate; }
.cs-art-orb2 { width: 70%; animation-duration: 19s; animation-direction: alternate-reverse; }
@keyframes cs-drift { from { transform: translate(-22%,-18%) scale(1); } to { transform: translate(24%,20%) scale(1.25); } }
@media (prefers-reduced-motion: reduce) { .cs-art-orb { animation: none; } .cs-tile, .cs-media * { transition: none; } }
.cs-art-ember { background: #1a0d09; } .cs-art-ember .cs-art-orb { background: #e64325; } .cs-art-ember .cs-art-orb2 { background: #ffb35c; }
.cs-art-sunset { background: #1d0f14; } .cs-art-sunset .cs-art-orb { background: #ff7a45; } .cs-art-sunset .cs-art-orb2 { background: #a3316f; }
.cs-art-violet { background: #120e1f; } .cs-art-violet .cs-art-orb { background: #6b4bd6; } .cs-art-violet .cs-art-orb2 { background: #e64325; }
.cs-art-ocean { background: #081418; } .cs-art-ocean .cs-art-orb { background: #1f8fa8; } .cs-art-ocean .cs-art-orb2 { background: #1fb58f; }
.cs-art-steel { background: #111214; } .cs-art-steel .cs-art-orb { background: #6d7580; } .cs-art-steel .cs-art-orb2 { background: #e64325; opacity: .45; }
.cs-art-noir { background: #0a0a0a; } .cs-art-noir .cs-art-orb { background: #e8e2d6; opacity: .35; } .cs-art-noir .cs-art-orb2 { background: #4a4a4a; }
.cs-art-rose { background: #1a0a12; } .cs-art-rose .cs-art-orb { background: #d63a6b; } .cs-art-rose .cs-art-orb2 { background: #ff9a76; }
.cs-art-neon { background: #0b0816; } .cs-art-neon .cs-art-orb { background: #ff2e88; } .cs-art-neon .cs-art-orb2 { background: #2ee6ff; }
.cs-art-peach { background: #1b120c; } .cs-art-peach .cs-art-orb { background: #ffb38a; } .cs-art-peach .cs-art-orb2 { background: #e64325; }
.cs-art-checker { background: repeating-conic-gradient(#2a2724 0 25%, #1b1917 0 50%) 0 0 / 22px 22px; } .cs-art-checker .cs-art-orb { background: #e64325; opacity: .5; } .cs-art-checker .cs-art-orb2 { background: #ffb35c; opacity: .35; }
/* Recipe sheet: slides in from the right (full screen on phones). */
.cs-veil { position: fixed; inset: 0; z-index: 60; display: flex; justify-content: flex-end; background: rgba(5,4,3,.62); backdrop-filter: blur(6px); animation: cs-fade .2s ease-out; }
.cs-sheet { position: relative; display: grid; grid-template-rows: auto 1fr auto; width: min(560px,100%); height: 100%; background: #12100e; border-left: 1px solid #2c2622; box-shadow: -30px 0 80px rgba(0,0,0,.5); animation: cs-slide .28s cubic-bezier(.2,.8,.2,1); }
@keyframes cs-fade { from { opacity: 0; } }
@keyframes cs-slide { from { transform: translateX(40px); opacity: 0; } }
.cs-sheet-head { position: relative; display: grid; gap: 4px; padding: 0 22px 12px; }
.cs-sheet-head .cs-media { aspect-ratio: 16 / 7; margin: 0 -22px 12px; }
.cs-sheet-head h3 { display: flex; align-items: center; gap: 10px; margin: 0; font: 900 24px/1.1 'Unbounded','Arial Black',sans-serif; color: #fff; }
.cs-sheet-tag { margin: 0; color: #d0c8bd; }
.cs-x { position: absolute; top: 12px; right: 12px; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.5); color: #fff; backdrop-filter: blur(8px); }
.cs-sheet-body { overflow: auto; padding: 6px 22px 18px; display: grid; gap: 18px; align-content: start; }
.cs-slot, .cs-opt { display: grid; gap: 8px; }
.cs-slot > label, .cs-opt > label { font-weight: 800; font-size: 13px; letter-spacing: .02em; color: #f1ebe2; }
.cs-slot input, .cs-slot textarea { width: 100%; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--line); background: #1a1715; color: var(--text); }
.cs-drop { display: grid; gap: 10px; place-items: center; min-height: 118px; padding: 14px; border-radius: 16px; border: 1.5px dashed #5a4a42; background: rgba(230,67,37,.04); color: #cfc6bb; cursor: pointer; transition: border-color .18s, background .18s; }
.cs-drop:hover, .cs-drop.over, .cs-drop:focus-visible { border-color: var(--accent); background: rgba(230,67,37,.1); }
.cs-drop-cue { display: grid; justify-items: center; gap: 6px; font-weight: 700; font-size: 13px; }
.cs-drop-thumbs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.cs-drop-thumb { position: relative; display: grid; place-items: center; width: 92px; height: 92px; border-radius: 12px; overflow: hidden; background: #211d1a; }
.cs-drop-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cs-drop-thumb small { font-size: 10px; padding: 0 4px; text-align: center; }
.cs-drop-rm { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border-radius: 50%; border: 0; background: rgba(0,0,0,.7); color: #fff; }
.cs-slot-note:empty { display: none; }
.cs-slot-note { margin: 0; font-size: 12px; color: var(--muted); }
.cs-from > summary, .cs-adv > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; color: var(--muted); font-size: 13px; }
.cs-chiprow { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-chipbtn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); background: #1a1715; color: #e7e0d6; font-weight: 700; font-size: 13px; transition: all .15s; }
.cs-chipbtn:hover { border-color: #7a655b; }
.cs-chipbtn.on { background: #fff; color: var(--ink); border-color: #fff; }
.cs-adv[open] { display: grid; gap: 10px; }
.cs-sheet-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 22px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid #2c2622; background: #12100e; }
.cs-sheet-hint { flex: 1 1 100%; margin: 0; font-size: 12px; color: #ffb29d; }
.cs-sheet-hint:empty { display: none; }
.cs-price-lg { margin: 0; padding: 8px 14px; font-size: 14px; }
.cs-generate { margin-left: auto; }
.cs-generate:disabled { background: #3a3431; color: #8d837b; box-shadow: none; cursor: not-allowed; }
.cs-generate.armed { background: #fff; color: var(--ink); animation: cs-pulse 1.2s ease-in-out infinite; }
@keyframes cs-pulse { 50% { box-shadow: 0 0 0 8px rgba(255,255,255,.12); } }
@media (max-width: 640px) { .cs-sheet { width: 100%; border-left: 0; } .cs-masonry { columns: 2 150px; column-gap: 10px; } .cs-tile { margin-bottom: 10px; } .cs-tile-info strong { font-size: 13px; } .cs-tile-info small { display: none; } .cs-search { width: 100%; } }

/* ---------- Create Studio: Brand tab (palette from a photo, Brand Kit) ---------- */
.cs-brandtab { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.cs-card-panel { display: grid; gap: 14px; padding: 20px; border-radius: 22px; border: 1px solid #2c2622; background: #12100e; }
.cs-card-panel h3 { display: flex; align-items: center; gap: 10px; margin: 0; font: 900 20px/1.15 'Unbounded','Arial Black',sans-serif; color: #fff; }
.cs-card-panel .helper { margin: 0; }
.cs-palette-drop { min-height: 200px; overflow: hidden; padding: 0; }
.cs-palette-drop img { display: block; width: 100%; max-height: 340px; object-fit: cover; }
.cs-swatches { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); border-radius: 16px; overflow: hidden; }
.cs-swatch { display: grid; align-content: end; gap: 2px; min-height: 130px; padding: 12px; border: 0; border-radius: 0; text-align: left; cursor: copy; transition: flex .2s, transform .2s; }
.cs-swatch:hover, .cs-swatch:focus-visible { transform: translateY(-4px); }
.cs-swatch strong { font-size: 13px; }
.cs-swatch span { font: 700 12px/1 ui-monospace, 'Cascadia Mono', Consolas, monospace; letter-spacing: .04em; }
.cs-palette-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cs-palette-acts .cs-cta { padding: 10px 18px; font-size: 14px; }
.cs-kit-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cs-kit-row input:not([type]), .cs-kit-row select { flex: 1 1 160px; min-width: 0; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--line); background: #1a1715; color: var(--text); }
.cs-toggle { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; cursor: pointer; }
.cs-toggle input { width: 18px; height: 18px; accent-color: var(--accent); }
.cs-kit-palettes { display: grid; gap: 8px; }
.cs-kit-palette { display: flex; align-items: center; gap: 6px; }
.cs-kit-pick { flex: 1; display: flex; align-items: center; gap: 4px; min-width: 0; padding: 8px 12px; border-radius: 14px; border: 1px solid var(--line); background: #1a1715; color: var(--text); text-align: left; }
.cs-kit-palette.on .cs-kit-pick { border-color: var(--accent); background: rgba(230,67,37,.1); }
.cs-kit-name { margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 700; }
.cs-dot { flex: none; display: inline-block; width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); }
.cs-chipbtn .cs-dot { width: 14px; height: 14px; margin-left: -2px; }
.cs-x-sm { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--muted); }
.cs-kit-logo { width: 64px; height: 64px; object-fit: contain; border-radius: 12px; background: repeating-conic-gradient(#2a2724 0 25%, #1b1917 0 50%) 0 0 / 14px 14px; }
@media (max-width: 860px) { .cs-brandtab { grid-template-columns: 1fr; } .cs-swatch { min-height: 96px; } }
.nle-row-v2{height:44px}.nle-row-v2 .nle-clip{background:#1f4a3a;top:18px;height:22px;border:1px dashed #6be3a4}
.nle-clip-speed{position:absolute;right:18px;top:2px;font-size:11px;font-weight:700;padding:0 4px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff}
/* One icon per button: a button that draws its own icon (ui-icons / create-icons SVG) never also gets the CSS icon. */
.studio-connected button:has(> svg, > .ui-icon)::before, .studio-video-dialog button:has(> svg, > .ui-icon)::before{content:none!important;display:none!important}

/* ---------- Create Studio: My creations in the gallery look ---------- */
.create-studio .cs-results { display: block; columns: 3 280px; column-gap: 14px; }
.create-studio .cs-results .gen-result { break-inside: avoid; margin: 0 0 14px; padding: 0; gap: 0; border: 1px solid #2c2622; border-radius: 18px; overflow: hidden; background: #12100e; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
.create-studio .cs-results .gen-result:hover { transform: translateY(-3px); box-shadow: 0 18px 50px -18px rgba(230,67,37,.45); }
.create-studio .cs-results .gen-result > strong { display: block; padding: 12px 14px 4px; font: 800 14px/1.2 'Unbounded','Arial Black',sans-serif; color: #fff; }
.create-studio .cs-results .gen-result > span, .create-studio .cs-results .gen-result > p { display: block; padding: 0 14px 10px; margin: 0; color: var(--muted); font-size: 13px; }
.create-studio .cs-results .gen-result > img, .create-studio .cs-results .gen-result > video { display: block; width: 100%; border-radius: 0; background: #0b0a09; }
.create-studio .cs-results .gen-result progress { display: block; width: calc(100% - 28px); margin: 0 14px 14px; height: 6px; accent-color: var(--accent); }
.create-studio .cs-results .gen-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px 12px; }
.create-studio .cs-results .gen-actions .ui-ibtn, .create-studio .cs-results .gen-actions a { min-height: 32px; padding: 5px 11px; font-size: 12px; border-radius: 999px; }
.create-studio .cs-results .cs-chip { align-self: center; }
@media (max-width: 640px) { .create-studio .cs-results { columns: 1; } }
/* Create Studio hero with a looping showcase clip behind the words. */
.cs-hero.cs-hero-has-media { min-height: clamp(260px, 34vw, 420px); display: grid; align-content: end; }
.cs-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: .72; }
.cs-hero.cs-hero-has-media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10,8,7,.92) 0%, rgba(10,8,7,.6) 45%, rgba(10,8,7,.1) 100%), linear-gradient(0deg, rgba(10,8,7,.7), transparent 55%); }
.cs-hero.cs-hero-has-media > :not(.cs-hero-media) { position: relative; z-index: 2; }
/* Inside the iPhone/Android apps nothing says "beta" (App Store 2.2); the website keeps its private-beta labels. */
.native-app .beta-tag,.native-app .preview-bar,.native-app footer p{display:none!important}
/* Create Studio on a phone: the generator grid's one column grew to the tab row's width (606 px) and the page scrolled
   sideways. The column may shrink; the tab row scrolls by itself instead. */
.studio-generator.create-studio{grid-template-columns:minmax(0,1fr)}
.create-studio > *{min-width:0}
.create-studio .cs-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.create-studio .cs-tabs::-webkit-scrollbar{display:none}
.create-studio .cs-tab{flex:0 0 auto}
/* Credits: the header balance + Buy credits, and the in-place "Out of credits: top up" dialog (website only; the apps never sell). */
.credit-chip{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:999px;background:#151513;white-space:nowrap;font-size:14px}
.credit-chip.low .credit-chip-balance{color:var(--accent-light)}
.credit-chip .credit-chip-buy{min-height:36px;width:auto;padding:0 14px;border-radius:999px;font-size:14px}
.credit-chip .credit-chip-buy::before{content:none}
@media(max-width:650px){.credit-chip{font-size:12px;padding-left:8px}.credit-chip .credit-chip-buy{min-height:32px;padding:0 10px;font-size:12px}}
.studio-image-dialog.credit-topup{width:min(600px,94vw);height:fit-content;min-height:0;max-height:90dvh;padding:24px;border-radius:16px;overflow:auto;box-shadow:0 24px 90px #0009}
.credit-topup h2{font-size:24px;line-height:1.2;text-transform:none;letter-spacing:normal;margin:0 0 8px}
.credit-topup h3{font-size:15px;margin:18px 0 8px;text-transform:none;letter-spacing:normal}
.credit-topup p{color:#bcc3ca;line-height:1.5;margin:6px 0}
.credit-topup .credit-topup-balance{color:#fff;font-weight:600}
.credit-topup-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.credit-topup-packs .credit-topup-pack{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:84px;width:auto;padding:12px 8px;border-radius:12px;border:1px solid var(--accent);background:#1d1411;color:#fff}
.credit-topup-pack::before{content:none}
.credit-topup-pack strong{font-size:17px}.credit-topup-pack span{font-size:20px;color:var(--accent-light)}
.credit-topup-plan-row{display:flex;flex-direction:column;gap:8px}.credit-topup-plan-row button{width:100%;min-height:44px}
.credit-topup-status:empty{display:none}.credit-topup-status{padding:10px 12px;border-radius:10px;background:#1b1f22;color:#fff!important}
.credit-topup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.credit-topup-actions button{width:auto;min-height:44px;padding:0 16px}
@media(max-width:480px){.credit-topup-packs{grid-template-columns:minmax(0,1fr)}.credit-topup-packs .credit-topup-pack{min-height:56px;flex-direction:row;justify-content:space-between;padding:10px 16px}}
.native-app .credit-chip-buy{display:none!important}
.pricing-buy-credits{border:1px solid var(--accent);border-radius:16px;padding:24px;margin:24px 0}
.pricing-plans-head{margin:22px 0 10px}.pricing-plan-row{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:520px){.site-header:has(#credit-chip) .brand-name{display:none}.site-header:has(#credit-chip){gap:8px}.credit-chip{flex-shrink:0;gap:6px}}

/* Quick Editor brand kit: the end card preview (accent field, logo above the name) */
.qe-endcard{display:grid;place-items:center;align-content:center;gap:8px;aspect-ratio:16/9;border-radius:12px;padding:10px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.qe-endcard img{height:72px;width:auto;max-width:60%;object-fit:contain}.qe-endcard img[hidden]{display:none}
.qe-endcard strong{color:#0B0B0A;font-family:var(--qe-font,var(--heading));font-size:clamp(14px,2.2vw,22px);letter-spacing:.5px;text-align:center}

/* ---------- Create Studio phase 2: brush slot, brand text / layouts menus, align row ---------- */
.cs-mask { display: grid; gap: 8px; }
.cs-mask-stage { position: relative; border-radius: 14px; overflow: hidden; background: #0b0a09; }
.cs-mask-stage img { display: block; width: 100%; height: auto; user-select: none; -webkit-user-drag: none; }
.cs-mask-canvas { position: absolute; inset: 0; width: 100%; height: 100%; cursor: crosshair; touch-action: none; }
.cs-menu { position: absolute; z-index: 6; top: 110%; left: 0; display: grid; gap: 6px; min-width: 220px; padding: 10px; border-radius: 14px; border: 1px solid #2c2622; background: #12100e; box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.cs-menu .cs-chipbtn { justify-content: flex-start; }
.cs-align { display: flex; flex-wrap: wrap; gap: 6px; }
.cs-align .cs-chipbtn { padding: 5px 10px; font-size: 12px; }
.cs-canvas:focus-visible { outline: 2px solid var(--accent-light); outline-offset: 4px; }
@media (max-width: 640px) { .cs-menu { position: fixed; left: 12px; right: 12px; top: auto; bottom: calc(12px + env(safe-area-inset-bottom)); min-width: 0; max-height: 60vh; overflow: auto; } }
.cs-cast { display: flex; flex-wrap: wrap; gap: 10px; }
.cs-cast-pick { display: grid; justify-items: center; gap: 6px; width: 96px; padding: 8px; border-radius: 14px; border: 1px solid var(--line); background: #1a1715; color: var(--text); font-size: 12px; font-weight: 700; }
.cs-cast-pick img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: #2a2724; }
.cs-cast-pick.on { border-color: var(--accent); background: rgba(230,67,37,.12); }
.story-fill-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0 14px;padding:12px 14px;border:1px solid var(--accent);border-radius:12px;background:rgba(230,67,37,.08)}.story-fill-row[hidden]{display:none}.story-fill-row button{width:auto;min-height:40px}
.create-studio .gen-result img.cs-checker,.gen-result img.cs-checker{background-color:#d9d9d9;background-image:conic-gradient(#f2f2f2 25%,#d9d9d9 0 50%,#f2f2f2 0 75%,#d9d9d9 0);background-size:20px 20px;object-fit:contain}
/* Film Finish (owner beta): seven steps on the studio PC, each a card with options, Run, progress, summary, files and details. */
.film-finish{display:grid;gap:16px;max-width:1280px}
.ff-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.ff-head h2{margin:0}.ff-head p{flex-basis:100%;margin:0}
.ff-badge{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:#bcc3ca}
.ff-beta{border-color:var(--accent);color:var(--accent-light)}
.ff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px}
.ff-step{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#141412;min-width:0}
.ff-step.is-complete{border-color:#2f6b45}.ff-step.is-failed{border-color:#8a3a2a}.ff-step.is-running,.ff-step.is-queued{border-color:var(--accent)}
.ff-step-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.ff-step-head h4{margin:0;font-size:17px}
.ff-step p{margin:0}.ff-beats{grid-column:1/-1}.ff-beats textarea{width:100%;box-sizing:border-box;min-height:150px;font:14px/1.5 inherit}
.ff-options{display:grid;gap:8px}.ff-opt{display:grid;gap:4px;font-size:13px;color:#bcc3ca}.ff-opt input[type=text],.ff-opt input[type=number]{width:100%;box-sizing:border-box}
.ff-check{display:flex;align-items:center;gap:8px}.ff-check input{width:auto}
.ff-actions,.ff-files{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ff-actions button,.ff-files button{width:auto;min-height:40px;padding:0 14px}
.ff-progress{display:grid;gap:4px;font-size:13px}.ff-progress progress{width:100%}
.ff-error{color:#ff9f8c}
.ff-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:13px}.ff-facts dt{color:#9aa3ab;text-transform:capitalize}.ff-facts dd{margin:0;overflow-wrap:anywhere}
.ff-details summary{cursor:pointer;color:var(--accent-light)}.ff-result{display:grid;gap:8px;margin-top:8px;overflow-x:auto}
.ff-result h5{margin:8px 0 2px;text-transform:capitalize}
.ff-table{border-collapse:collapse;font-size:12px;width:100%}.ff-table th,.ff-table td{border-bottom:1px solid #2a2a27;padding:4px 6px;text-align:left;vertical-align:top;max-width:280px;overflow-wrap:anywhere}
.ff-table th{color:#9aa3ab;text-transform:capitalize}.ff-table caption{caption-side:bottom;color:#9aa3ab;padding-top:4px}

/* UI pass 2026-10-03 (Brien: "no one is gonna know what's going on"): plain steps, calm tiles, one orange button. */
.studio-model-lab .lab-step{font-size:15px;font-weight:700;margin:22px 0 8px;letter-spacing:.01em}
.studio-model-lab .lab-tier{margin:6px 0 14px}
.studio-model-lab .lab-tier h4{font-size:14px;margin:0 0 2px}
.studio-model-lab .lab-tier>.helper{margin:0 0 8px}
.studio-model-lab .lab-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.studio-model-lab .lab-model{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.02);font-size:14px}
.studio-model-lab .lab-model.is-picked{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06)}
.studio-model-lab .lab-model input{grid-row:1/3}
.studio-model-lab .lab-model-name{font-weight:600;line-height:1.3}
.studio-model-lab .lab-price{grid-column:3;grid-row:1;font-weight:700;font-variant-numeric:tabular-nums}
.studio-model-lab .lab-provider{grid-column:2;grid-row:2;font-size:12px;color:rgba(255,255,255,.5)}
.studio-model-lab .lab-untested-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);margin-left:6px;vertical-align:middle}
.studio-model-lab .gen-ops .is-active{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}
.studio-model-lab .lab-more{margin-top:18px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
.studio-model-lab .lab-more>summary{cursor:pointer;color:rgba(255,255,255,.75);font-size:14px}
.studio-model-lab .lab-empty{font-size:14px;padding:18px;border:1px dashed rgba(255,255,255,.15);border-radius:10px}
.fae-more-tools{margin-top:6px}
.fae-more-tools>summary{cursor:pointer;font-size:13px;color:rgba(255,255,255,.7);padding:6px 0}
/* Editor Media bin: footage as pictures, grouped, searchable (2026-10-03). */
.nle-media-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.nle-media-bar input[type=search]{flex:1 1 200px;min-width:160px;padding:9px 12px;border-radius:10px}
.nle-media-toggle{display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:14px;white-space:nowrap}
.nle-media-grid .fg-bin{margin-bottom:14px}
.nle-media-head{margin:14px 0 6px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nle-bin-body>.nle-media-bar,.nle-bin-body>.nle-media-grid,.nle-bin-body>.nle-media-head{grid-column:1/-1;width:100%}
.nle-media-bar{position:sticky;top:0;z-index:2;background:var(--panel,#111315);padding:8px 0}
.nle-media-grid .fg-bin-name{white-space:normal}
.nle-clip.nle-has-strip .nle-clip-label{background:rgba(0,0,0,.55);padding:1px 5px;border-radius:4px}
.nle-playhead{cursor:ew-resize}
.nle-ruler{cursor:ew-resize}
.nle-source{width:min(960px,96vw);padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:#111315;color:#fff}
.nle-source::backdrop{background:rgba(0,0,0,.7)}
.nle-source-video{width:100%;max-height:60vh;background:#000;border-radius:8px}
.nle-source-marks{position:relative;height:10px;margin:8px 0 2px;background:rgba(255,255,255,.08);border-radius:5px}
.nle-source-select{position:absolute;top:0;height:100%;background:rgba(70,200,110,.55);border-radius:5px}
.nle-source-reject{position:absolute;top:3px;height:4px;background:rgba(235,80,70,.7);border-radius:2px}
.nle-source-why{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow:auto}
.nle-source-why button{font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid transparent;cursor:pointer;min-height:28px}
.nle-why-select button{background:rgba(70,200,110,.14);color:#9fe3b4;border-color:rgba(70,200,110,.35)}
.nle-why-reject button{background:rgba(235,80,70,.12);color:#f2a49c;border-color:rgba(235,80,70,.3)}
.nle-source-range{position:absolute;top:-3px;height:16px;border:2px solid var(--accent,#e8452c);border-radius:6px}
.nle-source input[type=range]{width:100%}
.nle-source-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.nle-source-tc{font-variant-numeric:tabular-nums;font-weight:700}
/* Footage: usable takes chip + People allowed in frame (per project) */
.fp .fp-chip-ok .ui-icon{color:#6fd391}
.fp-people{margin:10px 0;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:12px;padding:0 14px;background:rgba(255,255,255,.02)}
.fp-people>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}
.fp-people>summary::-webkit-details-marker{display:none}
.fp-people>summary span:last-child{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-people-body{display:grid;gap:10px;padding:4px 0 14px}
.fp-people-modes{display:flex;flex-wrap:wrap;gap:8px}
.fp-people-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fp-people-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fp-people-list li span{font-weight:600}
.fp-people-add{display:flex;gap:8px;flex-wrap:wrap}.fp-people-add input{flex:1 1 200px;min-height:40px}
.fp-people-talk{display:flex;gap:8px;align-items:center}
.fp-people-body>button.primary{justify-self:start}
.nle-source-people{margin-top:6px;align-items:center}.nle-source-people select{min-height:36px;width:auto;min-width:220px;flex:0 1 auto}
.nle-source-people>.helper{display:inline;margin:0}
.fp-people-modes [aria-checked="true"]{border-color:var(--accent,#e8452c);background:rgba(232,69,44,.16);color:#fff}
.fp .fp-chips .fp-chip-action{min-height:34px;padding:4px 12px;border-radius:999px;font-size:13px}
/* Speed & Motion: ramp preset tiles + curve editor */
.fae-ramp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:6px 0 12px}
.fae-ramp-tile{display:grid;gap:4px;justify-items:start;text-align:left;padding:10px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.12));background:rgba(255,255,255,.03);color:inherit;cursor:pointer;font:inherit}
.fae-ramp-tile:hover{border-color:rgba(255,255,255,.3)}
.fae-ramp-tile[aria-pressed="true"]{border-color:var(--accent,#e8452c);background:rgba(232,69,44,.12)}
.fae-ramp-tile strong{font-size:13px}.fae-ramp-tile small{font-size:11px;color:var(--muted,#9aa0a6);line-height:1.3}
.fae-ramp-tile svg{width:100%;height:44px}
.fae-ramp-line{fill:none;stroke:var(--accent,#e8452c);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.fae-ramp-one{stroke:rgba(255,255,255,.22);stroke-width:1;stroke-dasharray:3 3}
.fae-ramp-svg{position:relative;display:grid;gap:4px}
.fae-ramp-svg svg{width:100%;height:auto;max-width:420px;background:rgba(255,255,255,.03);border:1px solid var(--line,rgba(255,255,255,.12));border-radius:10px;touch-action:none}
.fae-ramp-point{fill:#fff;stroke:var(--accent,#e8452c);stroke-width:2.5;cursor:grab}.fae-ramp-point:focus{outline:none;stroke-width:4}
.fae-ramp-tick{fill:rgba(255,255,255,.45);font-size:9px}
.fae-ramp-readout{font-size:12px;color:var(--muted,#9aa0a6);min-height:16px}
.fae-panel .fae-ramp-tile{display:flex;flex-direction:column;align-items:stretch;gap:4px;white-space:normal;height:auto;min-height:0}.fae-panel .fae-ramp-tile>*{width:100%}.fae-panel .fae-ramp-tile svg{display:block;flex:0 0 44px}
.cs-rights{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.35;margin:0 0 8px;width:100%}.cs-rights input{margin-top:2px}
/* Images → Angles */
.ang-source{max-width:min(420px,100%);border-radius:10px;display:block;margin:8px 0}
.ang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin:10px 0}
.ang-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.14));background:rgba(255,255,255,.03);color:inherit;font:inherit;font-size:12px;cursor:pointer;min-height:44px}
.ang-btn[aria-pressed="true"]{border-color:var(--accent,#e8452c);background:rgba(232,69,44,.14)}
.ang-diagram svg{display:block}
.ang-subject{fill:rgba(255,255,255,.85)}.ang-cam{fill:var(--accent,#e8452c)}.ang-cam[data-low]{stroke:#fff;stroke-width:1.5}
.ang-cone{fill:rgba(232,69,44,.28)}.ang-cam-ring{fill:none;stroke:var(--accent,#e8452c);stroke-width:2;stroke-dasharray:3 2}
.ang-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.nle-ctx{position:fixed;z-index:1000;background:#16181c;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:6px;box-shadow:0 8px 30px rgba(0,0,0,.5)}.nle-ctx button{white-space:nowrap}
/* Images → Sketch */
.sk-bar,.sk-swatches,.sk-sizes{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.sk-tool[aria-pressed="true"]{border-color:var(--accent,#e8452c);background:rgba(232,69,44,.14)}
.sk-swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;padding:0}
.sk-pad{max-width:min(640px,100%);margin:8px 0}.sk-canvas{width:100%;height:auto;display:block;border-radius:10px;background:#fff;cursor:crosshair}
.mk-stage{max-width:min(900px,100%);margin:8px 0}.mk-canvas{width:100%;height:auto;display:block;border-radius:10px;touch-action:none;cursor:grab}
.fp-qc-group{margin:8px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#9aa0a6)}
/* Editor: a callout pinned on a feature (preview; the export tracks it) */
.nle-ov-callout{position:absolute;transform:translate(-6px,-6px);display:flex;align-items:center;gap:8px;pointer-events:none;color:#fff;font-weight:600;font-size:clamp(10px,1.4vw,15px);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.nle-ov-callout i{width:12px;height:12px;border-radius:50%;background:#fff;flex:none;box-shadow:0 0 0 2px rgba(0,0,0,.25)}
.nle-ov-callout::before{content:'';position:absolute;left:12px;top:5px;width:48px;height:2px;background:#fff}
.nle-ov-callout strong{margin-left:58px}
.nle-ov-callout.is-left{flex-direction:row-reverse;transform:translate(calc(-100% + 6px),-6px)}.nle-ov-callout.is-left::before{left:auto;right:12px}.nle-ov-callout.is-left strong{margin-left:0;margin-right:58px}

/* Face check on a finished video (faceCheckLine, reference-model.mjs) */
.gen-face-check{display:block;margin:4px 0;font-weight:600}.gen-face-check.is-ok{color:#7fd69a}.gen-face-check.is-warn{color:#ffb35c}.gen-face-check.is-wait{color:var(--muted)}
.nle-hit-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.nle-hit-svg{position:absolute;width:0;height:0}
.nle-media{position:relative}.nle-ai-badge{position:absolute;top:6px;left:6px;padding:1px 6px;border-radius:6px;background:rgba(10,10,12,.78);color:#fff;font:700 10px/1.5 system-ui;letter-spacing:.06em;border:1px solid rgba(255,255,255,.35)}
.gravity-badge{display:inline-flex;align-items:center;gap:6px;margin:6px 0;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:#d9dce1;font:600 11px/1.6 system-ui;letter-spacing:.04em;text-transform:none;background:rgba(255,255,255,.04)}.cs-engine{display:block;color:var(--accent-light,#ff8267);font:700 11px/1.4 system-ui;letter-spacing:.05em;text-transform:uppercase;margin:2px 0}
.cs-badge-gravity{background:linear-gradient(135deg,#6d4bff,#e64325);color:#fff}.cs-badge-kind{background:rgba(10,10,12,.7);color:#fff}.cs-badge-soon{background:rgba(10,10,12,.78);color:#ffd7a8;border:1px solid rgba(255,215,168,.4)}.cs-chip-off{opacity:.55}.cs-chipbtn small{display:block;font-size:11px;opacity:.8}.cs-pill-gravity.on,.cs-pill-gravity:hover{border-color:#8f74ff}.cs-num{min-width:3em;text-align:right;color:var(--muted)}
.cs-sections{display:grid;gap:22px}.cs-section-title{margin:6px 0 10px;font:800 20px/1.2 system-ui;letter-spacing:-.01em}
.cs-see-all{justify-self:center;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--line);background:#151513;color:var(--text);font-weight:700}
.cs-see-all:hover{border-color:#6b5a52}.cs-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cs-filters select{width:auto;padding:8px 12px;border-radius:999px}
.cs-owner-ctl{position:absolute;right:8px;bottom:8px;display:flex;gap:6px;z-index:3}.cs-owner-btn{padding:3px 9px;border-radius:999px;background:rgba(10,10,12,.78);color:#fff;font:700 11px/1.5 system-ui;border:1px solid rgba(255,255,255,.3);cursor:pointer}
.cs-owner-btn.on{background:#e64325;border-color:#e64325}.cs-tile-hidden{opacity:.5}.cs-tile{position:relative}

/* Sign in with Apple / Google / Facebook (website): follows the Sign in button; the app shows native buttons instead. */
.social-login{display:block;margin-top:8px;text-align:center}
#member-login[hidden]+.social-login,.native-app .social-login{display:none!important}

/* Owner only: a card customers cannot see yet (no real sample). */
.cs-owner-warn{background:#7a1d12!important;color:#fff!important;border-color:#c0392b!important}

/* A provider is briefly out (owner switch). */
.cs-paused-note{margin:12px 0;padding:10px 14px;border-radius:10px;background:#3a2a12;color:#ffd9a0;border:1px solid #6b4a1a}
