/* Focused shot editor: preserve the existing theme and generation controls. */
#sec-3 .vf-editor-layout { display:flex; align-items:stretch; gap:12px; min-width:0; }
#sec-3 .vf-shot-card { flex:1; min-width:0; padding:22px; display:flex; flex-direction:column; gap:20px; }
#sec-3 .vf-shot-heading,
#sec-3 .vf-shot-toolbar,
#sec-3 .vf-shot-actions,
#sec-3 .vf-shot-footer { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
#sec-3 .vf-shot-heading { gap:12px; }
#sec-3 .vf-shot-toolbar { padding-bottom:16px; border-bottom:1px solid var(--vh-border); justify-content:space-between; }
#sec-3 .vf-shot-actions { margin-left:auto; gap:6px; }
#sec-3 .vf-shot-toolbar button[title="编辑出场素材"] { width:32px!important; height:32px!important; }
#sec-3 .vf-shot-toolbar button[title="编辑出场素材"] svg { width:16px; height:16px; }
#sec-3 .vf-shot-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(360px,.95fr); grid-template-rows:min-content min-content 1fr; gap:20px; align-items:start; }
#sec-3 .vf-frame-preview { position:relative; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:var(--vh-field); }
#sec-3 .vf-frame-preview > img { width:100%!important; height:100%!important; max-height:100%!important; object-fit:contain; }
#sec-3 .vf-frame-preview .vh-dropzone { min-height:0; }
#sec-3 .vf-shot-copy { grid-column:3; grid-row:1 / span 3; display:flex; flex-direction:column; gap:14px; min-width:0; padding:16px; border:1px solid var(--vh-border); border-radius:12px; background:var(--vh-elev-2); }
#sec-3.vh .vf-shot-copy textarea { display:block; width:100%; min-height:88px; resize:vertical; }
#sec-3 .vf-shot-copy audio { max-width:100%; }
#sec-3 .vf-shot-copy textarea[rows="4"] { min-height:144px; }
#sec-3 .vf-shot-copy > div > div { flex-wrap:wrap; gap:6px; }
#sec-3 .vf-shot-clip { grid-column:1 / span 2; flex-wrap:wrap; min-width:0; }
#sec-3 .vf-shot-footer { grid-column:1 / span 2; padding-top:16px; border-top:1px solid var(--vh-border); }
#sec-3 .vf-shot-footer > label { min-width:0; max-width:100%; flex:0 1 360px; }
#sec-3 .vf-shot-footer > label > span { white-space:nowrap; font-size:12px; color:var(--vh-text-3); }
#sec-3 .vf-shot-footer select { min-width:0; width:100%; text-overflow:ellipsis; }
#sec-3 .vf-shot-toolbar .vh-tag { min-width:0; max-width:100%; white-space:normal; flex-wrap:wrap; overflow-wrap:anywhere; }

@media (hover:none) and (pointer:coarse) {
  #sec-3 .vh-frame-del { display:flex; width:44px; height:44px; }
}

@media (max-width:1500px) {
  #sec-3 .vf-shot-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,1.15fr); gap:16px; }
  #sec-3 .vf-shot-card { padding:18px; }
  #sec-3 #vh-asset-dock { position:static!important; transform:none!important; margin-bottom:16px; min-width:0; }
  #sec-3 #vh-dock-panel { width:auto!important; flex:1; min-width:0; white-space:nowrap; max-height:132px!important; border-right:1px solid var(--vh-border)!important; border-radius:12px!important; }
  #sec-3 #vh-dock-panel > .vh-eyebrow { display:inline-block; vertical-align:top; margin:4px 10px!important; }
  #sec-3 #vh-dock-panel > div:not(.vh-eyebrow) { display:inline-flex!important; flex-direction:row!important; vertical-align:top; }
  #sec-3 #vh-dock-panel [draggable] { width:88px; flex:none; }
}
@media (max-width:1100px) {
  #sec-3 .vf-shot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  #sec-3 .vf-shot-copy { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  #sec-3 .vf-shot-copy > :first-child { grid-column:1/-1; }
  #sec-3 .vf-shot-copy textarea[rows="4"] { min-height:144px; }
  #sec-3 .vf-shot-actions { margin-left:0; }
}
@media (max-width:768px) {
  #tab-editor:has(#sec-3.active) { max-width:100%; padding:20px 12px 48px; }
  #sec-3 { padding-right:0; }
  #sec-3 .vf-editor-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #sec-3 .vf-shot-card { grid-column:1/-1; grid-row:2; padding:14px; gap:16px; }
  #sec-3 .vf-prev { grid-column:1; grid-row:1; }
  #sec-3 .vf-next { grid-column:2; grid-row:1; justify-self:end; }
  #sec-3 .vf-shot-grid { grid-template-columns:minmax(0,1fr); }
  #sec-3 .vf-shot-clip, #sec-3 .vf-shot-footer { grid-column:1; }
  #sec-3 .vf-shot-copy { display:flex; align-items:stretch; }
  #sec-3 .vf-shot-heading > *, #sec-3 .vf-shot-heading select { max-width:100%; min-width:0; }
  #sec-3 .vf-shot-footer > button { flex:1 1 140px; }
  #sec-3 .vf-shot-footer > label { flex-basis:100%; }
  #sec-3 .vf-shot-footer > span { display:none!important; }
  #sec-3 #vf-title-card { padding:14px!important; }
  #sec-3 #vf-title-card > div { min-width:0; max-width:100%; }
  #sec-3 #vf-title-card > div:nth-child(2) { margin-left:0!important; }
  #sec-3 #vf-navdots > div { padding:14px!important; }
  #sec-3 #vf-navdots > div > div { min-width:0!important; max-width:100%; }
  #sec-3 #vf-navdots > div > div:first-of-type { flex-basis:100%!important; }
}

