/* 批次3：文本节点Markdown预览 + 音频节点视觉预留 */
/* 引入顺序：在 video-controls-batch2.css 之后 */



/* === 文本节点增强 === */
/* Markdown预览容器 */
.ld-text-md-preview {
width: 100% !important;
padding: 10px 14px;
font-size: 13px !important;
line-height: 1.65;
color: rgba(255,255,255,0.85) !important;
word-break: break-word;
}
/* 骨架屏三行占位 */
.ld-text-md-preview.is-empty::after {
content: "";
display: block;
background:
  linear-gradient(90deg,rgba(255,255,255,0.12),rgba(255,255,255,0.05)) 0 0/72% 10px no-repeat,
  linear-gradient(90deg,rgba(255,255,255,0.08),rgba(255,255,255,0.04)) 0 24px/88% 8px no-repeat,
  linear-gradient(90deg,rgba(255,255,255,0.06),rgba(255,255,255,0.03)) 0 44px/60% 8px no-repeat !important;
min-height: 60px !important;
border-radius: 6px !important;
}
/* 视觉隐藏 textarea 但保留DOM和事件 */
.ld-text-source-hidden {
position: absolute;
opacity: 0;
pointer-events: none;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
}
/* 切换按钮 */
.ld-text-md-toggle {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border-radius: 999px !important;
font-size: 11px !important;
background: rgba(99,102,241,0.15) !important;
color: rgba(165,180,252,0.9) !important;
border: 1px solid rgba(99,102,241,0.35) !important;
cursor: pointer;
position: absolute;
top: 6px;
right: 8px;
z-index: 5;
transition: background 0.15s ease;
}
.ld-text-md-toggle:hover {
background: rgba(99,102,241,0.28) !important;
}
/* markdown排版 */
.ld-text-md-preview h1 { font-size: 1.2em !important; font-weight: 700 !important; margin: 0 0 0.5em !important; color: rgba(255,255,255,0.95) !important; }
.ld-text-md-preview h2 { font-size: 1.1em !important; font-weight: 600 !important; margin: 0 0 0.45em !important; color: rgba(255,255,255,0.9) !important; }
.ld-text-md-preview h3 { font-size: 1em !important; font-weight: 600 !important; margin: 0 0 0.4em !important; color: rgba(255,255,255,0.88) !important; }
.ld-text-md-preview p { margin: 0 0 0.7em !important; }
.ld-text-md-preview p:last-child { margin-bottom: 0 !important; }
.ld-text-md-preview ul, .ld-text-md-preview ol { padding-left: 1.3em !important; margin: 0 0 0.7em !important; }
.ld-text-md-preview li { margin: 0.2em 0 !important; }
.ld-text-md-preview pre { background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 6px !important; padding: 8px 10px !important; overflow-x: auto !important; margin: 0 0 0.7em !important; }
.ld-text-md-preview code { font-family: ui-monospace,SFMono-Regular,Consolas,monospace !important; font-size: 0.9em !important; }
.ld-text-md-preview pre code { background: none !important; padding: 0 !important; }
.ld-text-md-preview :not(pre) > code { background: rgba(255,255,255,0.08) !important; padding: 0.1em 0.3em !important; border-radius: 3px !important; }
.ld-text-md-preview blockquote { border-left: 3px solid rgba(99,102,241,0.6) !important; padding-left: 0.8em !important; margin: 0 0 0.7em !important; color: rgba(255,255,255,0.6) !important; }
.ld-text-md-preview table { width: 100% !important; border-collapse: collapse !important; margin: 0 0 0.7em !important; font-size: 12px !important; }
.ld-text-md-preview th, .ld-text-md-preview td { padding: 5px 8px !important; border: 1px solid rgba(255,255,255,0.12) !important; vertical-align: top !important; text-align: left !important; }
.ld-text-md-preview th { background: rgba(255,255,255,0.06) !important; font-weight: 600 !important; }
.ld-text-md-preview strong { font-weight: 700 !important; color: rgba(255,255,255,0.95) !important; }

/* === 音频节点视觉预留 === */
.ld-audio-visual-shell {
width: 100% !important;
background: rgba(30,30,40,0.7) !important;
border: 1px solid rgba(99,102,241,0.25) !important;
border-radius: 14px !important;
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 10px;
}
.ld-audio-waveform {
width: 100% !important;
height: 52px !important;
position: relative;
overflow: hidden !important;
border-radius: 6px !important;
}
.ld-audio-waveform svg {
width: 100% !important;
height: 100% !important;
}
.ld-audio-controls-row {
display: flex;
align-items: center;
gap: 10px;
}
.ld-audio-play-btn {
width: 32px !important;
height: 32px !important;
border-radius: 50% !important;
background: rgba(99,102,241,0.85) !important;
border: none !important;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
flex-shrink: 0;
color: #fff !important;
transition: background 0.15s ease, transform 0.15s ease;
}
.ld-audio-play-btn:hover { background: #6366f1 !important; transform: scale(1.06) !important; }
.ld-audio-progress {
flex: 1;
height: 4px !important;
border-radius: 999px !important;
background: rgba(255,255,255,0.15) !important;
}
.ld-audio-time {
font-size: 11px !important;
color: rgba(255,255,255,0.5) !important;
font-variant-numeric: tabular-nums;
white-space: nowrap;
}


