.gfgoai-sve, .gfgoai-sve * { box-sizing: border-box; }
.gfgoai-sve { --bg:#0f172a; --panel:#111827; --muted:#94a3b8; --line:#243044; --text:#e5e7eb; --accent:#38bdf8; --accent2:#22c55e; max-width:1180px; margin:24px auto; color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.gfgoai-sve a { color:#7dd3fc; }
.gfgoai-sve-hero { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:22px; border-radius:24px; background:linear-gradient(135deg,#0f172a,#111827 55%,#082f49); border:1px solid rgba(125,211,252,.18); box-shadow:0 18px 50px rgba(0,0,0,.25); margin-bottom:18px; }
.gfgoai-sve-hero h2 { margin:0 0 8px; font-size:28px; color:#fff; }
.gfgoai-sve-hero p { margin:0; color:#cbd5e1; line-height:1.7; }
.gfgoai-sve-badges { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.gfgoai-sve-badges span, .gfgoai-sve-chip { display:inline-flex; align-items:center; padding:5px 10px; border-radius:999px; background:rgba(56,189,248,.12); color:#bae6fd; border:1px solid rgba(125,211,252,.25); font-size:12px; white-space:nowrap; }
.gfgoai-sve-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.gfgoai-sve-panel, .gfgoai-sve-login, .gfgoai-sve-card { background:#fff; color:#111827; border:1px solid #e5e7eb; border-radius:18px; padding:18px; box-shadow:0 8px 24px rgba(15,23,42,.08); }
.gfgoai-sve-panel h3, .gfgoai-sve-card h2 { margin-top:0; color:#0f172a; }
.gfgoai-sve-full { margin-top:18px; }
.gfgoai-sve label { display:block; font-weight:650; color:#111827; margin:12px 0; }
.gfgoai-sve input[type="text"], .gfgoai-sve input[type="file"], .gfgoai-sve textarea, .gfgoai-sve select { width:100%; margin-top:7px; padding:11px 12px; border:1px solid #d1d5db; border-radius:12px; background:#f8fafc; color:#111827; font-size:15px; }
.gfgoai-sve textarea { resize:vertical; line-height:1.65; }
.gfgoai-sve-actions, .gfgoai-sve-section-head, .gfgoai-sve-seg-tools { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.gfgoai-sve-section-head { justify-content:space-between; margin-bottom:12px; }
.gfgoai-sve-btn { border:1px solid #d1d5db; background:#f8fafc; color:#111827; padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:700; text-decoration:none!important; display:inline-flex; align-items:center; justify-content:center; line-height:1.2; }
.gfgoai-sve-btn:hover { background:#eef2ff; }
.gfgoai-sve-btn.primary { border-color:#0284c7; background:#0284c7; color:#fff; }
.gfgoai-sve-btn.primary:hover { background:#0369a1; }
.gfgoai-sve-btn.small { padding:7px 10px; font-size:13px; }
.gfgoai-sve-btn:disabled { opacity:.45; cursor:not-allowed; }
.gfgoai-sve-status { margin-top:14px; padding:11px 12px; border-radius:12px; background:#f1f5f9; color:#334155; border:1px solid #e2e8f0; }
.gfgoai-sve-status.ok { background:#ecfdf5; color:#065f46; border-color:#bbf7d0; }
.gfgoai-sve-status.err { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.gfgoai-sve-status.busy { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.gfgoai-sve-muted { color:#64748b; line-height:1.7; }
.gfgoai-sve-assets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-height:420px; overflow:auto; padding-right:3px; }
.gfgoai-sve-asset { position:relative; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; background:#f8fafc; padding:8px; }
.gfgoai-sve-asset img, .gfgoai-sve-asset video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; background:#e5e7eb; }
.gfgoai-sve-asset-title { font-weight:700; font-size:13px; margin-top:7px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.gfgoai-sve-asset-tags { font-size:12px; color:#64748b; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.gfgoai-sve-asset .gfgoai-sve-chip { position:absolute; left:12px; top:12px; background:rgba(2,132,199,.82); color:#fff; border:0; }
.gfgoai-sve-segments { display:flex; flex-direction:column; gap:12px; }
.gfgoai-sve-segment { display:grid; grid-template-columns:220px 1fr; gap:14px; border:1px solid #e5e7eb; border-radius:16px; padding:12px; background:#fcfcfd; }
.gfgoai-sve-seg-preview { background:#e5e7eb; border-radius:12px; overflow:hidden; min-height:124px; display:flex; align-items:center; justify-content:center; }
.gfgoai-sve-seg-preview img, .gfgoai-sve-seg-preview video { width:100%; height:124px; object-fit:cover; display:block; }
.gfgoai-sve-noasset { color:#64748b; font-size:13px; }
.gfgoai-sve-seg-time { font-weight:800; color:#0369a1; margin-bottom:6px; }
.gfgoai-sve-seg-text { font-size:15px; line-height:1.7; color:#111827; margin-bottom:8px; }
.gfgoai-sve-seg-keywords { color:#64748b; font-size:13px; margin-bottom:10px; }
.gfgoai-sve-seg-asset { flex:1; min-width:260px; }
#gfgoai-sve-output video { width:100%; max-height:520px; background:#000; border-radius:14px; margin-top:12px; }
.gfgoai-sve-admin .gfgoai-sve-card { max-width:900px; margin:16px 0; }
.gfgoai-sve-note { margin-top:16px; padding:14px; background:#f0f9ff; border-left:4px solid #0284c7; }
@media (max-width: 820px){
  .gfgoai-sve-hero, .gfgoai-sve-grid { display:block; }
  .gfgoai-sve-panel { margin-bottom:16px; }
  .gfgoai-sve-segment { grid-template-columns:1fr; }
  .gfgoai-sve-assets { grid-template-columns:1fr; }
  .gfgoai-sve-section-head { display:block; }
}
.gfgoai-sve-browser-preview { margin: 0 0 16px; padding: 14px; border:1px solid #e5e7eb; border-radius:16px; background:#f8fafc; }
.gfgoai-sve-preview-stage { width:100%; aspect-ratio:16/9; background:#0f172a; border-radius:14px; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#cbd5e1; }
.gfgoai-sve-preview-stage img, .gfgoai-sve-preview-stage video { width:100%; height:100%; object-fit:cover; display:block; }
.gfgoai-sve-browser-preview audio { width:100%; margin-top:10px; }
.gfgoai-sve-preview-caption { margin-top:10px; padding:10px 12px; border-radius:12px; background:#111827; color:#fff; line-height:1.6; font-size:15px; }

/* v0.1.3：簡易時間軸與圖片動態預覽 */
.gfgoai-sve-asset[draggable="true"] { cursor: grab; }
.gfgoai-sve-asset[draggable="true"]:active { cursor: grabbing; }
.gfgoai-sve-segment.dragover, .gfgoai-sve-tl-clip.dragover { outline:3px solid #38bdf8; background:#eff6ff; }
.gfgoai-sve-preview-stage { position:relative; }
.gfgoai-sve-kenburns { animation:none!important; transform-origin:center center; }
@keyframes gfgoai-sve-kenburns { from { transform:scale(1.02); } to { transform:scale(1.10); } }
.gfgoai-sve-timeline { margin:0 0 16px; padding:14px; border:1px solid #e5e7eb; border-radius:16px; background:#f8fafc; overflow-x:auto; }
.gfgoai-sve-tl-wrap { min-width:760px; }
.gfgoai-sve-tl-title { font-size:13px; color:#475569; font-weight:800; margin:6px 0; }
.gfgoai-sve-tl-track { display:flex; gap:4px; align-items:stretch; border:1px solid #dbe4ef; background:#e2e8f0; border-radius:12px; padding:6px; margin-bottom:10px; min-height:74px; }
.gfgoai-sve-tl-track.audio { min-height:42px; background:#ecfdf5; border-color:#bbf7d0; }
.gfgoai-sve-tl-clip { min-width:82px; border:1px solid #cbd5e1; background:#fff; border-radius:10px; padding:5px; overflow:hidden; cursor:pointer; transition:.15s ease; }
.gfgoai-sve-tl-clip:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(15,23,42,.12); }
.gfgoai-sve-tl-clip.active { border-color:#0284c7; box-shadow:0 0 0 2px rgba(2,132,199,.25); }
.gfgoai-sve-tl-clip.empty { background:#f1f5f9; border-style:dashed; color:#64748b; }
.gfgoai-sve-tl-thumb { height:46px; background:#cbd5e1; border-radius:7px; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:12px; color:#475569; }
.gfgoai-sve-tl-thumb img, .gfgoai-sve-tl-thumb video { width:100%; height:100%; object-fit:cover; display:block; }
.gfgoai-sve-tl-label { font-size:11px; color:#334155; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfgoai-sve-tl-audio { border-radius:10px; padding:10px 12px; background:linear-gradient(90deg,#bbf7d0,#dcfce7); color:#14532d; font-weight:800; font-size:13px; }

/* v0.1.4：素材選擇面板與基本時間軸編輯 */
.gfgoai-sve-tl-clip { position:relative; }
.gfgoai-sve-tl-dur { position:absolute; right:5px; top:5px; border-radius:999px; background:rgba(15,23,42,.78); color:#fff; font-size:10px; padding:2px 5px; }
.gfgoai-sve-edit-tools { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; padding-top:10px; border-top:1px dashed #dbe4ef; }
.gfgoai-sve-btn.danger { color:#991b1b; border-color:#fecaca; background:#fff7f7; }
.gfgoai-sve-open-picker { cursor:pointer; }
.gfgoai-sve-open-picker:hover { outline:3px solid rgba(56,189,248,.45); }
.gfgoai-sve-modal { position:fixed; inset:0; z-index:99999; }
.gfgoai-sve-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.62); backdrop-filter:blur(3px); }
.gfgoai-sve-modal-box { position:relative; z-index:1; width:min(1120px, calc(100vw - 36px)); max-height:calc(100vh - 36px); margin:18px auto; overflow:auto; background:#fff; color:#111827; border-radius:22px; box-shadow:0 28px 80px rgba(0,0,0,.35); padding:18px; border:1px solid #e5e7eb; }
.gfgoai-sve-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:1px solid #e5e7eb; padding-bottom:12px; margin-bottom:12px; }
.gfgoai-sve-modal-head h3 { margin:0 0 4px; color:#0f172a; }
.gfgoai-sve-modal-tools { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:10px 0; }
.gfgoai-sve-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.gfgoai-sve-tabs .active, .gfgoai-sve-cat.active { border-color:#0284c7; background:#0284c7; color:#fff; }
#gfgoai-sve-modal-search { flex:1; min-width:260px; margin-top:0; }
.gfgoai-sve-category-row, .gfgoai-sve-keyword-row { display:flex; gap:7px; flex-wrap:wrap; margin:10px 0; align-items:center; }
.gfgoai-sve-cat, .gfgoai-sve-keyword { border:1px solid #d1d5db; background:#f8fafc; color:#111827; padding:6px 9px; border-radius:999px; font-size:12px; cursor:pointer; font-weight:700; }
.gfgoai-sve-keyword { background:#eef6ff; border-color:#bfdbfe; color:#075985; }
.gfgoai-sve-modal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.gfgoai-sve-modal-asset { text-align:left; border:1px solid #e5e7eb; border-radius:14px; background:#fff; padding:8px; cursor:pointer; display:flex; flex-direction:column; gap:5px; transition:.15s ease; color:#111827; }
.gfgoai-sve-modal-asset:hover { transform:translateY(-1px); border-color:#38bdf8; box-shadow:0 10px 24px rgba(15,23,42,.13); }
.gfgoai-sve-modal-thumb { width:100%; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#e5e7eb; display:flex; align-items:center; justify-content:center; }
.gfgoai-sve-modal-thumb img, .gfgoai-sve-modal-thumb video { width:100%; height:100%; object-fit:cover; display:block; }
.gfgoai-sve-modal-asset strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; }
.gfgoai-sve-modal-asset small { color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfgoai-sve-modal-asset span { color:#0369a1; font-size:12px; font-weight:700; }
@media (max-width: 920px){ .gfgoai-sve-modal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px){ .gfgoai-sve-modal-grid { grid-template-columns:1fr; } .gfgoai-sve-modal-box{width:calc(100vw - 18px); margin:9px auto;} }

/* v0.1.5：按句時間軸、字幕軌、加素材按鈕與高亮插入間隙 */
.gfgoai-sve-import-srt { display:inline-flex!important; align-items:center; justify-content:center; border:1px solid #d1d5db; background:#f8fafc; color:#111827; padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:700; margin:0!important; line-height:1.2; }
.gfgoai-sve-import-srt:hover { background:#eef2ff; }
.gfgoai-sve-import-srt input { display:none!important; }
.gfgoai-sve-tl-track.video { align-items:stretch; min-height:132px; }
.gfgoai-sve-tl-track.subtitles { min-height:54px; background:#fff7ed; border-color:#fed7aa; }
.gfgoai-sve-tl-gap { width:24px; min-width:24px; border:2px dashed #38bdf8; background:rgba(56,189,248,.12); color:#0369a1; border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:900; cursor:pointer; transition:.15s ease; }
.gfgoai-sve-tl-gap:hover, .gfgoai-sve-tl-gap.dragover { background:#bae6fd; color:#075985; transform:scale(1.04); }
.gfgoai-sve-tl-clip { cursor:default; min-height:118px; }
.gfgoai-sve-tl-clip:hover { transform:none; }
.gfgoai-sve-tl-controls { display:flex; gap:4px; flex-wrap:wrap; margin-top:5px; }
.gfgoai-sve-mini { border:1px solid #dbe4ef; background:#f8fafc; color:#0f172a; border-radius:8px; font-size:10px; font-weight:800; padding:3px 5px; cursor:pointer; }
.gfgoai-sve-mini:hover { border-color:#38bdf8; background:#e0f2fe; }
.gfgoai-sve-tl-sub { min-width:86px; background:#fff; border:1px solid #fed7aa; border-radius:10px; padding:7px 8px; font-size:12px; line-height:1.45; color:#7c2d12; overflow:hidden; cursor:pointer; }
.gfgoai-sve-tl-sub span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gfgoai-sve-tl-sub:hover { outline:2px solid #fb923c; }
.gfgoai-sve-seg-preview { position:relative; flex-direction:column; gap:8px; padding:8px; }
.gfgoai-sve-seg-preview .gfgoai-sve-btn { margin-top:6px; }
.gfgoai-sve-current-sentence { display:block; width:100%; padding:10px 12px; margin-bottom:8px; border-radius:12px; background:#f8fafc; color:#0f172a; line-height:1.6; }
.gfgoai-sve-current-sentence strong { margin-right:6px; color:#0369a1; }
.gfgoai-sve-modal-asset[draggable="true"] { cursor:grab; }
.gfgoai-sve-modal-asset[draggable="true"]:active { cursor:grabbing; }
.gfgoai-sve-segment.dragover, .gfgoai-sve-tl-clip.dragover { outline:3px solid #38bdf8; background:#eff6ff; }
@media (max-width: 820px){
  .gfgoai-sve-import-srt { margin-top:8px!important; }
  .gfgoai-sve-tl-wrap { min-width:920px; }
}

/* v0.1.6：壓縮三軌、音波、播放頭、隱形插入槽、拖邊縮放 */
.gfgoai-sve-browser-preview { margin-bottom:0; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.gfgoai-sve-browser-preview audio { display:none!important; }
.gfgoai-sve-preview-caption { font-size:14px; padding:8px 10px; }
.gfgoai-sve-timeline { margin-top:0; border-top-left-radius:0; border-top-right-radius:0; padding:10px; background:#0b1220; border-color:#1e293b; }
.gfgoai-sve-tl-shell { color:#e5e7eb; }
.gfgoai-sve-tl-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:4px 2px 8px; }
.gfgoai-sve-tl-toolbar .gfgoai-sve-btn.small { padding:5px 9px; border-radius:9px; }
.gfgoai-sve-volume { display:inline-flex!important; align-items:center; gap:6px; color:#cbd5e1!important; font-weight:700!important; margin:0!important; }
.gfgoai-sve-volume input { width:110px!important; margin:0!important; padding:0!important; }
.gfgoai-sve-zoom-label, .gfgoai-sve-tl-total { color:#94a3b8; font-size:12px; font-weight:700; }
.gfgoai-sve-tl-scroll { overflow-x:auto; overflow-y:hidden; background:#111827; border:1px solid #243044; border-radius:14px; padding:8px; }
.gfgoai-sve-tl-canvas { position:relative; min-width:920px; padding-top:16px; }
.gfgoai-sve-ruler { position:absolute; left:0; right:0; top:0; height:12px; background:repeating-linear-gradient(90deg, rgba(148,163,184,.4) 0 1px, transparent 1px 70px); opacity:.8; }
.gfgoai-sve-playhead { position:absolute; top:0; bottom:0; width:2px; background:#facc15; z-index:20; box-shadow:0 0 0 1px rgba(250,204,21,.35); pointer-events:none; }
.gfgoai-sve-playhead::before { content:""; position:absolute; top:0; left:-5px; width:12px; height:12px; border-radius:50%; background:#facc15; }
.gfgoai-sve-tl-track { display:flex; gap:0!important; align-items:stretch; border:0!important; background:transparent!important; border-radius:0!important; padding:0!important; margin:0 0 4px!important; min-height:auto!important; }
.gfgoai-sve-tl-track.video { height:88px; }
.gfgoai-sve-tl-track.audio { height:46px; overflow:hidden; border-radius:8px!important; background:#ecfdf5!important; }
.gfgoai-sve-tl-track.subtitles { height:42px; }
.gfgoai-sve-tl-slot { width:8px; min-width:8px; border-radius:8px; background:transparent; transition:.12s ease; margin:0 -4px; z-index:8; position:relative; }
.gfgoai-sve-tl-slot.dragover, .gfgoai-sve-tl-slot:hover { width:18px; min-width:18px; margin:0 2px; background:#2563eb; box-shadow:0 0 0 2px rgba(37,99,235,.32); }
.gfgoai-sve-tl-clip { position:relative; min-width:52px; min-height:0!important; height:88px; border-radius:8px!important; padding:3px!important; border:1px solid #334155!important; background:#0f172a!important; color:#e5e7eb; overflow:hidden; cursor:grab; }
.gfgoai-sve-tl-clip:active { cursor:grabbing; }
.gfgoai-sve-tl-clip.empty { background:#1e293b!important; border-style:dashed!important; }
.gfgoai-sve-tl-clip.active { border-color:#38bdf8!important; box-shadow:0 0 0 2px rgba(56,189,248,.22)!important; }
.gfgoai-sve-tl-thumb { height:52px!important; border-radius:6px!important; background:#1f2937!important; color:#94a3b8!important; }
.gfgoai-sve-tl-label { font-size:10px!important; margin-top:3px!important; color:#cbd5e1!important; }
.gfgoai-sve-tl-dur { top:4px!important; right:5px!important; font-size:9px!important; background:rgba(2,6,23,.72)!important; }
.gfgoai-sve-tl-controls { position:absolute; left:4px; bottom:4px; display:flex; gap:3px; opacity:.18; transition:.12s ease; }
.gfgoai-sve-tl-clip:hover .gfgoai-sve-tl-controls { opacity:1; }
.gfgoai-sve-mini { width:22px; height:20px; padding:0!important; border-radius:6px!important; font-size:12px!important; display:inline-flex; align-items:center; justify-content:center; background:rgba(248,250,252,.92)!important; }
.gfgoai-sve-resize-handle { position:absolute; top:0; right:0; width:7px; height:100%; cursor:ew-resize; background:transparent; z-index:12; }
.gfgoai-sve-resize-handle:hover, .gfgoai-sve-resizing .gfgoai-sve-resize-handle { background:#facc15; }
.gfgoai-sve-tl-sub { position:relative; height:42px; min-width:52px; border-radius:7px!important; border:1px solid #7c2d12!important; background:#451a03!important; color:#fed7aa!important; font-size:11px!important; padding:5px 9px 5px 5px!important; overflow:hidden; cursor:pointer; }
.gfgoai-sve-tl-sub span { -webkit-line-clamp:2!important; }
.gfgoai-sve-tl-sub:hover { outline:2px solid #f97316!important; }
.gfgoai-sve-resize-handle.sub { width:7px; }
#gfgoai-sve-waveform { display:block; width:100%; height:46px; }
.gfgoai-sve-tl-hint { color:#94a3b8; font-size:12px; padding-top:6px; }
.gfgoai-sve-tl-title { display:none!important; }
.gfgoai-sve-segments { display:none; }
.gfgoai-sve-tl-clip.dragover { outline:2px solid #38bdf8!important; }
body.gfgoai-sve-resizing { cursor:ew-resize!important; user-select:none!important; }
@media (max-width:820px){ .gfgoai-sve-tl-canvas{min-width:980px;} }

/* v0.1.7：預覽字幕疊加、折疊面板、素材修改刪除、可拖動播放頭與單段縮放修正 */
.gfgoai-sve-collapse { padding:0!important; overflow:hidden; }
.gfgoai-sve-collapse-toggle { width:100%; border:0; background:#0f172a; color:#fff; font-size:18px; font-weight:900; text-align:left; padding:16px 20px; cursor:pointer; border-radius:18px; }
.gfgoai-sve-collapse:not(.collapsed) .gfgoai-sve-collapse-toggle { border-bottom-left-radius:0; border-bottom-right-radius:0; }
.gfgoai-sve-collapse-body { padding:18px 22px 22px; }
.gfgoai-sve-collapse.collapsed .gfgoai-sve-collapse-body { display:none; }
.gfgoai-sve-preview-stage { position:relative; overflow:hidden; background:#020617; }
.gfgoai-sve-preview-stage img, .gfgoai-sve-preview-stage video { width:100%; height:100%; object-fit:cover; display:block; }
.gfgoai-sve-preview-subtitle { position:absolute; left:50%; bottom:7%; transform:translateX(-50%); max-width:94%; padding:8px 18px; border-radius:12px; background:rgba(2,6,23,.72); color:#fff; font-size:clamp(16px,1.9vw,30px); line-height:1.35; font-weight:900; text-align:center; text-shadow:0 2px 5px rgba(0,0,0,.65); box-shadow:0 8px 24px rgba(0,0,0,.26); pointer-events:none; }
.gfgoai-sve-browser-preview { padding-bottom:0!important; margin-bottom:0!important; }
.gfgoai-sve-preview-caption { display:none!important; }
.gfgoai-sve-asset { position:relative; }
.gfgoai-sve-asset-actions { position:absolute; right:7px; top:7px; display:flex; gap:5px; opacity:0; transition:.15s ease; z-index:4; }
.gfgoai-sve-asset:hover .gfgoai-sve-asset-actions { opacity:1; }
.gfgoai-sve-asset-actions button { border:0; border-radius:999px; padding:4px 7px; font-size:11px; font-weight:900; color:#fff; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.gfgoai-sve-asset-edit { background:#0284c7; }
.gfgoai-sve-asset-delete { background:#dc2626; }
.gfgoai-sve-tl-canvas { cursor:crosshair; }
.gfgoai-sve-tl-clip, .gfgoai-sve-tl-sub, .gfgoai-sve-mini, .gfgoai-sve-resize-handle { cursor:auto; }
.gfgoai-sve-tl-clip { cursor:grab; }
.gfgoai-sve-resize-handle { cursor:ew-resize; }
.gfgoai-sve-resizing .gfgoai-sve-resize-handle { background:transparent!important; }
.gfgoai-sve-resize-handle.active, .gfgoai-sve-active-resize > .gfgoai-sve-resize-handle { background:#facc15!important; }
.gfgoai-sve-active-resize { outline:2px solid #facc15!important; z-index:18; }
.gfgoai-sve-tl-sub span[contenteditable="true"] { display:block; min-height:24px; outline:0; cursor:text; }
.gfgoai-sve-tl-sub span[contenteditable="true"]:focus { background:rgba(255,255,255,.12); border-radius:4px; box-shadow:inset 0 0 0 1px rgba(251,146,60,.75); }
.gfgoai-sve-tl-hint { display:none!important; }
.gfgoai-sve-tl-track.subtitles { height:40px!important; margin-bottom:3px!important; }
.gfgoai-sve-tl-track.video { height:84px!important; }
.gfgoai-sve-tl-track.audio { height:42px!important; }
#gfgoai-sve-waveform { height:42px!important; }
body.gfgoai-sve-seeking { cursor:crosshair!important; user-select:none!important; }


/* v0.1.8：播放頭隨音頻持續移動、插入高亮改藍色、字幕一行顯示更多字 */
.gfgoai-sve-tl-slot.dragover, .gfgoai-sve-tl-slot:hover { background:#2563eb!important; box-shadow:0 0 0 2px rgba(37,99,235,.32)!important; }
.gfgoai-sve-tl-slot.dragover::after, .gfgoai-sve-tl-slot:hover::after { content:""; position:absolute; inset:0; border-radius:8px; background:rgba(37,99,235,.2); }
.gfgoai-sve-preview-subtitle { max-width:94%!important; font-size:clamp(16px,1.9vw,30px)!important; }
.gfgoai-sve-playhead { transition:left .04s linear; }


/* v0.1.9：字幕/音頻與畫面軌解耦、全局剪刀、插入素材不顯示文字 */
.gfgoai-sve-tl-track.subtitles { margin-bottom:6px!important; }
.gfgoai-sve-tl-track.video { margin-bottom:6px!important; }
.gfgoai-sve-tl-clip .gfgoai-sve-tl-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfgoai-sve-tl-sub { background:#4a1d05!important; }
#gfgoai-sve-cut-at-playhead { background:#fff7ed!important; border-color:#fb923c!important; color:#9a3412!important; }
.gfgoai-sve-tl-slot.dragover, .gfgoai-sve-tl-slot:hover { background:#1d4ed8!important; }

/* v0.1.10：音頻 A-B 區段選中與右側全局剪刀/刪除 */
.gfgoai-sve-tl-toolbar { justify-content:space-between!important; }
.gfgoai-sve-toolbar-left, .gfgoai-sve-toolbar-right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gfgoai-sve-toolbar-right { margin-left:auto; }
#gfgoai-sve-delete-selected-range { background:#fee2e2!important; border-color:#fca5a5!important; color:#991b1b!important; }
.gfgoai-sve-tl-track.audio { position:relative; cursor:pointer; }
.gfgoai-sve-audio-selection { position:absolute; top:2px; bottom:2px; border:2px solid #38bdf8; background:rgba(56,189,248,.16); border-radius:7px; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(56,189,248,.45); z-index:7; }
.gfgoai-sve-tl-track.audio:hover { outline:1px solid rgba(56,189,248,.45); }

/* v0.1.11：A/B 剪輯高亮、全局刪除、快捷鍵與更清楚的三軌選區 */
#gfgoai-sve-cut-at-playhead { min-width:64px; background:#fff7ed!important; border-color:#fb923c!important; color:#9a3412!important; }
#gfgoai-sve-delete-selected-range { min-width:64px; background:#fee2e2!important; border-color:#fca5a5!important; color:#991b1b!important; }
.gfgoai-sve-cut-mark { position:absolute; top:16px; bottom:0; width:3px; background:#fb923c; z-index:16; box-shadow:0 0 0 2px rgba(251,146,60,.32); pointer-events:none; }
.gfgoai-sve-cut-mark::before { content:"A"; position:absolute; top:-16px; left:-9px; width:20px; height:16px; border-radius:6px 6px 0 0; background:#fb923c; color:#111827; font-size:10px; font-weight:900; display:flex; align-items:center; justify-content:center; }
.gfgoai-sve-range-selection-all { position:absolute; top:16px; bottom:0; border:2px solid #38bdf8; background:rgba(56,189,248,.16); z-index:15; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(56,189,248,.55); }
.gfgoai-sve-range-selection-all::before { content:"A-B"; position:absolute; top:-17px; left:4px; padding:1px 6px; border-radius:6px; background:#38bdf8; color:#082f49; font-size:10px; font-weight:900; }
.gfgoai-sve-join-slot { position:absolute; top:16px; bottom:0; width:4px; background:#2563eb; z-index:14; box-shadow:0 0 0 3px rgba(37,99,235,.25); pointer-events:none; }
.gfgoai-sve-join-slot::after { content:""; position:absolute; bottom:2px; left:-7px; width:18px; height:18px; border-radius:50%; background:#2563eb; box-shadow:0 0 0 2px rgba(37,99,235,.24); }
.gfgoai-sve-audio-piece-cut { position:absolute; top:0; bottom:0; width:2px; background:rgba(2,132,199,.55); z-index:6; pointer-events:none; }
.gfgoai-sve-tl-clip.selected { outline:2px solid #facc15!important; z-index:18; }
.gfgoai-sve-tl-sub.selected { outline:2px solid #facc15!important; box-shadow:0 0 0 2px rgba(250,204,21,.22)!important; z-index:18; }
.gfgoai-sve-audio-asset { width:100%; aspect-ratio:16/9; border-radius:10px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0f172a,#1e293b); color:#bae6fd; font-weight:900; }
.gfgoai-sve-tl-track.audio.dragover { outline:2px solid #2563eb!important; }
.gfgoai-sve-toolbar-right .gfgoai-sve-btn.small { font-weight:900; }

/* v0.1.15：軌道邊緣加素材入口、音頻/畫面層高亮 + */
.gfgoai-sve-layer-wrap { position:relative; }
.gfgoai-sve-track-edge { position:absolute; left:0; right:0; height:12px; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:auto; z-index:22; color:#fff; font-weight:900; font-size:14px; background:rgba(37,99,235,.78); border-radius:8px; transform:scaleY(.65); transition:.12s ease; cursor:pointer; }
.gfgoai-sve-track-edge.top { top:-7px; }
.gfgoai-sve-track-edge.bottom { bottom:-7px; }
.gfgoai-sve-layer-wrap:hover > .gfgoai-sve-track-edge,
.gfgoai-sve-track-edge.dragover { opacity:1; transform:scaleY(1); box-shadow:0 0 0 2px rgba(37,99,235,.3); }
.gfgoai-sve-track-edge.dragover { background:#0ea5e9; }
.gfgoai-sve-add-audio-edge { background:rgba(34,197,94,.78); }
.gfgoai-sve-add-audio-edge.dragover { background:#16a34a; }
.gfgoai-sve-layer-wrap.video-layer { margin-bottom:6px; }
.gfgoai-sve-layer-wrap.audio-layer { margin-top:2px; }

/* v0.1.16：停頓歸上一句、多軌疊加、接口只顯示細線 */
.gfgoai-sve-join-slot { width:1px!important; background:rgba(96,165,250,.75)!important; box-shadow:none!important; pointer-events:none!important; }
.gfgoai-sve-join-slot::after { display:none!important; }
.gfgoai-sve-audio-piece-cut { width:1px!important; background:rgba(148,163,184,.42)!important; box-shadow:none!important; }
.gfgoai-sve-overlay-track { position:relative; height:42px; margin:0 0 6px!important; border-radius:8px; background:rgba(15,23,42,.72); border:1px dashed rgba(96,165,250,.25); overflow:hidden; }
.gfgoai-sve-overlay-track.audio { height:34px; background:rgba(20,83,45,.28); border-color:rgba(34,197,94,.36); }
.gfgoai-sve-overlay-pos { position:absolute; top:3px; height:calc(100% - 6px); }
.gfgoai-sve-overlay-clip { height:100%; min-width:44px; border-radius:7px; overflow:hidden; position:relative; border:1px solid rgba(125,211,252,.55); background:#0f172a; color:#e0f2fe; display:flex; align-items:center; gap:6px; padding:3px 6px; font-size:10px; font-weight:800; box-shadow:0 2px 8px rgba(0,0,0,.22); }
.gfgoai-sve-overlay-clip.video { padding:2px; display:block; }
.gfgoai-sve-overlay-thumb { height:22px; border-radius:5px; overflow:hidden; background:#111827; }
.gfgoai-sve-overlay-thumb img, .gfgoai-sve-overlay-thumb video { width:100%; height:100%; object-fit:cover; display:block; }
.gfgoai-sve-overlay-clip.video span { position:absolute; left:5px; right:5px; bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; text-shadow:0 1px 3px #000; font-size:9px; }
.gfgoai-sve-overlay-clip em { margin-left:auto; font-style:normal; opacity:.8; font-size:9px; }
.gfgoai-sve-overlay-clip.audio { border-color:rgba(134,239,172,.65); background:linear-gradient(90deg,rgba(22,101,52,.95),rgba(21,128,61,.76)); color:#ecfdf5; }
.gfgoai-sve-track-edge { opacity:0!important; }
.gfgoai-sve-layer-wrap:hover > .gfgoai-sve-track-edge,
.gfgoai-sve-track-edge.dragover { opacity:1!important; }

/* v0.1.18 overlay clip controls */
.gfgoai-sve-overlay-clip { cursor:grab; user-select:none; }
.gfgoai-sve-overlay-clip.selected { outline:2px solid #38bdf8; box-shadow:0 0 0 3px rgba(56,189,248,.25),0 2px 8px rgba(0,0,0,.25); }
.gfgoai-sve-overlay-controls { position:absolute; left:4px; bottom:3px; display:flex; gap:3px; z-index:16; opacity:0; transition:opacity .15s; }
.gfgoai-sve-overlay-clip:hover .gfgoai-sve-overlay-controls, .gfgoai-sve-overlay-clip.selected .gfgoai-sve-overlay-controls { opacity:1; }
.gfgoai-sve-overlay-controls .gfgoai-sve-mini { width:22px; height:20px; min-width:22px; padding:0; border-radius:6px; font-size:11px; line-height:18px; background:rgba(15,23,42,.82); color:#fff; border:1px solid rgba(255,255,255,.22); }
.gfgoai-sve-overlay-controls .gfgoai-sve-overlay-split { width:28px; }
.gfgoai-sve-overlay-clip .gfgoai-sve-resize-handle.overlay { right:0; width:8px; background:transparent; }
.gfgoai-sve-overlay-clip .gfgoai-sve-resize-handle.overlay:hover, .gfgoai-sve-overlay-clip.selected .gfgoai-sve-resize-handle.overlay.active { background:#facc15!important; }
body.gfgoai-sve-dragging-overlay { cursor:grabbing!important; user-select:none!important; }
.gfgoai-sve-ab-actions { position:absolute; top:-28px; left:42px; display:flex; gap:6px; pointer-events:auto; z-index:30; }
.gfgoai-sve-ab-actions button { font-size:11px; line-height:1; padding:5px 9px; border-radius:8px; border:1px solid rgba(56,189,248,.7); background:#0f172a; color:#e0f2fe; font-weight:800; cursor:pointer; }
.gfgoai-sve-ab-actions button:first-child { background:#7f1d1d; border-color:#fecaca; color:#fff; }

/* v0.1.19：局部右鍵剪輯、主音頻分段選中、多層豎向疊加 */
.gfgoai-sve-overlay-controls { display:none!important; }
.gfgoai-sve-main-audio-piece { position:absolute; top:3px; bottom:3px; border-radius:7px; border:1px solid transparent; background:rgba(15,23,42,.02); z-index:8; cursor:pointer; }
.gfgoai-sve-main-audio-piece:hover { border-color:rgba(56,189,248,.55); background:rgba(56,189,248,.08); }
.gfgoai-sve-main-audio-piece.selected { border-color:#facc15; background:rgba(250,204,21,.13); box-shadow:inset 0 0 0 1px rgba(250,204,21,.45); }
.gfgoai-sve-context-menu { position:absolute; z-index:100000; min-width:116px; background:#0f172a; color:#e5e7eb; border:1px solid rgba(125,211,252,.36); border-radius:10px; box-shadow:0 18px 45px rgba(0,0,0,.35); padding:6px; }
.gfgoai-sve-context-menu button { display:block; width:100%; text-align:left; border:0; background:transparent; color:#e5e7eb; padding:8px 10px; border-radius:8px; font-weight:800; cursor:pointer; }
.gfgoai-sve-context-menu button:hover { background:rgba(56,189,248,.18); color:#fff; }
.gfgoai-sve-overlay-track.video { height:46px; margin-bottom:4px!important; }
.gfgoai-sve-overlay-track.video + .gfgoai-sve-overlay-track.video { margin-top:0!important; }
.gfgoai-sve-overlay-track.video::before { content:attr(data-layer); position:absolute; left:4px; top:4px; min-width:16px; height:16px; border-radius:6px; background:rgba(14,165,233,.22); color:#bae6fd; font-size:10px; font-weight:900; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.gfgoai-sve-overlay-clip.video { height:100%; }
.gfgoai-sve-overlay-thumb { height:100%; }
.gfgoai-sve-overlay-clip.selected, .gfgoai-sve-main-audio-piece.selected { z-index:25; }

/* v0.1.20：一體化黑底剪輯界面、浮窗建立任務、預覽縮放、字幕模式 */
.gfgoai-sve { background:#f8fafc; }
.gfgoai-sve-editor-head { background:#071120; color:#fff; border-radius:22px 22px 0 0; padding:18px 20px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; border:1px solid #17243a; box-shadow:0 12px 30px rgba(15,23,42,.12); }
.gfgoai-sve-editor-title h2 { color:#fff; margin:0; font-size:26px; letter-spacing:.2px; }
.gfgoai-sve-editor-controls { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-left:auto; }
.gfgoai-sve-head-btn { border:1px solid rgba(148,163,184,.35); background:#0f2236; color:#fff; border-radius:999px; padding:9px 13px; line-height:1; font-weight:900; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; text-decoration:none; }
.gfgoai-sve-head-btn:hover { background:#16415f; border-color:#38bdf8; }
.gfgoai-sve-head-btn.primary { background:#0284c7; border-color:#0ea5e9; }
.gfgoai-sve-head-btn:disabled { opacity:.45; cursor:not-allowed; }
.gfgoai-sve-editor-options { width:100%; display:flex; align-items:center; gap:16px; flex-wrap:wrap; color:#cbd5e1; font-weight:800; }
.gfgoai-sve-editor-options label { display:inline-flex; align-items:center; gap:6px; margin:0!important; color:#cbd5e1!important; }
.gfgoai-sve-editor-options select { background:#0f172a; color:#fff; border:1px solid #334155; border-radius:10px; padding:7px 9px; }
.gfgoai-sve-full { margin-top:0!important; border-top-left-radius:0!important; border-top-right-radius:0!important; background:#071120!important; border-color:#17243a!important; color:#fff; padding:16px!important; }
.gfgoai-sve-editor-panel-head { background:#071120; color:#fff; border:0!important; padding:0 0 10px!important; }
.gfgoai-sve-editor-panel-head h3 { color:#fff; margin:0; }
.gfgoai-sve-editor-note { color:#94a3b8; font-size:13px; line-height:1.7; margin:12px 4px 0; }
.gfgoai-sve-browser-preview { background:#020617!important; border:1px solid #23334e!important; border-bottom:0!important; border-radius:16px 16px 0 0!important; padding:10px!important; display:flex!important; justify-content:center; }
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage { aspect-ratio:16/9; max-width:100%; border-radius:14px!important; transition:width .15s ease; min-height:240px; }
.gfgoai-sve-preview-scale-100 .gfgoai-sve-preview-stage { width:100%; }
.gfgoai-sve-preview-scale-75 .gfgoai-sve-preview-stage { width:75%; }
.gfgoai-sve-preview-scale-50 .gfgoai-sve-preview-stage { width:50%; min-height:200px; }
.gfgoai-sve-timeline { border-radius:0 0 16px 16px!important; border-top:0!important; }
.gfgoai-sve-import-srt.gfgoai-sve-head-btn { margin:0!important; background:#0f2236; color:#fff; border-radius:999px; padding:9px 13px; }
.gfgoai-sve-import-srt.gfgoai-sve-head-btn:hover { background:#16415f; }
.gfgoai-sve-floating-panel { position:fixed; inset:0; z-index:99999; }
.gfgoai-sve-floating-backdrop { position:absolute; inset:0; background:rgba(2,6,23,.58); backdrop-filter:blur(2px); }
.gfgoai-sve-floating-box { position:relative; width:min(760px, calc(100vw - 28px)); max-height:calc(100vh - 60px); overflow:auto; margin:30px auto; background:#fff!important; color:#0f172a!important; border-radius:22px!important; box-shadow:0 30px 90px rgba(2,6,23,.45); }
.gfgoai-sve-floating-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid #e5e7eb; }
.gfgoai-sve-floating-head h3 { margin:0; color:#0f172a; }
.gfgoai-sve-floating-box .gfgoai-sve-collapse-body { display:block!important; padding:18px 22px 22px; }
.gfgoai-sve-floating-box label { color:#0f172a!important; }
.gfgoai-sve-empty-track { display:flex!important; align-items:center!important; justify-content:center!important; color:#64748b!important; border:1px dashed rgba(148,163,184,.35)!important; background:rgba(15,23,42,.2)!important; border-radius:10px!important; }
.gfgoai-sve-empty-track span { font-weight:800; font-size:13px; opacity:.75; }
.gfgoai-sve-subtitle-only #gfgoai-sve-browser-preview { display:none!important; }
.gfgoai-sve-subtitle-only .video-layer,
.gfgoai-sve-subtitle-only .gfgoai-sve-overlay-track.video { display:none!important; }
.gfgoai-sve-subtitle-only .gfgoai-sve-tl-track.subtitles { margin-bottom:6px!important; }
.gfgoai-sve-preview-subtitle { white-space:pre-line; }
.gfgoai-sve-tl-sub span { white-space:pre-line; }
@media (max-width:900px){
  .gfgoai-sve-editor-controls { margin-left:0; }
  .gfgoai-sve-preview-scale-50 .gfgoai-sve-preview-stage, .gfgoai-sve-preview-scale-75 .gfgoai-sve-preview-stage { width:100%; }
}


/* v0.1.21：字幕模式仍顯示預覽、字幕框更寬更少換行 */
.gfgoai-sve-subtitle-only #gfgoai-sve-browser-preview { display:flex!important; }
.gfgoai-sve-subtitle-only .gfgoai-sve-preview-stage { background:#020617!important; }
.gfgoai-sve-preview-subtitle { max-width:98%!important; min-width:min(760px,92%)!important; font-size:clamp(16px,1.55vw,24px)!important; line-height:1.28!important; padding:8px 20px!important; }
.gfgoai-sve-preview-scale-50 .gfgoai-sve-preview-subtitle { min-width:92%!important; font-size:clamp(15px,1.45vw,22px)!important; }

/* v0.1.25：局部選中只高亮本區塊；全局 A-B 僅在剪斷全局後顯示浮窗刪除 */
.gfgoai-sve-range-selection-all::before { display:none!important; content:""!important; }
.gfgoai-sve-ab-actions { top:6px!important; left:8px!important; }
.gfgoai-sve-ab-actions button { background:#dc2626!important; border-color:#fecaca!important; color:#fff!important; font-size:12px!important; padding:6px 11px!important; }
.gfgoai-sve-local-controls { position:absolute; left:4px; bottom:3px; display:flex; gap:3px; z-index:28; opacity:0; transition:opacity .12s ease; pointer-events:auto; }
.gfgoai-sve-tl-sub .gfgoai-sve-local-controls { left:4px; bottom:3px; }
.gfgoai-sve-main-audio-piece .gfgoai-sve-local-controls { left:4px; bottom:4px; }
.gfgoai-sve-tl-clip:hover .gfgoai-sve-tl-controls,
.gfgoai-sve-tl-clip.selected .gfgoai-sve-tl-controls,
.gfgoai-sve-tl-sub:hover .gfgoai-sve-local-controls,
.gfgoai-sve-tl-sub.selected .gfgoai-sve-local-controls,
.gfgoai-sve-main-audio-piece:hover .gfgoai-sve-local-controls,
.gfgoai-sve-main-audio-piece.selected .gfgoai-sve-local-controls { opacity:1!important; }
.gfgoai-sve-local-controls .gfgoai-sve-mini { width:24px!important; height:20px!important; min-width:24px!important; padding:0!important; border-radius:6px!important; font-size:12px!important; line-height:18px!important; background:rgba(248,250,252,.95)!important; color:#0f172a!important; border:1px solid rgba(15,23,42,.18)!important; box-shadow:0 2px 8px rgba(0,0,0,.2)!important; }
.gfgoai-sve-local-controls .gfgoai-sve-local-delete { color:#991b1b!important; }
.gfgoai-sve-tl-sub.selected,
.gfgoai-sve-tl-clip.selected,
.gfgoai-sve-main-audio-piece.selected { outline:2px solid #facc15!important; box-shadow:0 0 0 2px rgba(250,204,21,.22)!important; z-index:24!important; }

/* v0.1.29：字幕生成前可選每排字數、字號和常用字體；只改字幕呈現，不改時間碼 */
.gfgoai-sve-caption-options { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; margin:10px 0 12px; padding:12px; border:1px solid #e5e7eb; border-radius:14px; background:#f8fafc; }
.gfgoai-sve-caption-options label { display:flex!important; flex-direction:column; gap:6px; margin:0!important; font-size:13px; font-weight:900; }
.gfgoai-sve-caption-options select { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:8px 9px; background:#fff; color:#0f172a; font-weight:800; }
.gfgoai-sve .gfgoai-sve-preview-subtitle { font-family:var(--gfgoai-sve-subtitle-font, Arial), "Microsoft YaHei", "PingFang SC", sans-serif!important; font-size:var(--gfgoai-sve-subtitle-size, 26px)!important; }
@media (max-width:720px){ .gfgoai-sve-caption-options { grid-template-columns:1fr; } }

.gfgoai-sve-caption-language { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:900; }
.gfgoai-sve-caption-language-title { color:#0f172a; }
.gfgoai-sve-caption-language label { display:flex!important; flex-direction:row!important; align-items:center; gap:7px; font-weight:800!important; margin:0!important; }
.gfgoai-sve-caption-language input { width:auto!important; margin:0!important; }

/* v0.1.31：字幕黑色背景條隨文字長短變化，不再固定整條寬度（v0.1.32 已改為無背景描邊字幕） */
.gfgoai-sve .gfgoai-sve-preview-subtitle {
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  max-width:94%!important;
  padding:8px 18px!important;
  white-space:pre-line!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-preview-scale-50 .gfgoai-sve-preview-subtitle,
.gfgoai-sve-preview-scale-75 .gfgoai-sve-preview-subtitle {
  min-width:0!important;
  max-width:94%!important;
}


/* v0.1.32：取消字幕黑色背景，改為白字黑描邊，並強制單排顯示 */
.gfgoai-sve .gfgoai-sve-preview-subtitle {
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:96%!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow:visible!important;
  line-height:1.18!important;
  text-align:center!important;
  -webkit-text-stroke:1.5px rgba(0,0,0,.92);
  text-shadow:
    0 2px 3px rgba(0,0,0,.95),
    2px 0 2px rgba(0,0,0,.9),
    -2px 0 2px rgba(0,0,0,.9),
    0 -2px 2px rgba(0,0,0,.9),
    0 3px 7px rgba(0,0,0,.85)!important;
}
.gfgoai-sve-preview-scale-50 .gfgoai-sve-preview-subtitle,
.gfgoai-sve-preview-scale-75 .gfgoai-sve-preview-subtitle {
  min-width:0!important;
  max-width:96%!important;
}


/* v0.1.33：字幕改為超粗白字黑陰影，不使用描邊，避免字體變細 */
.gfgoai-sve .gfgoai-sve-preview-subtitle {
  font-family:var(--gfgoai-sve-subtitle-font, "Arial Black"), "Arial Black", "Microsoft JhengHei", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif!important;
  font-weight:900!important;
  -webkit-text-stroke:0!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  background:transparent!important;
  text-shadow:
    0 3px 0 rgba(0,0,0,.95),
    3px 0 0 rgba(0,0,0,.95),
    -3px 0 0 rgba(0,0,0,.95),
    0 -3px 0 rgba(0,0,0,.95),
    2px 2px 0 rgba(0,0,0,.95),
    -2px 2px 0 rgba(0,0,0,.95),
    2px -2px 0 rgba(0,0,0,.95),
    -2px -2px 0 rgba(0,0,0,.95),
    0 5px 10px rgba(0,0,0,.75)!important;
}
.gfgoai-sve-caption-options { grid-template-columns:repeat(4, minmax(0,1fr)); }

/* v0.1.38：SRT 下拉菜單與播放按鈕命中區修正 */
.gfgoai-sve-srt-menu { position:relative; display:inline-flex; align-items:center; }
.gfgoai-sve-srt-menu-list { position:absolute; top:calc(100% + 8px); left:0; min-width:116px; background:#fff; color:#111827; border:1px solid #d1d5db; border-radius:12px; box-shadow:0 12px 30px rgba(15,23,42,.22); padding:6px; z-index:9999; }
.gfgoai-sve-srt-menu-list button { display:block; width:100%; border:0; background:transparent; color:#111827; text-align:left; padding:9px 10px; border-radius:9px; font-weight:800; cursor:pointer; }
.gfgoai-sve-srt-menu-list button:hover { background:#eef2ff; }
#gfgoai-sve-playpause { width:44px; min-width:44px; height:34px; padding:0!important; line-height:1!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; text-align:center!important; font-size:18px!important; position:relative; z-index:5; }

/* v0.1.39: make play/pause hit area reliable, including the center arrow glyph */
#gfgoai-sve-playpause{position:relative; z-index:50; cursor:pointer; user-select:none; -webkit-user-select:none; touch-action:manipulation;}
#gfgoai-sve-playpause::before{content:''; position:absolute; inset:-8px; border-radius:14px;}

/* v0.1.45 輸出狀態與影片素材源定位 */
.gfgoai-sve-rendering-box{padding:16px 18px;border-radius:14px;background:#ecfeff;border:1px solid #67e8f9;color:#075985;font-weight:800;margin:10px 0;}
.gfgoai-sve-error-box{white-space:pre-wrap;padding:16px 18px;border-radius:14px;background:#fff1f2;border:1px solid #fda4af;color:#9f1239;font-weight:700;margin:10px 0;max-height:360px;overflow:auto;}
.gfgoai-sve-head-btn.is-busy,.gfgoai-sve-btn.is-busy{opacity:.65;cursor:wait;}
.gfgoai-sve-source-shift{font-size:12px!important;font-weight:900!important;}

/* v0.1.46：影片素材在畫面區塊內可用滑鼠左右快速找畫面；圖片素材不套用。 */
.gfgoai-sve-tl-clip.video { cursor: ew-resize!important; }
.gfgoai-sve-tl-clip.video .gfgoai-sve-tl-controls,
.gfgoai-sve-tl-clip.video .gfgoai-sve-mini,
.gfgoai-sve-tl-clip.video .gfgoai-sve-resize-handle { cursor: pointer!important; }
.gfgoai-sve-tl-clip.video .gfgoai-sve-resize-handle { cursor: ew-resize!important; }
.gfgoai-sve-tl-clip.video.gfgoai-sve-video-scrub-active { outline: 2px solid rgba(56,189,248,.9)!important; }
.gfgoai-sve-tl-clip.video.gfgoai-sve-video-scrub-active .gfgoai-sve-tl-thumb:after { content:'左右移動找畫面'; position:absolute; left:8px; right:8px; top:8px; text-align:center; font-size:11px; color:#e0f2fe; font-weight:900; background:rgba(15,23,42,.62); border-radius:999px; padding:3px 6px; pointer-events:none; }


/* v0.1.47：固定 50% 預覽、轉場模板、鏡頭推移 */
.gfgoai-sve-fixed-preview-note{font-weight:900;color:#94a3b8;padding:8px 0;}
#gfgoai-sve-preview-scale{display:none!important;}
.gfgoai-sve-preview-workspace{display:flex;align-items:flex-start;gap:14px;width:100%;}
.gfgoai-sve-preview-left{flex:0 0 auto;}
.gfgoai-sve-transition-toggle{margin:10px 0 0 4px!important;}
.gfgoai-sve-transition-panel{width:230px;min-width:210px;background:#0f172a;border:1px solid #334155;border-radius:16px;padding:12px;color:#e5e7eb;box-shadow:0 10px 25px rgba(0,0,0,.18);}
.gfgoai-sve-transition-panel h4{margin:0 0 4px;font-size:16px;color:#fff;}
.gfgoai-sve-transition-panel p{margin:0 0 10px;font-size:12px;color:#94a3b8;}
.gfgoai-sve-transition-grid{display:grid;grid-template-columns:1fr;gap:8px;}
.gfgoai-sve-transition-card{padding:10px;border-radius:12px;background:#1e293b;border:1px solid #475569;cursor:grab;font-weight:900;text-align:center;}
.gfgoai-sve-transition-card:active{cursor:grabbing;}
.gfgoai-sve-tl-slot.transition-drop{background:#f97316!important;box-shadow:0 0 0 2px rgba(249,115,22,.45)!important;}
.gfgoai-sve-ken-editor{position:absolute;inset:0;z-index:40;pointer-events:none;}
.gfgoai-sve-ken-box{position:absolute;border:3px solid #22c55e;background:rgba(34,197,94,.06);box-sizing:border-box;pointer-events:auto;cursor:move;}
.gfgoai-sve-ken-box.end{border-color:#ef4444;background:rgba(239,68,68,.06);}
.gfgoai-sve-ken-box span{position:absolute;left:4px;bottom:2px;font-size:11px;font-weight:900;color:#22c55e;text-shadow:0 1px 2px #000;}
.gfgoai-sve-ken-box.end span{color:#ef4444;}
.gfgoai-sve-ken-box i{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;border-radius:3px;background:currentColor;border:2px solid #fff;cursor:nwse-resize;}
.gfgoai-sve-ken-actions{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;pointer-events:auto;}
.gfgoai-sve-ken-actions button{border:0;border-radius:10px;background:#020617;color:#fff;font-weight:900;padding:6px 14px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.35);}
body.gfgoai-sve-ken-dragging{user-select:none;cursor:move!important;}
.gfgoai-sve-mini.gfgoai-sve-ken-open{font-size:11px!important;width:24px;}
@media(max-width:900px){.gfgoai-sve-preview-workspace{flex-direction:column}.gfgoai-sve-transition-panel{width:100%;}}


/* v0.1.48：修正 v0.1.47 轉場面板造成的預覽區溢出與佈局錯位 */
.gfgoai-sve-preview-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 230px;
  align-items:start!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-preview-left{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
}
.gfgoai-sve-browser-preview{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{
  width:min(50%,680px)!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-transition-panel{
  width:230px!important;
  max-width:230px!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  .gfgoai-sve-preview-workspace{grid-template-columns:1fr!important; overflow:visible!important;}
  .gfgoai-sve-transition-panel{width:100%!important; max-width:100%!important;}
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{width:100%!important;}
}

/* v0.1.49：右側固定工具欄：調顏色 / 轉場模板；展開不推高預覽與時間軸 */
.gfgoai-sve-preview-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-preview-left{min-width:0!important;width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;}
.gfgoai-sve-browser-preview{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;flex:1 1 auto!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{width:min(50%,680px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;}
.gfgoai-sve-side-tools{
  width:260px!important;
  max-width:260px!important;
  height:100%!important;
  max-height:420px!important;
  min-height:240px!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  background:#0f172a;
  border:1px solid #334155;
  border-radius:16px;
  padding:10px;
  color:#e5e7eb;
  align-self:stretch!important;
}
.gfgoai-sve-tool-section{border:1px solid #334155;border-radius:14px;background:#111827;margin-bottom:10px;overflow:hidden;}
.gfgoai-sve-tool-title{width:100%;border:0;background:#1e293b;color:#fff;padding:11px 12px;text-align:left;font-weight:900;cursor:pointer;font-size:15px;}
.gfgoai-sve-tool-title:after{content:'－';float:right;color:#94a3b8;}
.gfgoai-sve-tool-section.collapsed .gfgoai-sve-tool-title:after{content:'＋';}
.gfgoai-sve-tool-body{display:block;padding:10px;}
.gfgoai-sve-tool-section.collapsed .gfgoai-sve-tool-body{display:none!important;}
.gfgoai-sve-color-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;}
.gfgoai-sve-color-tabs button{border:1px solid #475569;background:#020617;color:#cbd5e1;border-radius:8px;padding:6px 4px;font-size:12px;font-weight:800;cursor:pointer;}
.gfgoai-sve-color-tabs button.active{background:#334155;color:#fff;}
.gfgoai-sve-tool-body label{display:block;color:#cbd5e1;font-weight:800;font-size:12px;margin:8px 0;}
.gfgoai-sve-tool-body input[type="range"]{width:100%;display:block;margin-top:5px;}
.gfgoai-sve-transition-panel{width:auto!important;max-width:none!important;min-width:0!important;background:transparent!important;border:0!important;border-radius:0!important;padding:10px!important;box-shadow:none!important;}
.gfgoai-sve-transition-panel p{margin:0 0 10px!important;font-size:12px!important;color:#94a3b8!important;}
.gfgoai-sve-transition-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.gfgoai-sve-transition-card{padding:10px!important;border-radius:12px!important;background:#1e293b!important;border:1px solid #475569!important;cursor:grab!important;font-weight:900!important;text-align:center!important;color:#e5e7eb!important;}
.gfgoai-sve-transition-toggle{margin:0!important;}
.gfgoai-sve-mini.gfgoai-sve-ken-open{display:none!important;}
#gfgoai-sve-ken-toolbar{background:#0f766e!important;border-color:#14b8a6!important;color:#fff!important;}
@media(max-width:900px){
  .gfgoai-sve-preview-workspace{grid-template-columns:1fr!important;overflow:visible!important;}
  .gfgoai-sve-side-tools{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;}
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{width:100%!important;}
}

/* v0.1.50：修正右側工具欄緊湊顯示與轉場模板縮圖；並避免缺失調色函數造成預覽/播放中斷 */
.gfgoai-sve-side-tools{
  width:260px!important;
  max-width:260px!important;
  padding:8px!important;
  font-size:12px!important;
}
.gfgoai-sve-tool-section{border-radius:12px!important;margin-bottom:8px!important;}
.gfgoai-sve-tool-title{
  padding:8px 10px!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.gfgoai-sve-tool-body{padding:8px!important;}
.gfgoai-sve-color-tabs{gap:3px!important;margin-bottom:8px!important;}
.gfgoai-sve-color-tabs button{
  padding:5px 2px!important;
  font-size:10px!important;
  border-radius:7px!important;
}
.gfgoai-sve-tool-body label{
  font-size:11px!important;
  margin:6px 0!important;
}
.gfgoai-sve-tool-body .gfgoai-sve-btn.small,
#gfgoai-sve-color-reset{
  padding:5px 8px!important;
  font-size:11px!important;
  border-radius:8px!important;
}
.gfgoai-sve-transition-panel{padding:8px!important;}
.gfgoai-sve-transition-panel p{
  font-size:11px!important;
  margin:0 0 7px!important;
}
.gfgoai-sve-transition-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.gfgoai-sve-transition-card{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#e5e7eb!important;
  text-align:left!important;
  cursor:grab!important;
  min-width:0!important;
}
.gfgoai-sve-transition-card:active{cursor:grabbing!important;}
.gfgoai-sve-tr-thumb{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border-radius:5px;
  border:1px solid rgba(148,163,184,.35);
  overflow:hidden;
  background:#1e293b;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.gfgoai-sve-tr-name{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.15;
  color:#cbd5e1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gfgoai-sve-transition-card:hover .gfgoai-sve-tr-thumb{
  outline:2px solid rgba(56,189,248,.65);
  outline-offset:1px;
}
.gfgoai-sve-tr-thumb.tr-fade{background:linear-gradient(90deg,#0f172a 0%,#334155 45%,#93c5fd 100%);}
.gfgoai-sve-tr-thumb.tr-dissolve{background:conic-gradient(from 45deg,#0f172a 0 25%,#64748b 0 50%,#93c5fd 0 75%,#1e293b 0);background-size:18px 18px;}
.gfgoai-sve-tr-thumb.tr-slide-left{background:linear-gradient(90deg,#93c5fd 0 42%,#f97316 42% 48%,#0f172a 48% 100%);}
.gfgoai-sve-tr-thumb.tr-slide-right{background:linear-gradient(90deg,#0f172a 0 52%,#f97316 52% 58%,#93c5fd 58% 100%);}
.gfgoai-sve-tr-thumb.tr-zoom-in{background:radial-gradient(circle at center,#93c5fd 0 32%,#334155 33% 58%,#0f172a 59% 100%);}
.gfgoai-sve-tr-thumb.tr-blur{background:linear-gradient(90deg,rgba(147,197,253,.9),rgba(148,163,184,.35),rgba(15,23,42,.9));filter:blur(.6px);}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{
  min-height:220px!important;
}
@media(max-width:900px){
  .gfgoai-sve-transition-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v0.1.51：預覽比例切換、16:9 滿左側區塊、右側屬性工具擴展 */
.gfgoai-sve-fixed-preview-note{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;color:#94a3b8!important;}
#gfgoai-sve-preview-aspect{background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;}
.gfgoai-sve-browser-preview{display:flex!important;align-items:center!important;justify-content:center!important;min-height:360px!important;padding:12px!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{margin:auto!important;max-width:100%!important;border-radius:14px!important;min-height:0!important;transition:width .18s ease,height .18s ease!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-16-9{width:100%!important;aspect-ratio:16/9!important;height:auto!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-1-1{height:360px!important;width:360px!important;aspect-ratio:1/1!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-9-16{height:360px!important;width:203px!important;aspect-ratio:9/16!important;}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-3-4{height:360px!important;width:270px!important;aspect-ratio:3/4!important;}
.gfgoai-sve-preview-subtitle{font-size:clamp(13px,2.2vw,24px)!important;max-width:96%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;padding:0 8px!important;background:transparent!important;box-shadow:none!important;text-shadow:2px 2px 0 #000,-2px 2px 0 #000,2px -2px 0 #000,-2px -2px 0 #000,0 2px 4px #000!important;}
.gfgoai-sve-color-tabs{display:none!important;}
.gfgoai-sve-flip-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}
.gfgoai-sve-flip-tools #gfgoai-sve-color-reset{grid-column:1/3;}
.gfgoai-sve-flip-tools .gfgoai-sve-btn.active{background:#0ea5e9!important;color:#fff!important;border-color:#38bdf8!important;}
.gfgoai-sve-tool-body input[type="range"]{accent-color:#0ea5e9;}
@media(max-width:1100px){
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-1-1{height:300px!important;width:300px!important;}
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-9-16{height:300px!important;width:169px!important;}
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-3-4{height:300px!important;width:225px!important;}
}
@media(max-width:900px){
  .gfgoai-sve-browser-preview{min-height:260px!important;}
  .gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-16-9{width:100%!important;}
}

/* v0.1.52：頂部第二行工具、上字幕下拉、右側工具欄與預覽等高 */
.gfgoai-sve-editor-actionrow{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
}
.gfgoai-sve-editor-actionrow .gfgoai-sve-fixed-preview-note{
  width:auto!important;
  padding:0!important;
  margin-left:2px!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.gfgoai-sve-editor-actionrow .gfgoai-sve-fixed-preview-note span{
  color:#cbd5e1;
  font-weight:900;
}
#gfgoai-sve-preview-aspect{
  width:86px!important;
  min-width:86px!important;
  padding:7px 8px!important;
  border-radius:999px!important;
}
.gfgoai-sve-subtitle-menu{position:relative;display:inline-flex;align-items:center;}
.gfgoai-sve-subtitle-menu-list{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  width:260px;
  background:#fff;
  color:#0f172a;
  border:1px solid #d1d5db;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(15,23,42,.28);
  padding:12px;
  z-index:99999;
}
.gfgoai-sve-subtitle-menu-list label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  margin:0 0 9px!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.gfgoai-sve-subtitle-menu-list select{
  width:100%!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  padding:7px 8px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-weight:800!important;
}
.gfgoai-sve-subtitle-menu-list .gfgoai-sve-btn{width:100%;justify-content:center;margin-top:2px;}
.gfgoai-sve-preview-workspace{align-items:stretch!important;}
.gfgoai-sve-side-tools{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
}
.gfgoai-sve-preview-left{align-self:stretch!important;}
.gfgoai-sve-browser-preview{height:100%!important;}
@media(max-width:900px){
  .gfgoai-sve-subtitle-menu-list{left:auto;right:0;width:min(260px,calc(100vw - 40px));}
  #gfgoai-sve-preview-aspect{width:82px!important;min-width:82px!important;}
}


/* v0.1.53：取消圖片自動鏡頭縮放，讓屬性的縮放/旋轉/翻轉真正生效 */
.gfgoai-sve-preview-stage img,
.gfgoai-sve-preview-stage video{
  transform-origin:center center!important;
  transition:filter .12s ease, transform .12s ease, opacity .12s ease!important;
  max-width:none!important;
  max-height:none!important;
}
.gfgoai-sve-kenburns{animation:none!important;}
.gfgoai-sve-editor-actionrow .gfgoai-sve-fixed-preview-note{display:none!important;}


/* v0.1.54：固定右側工具欄、取消標題列、徹底關閉圖片自動緩慢縮放、強化鏡頭推移雙框顯示 */
.gfgoai-sve-editor-panel-head{display:none!important;}
.gfgoai-sve-preview-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.gfgoai-sve-preview-left{min-width:0!important;align-self:stretch!important;}
.gfgoai-sve-browser-preview{
  height:min(520px, max(360px, calc((100vw - 430px) * .50)))!important;
  min-height:360px!important;
  max-height:520px!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-side-tools{
  height:min(520px, max(360px, calc((100vw - 430px) * .50)))!important;
  min-height:360px!important;
  max-height:520px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-self:stretch!important;
  overscroll-behavior:contain!important;
}
.gfgoai-sve-tool-body{max-width:100%;}
.gfgoai-sve-preview-stage img.gfgoai-sve-preview-media,
.gfgoai-sve-preview-stage img{
  object-fit:cover!important;
  object-position:center center!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
.gfgoai-sve-preview-stage video{
  animation:none!important;
  will-change:auto!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-editor{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:999!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box{z-index:1000!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-actions{z-index:1001!important;}
@media(max-width:900px){
  .gfgoai-sve-preview-workspace{grid-template-columns:1fr!important;}
  .gfgoai-sve-browser-preview{height:auto!important;min-height:260px!important;}
  .gfgoai-sve-side-tools{width:100%!important;max-width:100%!important;height:320px!important;min-height:320px!important;max-height:320px!important;}
}


/* v0.1.55：右側工具欄固定內滾動；轉場預覽；鏡頭推移可拖動；圖片無自動縮放 */
.gfgoai-sve-preview-workspace{
  grid-template-columns:minmax(0,1fr) 260px!important;
  align-items:start!important;
  overflow:hidden!important;
}
.gfgoai-sve-browser-preview,
.gfgoai-sve-side-tools{
  height:420px!important;
  min-height:420px!important;
  max-height:420px!important;
}
.gfgoai-sve-side-tools{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  position:relative!important;
}
.gfgoai-sve-preview-stage img.gfgoai-sve-preview-media,
.gfgoai-sve-preview-stage video{
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
.gfgoai-sve-transition-preview{
  position:absolute!important;
  inset:0!important;
  z-index:18!important;
  pointer-events:none!important;
  overflow:hidden!important;
  background:#020617!important;
}
.gfgoai-sve-transition-preview img,
.gfgoai-sve-transition-preview video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-editor{
  pointer-events:none!important;
  z-index:60!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box{
  pointer-events:auto!important;
  cursor:move!important;
  touch-action:none!important;
  z-index:61!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box i{
  pointer-events:auto!important;
  touch-action:none!important;
  cursor:nwse-resize!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-actions{pointer-events:auto!important;z-index:62!important;}
@media(max-width:900px){
  .gfgoai-sve-browser-preview{height:300px!important;min-height:300px!important;max-height:300px!important;}
  .gfgoai-sve-side-tools{height:320px!important;min-height:320px!important;max-height:320px!important;}
}


/* v0.1.56：鏡頭推移等比例框、固定橘色轉場標記、字幕置頂 */
.gfgoai-sve-preview-subtitle{z-index:75!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-editor{inset:8px!important;overflow:visible!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box{box-sizing:border-box!important;border-width:3px!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box.start{border-color:#22c55e!important;box-shadow:0 0 0 1px rgba(34,197,94,.35)!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box.end{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.35)!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-actions{bottom:10px!important;background:rgba(2,6,23,.72)!important;padding:5px!important;border-radius:12px!important;}
.gfgoai-sve-tl-slot.has-transition{width:42px!important;min-width:42px!important;margin:0 3px!important;background:#f97316!important;box-shadow:0 0 0 2px rgba(249,115,22,.42)!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:16!important;}
.gfgoai-sve-transition-badge{position:absolute;left:50%;top:-22px;transform:translateX(-50%);white-space:nowrap;background:#f97316;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.25);}
.gfgoai-sve-tl-slot.has-transition::after{content:""!important;position:absolute!important;left:50%!important;top:0!important;bottom:0!important;width:4px!important;transform:translateX(-50%)!important;background:#fed7aa!important;border-radius:999px!important;}


/* v0.1.57：預覽不裁切、右側工具欄固定內滾動、鏡頭推移完整顯示、字幕置頂 */
.gfgoai-sve-preview-workspace{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:14px!important;
  align-items:start!important;
  overflow:visible!important;
}
.gfgoai-sve-preview-left{min-width:0!important;width:100%!important;overflow:visible!important;}
.gfgoai-sve-browser-preview{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage.gfgoai-sve-aspect-16-9,
.gfgoai-sve-browser-preview .gfgoai-sve-preview-stage{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  position:relative!important;
}
.gfgoai-sve-side-tools{
  width:260px!important;
  max-width:260px!important;
  min-width:260px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  align-self:start!important;
  box-sizing:border-box!important;
}
.gfgoai-sve-tool-section:not(.collapsed) .gfgoai-sve-tool-body{display:block!important;}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-editor{
  inset:0!important;
  overflow:visible!important;
  z-index:80!important;
  pointer-events:none!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-box{
  box-sizing:border-box!important;
  border-width:3px!important;
  pointer-events:auto!important;
  z-index:81!important;
}
.gfgoai-sve-preview-stage .gfgoai-sve-ken-actions{
  left:50%!important;
  bottom:12px!important;
  transform:translateX(-50%)!important;
  z-index:82!important;
  pointer-events:auto!important;
}
.gfgoai-sve-preview-subtitle{
  z-index:120!important;
  bottom:6%!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
}
@media(max-width:900px){
  .gfgoai-sve-preview-workspace{grid-template-columns:1fr!important;}
  .gfgoai-sve-side-tools{width:100%!important;max-width:100%!important;min-width:0!important;height:320px!important;min-height:320px!important;max-height:320px!important;}
}

.gfgoai-sve-transition-badge{cursor:pointer;z-index:20;}
.gfgoai-sve-transition-menu{position:absolute;z-index:99999;background:#0f172a;color:#fff;border:1px solid rgba(249,115,22,.55);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.35);padding:10px;min-width:190px;font-size:12px;}
.gfgoai-sve-transition-menu b{display:block;font-size:13px;margin-bottom:4px;}
.gfgoai-sve-transition-menu span{display:block;color:#cbd5e1;margin-bottom:8px;}
.gfgoai-sve-transition-menu div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;}
.gfgoai-sve-transition-menu button{border:1px solid rgba(148,163,184,.35);background:#1e293b;color:#fff;border-radius:8px;padding:6px 7px;font-weight:800;cursor:pointer;}
.gfgoai-sve-transition-menu button.active{background:#f97316;border-color:#fed7aa;}
.gfgoai-sve-transition-menu button.danger{width:100%;background:#7f1d1d;border-color:#fecaca;}


/* v0.1.59：轉場符號縮小、時間軸位置不再被轉場寬度撐偏、素材拖入時顯示藍色插入槽 */
.gfgoai-sve-tl-slot.has-transition{
  width:10px!important;
  min-width:10px!important;
  max-width:10px!important;
  margin:0 -5px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  display:block!important;
  overflow:visible!important;
  z-index:18!important;
}
.gfgoai-sve-tl-slot.has-transition::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:18px!important;
  bottom:18px!important;
  width:6px!important;
  transform:translateX(-50%)!important;
  background:#f97316!important;
  border:1px solid #fed7aa!important;
  border-radius:999px!important;
  box-shadow:0 0 0 1px rgba(249,115,22,.35)!important;
  pointer-events:auto!important;
}
.gfgoai-sve-transition-badge{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:14px!important;
  height:22px!important;
  min-width:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:999px!important;
  color:transparent!important;
  overflow:hidden!important;
}
.gfgoai-sve-tl-slot.has-transition.dragover:not(.transition-drop),
.gfgoai-sve-tl-slot.has-transition:hover:not(.transition-drop){
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  margin:0 -9px!important;
  background:#2563eb!important;
  box-shadow:0 0 0 2px rgba(37,99,235,.38)!important;
  border-radius:8px!important;
}
.gfgoai-sve-tl-slot.has-transition.dragover:not(.transition-drop)::after,
.gfgoai-sve-tl-slot.has-transition:hover:not(.transition-drop)::after{
  background:#93c5fd!important;
  border-color:#bfdbfe!important;
}
.gfgoai-sve-tl-slot.transition-drop::after{
  background:#f97316!important;
  border-color:#fed7aa!important;
}
.gfgoai-sve-transition-menu{min-width:168px!important;font-size:11px!important;}
.gfgoai-sve-transition-menu div{grid-template-columns:repeat(3,1fr)!important;}
.gfgoai-sve-transition-menu button{padding:5px 6px!important;}


/* v0.1.60：轉場只作為交界上方覆蓋符號，不佔時間軸寬度 */
.gfgoai-sve-tl-slot.has-transition{
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  flex:0 0 0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible!important;
  position:relative!important;
  z-index:25!important;
}
.gfgoai-sve-tl-slot.has-transition::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  width:34px!important;
  height:7px!important;
  transform:translateX(-50%)!important;
  background:#f97316!important;
  border:1px solid #fed7aa!important;
  border-radius:999px!important;
  box-shadow:0 2px 8px rgba(249,115,22,.45)!important;
  pointer-events:auto!important;
}
.gfgoai-sve-transition-badge{
  position:absolute!important;
  left:50%!important;
  top:8px!important;
  width:42px!important;
  height:20px!important;
  min-width:0!important;
  padding:0!important;
  transform:translate(-50%,-6px)!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible!important;
  cursor:pointer!important;
  z-index:30!important;
}
.gfgoai-sve-tl-slot.has-transition.dragover,
.gfgoai-sve-tl-slot.has-transition:hover{
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.gfgoai-sve-tl-slot.has-transition.dragover::after,
.gfgoai-sve-tl-slot.has-transition:hover::after{
  background:#2563eb!important;
  border-color:#bfdbfe!important;
  width:42px!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.35)!important;
}
.gfgoai-sve-tl-slot.transition-drop::after{
  background:#f97316!important;
  border-color:#fed7aa!important;
}


/* v0.1.61：所有預覽素材自動裁切填滿當前影片比例，避免非 16:9 素材造成轉場跳動 */
.gfgoai-sve-preview-stage > img.gfgoai-sve-preview-media,
.gfgoai-sve-preview-stage > video,
.gfgoai-sve-transition-preview img,
.gfgoai-sve-transition-preview video,
.gfgoai-sve-tl-thumb img,
.gfgoai-sve-tl-thumb video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.gfgoai-sve-preview-stage > img.gfgoai-sve-preview-media{
  max-width:none!important;
  max-height:none!important;
}


/* v0.1.62：默認轉場為交界覆蓋符號，素材比例統一填滿，不佔時間軸空間 */
.gfgoai-sve-tl-slot.has-transition{
  width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;position:relative!important;z-index:35!important;
}
.gfgoai-sve-tl-slot.has-transition::after{
  content:""!important;position:absolute!important;left:50%!important;top:7px!important;width:30px!important;height:6px!important;
  transform:translateX(-50%)!important;background:#f97316!important;border:1px solid #fed7aa!important;border-radius:999px!important;
  box-shadow:0 2px 8px rgba(249,115,22,.35)!important;pointer-events:auto!important;
}
.gfgoai-sve-transition-badge{position:absolute!important;left:50%!important;top:7px!important;width:36px!important;height:18px!important;transform:translate(-50%,-5px)!important;background:transparent!important;color:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer!important;z-index:40!important;}
.gfgoai-sve-tl-slot.has-transition.dragover::after,.gfgoai-sve-tl-slot.has-transition:hover::after{background:#2563eb!important;border-color:#bfdbfe!important;width:40px!important;box-shadow:0 0 0 3px rgba(37,99,235,.35)!important;}
.gfgoai-sve-preview-stage > img.gfgoai-sve-preview-media,.gfgoai-sve-preview-stage > video,.gfgoai-sve-transition-preview img,.gfgoai-sve-transition-preview video{object-fit:cover!important;object-position:center center!important;}

/* v0.1.66：OBS 乾淨播放頁填滿修正 / 文字轉語音入口樣式，只服務輸出與語音入口 */
html.gfgoai-sve-obs-html{margin:0!important;padding:0!important;width:100%!important;height:100%!important;background:#000!important;overflow:hidden!important;}
body.gfgoai-sve-obs-body{
  margin:0!important;
  padding:0!important;
  background:#000!important;
  overflow:hidden!important;
  width:100vw!important;
  height:100vh!important;
}
body.gfgoai-sve-obs-body *{box-sizing:border-box;}
body.gfgoai-sve-obs-body .gfgoai-sve{max-width:none!important;margin:0!important;padding:0!important;border:0!important;}
.gfgoai-sve-obs-player{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:#000!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  --gfgoai-sve-subtitle-font:"Arial Black";
  --gfgoai-sve-subtitle-size:26px;
}
.gfgoai-sve-obs-player.is-recording{cursor:none!important;}
.gfgoai-sve-obs-shell{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#000!important;
}
.gfgoai-sve-obs-preview{
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.gfgoai-sve-obs-stage{
  position:relative!important;
  margin:auto!important;
  border-radius:0!important;
  background:#000!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  box-shadow:none!important;
}
.gfgoai-sve-obs-stage.gfgoai-sve-aspect-16-9{
  width:min(100vw,177.7778vh)!important;
  height:min(56.25vw,100vh)!important;
  aspect-ratio:16/9!important;
}
.gfgoai-sve-obs-stage.gfgoai-sve-aspect-9-16{
  width:min(100vw,56.25vh)!important;
  height:min(177.7778vw,100vh)!important;
  aspect-ratio:9/16!important;
}
.gfgoai-sve-obs-stage.gfgoai-sve-aspect-1-1{
  width:min(100vw,100vh)!important;
  height:min(100vw,100vh)!important;
  aspect-ratio:1/1!important;
}
.gfgoai-sve-obs-stage.gfgoai-sve-aspect-3-4{
  width:min(100vw,75vh)!important;
  height:min(133.3333vw,100vh)!important;
  aspect-ratio:3/4!important;
}
.gfgoai-sve-obs-stage img,
.gfgoai-sve-obs-stage video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
}
.gfgoai-sve-obs-player .gfgoai-sve-preview-subtitle{
  font-family:var(--gfgoai-sve-subtitle-font,"Arial Black"),"Arial Black","Microsoft JhengHei","Microsoft YaHei","PingFang SC",sans-serif!important;
  font-size:var(--gfgoai-sve-subtitle-size,26px)!important;
  font-weight:900!important;
  position:absolute!important;
  left:50%!important;
  bottom:7%!important;
  transform:translateX(-50%)!important;
  max-width:96%!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  text-align:center!important;
  line-height:1.18!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:
    0 3px 0 rgba(0,0,0,.95),
    3px 0 0 rgba(0,0,0,.95),
    -3px 0 0 rgba(0,0,0,.95),
    0 -3px 0 rgba(0,0,0,.95),
    2px 2px 0 rgba(0,0,0,.95),
    -2px 2px 0 rgba(0,0,0,.95),
    2px -2px 0 rgba(0,0,0,.95),
    -2px -2px 0 rgba(0,0,0,.95),
    0 5px 10px rgba(0,0,0,.75)!important;
  z-index:30!important;
}
.gfgoai-sve-obs-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:100!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(0,0,0,.78)!important;
  color:#fff!important;
  pointer-events:auto!important;
}
.gfgoai-sve-obs-player.is-recording .gfgoai-sve-obs-overlay{display:none!important;}
.gfgoai-sve-obs-card{
  width:min(640px,calc(100vw - 40px));
  border:1px solid rgba(148,163,184,.35);
  border-radius:22px;
  padding:24px 28px;
  background:rgba(15,23,42,.92);
  box-shadow:0 22px 80px rgba(0,0,0,.55);
  text-align:center;
}
.gfgoai-sve-obs-card strong{display:block;font-size:22px;margin-bottom:12px;}
.gfgoai-sve-obs-card p{margin:8px 0 16px;line-height:1.7;color:#dbeafe;font-weight:800;}
.gfgoai-sve-obs-link-box .gfgoai-sve-obs-url{
  width:100%;
  max-width:100%;
  border:1px solid #67e8f9;
  background:#fff;
  color:#0f172a;
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
  margin:10px 0;
}
.gfgoai-sve-obs-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px!important;}
.gfgoai-sve-obs-actions .gfgoai-sve-btn{text-decoration:none!important;}


/* v0.1.67：頂部文字轉語音按鈕，黑底白字，不放在建立任務浮窗內 */
.gfgoai-sve-head-btn.gfgoai-sve-tts-head{
  background:#000!important;
  color:#fff!important;
  border-color:#000!important;
  text-decoration:none!important;
  font-weight:900!important;
}
.gfgoai-sve-head-btn.gfgoai-sve-tts-head:hover{
  background:#111827!important;
  color:#fff!important;
  border-color:#111827!important;
}

/* v0.1.68：建立影片任務浮窗小幅改名，並修正前台 AJAX 0 返回提示。 */


/* v0.1.70：大量影片素材時，素材庫與時間軸使用輕量占位圖，不一次載入多個 video。 */
.gfgoai-sve-video-asset { width:100%; height:100%; min-height:52px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:linear-gradient(135deg,#111827,#334155); color:#e5e7eb; font-weight:900; letter-spacing:.04em; }
.gfgoai-sve-video-asset::before { content:'▶'; display:inline-flex; width:28px; height:28px; border-radius:999px; align-items:center; justify-content:center; margin-right:7px; background:rgba(255,255,255,.18); color:#fff; }
.gfgoai-sve-video-asset span { font-size:12px; }


/* v0.1.76：後台公共素材批量拖入、分類篩選與內聯編輯 */
.gfgoai-sve-admin-assets .gfgoai-sve-asset-form{max-width:980px;}
.gfgoai-sve-admin-dropzone{
  position:relative;
  display:flex;
  min-height:150px;
  border:2px dashed #94a3b8;
  border-radius:18px;
  background:#f8fafc;
  color:#334155;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  margin:16px 0 22px;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
  text-align:center;
  overflow:hidden;
}
.gfgoai-sve-admin-dropzone:hover,
.gfgoai-sve-admin-dropzone.dragging{
  border-color:#2563eb;
  background:#eff6ff;
  box-shadow:0 8px 28px rgba(37,99,235,.12);
}
.gfgoai-sve-admin-dropzone.has-file{
  border-color:#16a34a;
  background:#f0fdf4;
}
.gfgoai-sve-admin-dropzone input[type=file]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.gfgoai-sve-admin-drop-icon{
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#2563eb;
  color:#fff;
  font-size:30px;
  font-weight:900;
  line-height:1;
}
.gfgoai-sve-admin-dropzone strong{font-size:20px;font-weight:900;color:#0f172a;}
.gfgoai-sve-admin-dropzone em{font-style:normal;color:#64748b;font-size:14px;}
.gfgoai-sve-admin-dropzone small{color:#0f766e;font-weight:800;}
.gfgoai-sve-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px 18px;align-items:start;}
.gfgoai-sve-admin-grid p{margin:0 0 8px;}
.gfgoai-sve-admin-grid .wide{grid-column:1/-1;}
.gfgoai-sve-admin-grid input.regular-text,
.gfgoai-sve-admin-grid input.large-text{width:100%;max-width:100%;}
.gfgoai-sve-admin-grid .required{color:#dc2626;font-weight:900;}
@media (max-width:760px){.gfgoai-sve-admin-grid{grid-template-columns:1fr;}}

.gfgoai-sve-admin-upload-queue{display:flex;flex-wrap:wrap;gap:6px;max-width:92%;justify-content:center;margin-top:4px;position:relative;z-index:2;}
.gfgoai-sve-admin-upload-queue span{display:inline-flex;align-items:center;max-width:280px;padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:800;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gfgoai-sve-admin-category-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px;align-items:center;}
.gfgoai-sve-admin-category-buttons .button{border-radius:999px;font-weight:800;}
.gfgoai-sve-admin-category-buttons span{opacity:.72;margin-left:4px;}
.gfgoai-sve-admin-asset-table td{vertical-align:middle;}
.gfgoai-sve-admin-edit-row td{background:#f8fafc!important;padding:14px!important;}
.gfgoai-sve-admin-inline-edit{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;gap:10px;align-items:end;}
.gfgoai-sve-admin-inline-edit label{font-weight:800;color:#334155;}
.gfgoai-sve-admin-inline-edit input{width:100%;max-width:100%;}
@media(max-width:1100px){.gfgoai-sve-admin-inline-edit{grid-template-columns:repeat(2,minmax(180px,1fr));}.gfgoai-sve-admin-inline-edit button{grid-column:1/-1;}}

/* v0.1.77：多軌預留空間與扣背景圖工具 */
.gfgoai-sve-overlay-track.video{
  height:48px!important;
  margin-bottom:4px!important;
  background:rgba(15,23,42,.50)!important;
  border:1px dashed rgba(125,211,252,.30)!important;
}
.gfgoai-sve-overlay-track.video.dragover{
  background:rgba(14,165,233,.22)!important;
  border-color:#38bdf8!important;
  box-shadow:inset 0 0 0 2px rgba(56,189,248,.30)!important;
}
.gfgoai-sve-empty-layer-label{
  position:absolute;
  left:34px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  color:#94a3b8;
  pointer-events:none;
  white-space:nowrap;
}
.gfgoai-sve-overlay-track.video::before{
  content:"V" attr(data-layer)!important;
  min-width:24px!important;
  padding:0 4px!important;
  background:rgba(14,165,233,.25)!important;
}
.gfgoai-sve-layer-wrap.video-layer::before{
  content:"主畫面軌";
  position:absolute;
  left:6px;
  top:4px;
  z-index:5;
  font-size:11px;
  color:#bfdbfe;
  background:rgba(15,23,42,.58);
  border-radius:999px;
  padding:2px 7px;
  pointer-events:none;
}
.gfgoai-sve-chroma-panel label{
  display:block;
  margin:8px 0;
  font-size:13px;
}
.gfgoai-sve-chroma-panel input[type="color"]{
  width:42px;
  height:26px;
  padding:0;
  border:1px solid #334155;
  border-radius:6px;
  vertical-align:middle;
  margin-left:8px;
}
.gfgoai-sve-chroma-panel input[type="range"]{width:100%;}


/* v0.1.78：主畫面軌固定在字幕下方；隱藏空軌，拖入素材時才自動讓位 */
.gfgoai-sve-layer-wrap.video-layer > .gfgoai-sve-track-edge,
.gfgoai-sve-add-video-edge{display:none!important;opacity:0!important;pointer-events:none!important;}
.gfgoai-sve-layer-wrap.video-layer{margin-bottom:0!important;cursor:grab;}
.gfgoai-sve-layer-wrap.video-layer:active{cursor:grabbing;}
.gfgoai-sve-layer-wrap.video-layer::before{display:none!important;content:""!important;}
.gfgoai-sve-main-video-track{margin-bottom:2px!important;}
.gfgoai-sve-overlay-track.video{border:0!important;background:transparent!important;margin:0!important;border-radius:0!important;}
.gfgoai-sve-overlay-track.video::before{display:none!important;content:""!important;}
.gfgoai-sve-overlay-track.video.has-items{height:48px!important;margin:0 0 4px!important;background:rgba(15,23,42,.50)!important;border-radius:8px!important;overflow:hidden!important;}
.gfgoai-sve-overlay-track.video.has-items.dragover{background:rgba(14,165,233,.18)!important;box-shadow:inset 0 0 0 2px rgba(56,189,248,.25)!important;}
.gfgoai-sve-hidden-drop-track{height:12px!important;min-height:12px!important;opacity:0!important;overflow:hidden!important;transition:height .14s ease, opacity .14s ease, background .14s ease, box-shadow .14s ease;}
.gfgoai-sve-hidden-drop-track.dragover,
.gfgoai-sve-hidden-drop-track:hover{height:48px!important;opacity:1!important;margin:0 0 4px!important;border-radius:8px!important;background:rgba(14,165,233,.22)!important;box-shadow:inset 0 0 0 2px rgba(56,189,248,.32)!important;}
.gfgoai-sve-hidden-drop-track.dragover::after,
.gfgoai-sve-hidden-drop-track:hover::after{content:"鬆手放入新軌";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:900;color:#bae6fd;pointer-events:none;white-space:nowrap;}
.gfgoai-sve-empty-layer-label{display:none!important;}
.gfgoai-sve-tl-slot:not(.has-transition){display:none!important;width:0!important;min-width:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;}
.gfgoai-sve-tl-slot:not(.has-transition).dragover,
.gfgoai-sve-tl-slot:not(.has-transition):hover{display:none!important;width:0!important;min-width:0!important;}


/* v0.1.79：臨時空軌不顯示；拖入素材進入時間軸後才展開，已投放的素材軌始終顯示 */
.gfgoai-sve-hidden-drop-track{
  height:0!important;
  min-height:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.gfgoai-sve-tl-canvas.gfgoai-sve-show-drop-tracks .gfgoai-sve-hidden-drop-track,
.gfgoai-sve-hidden-drop-track.dragover{
  height:48px!important;
  min-height:48px!important;
  margin:0 0 4px!important;
  opacity:1!important;
  pointer-events:auto!important;
  border-radius:8px!important;
  background:rgba(14,165,233,.16)!important;
  box-shadow:inset 0 0 0 2px rgba(56,189,248,.24)!important;
}
.gfgoai-sve-tl-canvas.gfgoai-sve-show-drop-tracks .gfgoai-sve-hidden-drop-track::after,
.gfgoai-sve-hidden-drop-track.dragover::after{
  content:"拖到這裡新增畫面軌";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:12px;
  font-weight:900;
  color:#bae6fd;
  pointer-events:none;
  white-space:nowrap;
}
.gfgoai-sve-overlay-track.video.has-items{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:48px!important;
}
.gfgoai-sve-overlay-thumb .gfgoai-sve-tl-thumb-video,
.gfgoai-sve-overlay-thumb .gfgoai-sve-tl-thumb-img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}


/* v0.1.83：右側屬性拉桿縮小、變細，避免過於搶眼 */
.gfgoai-sve-side-tools{width:236px!important;max-width:236px!important;}
.gfgoai-sve-tool-body label{font-size:10px!important;margin:5px 0!important;color:#cbd5e1!important;}
.gfgoai-sve-tool-body input[type="range"]{height:4px!important;margin-top:3px!important;accent-color:#0ea5e9!important;}
.gfgoai-sve-tool-body input[type="range"]::-webkit-slider-runnable-track{height:4px!important;border-radius:999px!important;}
.gfgoai-sve-tool-body input[type="range"]::-webkit-slider-thumb{width:14px!important;height:14px!important;margin-top:-5px!important;}
.gfgoai-sve-tool-body input[type="range"]::-moz-range-track{height:4px!important;border-radius:999px!important;}
.gfgoai-sve-tool-body input[type="range"]::-moz-range-thumb{width:14px!important;height:14px!important;border-radius:999px!important;}
.gfgoai-sve-tool-title{font-size:12px!important;padding:7px 9px!important;}
.gfgoai-sve-tool-body{padding:6px 8px!important;}