@media (max-width:640px) {
  #sec-3 .vf-nav-label { display:inline; }
  #sec-3 :is(.vf-prev, .vf-next) { width:100%!important; height:44px!important; border-radius:10px; }
  #sec-3.vh .vh-btn { min-height:44px; white-space:normal; }
  #sec-3.vh .vh-btn.icon { min-width:44px; flex-shrink:0; }
  #sec-3 #vf-title-card > div:nth-child(2) { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px!important; }
  #sec-3 #vf-title-card .gen-dock-inline-entry { grid-column:1/-1; }
  #sec-3 #vf-title-card #btn-render-all { grid-column:1/-1; }
  #sec-3 #vf-title-card .vh-btn { padding:10px 8px; font-size:13px; }
  #sec-3 #vh-asset-dock { gap:6px; align-items:stretch!important; }
  #sec-3 #vh-dock-toggle { width:36px!important; height:auto!important; min-height:44px; border-radius:10px!important; border-right:1px solid var(--vh-border)!important; }
  #sec-3 #vh-dock-panel { padding:8px!important; max-height:124px!important; overscroll-behavior-x:contain; }
  #sec-3 #vh-dock-panel [draggable] { width:76px; }
  #sec-3 #vh-dock-panel [draggable] img { height:64px!important; }
  #sec-3 #vf-dots-strip button { width:44px!important; height:44px!important; }
  #sec-3 #vf-navdots > div { gap:10px!important; }
  #sec-3 #vf-navdots > div > div:last-child { width:100%; justify-content:space-between; }
  #sec-3 .vf-model-tools { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px!important; }
  #sec-3 .vf-model-tools > span, #sec-3 .vf-model-tools > select { grid-column:1/-1; }
  #sec-3 .vf-model-tools > select { width:100%!important; text-overflow:ellipsis; }
  #sec-3 .vf-model-tools > button { padding:10px 6px; font-size:13px; }
  #sec-3 .vf-shot-toolbar > *, #sec-3 .vf-shot-actions { min-width:0; max-width:100%; }
  #sec-3 .vf-shot-actions { width:100%; }
  #sec-3 .vf-shot-actions > button { flex:1 1 auto; padding:8px; font-size:12px; }
  #sec-3 .vf-shot-toolbar button[title="编辑出场素材"] { width:44px!important; height:44px!important; }
  #sec-3 .vf-frame-col > div:last-child > :is(button, label) { flex:1; }
  #sec-3 .vf-shot-copy { padding:12px; }
  #sec-3 .vf-shot-copy > div > div > span { flex-wrap:wrap; }
  #sec-3 .vf-shot-copy select { max-width:100%; }
  #sec-3 .vf-shot-footer > label { flex-wrap:wrap; }
  #sec-3 .vf-shot-footer > label > select { flex-basis:100%; min-height:44px; }
  #sec-3 .vf-shot-footer > button { flex-basis:100%; }
  #sec-3 .vh-frame-del { display:flex; width:44px; height:44px; }
}
