/* Cinematic studio only. Existing themes, legacy Lab and Porch Buddy stay intact. */
.cv-studio-workspace .cv-unified-workspace { background:var(--cv-panel); }
.cv-studio-workspace .cv-workspace-lead { color:var(--cv-muted);margin:8px 0 24px;font-size:15px; }
.cv-studio-workspace .cv-workspace-card { position:relative;margin:0 0 16px;padding:0;border:1px solid var(--cv-line);border-radius:16px;background:var(--cv-panel); }
.cv-studio-workspace .cv-workspace-card[open] { border-color:var(--cv-accent);box-shadow:0 4px 16px #00000006; }
.cv-studio-workspace .cv-workspace-card > summary { display:flex;align-items:center;gap:12px;padding:18px;list-style:none;cursor:pointer; }
.cv-studio-workspace .cv-workspace-card > summary::-webkit-details-marker { display:none; }
.cv-studio-workspace .cv-card-heading { display:flex;flex:1;flex-direction:column;gap:5px;min-width:0; }
.cv-studio-workspace .cv-card-heading > strong { color:var(--cv-ink);font:700 20px/1.2 var(--pt-serif,Georgia,serif); }
.cv-studio-workspace .cv-card-icon { display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--cv-inset);color:var(--cv-accent); }
.cv-studio-workspace .cv-card-icon svg { width:24px;height:24px; }
.cv-studio-workspace .cv-card-chevron { flex:none;color:var(--cv-accent);font-size:22px;line-height:1; }
.cv-studio-workspace .cv-workspace-card[open] > summary .cv-card-chevron { transform:rotate(180deg); }
.cv-studio-workspace .cv-card-summary { color:var(--cv-muted);font-size:13px;overflow-wrap:anywhere; }
.cv-studio-workspace .cv-card-body { padding:0 18px 18px;animation:cv-card-reveal .18s ease-out; }
.cv-studio-workspace .cv-card-body > label { margin-bottom:16px; }
.cv-studio-workspace .cv-context-help { position:relative;flex:none; }
.cv-studio-workspace .cv-context-help > button { margin:0;border:0;background:var(--cv-inset);color:var(--cv-accent);border-radius:50%;width:44px;min-height:44px;padding:4px;font-size:20px; }
.cv-studio-workspace .cv-tooltip { position:absolute;right:0;top:44px;z-index:6;width:min(260px,65vw);padding:14px;border:1px solid var(--cv-line);border-radius:14px;background:var(--cv-ink);color:var(--cv-panel);font:400 13px/1.5 var(--pt-sans,system-ui,sans-serif);box-shadow:0 8px 26px #0003; }
.cv-studio-workspace .cv-tooltip[hidden] { display:none; }
@keyframes cv-card-reveal { from { opacity:.5;transform:translateY(-4px); } to { opacity:1;transform:none; } }
@media (prefers-reduced-motion:reduce) { .cv-studio-workspace .cv-card-body { animation:none; } }
@media (max-width:600px) { .cv-studio-workspace .cv-workspace-card > summary { padding:16px;gap:8px; }.cv-studio-workspace .cv-card-body { padding:0 16px 16px; }.cv-studio-workspace .cv-card-icon{width:32px;height:36px;}.cv-studio-workspace .cv-card-heading > strong{font-size:18px;} }
.cv-studio-workspace .cv-share-materials { display:grid;gap:12px;margin:14px 0; }
.cv-studio-workspace .cv-share-material { padding:16px;border:1px solid var(--cv-line);border-radius:16px;background:var(--cv-inset); }
.cv-studio-workspace .cv-share-material h5 { margin:0 0 8px;font:700 17px var(--pt-serif,Georgia,serif); }
.cv-studio-workspace .cv-share-material p,.cv-studio-workspace .cv-share-extras p { font-size:13px;color:var(--cv-muted);margin:8px 0; }
.cv-studio-workspace .cv-share-material label { display:block;font-size:13px; }
.cv-studio-workspace .cv-share-material textarea { width:100%;box-sizing:border-box;min-height:85px;padding:10px;border-radius:10px;resize:vertical;background:var(--cv-panel);color:var(--cv-ink); }
.cv-studio-workspace .cv-platform-open { display:inline-block;padding:10px 14px;border:1px solid var(--cv-line);border-radius:12px;background:var(--cv-panel);color:var(--cv-accent);font-weight:700; }
.cv-studio-workspace .cv-share-status { font-size:13px;margin:12px 0;color:var(--cv-accent); }
.cv-studio-workspace .cv-share-extras { border-top:1px solid var(--cv-line); }
.cv-studio-workspace .cv-saved-sharing .cv-length-chips button[aria-pressed=true] { background:var(--cv-accent);border-color:var(--cv-accent);color:var(--cv-panel);font-weight:700; }
@media (max-width:820px) {
  .cv-studio-workspace .cv-finished-sharing { order:1; }
  .cv-studio-workspace .cv-finished-preview { order:2; }
  .cv-studio-workspace .cv-finished-layout .cv-finished-preview video { max-height:32dvh; }
}
.ng-workspace.cv-studio-workspace {
  --cv-panel:var(--pt-surface,#fffdf8);
  --cv-inset:var(--pt-surface-2,#fff1e5);
  --cv-chrome:var(--pt-chrome,#fff9ef);
  --cv-ink:var(--pt-ink,#452719);
  --cv-muted:var(--pt-muted,#765a4b);
  --cv-accent:var(--pt-readable-accent,var(--pt-primary,#a83b23));
  --cv-line:var(--pt-line,rgba(104,61,38,.18));
  --cv-field-line:color-mix(in srgb,var(--cv-ink) 70%,var(--cv-panel));
  width:min(1240px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  padding:0;
  border-radius:20px;
  color:var(--cv-ink);
  background:var(--cv-chrome);
  box-shadow:0 20px 70px #0003;
  overflow:auto;
  scroll-padding-block:100px 150px;
  font:15px/1.5 var(--pt-sans,system-ui,sans-serif);
}
.ng-workspace.cv-studio-workspace::backdrop { background:rgba(22,43,34,.26); }
:root:is([data-pt-theme=neon-quest],[data-pt-theme=midnight-access],[data-pt-theme=graphite-ember],[data-pt-theme=blackberry-neon]) .ng-workspace.cv-studio-workspace::backdrop { background:rgba(4,12,20,.76); }
.cv-studio-workspace > header {
  position:sticky;top:0;z-index:4;align-items:center;gap:14px;
  padding:16px 24px;background:var(--cv-chrome);border-bottom:1px solid var(--cv-line);
}
.cv-studio-workspace > header > div:first-child { min-width:0;flex:1; }
.cv-studio-workspace > header h2 { margin:2px 0;font:700 24px/1.2 var(--pt-serif,Georgia,serif);overflow-wrap:anywhere; }
.cv-studio-workspace .ng-kicker { color:var(--cv-accent);font-size:10px;letter-spacing:.14em; }
.cv-studio-workspace .cv-header-tools { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end; }
.cv-studio-workspace .cv-header-tools button,.cv-studio-workspace #ngClose { margin:0;min-height:44px;padding:7px 12px;background:transparent;border-color:var(--cv-line);border-radius:12px;font-size:13px; }
.cv-studio-workspace #ngClose { width:44px;padding:0;font-size:24px;flex-shrink:0; }
.cv-studio-workspace .cv-save-state { display:inline;font-size:13px;color:var(--cv-muted);padding:5px 9px;border:1px solid currentColor;border-radius:999px;font-weight:700;white-space:normal; }
.cv-studio-workspace .cv-save-state[data-state=saved]{color:var(--cv-ink);background:var(--cv-inset);}
.cv-studio-workspace .cv-save-state[data-state=error]{color:var(--cv-ink);border-style:dashed;background:var(--cv-panel);}
.cv-studio-workspace .cv-header-tools .cv-projects-button{background:var(--cv-accent)!important;color:var(--cv-panel)!important;border:2px solid var(--cv-accent)!important;font-weight:750;}
.cv-studio-workspace #ngBalance { padding:10px 24px;margin:0;font-size:13px;color:var(--cv-muted); }
.cv-studio-workspace .cv-workflow {
  position:relative;isolation:isolate;max-width:none;margin:0;padding:22px 24px 0;
  display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start;
}
.cv-studio-workspace .cv-workflow::before {
  content:"";position:absolute;inset:0 0 auto;height:130px;z-index:-1;
  background:linear-gradient(160deg,color-mix(in srgb,var(--cv-accent) 7%,var(--cv-chrome)),var(--cv-chrome));
  clip-path:polygon(0 0,100% 0,100% 74%,88% 45%,75% 75%,62% 41%,50% 78%,37% 53%,23% 82%,10% 49%,0 85%);
}
.cv-studio-workspace .cv-stage-rail { position:sticky;top:105px;padding:8px;border:1px solid var(--cv-line);border-radius:16px;background:var(--cv-panel);display:block; }
.cv-studio-workspace .cv-progress { display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none; }
.cv-studio-workspace .cv-progress li { margin:0;padding:0;background:none; }
.cv-studio-workspace .cv-stage-link {
  display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:10px;
  border:0;border-radius:14px;background:transparent;color:var(--cv-muted);font-weight:600;font-size:14px;text-align:left;
}
.cv-studio-workspace .cv-stage-link[aria-current=step] { background:var(--cv-inset);color:var(--cv-accent); }
.cv-studio-workspace .cv-stage-link:disabled { opacity:.48; }
.cv-studio-workspace .cv-stage-number { display:grid;place-items:center;flex:none;width:26px;height:26px;border:1.5px solid var(--cv-line);border-radius:50%;font-size:12px; }
.cv-studio-workspace [aria-current=step] .cv-stage-number { border-color:var(--cv-accent); }
.cv-studio-workspace .cv-stage { min-width:0;padding:24px;border:1px solid var(--cv-line);border-radius:18px;background:var(--cv-panel);box-shadow:0 4px 20px #00000005; }
.cv-studio-workspace .cv-eyebrow { color:var(--cv-accent);font-size:11px;font-weight:800;letter-spacing:.13em;margin:0 0 3px; }
.cv-studio-workspace #cv-stage-heading { font:700 clamp(26px,3vw,34px)/1.15 var(--pt-serif,Georgia,serif);letter-spacing:-.02em;margin:0 0 8px; }
.cv-studio-workspace .cv-guidance { color:var(--cv-muted);max-width:68ch;margin:0 0 24px; }
.cv-studio-workspace .cv-section-card,.cv-studio-workspace .ng-card,.cv-studio-workspace .ng-quote {
  padding:18px;border:1px solid var(--cv-line);border-radius:16px;margin:0 0 16px;background:var(--cv-panel);min-width:0;
}
.cv-studio-workspace .cv-section-card h4 { margin:0 0 10px;font:700 19px/1.3 var(--pt-serif,Georgia,serif); }
.cv-studio-workspace .cv-note { margin:0 0 14px;color:var(--cv-muted);font-size:13px; }
.cv-studio-workspace .cv-source-tiles { display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px;margin:0;padding:0;border:0; }
.cv-studio-workspace .cv-source-tile {
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  margin:0;padding:16px 12px;min-width:0;border:1.5px solid var(--cv-line);border-radius:18px;background:var(--cv-panel);cursor:pointer;
}
.cv-studio-workspace .cv-source-tile input { position:absolute;opacity:0;width:1px;height:1px;margin:0; }
.cv-studio-workspace .cv-source-icon { display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--cv-inset);color:var(--cv-accent); }
.cv-studio-workspace .cv-source-icon svg { width:28px;height:28px; }
.cv-studio-workspace .cv-source-copy strong { font-size:16px; }
.cv-studio-workspace .cv-source-copy > span { display:block;font-size:12px;line-height:1.4;margin-top:4px;color:var(--cv-muted); }
.cv-studio-workspace .cv-source-check { position:absolute;right:10px;top:10px;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--cv-line);border-radius:50%;color:var(--cv-muted);font-size:14px; }
.cv-studio-workspace .cv-source-tile:has(input:checked) { background:var(--cv-inset);border-color:var(--cv-accent);box-shadow:inset 0 0 0 1px var(--cv-accent); }
.cv-studio-workspace .cv-source-tile:has(input:checked) .cv-source-check { background:var(--cv-accent);border-color:var(--cv-accent);color:var(--cv-panel); }
.cv-studio-workspace .cv-source-tile:has(input:focus-visible) { outline:3px solid var(--pt-focus,#2476a5);outline-offset:3px; }
.cv-studio-workspace .cv-source-summary { margin:14px 0 0;font-size:13px;color:var(--cv-accent); }
.cv-studio-workspace .cv-field { font-size:14px;font-weight:600;color:var(--cv-muted);margin:14px 0;position:relative; }
.cv-studio-workspace .cv-field :is(input:not([type=checkbox]),textarea,select) { border-radius:12px;padding:11px 12px;min-height:44px;background:var(--cv-inset)!important;border:2px solid var(--cv-field-line)!important;box-shadow:none;font-weight:400;color:var(--cv-ink);font-size:16px;box-sizing:border-box;max-width:100%; }
.cv-studio-workspace .cv-field textarea { min-height:120px;line-height:1.55; }
.cv-studio-workspace .cv-video-source { padding:16px;border-radius:14px;background:var(--cv-inset);color:var(--cv-ink); }
.cv-studio-workspace .cv-video-source select { background:var(--cv-panel)!important;font-weight:600; }
.cv-studio-workspace .cv-field:has([data-microphone]) input,.cv-studio-workspace .cv-field:has([data-microphone]) textarea { padding-right:82px; }
.cv-studio-workspace [data-microphone] { position:absolute;right:5px;bottom:4px;margin:0;padding:4px 8px;min-height:44px;font-size:13px;border-radius:9px;background:var(--cv-inset); }
.cv-studio-workspace .ng-check { align-items:center;font-size:13px;font-weight:400;min-height:44px; }
.cv-studio-workspace .ng-check input { margin:2px 0 0;accent-color:var(--cv-accent); }
.cv-studio-workspace .cv-file-pick input { padding:6px;font-size:13px;cursor:pointer; }
.cv-studio-workspace input::file-selector-button { border:0;border-radius:9px;padding:9px 12px;margin-right:10px;background:var(--cv-inset);color:var(--cv-accent);font-weight:700;cursor:pointer; }
.cv-studio-workspace details { padding:8px 0; }
.cv-studio-workspace summary { cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;font-size:14px; }
.cv-studio-workspace .cv-media-disclosure { margin:12px 0;padding:0 14px;border-radius:12px;background:var(--cv-inset); }
.cv-studio-workspace .cv-media-disclosure > summary { padding:12px 0; }
.cv-studio-workspace .cv-card-body .cv-section-card { padding:12px 0;border:0;border-radius:0;box-shadow:none; }
.cv-studio-workspace .cv-advanced { border-top:1px solid var(--cv-line);margin-top:14px; }
.cv-studio-workspace button { margin:4px 8px 4px 0;padding:10px 14px;border-radius:12px;background:var(--cv-panel);border-color:var(--cv-line);min-height:44px; }
.cv-studio-workspace button.ng-primary { width:auto;display:inline-block;margin:10px 8px 4px 0;background:var(--cv-accent);color:var(--cv-panel);font-weight:700;border:1px solid var(--cv-accent); }
.cv-studio-workspace .cv-length-chips { display:flex;gap:8px;flex-wrap:wrap; }
.cv-studio-workspace .cv-length-chip { margin:0;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700; }
.cv-studio-workspace .cv-length-chip[aria-pressed=true] { background:var(--cv-accent);color:var(--cv-panel);border-color:var(--cv-accent); }
.cv-studio-workspace .cv-footage-row { display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0; }
.cv-studio-workspace .cv-footage-row > strong { display:block;flex-basis:100%; }
.cv-studio-workspace .cv-footage-row > small { flex-basis:100%; }
.cv-studio-workspace .cv-board-head { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px; }
.cv-studio-workspace .cv-board-head h4 { font:700 17px var(--pt-serif,Georgia,serif);margin:0; }
.cv-studio-workspace .cv-board-icon { display:grid;place-items:center;flex:none;width:40px;height:48px;border-radius:10px;background:var(--cv-inset);color:var(--cv-accent); }
.cv-studio-workspace .cv-board-icon svg { width:24px;height:24px; }
.cv-studio-workspace .cv-scene-time { color:var(--cv-muted);font-size:12px;font-variant-numeric:tabular-nums; }
.cv-studio-workspace .cv-pill { display:inline-block;padding:3px 9px;border:1px solid var(--cv-line);border-radius:999px;font-size:11px;color:var(--cv-accent); }
.cv-studio-workspace .cv-board-head .cv-pill { margin-left:auto; }
.cv-studio-workspace .cv-scene .cv-field textarea { min-height:76px; }
.cv-studio-workspace .cv-scene .cv-actions { display:inline-flex;gap:0; }
.cv-studio-workspace .cv-scene .cv-actions button,.cv-studio-workspace [data-scene-approval] { padding:8px 11px;font-size:13px;min-height:44px; }
.cv-studio-workspace .cv-scene[data-plan-state=approved] { background:color-mix(in srgb,var(--cv-inset) 40%,var(--cv-panel)); }
.cv-studio-workspace progress { width:100%;height:8px;accent-color:var(--cv-accent);border:0; }
.cv-studio-workspace .cv-active-scene > h4 { font:700 20px var(--pt-serif,Georgia,serif);margin:0 0 16px; }
.cv-studio-workspace .cv-scene-layout { display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;align-items:start; }
.cv-studio-workspace .cv-scene-media { min-width:0; }
.cv-studio-workspace .cv-scene-media .ng-media { width:100%;max-height:60dvh;aspect-ratio:9/16;object-fit:contain;border-radius:16px;background:#0a1016;margin:8px 0; }
.cv-studio-workspace .cv-preview-note { font-size:12px;color:var(--cv-muted);margin:0 0 8px; }
.cv-studio-workspace .cv-scene-side > p { margin:0 0 14px; }
.cv-studio-workspace .cv-scene-side > small { margin:14px 0; }
.cv-studio-workspace .cv-scene-row { display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--cv-line);font-size:13px; }
.cv-studio-workspace .cv-scene-row > span:nth-child(2) { flex:1;min-width:0; }
.cv-studio-workspace .cv-scene-row > span:nth-child(2) { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.cv-studio-workspace .cv-row-number { color:var(--cv-muted);width:20px;flex:none; }
.cv-studio-workspace .cv-scene-row button { font-size:13px;margin:0;padding:8px;min-height:44px; }
.cv-studio-workspace .cv-scene-row[data-current=true] { background:var(--cv-inset);border-radius:10px;padding-inline:8px; }
.cv-studio-workspace .cv-edit-grid,.cv-studio-workspace .cv-reference-layout { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start; }
.cv-studio-workspace .cv-reference-media img.ng-media { width:100%;max-height:55dvh;border-radius:16px;object-fit:contain;background:var(--cv-inset); }
.cv-studio-workspace .cv-finished-layout { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start; }
.cv-studio-workspace .cv-finished-preview video { width:100%;aspect-ratio:9/16;max-height:62dvh;object-fit:contain;border-radius:16px;margin:8px 0;background:#0a1016; }
.cv-studio-workspace .cv-empty-preview { display:grid;place-content:center;justify-items:center;aspect-ratio:9/16;border-radius:16px;background:var(--cv-inset);color:var(--cv-muted);font-size:13px;text-align:center;padding:16px; }
.cv-studio-workspace .cv-empty-preview svg { width:44px;height:44px; }
.cv-studio-workspace .cv-nextbar { position:sticky;bottom:0;z-index:3;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin-inline:-24px;padding:14px 24px max(12px,env(safe-area-inset-bottom));background:var(--cv-panel);border-top:1px solid var(--cv-line);box-shadow:0 -8px 24px #0000000a; }
.cv-studio-workspace .cv-footer-info { min-width:0;align-self:center; }
.cv-studio-workspace .cv-footer-kicker { display:block;font-size:11px;color:var(--cv-muted); }
.cv-studio-workspace .cv-footer-summary { font-size:14px; }
.cv-studio-workspace .cv-cost-estimate { grid-column:1/-1;padding:12px 14px;border:2px solid var(--cv-line);border-left:4px solid var(--cv-accent);border-radius:12px;background:var(--cv-inset);color:var(--cv-ink);font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:normal;font-weight:600; }
.cv-studio-workspace .cv-estimate-state { display:block;font-size:13px;color:var(--cv-muted);font-weight:600; }
.cv-studio-workspace .cv-estimate-metrics { display:flex;gap:8px 18px;flex-wrap:wrap;margin:4px 0;font-weight:750; }
.cv-studio-workspace .cv-estimate-policy { display:block;font-size:13px;color:var(--cv-muted);font-weight:400; }
.cv-studio-workspace .cv-quote-price { display:block;font-size:20px;color:var(--cv-accent); }
.cv-studio-workspace .cv-quote-review p,.cv-studio-workspace .cv-scene-generation p{font-size:14px;line-height:1.45;margin:8px 0;}
.cv-studio-workspace .cv-quote-review .cv-quote-price{margin-bottom:10px;line-height:1.3;}
.cv-studio-workspace .cv-quote-review .ng-check{margin:8px 0;}
.cv-studio-workspace .cv-next-plan { border-left:4px solid var(--cv-accent); }
@media(min-width:821px) and (max-width:1100px){
  .cv-studio-workspace .cv-scene-layout,.cv-studio-workspace .cv-finished-layout{grid-template-columns:minmax(0,1fr);}
  .cv-studio-workspace .cv-scene-media{width:min(100%,300px);margin-inline:auto;}
  .cv-studio-workspace .cv-nextbar{position:static;}
}
.cv-studio-workspace .cv-plan-progress { font-weight:700;color:var(--cv-accent); }
.cv-studio-workspace .cv-song-sections { display:flex;gap:6px;flex-wrap:wrap;margin:10px 0; }
.cv-studio-workspace .cv-song-sections button { width:auto!important;min-height:42px;font-size:12px; }
.cv-studio-workspace .cv-song-timeline { position:relative;height:110px;margin:16px 0 12px;border:1px solid var(--cv-line);border-radius:14px;background:var(--cv-inset);overflow:hidden; }
.cv-studio-workspace .cv-song-part { position:absolute;top:10px;height:64px;margin:0;padding:6px!important;min-width:0!important;min-height:0!important;border-radius:9px;border:2px solid var(--part-color,#8a84a8);background:color-mix(in srgb,var(--part-color,#8a84a8) 25%,var(--cv-panel));text-align:left;overflow:hidden;font-size:12px; }
.cv-studio-workspace [data-part=Verse] { --part-color:#ce396b; }
.cv-studio-workspace [data-part=Chorus] { --part-color:#cb751b; }
.cv-studio-workspace [data-part=Bridge] { --part-color:#8353c3; }
.cv-studio-workspace [data-part=Instrumental] { --part-color:#297bbe; }
.cv-studio-workspace [data-part=Outro] { --part-color:#7b748f; }
.cv-studio-workspace .cv-song-window { position:absolute;top:4px;height:78px;border:3px solid var(--cv-accent);border-radius:11px;background:color-mix(in srgb,var(--cv-accent) 14%,transparent);pointer-events:none;box-sizing:border-box; }
.cv-studio-workspace .cv-song-playhead { position:absolute;top:0;bottom:23px;border-left:2px solid var(--cv-ink);pointer-events:none; }
.cv-studio-workspace .cv-song-ticks { position:absolute;bottom:4px;left:5px;right:5px;display:flex;justify-content:space-between;font-size:12px;font-variant-numeric:tabular-nums; }
.cv-studio-workspace .cv-song-mark-button { border:2px solid var(--part-color,#8a84a8);font-weight:700; }
.cv-studio-workspace .cv-song-mark-row { display:inline-flex;align-items:center;margin-right:8px; }
.cv-studio-workspace .cv-song-mark-row button:last-child { font-size:13px;min-height:44px;padding:8px; }
.cv-studio-workspace .cv-lyric-reference { white-space:pre-line;font-size:13px;color:var(--cv-muted);max-height:250px;overflow:auto; }
.cv-studio-workspace .cv-footer-actions { display:flex;gap:8px;align-items:center;justify-content:flex-end; }
.cv-studio-workspace .cv-footer-actions button { margin:0;white-space:nowrap; }
.cv-studio-workspace .cv-footer-actions .cv-next-action { margin:0;padding:11px 20px;min-height:46px; }
.cv-studio-workspace #ngStatus { grid-column:1/-1;margin:0;font-size:13px;line-height:1.5;min-height:0; }
.cv-studio-workspace #ngStatus:not(:empty) { padding:12px 14px;border-radius:12px;background:var(--cv-inset);border-left:3px solid var(--cv-accent); }
.cv-studio-workspace .cv-project-card h4 { margin:0 0 10px;font:700 21px/1.3 var(--pt-serif,Georgia,serif); }
.cv-studio-workspace .cv-project-card button:not(.ng-primary) { background:transparent;color:var(--cv-muted); }
.cv-studio-workspace #ngStatus:empty { display:none; }
.cv-studio-workspace .cv-collection .cv-stage { grid-column:1/-1; }
.cv-studio-workspace .cv-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media (max-width:820px) {
  .ng-workspace.cv-studio-workspace { width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:22px; }
  .ng-workspace.cv-studio-workspace{scroll-padding-top:144px;}
  .cv-studio-workspace > header { display:grid;grid-template-columns:minmax(0,1fr) 44px;padding:12px 16px;gap:6px 8px; }
  .cv-studio-workspace > header > div:first-child { grid-column:1;grid-row:1; }
  .cv-studio-workspace #ngClose { grid-column:2;grid-row:1;align-self:start; }
  .cv-studio-workspace .cv-header-tools { grid-column:1/-1;grid-row:2;justify-content:flex-start; }
  .cv-studio-workspace .cv-header-tools button { min-height:44px;padding:7px 10px;font-size:13px; }
  .cv-studio-workspace > header h2 { font-size:20px; }
  .cv-studio-workspace .cv-save-state { display:inline;font-size:13px; }
  .cv-studio-workspace #ngBalance { padding:10px 16px;font-size:13px; }
  .cv-studio-workspace .cv-workflow { grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 16px 0; }
  .cv-studio-workspace .cv-stage-rail { position:static;padding:6px;border-radius:16px;overflow-x:auto;scrollbar-width:none; }
  .cv-studio-workspace .cv-progress { flex-direction:row;flex-wrap:nowrap;width:max-content; }
  .cv-studio-workspace .cv-stage-link { width:auto;white-space:nowrap;padding:7px 9px;gap:7px;font-size:12px; }
  .cv-studio-workspace .cv-stage { padding:20px 16px;border-radius:22px; }
  .cv-studio-workspace .cv-source-tiles { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .cv-studio-workspace .cv-section-card,.cv-studio-workspace .ng-card { padding:14px; }
  .cv-studio-workspace .cv-scene-layout,.cv-studio-workspace .cv-reference-layout,.cv-studio-workspace .cv-edit-grid,.cv-studio-workspace .cv-finished-layout { grid-template-columns:minmax(0,1fr); }
  .cv-studio-workspace .cv-scene-media,.cv-studio-workspace .cv-finished-preview { width:min(100%,300px);margin-inline:auto; }
  .cv-studio-workspace .cv-scene-row { flex-wrap:wrap; }
  .cv-studio-workspace .cv-scene-row button { width:auto!important; }
  .cv-studio-workspace .cv-nextbar { position:static;margin-inline:-16px;padding-inline:16px;gap:6px 10px; }
  .cv-studio-workspace .cv-quote-review{padding:16px;}
  .cv-studio-workspace .cv-quote-review p{font-size:13px;}
  .cv-studio-workspace .cv-footer-actions .cv-next-action { padding:10px 12px;font-size:13px;white-space:normal;max-width:190px; }
  .cv-studio-workspace .cv-footer-actions > button:not(.cv-next-action) { padding-inline:8px;font-size:12px; }
}
@media(max-height:600px){
  .cv-studio-workspace > header,.cv-studio-workspace .cv-stage-rail,.cv-studio-workspace .cv-nextbar{position:static;}
  .ng-workspace.cv-studio-workspace{scroll-padding-block:16px;}
}
@media(max-height:600px) and (max-width:1100px){
  .cv-studio-workspace .cv-workflow{grid-template-columns:minmax(0,1fr);}
  .cv-studio-workspace .cv-stage-rail{overflow-x:auto;}
  .cv-studio-workspace .cv-progress{flex-direction:row;width:max-content;}
  .cv-studio-workspace .cv-stage-link{width:auto;white-space:nowrap;}
}
@media (max-width:380px) {
  .cv-studio-workspace .cv-header-tools { gap:4px; }
  .cv-studio-workspace .cv-header-tools button { padding-inline:7px; }
  .cv-studio-workspace .cv-workflow { padding-inline:10px; }
  .cv-studio-workspace .cv-nextbar { margin-inline:-10px;padding-inline:10px; }
  .cv-studio-workspace .cv-footer-summary { font-size:12px; }
  .cv-studio-workspace .cv-footer-actions { gap:4px; }
  .cv-studio-workspace .cv-source-tile { padding:13px 10px; }
  .cv-studio-workspace .cv-board-head .cv-pill { margin-left:0; }
}
@media (forced-colors:active) {
  .cv-studio-workspace .cv-source-tile:has(input:checked),.cv-studio-workspace .cv-stage-link[aria-current=step] { outline:2px solid Highlight; }
  .cv-studio-workspace .cv-source-check { color:CanvasText!important;background:Canvas!important;border-color:CanvasText; }
  .cv-studio-workspace .cv-workflow::before { display:none; }
}
.cv-story-summary { padding: 1rem; border-left: 4px solid var(--pt-accent, #3434b0); background: var(--pt-surface, #f2f3ff); line-height: 1.6; }
.cv-cost-records { font-size: .8rem; max-width: min(32rem, 85vw); }
.cv-cost-records[open] { max-height: 14rem; overflow: auto; }
.cv-cost-records summary { cursor: pointer; }
.cv-story-quote { margin-top: 1rem; }
.cv-scene-activity { display:inline-flex; align-items:center; gap:.5rem; }
.cv-activity-ring { width:.8rem; height:.8rem; border:2px solid currentColor; border-radius:50%; opacity:.65; flex:none; }
.cv-activity-working { border-right-color:transparent; animation:cv-progress-turn 1.1s linear infinite; }
.cv-batch-summary { font-variant-numeric:tabular-nums; }
@keyframes cv-progress-turn { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .cv-activity-working { animation:none; border-style:dotted; } }
.cv-card-preview-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-block:1rem; }
.cv-card-previews img { display:block; max-width:100%; max-height:28rem; width:auto; margin:auto; border-radius:1rem; object-fit:contain; }
.cv-card-previews p { font-weight:600; }
.pt-home-song-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;padding:14px;border:1px solid var(--border-color,#e2d8c7);border-radius:18px;background:var(--panel-bg,#fffdf8)}
.pt-home-song-controls[hidden]{display:none}
.cv-buddy-story{margin-block:1rem;padding:1rem;border:1px solid var(--border-color,#decfae);border-radius:18px;background:var(--panel-bg,#fffaf0)}
.cv-buddy-story>summary{cursor:pointer;font-weight:700;color:var(--pt-accent,#53402b)}
.cv-buddy-story>p,.cv-buddy-output>p{line-height:1.55}
.cv-buddy-output{margin-block:1rem}.cv-buddy-output textarea{min-height:8rem}
.cv-buddy-scene{padding:.65rem;margin-block:.5rem;border:1px solid var(--border-color,#decfae);border-radius:12px}
.cv-buddy-scene summary{cursor:pointer;font-weight:600}.cv-buddy-scene textarea{min-height:5rem}
.cv-studio-workspace :is(button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cv-accent);outline-offset:3px}
.cv-studio-workspace .cv-uploaded-photo{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:12px 0;min-width:0}
.cv-studio-workspace .cv-uploaded-photo>small,.cv-studio-workspace .cv-uploaded-photo>p{flex-basis:100%;margin:0}
.cv-studio-workspace .cv-photo-thumbnail{display:block;width:160px;height:112px;max-width:100%;object-fit:contain;background:var(--cv-inset);border:1px solid var(--cv-line);border-radius:12px}
.cv-studio-workspace .cv-photo-enlarged .cv-photo-thumbnail{width:100%;height:auto;max-height:380px}
.cv-studio-workspace .cv-photo-row{min-width:0;overflow-wrap:anywhere}
.cv-studio-workspace .cv-capability-row{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--cv-line);border-radius:12px;margin:14px 0;background:var(--cv-inset)}

.cv-studio-workspace .cv-source-radios{display:flex;gap:12px;padding:12px;border:0;margin-bottom:18px;flex-wrap:wrap}.cv-studio-workspace .cv-source-option{display:flex;align-items:center;gap:8px;flex:1;min-width:110px;padding:14px;border:1px solid var(--cv-line);border-radius:12px;cursor:pointer}.cv-studio-workspace .cv-source-option:has(input:checked){background:var(--cv-inset);border-color:var(--cv-accent)}.cv-studio-workspace .cv-dropzone{padding:24px;border:1px dashed var(--cv-accent);border-radius:12px;text-align:center;color:var(--cv-muted);margin-top:12px}.cv-studio-workspace .cv-drag-over{outline:2px solid var(--cv-accent)}.cv-studio-workspace .cv-appearance-guidance{padding:16px;background:var(--cv-inset);border-radius:14px;margin:16px 0}.cv-studio-workspace .cv-image-suggestions{display:flex;gap:8px;flex-wrap:wrap}.cv-studio-workspace .cv-plan-summary{padding:12px;background:var(--cv-inset);border-radius:12px}.cv-studio-workspace .cv-file-pick{border-radius:14px;padding:16px;border:1px solid var(--cv-line)}

.cv-studio-workspace .cv-source-option input[type=radio]{width:20px;height:20px;padding:0;margin:0;flex:none}.cv-studio-workspace .cv-source-option{min-width:0}.cv-studio-workspace .cv-source-option span{overflow-wrap:anywhere}.cv-studio-workspace .cv-appearance-guidance,.cv-studio-workspace .cv-media-coverage,.cv-studio-workspace .cv-clip-trim{min-width:0;max-width:100%;box-sizing:border-box}.cv-studio-workspace .cv-dropzone{overflow-wrap:anywhere}.cv-studio-workspace .cv-source-radios{min-inline-size:0;box-sizing:border-box;max-width:100%}.cv-studio-workspace .cv-file-pick input[type=file]{width:100%;min-width:0}.cv-studio-workspace .cv-song-part{min-width:0;padding:4px;margin:0;font-size:11px;overflow:hidden;white-space:nowrap}.cv-studio-workspace .cv-music-choices{display:flex;gap:8px}.cv-studio-workspace .cv-music-choices button{flex:1}.cv-studio-workspace .ng-check{border:1px solid var(--cv-line);border-radius:12px;padding:12px;background:var(--cv-inset)}

.cv-studio-workspace .ng-kicker,.cv-studio-workspace .cv-eyebrow,.cv-studio-workspace #cv-stage-heading{display:none}.cv-studio-workspace .cv-pricing-info{font-size:13px}.cv-studio-workspace .cv-field{min-width:0;max-width:100%;box-sizing:border-box}.cv-studio-workspace .cv-field textarea{width:100%;min-width:0}.cv-studio-workspace .cv-source-radios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cv-studio-workspace .cv-source-option{font-size:14px;gap:6px;padding:10px 6px;white-space:nowrap}.cv-studio-workspace .cv-source-option span{overflow-wrap:normal}
.cv-studio-workspace{container-type:inline-size}
@container (max-width:820px){
 .cv-studio-workspace .cv-workflow{grid-template-columns:minmax(0,1fr)}
 .cv-studio-workspace .cv-stage-rail{position:static;overflow-x:auto}
 .cv-studio-workspace .cv-progress{flex-direction:row;width:max-content;flex-wrap:nowrap}
 .cv-studio-workspace .cv-stage-link{width:auto;white-space:nowrap}
}
@container (max-width:480px){
 .cv-studio-workspace .cv-source-option{flex-direction:column;font-size:12px;padding:8px 2px}
 .cv-studio-workspace .cv-field:has([data-microphone]) :is(input,textarea){padding-right:12px}
 .cv-studio-workspace .cv-field [data-microphone]{position:static;display:block;margin:8px 0}
}

/* Compact, source-aware video setup. */
.cv-studio-workspace .cv-quiet-footer .cv-footer-info,.cv-studio-workspace .cv-quiet-footer .cv-cost-estimate{display:none}
.cv-studio-workspace .cv-quiet-footer{position:static;min-height:0;padding:8px 16px;background:transparent;border-top:0}
.cv-studio-workspace .cv-library-choice[hidden],.cv-studio-workspace .cv-upload-choice[hidden],.cv-studio-workspace #cv-song-matches[hidden]{display:none!important}
.cv-studio-workspace .cv-music-choices{border:0;padding:0;margin:0 0 12px;min-inline-size:0;display:flex;gap:12px}
.cv-studio-workspace .cv-music-choices legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cv-studio-workspace .cv-music-option{display:flex;align-items:center;gap:8px;flex:1;border:2px solid var(--cv-line);border-radius:12px;padding:12px;font-weight:700}
.cv-studio-workspace .cv-music-option:has(:checked){border-color:var(--cv-accent);background:var(--cv-inset)}
.cv-studio-workspace .cv-music-option input{width:20px;height:20px;margin:0;padding:0}
.cv-studio-workspace .cv-library-choice{position:relative}.cv-studio-workspace #cv-song-search{width:100%;box-sizing:border-box;min-height:48px;border:2px solid var(--cv-line);border-radius:12px;padding:12px;font:inherit;background:var(--cv-inset);color:var(--cv-ink)}
.cv-studio-workspace #cv-song-matches{max-height:230px;overflow:auto;border:1px solid var(--cv-line);border-radius:12px;background:var(--cv-panel);padding:4px}
.cv-studio-workspace #cv-song-matches button{display:block;width:100%;text-align:left;margin:0;border:0;min-height:44px;border-radius:8px}
.cv-studio-workspace .cv-source-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}
.cv-studio-workspace .cv-source-media>h4{grid-column:1/-1;margin:0}.cv-studio-workspace .cv-source-media .cv-section-card{border:0;padding:8px;margin:0}
.cv-studio-workspace .cv-plan-summary>p{margin:6px 0}.cv-studio-workspace .cv-estimate-help{font-size:13px;margin-top:6px}
.cv-studio-workspace .cv-context-note{font-size:13px;color:var(--cv-muted);line-height:1.5}
.cv-studio-workspace .cv-resolution-choices{display:flex;gap:8px}.cv-studio-workspace .cv-song-meaning{font-size:14px;line-height:1.5}

.cv-studio-workspace .cv-format-options button[aria-pressed="true"]{background:var(--cv-accent)!important;color:var(--cv-panel)!important;border-color:var(--cv-accent)!important;font-weight:700;}

/* Keep setup choices distinct without changing wrapped button gaps. */
.cv-studio-workspace [data-workspace-card="length"] .cv-card-body > .cv-format-options{display:grid;gap:14px;margin-block:14px;}
/* Explicit video starting choices, scoped to this workspace. */
.cv-unified-workspace .cv-starting-choices,.cv-unified-workspace .cv-story-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0;border:0;margin:0 0 14px;min-width:0}
.cv-unified-workspace .cv-starting-choices legend,.cv-unified-workspace .cv-story-visuals legend{font-weight:700;padding:0 0 8px}
.cv-unified-workspace .cv-starting-option{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--cv-line);border-radius:12px;min-width:0;min-height:48px;cursor:pointer;margin:0}
.cv-unified-workspace .cv-starting-option:has(input:checked){background:var(--cv-ink);color:var(--cv-panel)!important;border-color:var(--cv-ink)}
.cv-unified-workspace .cv-starting-option:has(input:checked)>span{color:var(--cv-panel)!important}
.cv-unified-workspace .cv-starting-option input{width:auto;flex:0 0 auto;margin:0}
.cv-unified-workspace .cv-story-visuals{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:600px){.cv-unified-workspace .cv-starting-choices,.cv-unified-workspace .cv-story-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cv-unified-workspace .cv-source-media[hidden],.cv-unified-workspace [data-start-media][hidden]{display:none!important}

/* Original and generated media share the same responsive review surface. */
.cv-studio-workspace .cv-scene-source-preview{border:1px solid var(--cv-line);border-radius:12px;padding:12px;margin-block:10px;min-width:0}
.cv-studio-workspace .cv-scene-source-preview h5{margin:0 0 8px}.cv-studio-workspace .cv-owned-video-preview video{display:block;width:100%;max-height:280px;background:#111;border-radius:12px}
.cv-studio-workspace .cv-scene-media:has(.cv-scene-source-preview){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:600px){.cv-studio-workspace .cv-scene-media:has(.cv-scene-source-preview){grid-template-columns:1fr}}

/* Per-scene source/result workspace: media dimensions remain bounded. */
.cv-studio-workspace .cv-card-preview-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin:12px 0}
.cv-studio-workspace .cv-card-preview-pair.cv-card-result-only,.cv-five-screen .cv-card-preview-pair.cv-card-result-only{grid-template-columns:minmax(0,1fr)}
.cv-studio-workspace .cv-card-preview-pair>section{min-width:0;padding:12px;border:1px solid var(--cv-line);border-radius:12px}
.cv-studio-workspace .cv-card-preview-pair img,.cv-studio-workspace .cv-card-preview-pair video{display:block;width:100%;max-height:230px;object-fit:contain;margin:8px 0;background:var(--cv-inset)}
.cv-studio-workspace .cv-card-preview-pair .cv-photo-thumbnail{max-height:230px!important}
.cv-studio-workspace .cv-scene-work-card{margin-block:16px}.cv-studio-workspace .cv-scene-work-card>h4{margin-bottom:4px}
.cv-studio-workspace .cv-scene-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}
.cv-studio-workspace .cv-scene-source-actions button{flex:1 1 130px;min-height:44px}
.cv-studio-workspace .cv-scene-still-controls textarea{min-height:110px}.cv-studio-workspace .cv-scene-picker:empty{display:none}
.cv-studio-workspace .cv-card-preview-pair .cv-scene-source-preview{border:0;padding:0;margin:0}
@media(max-width:600px){.cv-studio-workspace .cv-card-preview-pair{gap:8px}.cv-studio-workspace .cv-card-preview-pair>section{padding:8px}.cv-studio-workspace .cv-card-preview-pair img,.cv-studio-workspace .cv-card-preview-pair video{max-height:160px}.cv-studio-workspace .cv-card-preview-pair .cv-actions{display:grid;gap:6px}.cv-studio-workspace .cv-card-preview-pair button{width:100%;min-width:0;white-space:normal}}

.cv-studio-workspace .cv-scene-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cv-studio-workspace .cv-scene-source-actions button{margin:0;min-width:0;white-space:normal}

.cv-studio-workspace .cv-scene-selector{display:flex;gap:8px;overflow:auto;padding:8px 0;margin-bottom:12px}.cv-studio-workspace .cv-scene-selector button{flex:0 0 auto;min-width:74px}.cv-studio-workspace .cv-scene-selector button[aria-pressed="true"]{background:var(--cv-accent,#ac351d)!important;color:white!important}.cv-studio-workspace .cv-project-card{margin:6px 0}.cv-studio-workspace .cv-project-choice{width:100%;text-align:left}.cv-studio-workspace .cv-project-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}.cv-studio-workspace .cv-project-card .cv-project-progress{grid-column:1;color:var(--cv-muted);font-size:13px}.cv-studio-workspace .cv-project-card .cv-project-delete{grid-column:2;grid-row:1 / span 2;color:#a12c1c}.cv-studio-workspace .cv-project-bulk-delete{margin-block:8px 12px}

/* Preserve scene-action spacing across the app's compact-button themes. */
.cv-studio-workspace .cv-scene-work-card .cv-actions.cv-scene-source-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
.cv-studio-workspace .cv-scene-work-card .cv-actions.cv-scene-source-actions>button{margin:0!important;min-width:0!important;white-space:normal!important;width:100%!important}
@media(min-width:700px){.cv-studio-workspace .cv-scene-work-card .cv-actions.cv-scene-source-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}}

/* Five-screen studio: theme-aware, full-window, with one primary next action. */
.ng-workspace.cv-studio-workspace:has(.cv-five-screen) { width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0;inset:0;font-size:16px; }
.cv-studio-workspace .cv-five-screen { max-width:1360px;margin:auto;grid-template-columns:minmax(0,1fr) 330px;gap:24px;padding:20px 24px 0; }
.cv-studio-workspace .cv-five-screen::before { display:none; }
.cv-five-screen .cv-stage-rail { grid-column:1/-1;position:static;border:0;background:transparent;padding:0; }
.cv-five-screen .cv-progress { flex-direction:row;justify-content:center;gap:10px;flex-wrap:wrap; }
.cv-five-screen .cv-stage-link { padding:10px 14px;width:auto;border:1px solid var(--cv-line);border-radius:999px;min-height:44px; }
.cv-five-screen .cv-stage-link[aria-current=step] { background:var(--cv-accent);color:var(--cv-panel); }
.cv-five-screen .cv-stage-link[aria-current=step] .cv-stage-number { border-color:currentColor; }
.cv-five-screen .cv-stage { grid-column:1;grid-row:2;border:0;border-radius:20px;padding:26px;box-shadow:0 5px 24px #0000000a; }
.cv-five-screen .cv-eyebrow { display:none; }
.cv-five-screen #cv-stage-heading { margin-bottom:24px;font-family:Fraunces,var(--pt-serif,Georgia,serif);font-weight:600;font-size:34px; }
.cv-five-screen .cv-section-card { border:0;background:var(--cv-panel);padding:0;margin:24px 0; }
.cv-five-screen .cv-section-card h4 { font:600 22px/1.3 Fraunces,var(--pt-serif,Georgia,serif);margin-bottom:16px; }
.cv-five-screen .cv-nextbar { grid-column:1/-1;grid-row:3;position:sticky;bottom:0;z-index:5;margin:0 -24px;padding:14px 24px;background:var(--cv-chrome);border-top:1px solid var(--cv-line);display:flex;align-items:center;gap:16px; }
.cv-five-screen .cv-nextbar .cv-footer-info { display:none; }
.cv-five-screen .cv-nextbar .cv-footer-actions { display:flex;gap:12px;flex:1;justify-content:space-between; }
.cv-five-screen .cv-nextbar .cv-cost-estimate:empty,.cv-five-screen #ngStatus:empty { display:none; }
.cv-five-screen .cv-nextbar .cv-cost-estimate { font-size:14px; }
.cv-five-screen :is(button,input,select) { min-height:44px; }
.cv-five-screen button { border-radius:12px; }
.cv-five-screen .ng-primary { min-height:48px; }
.cv-five-screen .cv-length-chips,.cv-five-screen .cv-format-options { gap:12px;margin:16px 0; }
.cv-five-screen .cv-studio-preview { grid-column:2;grid-row:2;position:sticky;top:105px;padding:22px;border-radius:20px;background:var(--cv-panel);box-shadow:0 5px 24px #0000000a; }
.cv-five-screen .cv-studio-preview h4 { font:600 22px Fraunces,var(--pt-serif,Georgia,serif);margin:18px 0 12px;overflow-wrap:anywhere; }
.cv-five-screen .cv-studio-preview p { color:var(--cv-muted);font-size:14px; }
.cv-five-screen .cv-plan-art { display:grid;place-items:center;aspect-ratio:16/9;background:var(--cv-inset);border-radius:14px;color:var(--cv-accent); }
.cv-five-screen .cv-plan-art svg { width:52px;height:52px; }
.cv-five-screen .cv-plan-summary { padding:16px;border-radius:14px;font-size:15px; }
.cv-five-screen .cv-plan-summary p { margin:8px 0 0; }
.cv-five-screen .cv-style-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.cv-five-screen .cv-style-choices button { min-height:70px;background:var(--cv-inset);color:var(--cv-ink); }
.cv-five-screen .cv-style-choices button[aria-pressed=true] { background:var(--cv-accent);color:var(--cv-panel);border-color:var(--cv-accent); }
.cv-five-screen .cv-character-photo { max-width:260px;border-radius:14px;overflow:hidden; }
.cv-five-screen .cv-character-photo img { display:block;width:100%;max-height:260px;object-fit:contain; }
.cv-five-screen .cv-scene-selector { display:flex;overflow-x:auto;flex-wrap:nowrap;gap:12px;padding:10px 0 18px;max-height:none; }
.cv-five-screen .cv-scene-selector button { display:flex;flex-direction:column;gap:6px;flex:0 0 112px;padding:8px;border-radius:14px;white-space:normal; }
.cv-five-screen .cv-scene-selector button small { font-size:12px; }
.cv-five-screen .cv-scene-selector button[aria-pressed=true] { outline:2px solid var(--cv-accent);outline-offset:1px; }
.cv-five-screen .cv-filmstrip-thumb { display:grid;place-items:center;aspect-ratio:16/9;width:100%;border-radius:8px;overflow:hidden;background:var(--cv-inset);color:var(--cv-accent); }
.cv-five-screen .cv-filmstrip-thumb :is(img,video) { margin:0!important;width:100%;height:64px;object-fit:cover; }
.cv-five-screen .cv-filmstrip-thumb svg { width:28px;height:28px; }
.cv-five-screen .cv-filmstrip-thumb button { display:none; }
.cv-five-screen .cv-scene-work-card { padding:20px;border:0;box-shadow:0 4px 18px #00000008;border-radius:20px; }
.cv-five-screen .cv-card-preview-pair { gap:18px; }
.cv-five-screen .cv-scene-source-actions { display:flex;flex-wrap:wrap;gap:12px; }
.cv-five-screen .cv-story-beat { margin:12px 0;padding:16px;background:var(--cv-inset);border-radius:14px; }
.cv-five-screen .cv-collection { grid-column:1/-1; }
@media(max-width:900px){.cv-studio-workspace .cv-five-screen{grid-template-columns:minmax(0,1fr) 270px;padding:16px;gap:16px;}.cv-five-screen .cv-stage{padding:20px;}.cv-five-screen .cv-nextbar{margin:0 -16px;padding:12px 16px;}.cv-five-screen .cv-stage-link{padding:8px 10px;font-size:13px;}}
@media(max-width:600px){.cv-studio-workspace .cv-five-screen{display:flex;flex-direction:column;padding:12px;gap:12px;}.cv-five-screen .cv-stage-rail{width:100%;overflow-x:auto;}.cv-five-screen .cv-progress{flex-wrap:nowrap;justify-content:flex-start;width:max-content;}.cv-five-screen .cv-stage{width:100%;box-sizing:border-box;padding:18px;}.cv-five-screen #cv-stage-heading{font-size:28px;}.cv-five-screen .cv-studio-preview{position:static;width:100%;box-sizing:border-box;}.cv-five-screen .cv-plan-art,.cv-five-screen .cv-preview-story{display:none;}.cv-five-screen .cv-nextbar{width:calc(100% + 24px);box-sizing:border-box;margin:0 -12px;padding:12px;flex-wrap:wrap;}.cv-five-screen .cv-nextbar .cv-footer-actions{flex-basis:100%;}.cv-five-screen .cv-nextbar #ngStatus{margin:0;}.cv-five-screen .cv-card-preview-pair{grid-template-columns:1fr 1fr;gap:10px;}.cv-five-screen .cv-card-preview-pair h5{font-size:14px;}}
.cv-five-screen .cv-scene-activity:has(progress) { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.cv-five-screen .cv-scene-activity progress { flex-basis:100%;height:5px;width:100%;accent-color:var(--cv-accent); }
.cv-studio-workspace .cv-five-screen #cv-stage-heading { display:block; }
.ng-workspace.cv-studio-workspace:has(.cv-five-screen) > #ngBalance { display:none; }
.cv-five-screen .cv-scene-selector button[aria-pressed=true] small { color:inherit; }
.cv-five-screen .cv-finish-scene-preview :is(video,img) { max-height:300px;width:100%;object-fit:contain;border-radius:14px; }
.cv-five-screen .cv-song-waveform { position:absolute;inset:0;width:100%;height:calc(100% - 24px);opacity:.45;pointer-events:none; }
.cv-five-screen.cv-collection .cv-stage { grid-column:1/-1;grid-row:1; }
/* Labels keep their own width (never broken mid-word); the amounts wrap between words. */
.cv-five-screen .cv-cost-items { display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;font-size:14px;margin:14px 0; }
.cv-five-screen .cv-cost-items :is(dt,dd) { margin:0;overflow-wrap:normal;word-break:normal; }
.cv-five-screen .cv-cost-items dt { white-space:nowrap; }
.cv-five-screen .cv-cost-items dd { text-align:right;color:var(--cv-muted); }
.cv-five-screen .cv-preview-title-card { aspect-ratio:16/9;display:grid;place-items:center;white-space:pre-line;padding:24px;border-radius:14px;background:var(--cv-inset);font:600 28px Fraunces,Georgia,serif;text-align:center; }
.cv-five-screen .cv-preparation-progress:empty { display:none; }
.cv-five-screen .cv-style-choices button { display:flex;flex-direction:column;gap:12px;justify-content:flex-end;min-height:140px;text-align:left;background:linear-gradient(135deg,#a49478,#334e55);color:white; }
.cv-five-screen .cv-style-choices button:nth-child(2) { background:linear-gradient(135deg,#ffbf83,#bf5776); }
.cv-five-screen .cv-style-choices button:nth-child(3) { background:linear-gradient(135deg,#c6ac7c,#584732); }
.cv-five-screen .cv-style-choices button:nth-child(4) { background:linear-gradient(135deg,#eee5cb,#6d7a85); }
.cv-five-screen .cv-style-choices button[aria-pressed=true] { outline:3px solid var(--cv-accent);outline-offset:3px; }

/* Visible sample frames keep the style choices recognizable at a glance. */
.cv-five-screen .cv-style-choices button {position:relative;overflow:hidden;padding:0 14px 14px;min-height:170px;isolation:isolate;background:var(--cv-inset);color:var(--cv-ink);}
.cv-five-screen .cv-style-frame {display:block;object-fit:cover;width:calc(100% + 28px);height:120px;margin:0 -14px 0;border-radius:12px 12px 0 0;}
.cv-five-screen [data-visual-style=animated] .cv-style-frame {filter:saturate(1.8) contrast(1.25);}
.cv-five-screen [data-visual-style=vintage] .cv-style-frame {filter:sepia(.85) saturate(.65);}
.cv-five-screen [data-visual-style=hand-drawn] .cv-style-frame {filter:grayscale(1) contrast(2.6) brightness(1.35);}
.cv-five-screen .cv-style-choices button[aria-pressed=true]::after {content:"Chosen";position:absolute;right:10px;top:10px;background:var(--cv-accent);color:var(--cv-panel);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;}

.cv-five-screen [data-scene-status=kept] {border-color:#477454;background:color-mix(in srgb,#477454 12%,var(--cv-panel));}
.cv-five-screen [data-scene-status=kept] small {color:#477454;font-weight:700;}
.cv-five-screen [data-scene-status=ready] {border-color:var(--cv-accent);}
.cv-five-screen [data-scene-status=making] {border-style:dashed;}

.cv-five-screen .cv-generation-toolbar {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:0;padding:0 0 20px;}
.cv-five-screen .cv-generation-toolbar h4 {margin:0;font-size:22px;flex:1;}
/* Owner layout: the make-all button first, the kept count beside it. */
.cv-five-screen .cv-generation-toolbar [data-plan-start] {order:-1;}
.cv-five-screen .cv-generation-toolbar>.cv-batch-progress:empty {display:none;}
.cv-five-screen .cv-generation-toolbar>.cv-batch-progress {flex-basis:100%;order:3;}

/* A single stable action row; progress never replaces the scene card. */
.cv-scene-primary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
.cv-scene-primary .cv-scene-run-status{font-size:.95rem;color:var(--ng-muted,#4b5686)}
/* Reserve room for price/progress so generation updates do not shift the card. */
.cv-scene-primary{min-height:52px}.cv-scene-primary .cv-scene-run-status{min-height:1.4em}
.cv-estimate-refresh{display:block;min-height:1.3em;font-size:12px;color:var(--ng-muted,#4b5686)}
.cv-face-choice{display:grid;gap:12px;padding:16px;border:1px solid #c8ccec;border-radius:16px}
.cv-face-choice img{max-width:100%;max-height:420px;object-fit:contain;touch-action:none;user-select:none}

.cv-still-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.cv-still-grid article{display:flex;flex-direction:column;gap:8px}.cv-still-grid img{width:100%;max-height:230px;object-fit:contain}.cv-still-review-grid{margin:16px 0}.cv-still-grid button{white-space:normal}
.cv-five-screen .cv-image-source { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.cv-five-screen .cv-image-source button { display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:84px;text-align:left;background:var(--cv-inset);color:var(--cv-ink); }
.cv-five-screen .cv-image-source button[aria-pressed=true] { background:var(--cv-accent);color:var(--cv-panel);border-color:var(--cv-accent); }
.cv-five-screen .cv-image-source button:disabled { opacity:.6;cursor:not-allowed; }
.cv-five-screen .cv-image-source small { font-weight:400; }
/* The theme forces secondary button backgrounds; mark the choice like the style picker. */
.cv-five-screen .cv-image-source button { position:relative; }
.cv-five-screen .cv-image-source button[aria-pressed=true] { outline:3px solid var(--cv-accent);outline-offset:3px; }
.cv-five-screen .cv-image-source button[aria-pressed=true]::after { content:"Chosen";position:absolute;right:10px;top:10px;background:var(--cv-accent);color:var(--cv-panel);padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700; }

/* Shared cover-art library picker. */
.cv-cover-library{margin:12px 0}.cv-cover-library summary{cursor:pointer;font-weight:600}
.cv-cover-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:10px}
.cv-cover-library-item{padding:0;border:1px solid var(--cv-line,#d7dcf0);border-radius:10px;overflow:hidden;aspect-ratio:9/16;background:var(--cv-inset,#eef1fb);cursor:pointer}
.cv-cover-library-item img{width:100%;height:100%;object-fit:cover;display:block}
.cv-cover-library-page{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:12px 0 20px}
.cv-cover-library-card{margin:0;display:flex;flex-direction:column;gap:6px}.cv-cover-library-card .cv-cover-library-item{cursor:default}
/* Scene strip arrows and Previous / Go to / Next. */
.cv-strip-arrow{flex:0 0 auto;width:40px;height:40px;padding:0;border-radius:50%;font-size:22px;line-height:1}
.cv-scene-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.cv-scene-jump{min-width:180px;padding:8px 10px;border-radius:10px}
@media(max-width:600px){.cv-strip-arrow{display:none}.cv-scene-nav>*{flex:1 1 auto}}

/* Song words sung during the scene */
.cv-scene-sung{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline;margin:6px 0 10px;font-size:.92rem}
.cv-scene-sung:empty{display:none}
.cv-scene-sung q{flex-basis:100%;font-style:italic}
.cv-scene-sung .cv-sung-none{flex-basis:100%;opacity:.75}
.cv-scene-sung .cv-sung-warning{flex-basis:100%;margin:2px 0 0;color:#b45309;font-weight:600}

/* Video quality: Standard or Premium */
.cv-generation-toolbar .cv-video-quality{flex:1 1 220px;max-width:340px;margin:0}
.cv-generation-toolbar .cv-video-quality small{display:block;opacity:.75}
.cv-scene-queued{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
/* Video quality: three always-visible choices (Standard, Pro, Premium). */
.cv-studio-workspace .cv-video-quality { margin-top:16px; }
.cv-studio-workspace .cv-quality-choices { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px; }
.cv-studio-workspace .cv-quality-choices button { display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:84px;text-align:left;background:var(--cv-inset);color:var(--cv-ink); }
.cv-studio-workspace .cv-quality-choices button[aria-pressed=true] { background:var(--cv-accent);color:var(--cv-panel);border-color:var(--cv-accent); }
.cv-studio-workspace .cv-quality-choices button:disabled { opacity:.6;cursor:not-allowed; }
.cv-studio-workspace .cv-quality-choices small { font-weight:400; }
@media (max-width:520px){ .cv-studio-workspace .cv-quality-choices { grid-template-columns:1fr; } }
/* Chosen quality and length must be unmistakable (owner report 2026-10-17). */
.cv-studio-workspace .cv-quality-choices button { position:relative; }
.cv-studio-workspace .cv-quality-choices button[aria-pressed=true],
.cv-studio-workspace .cv-length-chips button[aria-pressed=true] { background:var(--cv-accent)!important;color:var(--cv-panel)!important;border-color:var(--cv-accent)!important;font-weight:700;outline:3px solid var(--cv-accent);outline-offset:3px; }
.cv-studio-workspace .cv-quality-choices button[aria-pressed=true] small { color:inherit!important; }
.cv-studio-workspace .cv-quality-choices button[aria-pressed=true]::after { content:"Chosen";position:absolute;right:10px;top:10px;background:var(--cv-panel);color:var(--cv-accent);padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700; }
/* Review by song section (owner choice 2026-10-17). */
.cv-studio-workspace .cv-section-review .cv-review-section { border-top:1px solid var(--cv-line);padding:12px 0; }
.cv-studio-workspace .cv-review-head { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.cv-studio-workspace .cv-review-head h5 { margin:0;font:700 17px/1.3 var(--pt-serif,Georgia,serif); }
.cv-studio-workspace .cv-review-head .cv-review-count { color:var(--cv-muted);flex:1 1 auto; }
.cv-studio-workspace .cv-review-tiles { display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px; }
.cv-studio-workspace .cv-review-tile { display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:6px;text-align:left;min-height:0; }
.cv-studio-workspace .cv-review-tile .cv-review-thumb { width:100%;aspect-ratio:9/16;max-height:120px;border-radius:8px;background:var(--cv-inset);background-size:cover;background-position:center;display:block; }
.cv-studio-workspace .cv-review-tile small { font-weight:400;font-size:12px; }
.cv-studio-workspace .cv-review-tile[data-status=kept] { border-color:var(--cv-accent); }
.cv-studio-workspace .cv-review-tile[data-status=kept] small { color:var(--cv-accent);font-weight:700; }
.cv-studio-workspace .cv-review-tile[data-status=ready] small { font-weight:700; }
.cv-studio-workspace .cv-review-tile[aria-pressed=true] { outline:3px solid var(--cv-accent);outline-offset:2px; }
.cv-studio-workspace .cv-review-thumb img,.cv-studio-workspace .cv-review-thumb video { width:100%;height:100%;object-fit:cover;border-radius:8px; }
/* Three quality choices need their own full row in the Scenes toolbar. */
.cv-five-screen .cv-generation-toolbar .cv-video-quality,.cv-generation-toolbar .cv-video-quality { flex:1 1 100%;max-width:none;order:2;margin-top:4px; }
.cv-studio-workspace .cv-review-thumb { display:flex!important;align-items:center;justify-content:center; }
.cv-studio-workspace .cv-review-thumb svg { width:36%;height:auto;opacity:.6; }
/* One sentence telling the customer exactly what to press next. */
.cv-studio-workspace .cv-next-step { margin:0 0 14px;padding:12px 16px;border-radius:12px;background:var(--cv-inset);border-left:4px solid var(--cv-accent);font-weight:700;color:var(--cv-ink); }
.cv-studio-workspace .cv-next-step:empty { display:none; }
/* Character portraits stay a comfortable size. */
.cv-studio-workspace .cv-character-portrait img,.cv-studio-workspace .cv-character-portrait video { max-width:220px;max-height:280px;width:auto;height:auto;border-radius:12px;display:block;margin:6px 0; }
.cv-studio-workspace .cv-character-card { margin:10px 0; }
/* Owner request 2026-10-18: progress on every studio step. */
.cv-studio-workspace .cv-journey { margin:0 0 14px; }
.cv-studio-workspace .cv-journey-bar { height:8px;border-radius:999px;background:var(--cv-inset);overflow:hidden; }
.cv-studio-workspace .cv-journey-bar span { display:block;height:100%;width:0;background:var(--cv-accent);border-radius:999px;transition:width .4s ease; }
.cv-studio-workspace .cv-journey-text { margin:6px 0 0;font-size:.92rem;font-weight:600;color:var(--cv-ink);overflow-wrap:anywhere; }
/* Owner request 2026-10-18: full-screen picture viewer. */
.cv-studio-workspace img.ng-media, .cv-studio-workspace .cv-uploaded-photo img, .cv-studio-workspace .cv-character-portrait img { cursor:zoom-in; }
.cv-zoom-button { display:block;margin:6px 0 0;font-size:.85rem; }
dialog.cv-lightbox { max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0;padding:0;border:0;background:rgba(10,12,24,.94);display:none; }
dialog.cv-lightbox[open] { display:flex;align-items:center;justify-content:center; }
dialog.cv-lightbox::backdrop { background:rgba(10,12,24,.94); }
dialog.cv-lightbox img { width:96vw;height:90vh;object-fit:contain;cursor:zoom-in;touch-action:pinch-zoom;border-radius:6px; }
dialog.cv-lightbox.cv-lightbox-actual { overflow:auto;align-items:flex-start;justify-content:flex-start; }
dialog.cv-lightbox.cv-lightbox-actual img { width:auto;height:auto;max-width:none;max-height:none;min-width:150vw;object-fit:contain;cursor:zoom-out; }
.cv-lightbox-close { position:fixed;top:12px;right:12px;z-index:2;padding:10px 16px;border-radius:999px;border:0;background:#fff;color:#151a3a;font-weight:700;font-size:1rem; }
/* Owner decision 2026-10-18: one scene at a time. */
.cv-studio-workspace .cv-focus { display:grid;gap:12px;padding:16px;border-radius:16px;background:var(--cv-card,#fff);box-shadow:0 2px 10px rgba(20,24,60,.06); }
.cv-studio-workspace .cv-focus-head { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px; }
.cv-studio-workspace .cv-focus-title { margin:0;text-align:center;font-size:1.25rem; }
.cv-studio-workspace .cv-focus-media { display:flex;justify-content:center;align-items:center;min-height:200px;border-radius:12px;background:var(--cv-inset);overflow:hidden; }
.cv-studio-workspace .cv-focus-media img.ng-media, .cv-studio-workspace .cv-focus-media video.ng-media { width:100%;max-height:70vh;object-fit:contain; }
.cv-studio-workspace .cv-focus-empty { margin:24px;text-align:center;color:var(--cv-muted,#555); }
.cv-studio-workspace .cv-focus-direction { margin:0;color:var(--cv-muted,#555);font-size:.95rem; }
.cv-studio-workspace .cv-focus-sung:empty { display:none; }
.cv-studio-workspace .cv-focus-status { margin:0;font-weight:700; }
.cv-studio-workspace .cv-focus-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.cv-studio-workspace .cv-focus-change { display:grid;gap:8px;width:100%; }
.cv-studio-workspace .cv-focus-change textarea { width:100%;box-sizing:border-box; }
.cv-studio-workspace .cv-focus-details { justify-self:start;background:none;border:0;text-decoration:underline;padding:4px 0;font-size:.9rem; }
/* Owner 2026-10-18: a progress bar for every piece of work on the scene screen. */
.cv-studio-workspace .cv-work { display:grid;gap:6px;width:100%; }
.cv-studio-workspace .cv-work-bar { height:10px;border-radius:999px;background:var(--cv-inset);overflow:hidden; }
.cv-studio-workspace .cv-work-bar span { display:block;height:100%;width:5%;background:var(--cv-accent);border-radius:999px;transition:width 1s linear; }
.cv-studio-workspace .cv-work-text { margin:0;font-weight:600; }
.cv-studio-workspace .cv-focus-sung q { margin-left:.35em; }
/* Owner 2026-10-18: the bar pulses while work is really happening; amber when stalled. */
@keyframes cv-work-pulse { 0% { background-position:0 0; } 100% { background-position:40px 0; } }
.cv-studio-workspace .cv-work-bar span { background-image:linear-gradient(45deg,rgba(255,255,255,.28) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.28) 75%,transparent 75%,transparent);background-size:40px 40px;animation:cv-work-pulse 1s linear infinite; }
.cv-studio-workspace .cv-work-stalled .cv-work-bar span { background-color:#c47f00;animation-duration:2.5s; }
.cv-studio-workspace .cv-work-stalled .cv-work-text { color:#8a5a00; }
.cv-studio-workspace .cv-work-strip { padding:8px 10px;border-radius:10px;background:var(--cv-inset); }
.cv-studio-workspace .cv-work-strip .cv-note { display:none; }
@media (prefers-reduced-motion: reduce) { .cv-studio-workspace .cv-work-bar span { animation:none; } }
.cv-studio-workspace .cv-focus-footer { display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--cv-line,#e3e6f2); }
.cv-studio-workspace .cv-focus-footer:empty { display:none; }
.cv-studio-workspace .cv-focus-summary { margin:0;font-weight:700; }
.cv-studio-workspace .cv-focus-lip { display:flex;gap:8px;align-items:center;font-weight:600; }
.cv-studio-workspace .cv-focus-lip input { width:20px;height:20px; }

/* Cost panel, picture-first flow (owner 2026-10-18): one bold total, each area's total, used and left. */
.cv-plan-summary.cv-cost-card{padding:0;background:transparent;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px color-mix(in srgb,var(--cv-accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--cv-accent) 30%,var(--cv-line))}
.cv-cost-hero{position:relative;padding:18px 18px 16px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--cv-accent) 92%,#000) 0%,var(--cv-accent) 45%,color-mix(in srgb,var(--cv-accent) 55%,#f5a524) 100%);overflow:hidden}
.cv-cost-hero::after{content:"";position:absolute;inset:-40% -20% auto auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 70%);pointer-events:none}
.cv-cost-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.cv-cost-grand{display:block;font-size:34px;line-height:1.1;font-weight:800;margin:4px 0 2px;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.cv-cost-usd{display:block;font-size:13px;opacity:.9}
.cv-cost-sub{display:block;margin-top:8px;font-size:12.5px;opacity:.92}
.cv-cost-hero .cv-estimate-refresh{display:block;color:#fff;opacity:.85;font-size:12px}
.cv-cost-meter{margin-top:12px;height:10px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden}
.cv-cost-meter span{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#fff,#ffe7a8);box-shadow:0 0 12px rgba(255,255,255,.7);transition:width .6s ease}
.cv-cost-delta{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:999px;background:#fff;color:var(--cv-accent);font-weight:800;font-size:13px;animation:cv-cost-pop 2.4s ease forwards}
.cv-cost-bump .cv-cost-grand{animation:cv-cost-glow 1.4s ease}
@keyframes cv-cost-glow{0%{transform:scale(1)}25%{transform:scale(1.08);text-shadow:0 0 18px rgba(255,255,255,.9)}100%{transform:scale(1)}}
@keyframes cv-cost-pop{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
.cv-cost-areas{list-style:none;margin:0;padding:6px 14px;background:var(--cv-panel)}
.cv-cost-area{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px dashed var(--cv-line)}
.cv-cost-area:last-child{border-bottom:0}
.cv-cost-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--cv-inset);font-size:16px}
.cv-cost-name b{display:block;font-size:14.5px;color:var(--cv-ink)}
.cv-cost-name small{display:block;font-size:12.5px;color:var(--cv-muted)}
.cv-cost-value{font-size:15px;color:var(--cv-ink);white-space:nowrap;text-align:right}
.cv-cost-off{opacity:.7}.cv-cost-off .cv-cost-value{font-weight:600;color:var(--cv-muted)}
.cv-cost-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 14px;background:var(--cv-inset)}
.cv-cost-foot>div{padding:10px 12px;border-radius:12px;background:var(--cv-panel);border:1px solid var(--cv-line)}
.cv-cost-foot span{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cv-muted)}
.cv-cost-foot strong{display:block;font-size:18px;color:var(--cv-ink);margin-top:2px}
.cv-cost-foot .cv-cost-left{border:2px solid var(--cv-accent);background:color-mix(in srgb,var(--cv-accent) 8%,var(--cv-panel))}
.cv-cost-foot .cv-cost-left strong{color:var(--cv-accent)}
.cv-cost-card>.cv-note{display:block;padding:0 14px 12px;background:var(--cv-inset);font-size:12px;color:var(--cv-muted)}
@media (prefers-reduced-motion:reduce){.cv-cost-bump .cv-cost-grand,.cv-cost-delta{animation:none}.cv-cost-meter span{transition:none}}
.cv-plan-summary.cv-cost-card .cv-cost-hero :is(.cv-cost-sub,.cv-cost-usd,.cv-cost-eyebrow,.cv-estimate-refresh){color:#fff}
.cv-plan-summary.cv-cost-card .cv-cost-hero .cv-cost-sub{opacity:1;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.cv-cost-card>.cv-storage-warning{margin:0;padding:10px 14px;background:#fff4d6;color:#6b4a00;border-bottom:1px solid #f0d58a;font-size:13px;font-weight:600}
.cv-cost-card>.cv-storage-warning::before{content:"⚠️ ";}
/* Owner 2026-10-19: "View full size" overlays the picture's corner instead of squeezing beside it on phones. */
.cv-studio-workspace .cv-focus-media{position:relative}
.cv-studio-workspace .cv-focus-media .cv-zoom-button{position:absolute;right:10px;bottom:10px;margin:0;padding:6px 12px;min-height:0;width:auto;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;border-radius:999px;background:rgba(255,255,255,.92);color:#1f2a6b;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px rgba(0,0,0,.25)}
@media (max-width:600px){.cv-studio-workspace .cv-focus-media .cv-zoom-button{right:8px;bottom:8px;padding:5px 10px;font-size:12px}}
/* Finish preview (owner 2026-10-19): a fixed frame in the video's shape that never resizes. */
.cv-preview-frame{position:relative;width:100%;max-width:820px;margin:0 auto;aspect-ratio:16/9;max-height:70vh;background:#0b0d14;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.cv-preview-frame.cv-preview-portrait{aspect-ratio:9/16;width:auto;height:min(70vh,640px);max-width:100%}
.cv-preview-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s ease}
.cv-preview-layer.cv-on{opacity:1}
.cv-preview-card{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;white-space:pre-line;color:#fff;font:600 26px/1.25 Fraunces,Georgia,serif;background:linear-gradient(160deg,#1d2347,#3b2a5c)}
.cv-preview-loading{position:absolute;left:12px;top:12px;display:flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:13px}
.cv-preview-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:cv-spin 1s linear infinite}
@keyframes cv-spin{to{transform:rotate(360deg)}}
.cv-preview-play{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:10px 22px;border-radius:999px;border:0;background:rgba(255,255,255,.95);color:#1f2a6b;font-weight:800;font-size:16px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.cv-preview-play.cv-playing{opacity:.75}
.cv-preview-strip{display:flex;gap:3px;max-width:820px;margin:10px auto 0}
.cv-preview-strip span{height:6px;border-radius:3px;background:var(--cv-line)}
.cv-preview-strip span.cv-on{background:var(--cv-accent)}
.cv-preview-audio{display:block;width:100%;max-width:820px;margin:8px auto 0;height:36px}
.cv-final-cta-slot{max-width:820px;margin:16px auto 0;text-align:center}
.cv-final-note{color:var(--cv-muted);font-size:14px;margin:0 0 10px}
.cv-final-cta{width:100%;max-width:520px;padding:16px 22px;font-size:18px;font-weight:800;border-radius:14px}
.cv-preview-watched .cv-final-cta{animation:cv-cta-pulse 1.6s ease-in-out 3}
@keyframes cv-cta-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--cv-accent) 55%,transparent)}50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--cv-accent) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.cv-preview-layer{transition:none}.cv-preview-watched .cv-final-cta{animation:none}.cv-preview-spinner{animation:none}}
.cv-five-screen .cv-preview-frame :is(video,img).cv-preview-layer,.cv-preview-frame .cv-preview-layer{max-height:none;height:100%;width:100%;border-radius:0}
.cv-studio-workspace .cv-final-cta-slot .cv-final-cta{display:block;width:100%;max-width:520px;margin:0 auto;padding:16px 22px;font-size:19px;font-weight:800;border-radius:14px;box-shadow:0 6px 18px color-mix(in srgb,var(--cv-accent) 35%,transparent)}
/* New video: no total until the choices that set it are made (owner 2026-10-19). */
.cv-cost-grand.cv-cost-waiting{font-size:24px}
.cv-cost-todo{margin:0;padding:14px 18px 4px 38px;display:grid;gap:8px;font-weight:600}
.cv-cost-todo li::marker{color:var(--cv-accent)}
[data-cost-waiting] .cv-cost-note{padding:0 18px 14px;margin:6px 0 0}
/* Who sings in this scene: the chosen singer's name and photo (owner 2026-10-19). */
.cv-singer{display:grid;gap:8px;margin-top:8px}
.cv-singer-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--cv-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--cv-accent) 35%,transparent)}
.cv-singer-face{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--cv-accent) 18%,transparent)}
.cv-singer-face :is(img,canvas){width:100%;height:100%;object-fit:cover}
