.ve button,.ve-file { font:inherit; font-size:13px; border:1px solid #d9d5e3; background:#fff; color:#332d46; border-radius:8px; padding:9px 12px; min-height:40px; cursor:pointer; }
.ve .ve-primary { background:#69539a; color:white; border-color:#69539a; }
.ve { border:1px solid #dcd7e7; border-radius:16px; background:#faf9fd; padding:20px; margin-bottom:30px; }
.ve [hidden] { display:none!important; }
.ve-heading {display:flex; justify-content:space-between; gap:16px; align-items:center; }
.ve h2 { font-size:22px; margin:0 0 7px; }.ve h3 {font-size:12px; color:#686078; margin:0 0 12px; text-transform:uppercase;letter-spacing:.04em;}
.ve-heading p,.ve-limits,.ve-help {font-size:12px;line-height:1.7;color:#706780;}.ve-heading span {font-size:10px;letter-spacing:.18em;color:#78619f;white-space:nowrap;}
.ve fieldset {border:0;padding:0;min-width:0;}.ve button:disabled,.ve fieldset:disabled .ve-file {opacity:.4;cursor:default;}
.ve-toolbar {display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;}.ve-file {position:relative;display:inline-flex;align-items:center;gap:5px;text-decoration:none;overflow:hidden;}.ve-file input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.ve-file:focus-within {outline:2px solid #69539a;outline-offset:2px;}
.ve-workspace {display:grid;grid-template-columns:150px minmax(0,1fr) 190px;gap:14px;align-items:start;}
.ve-library,.ve-inspector {background:white;border:1px solid #e6e1ed;border-radius:10px;padding:12px;max-height:430px;overflow:auto;min-width:0;}
.ve-library button {display:block;width:100%;text-align:left;margin-bottom:8px;overflow-wrap:anywhere;font-size:11px;}.ve-library small {display:block;color:#8b7aa9;margin-top:5px;}
.ve-stage {position:relative;display:flex;align-items:center;justify-content:center;background:#15121d;border-radius:10px;overflow:hidden;min-height:230px;}
.ve-view {min-width:0;}
main:has(.ve) .related-card {min-width:0;}
.ve-stage canvas {display:block;max-width:100%;max-height:390px;width:100%;object-fit:contain;}.ve-stage p {position:absolute;color:#cbc4dc;font-size:13px;text-align:center;padding:20px;pointer-events:none;}
.ve-transport {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:12px;}.ve-transport output {font-variant-numeric:tabular-nums;}.ve-transport label {margin-left:auto;}
.ve select,.ve input:not([type=file]),.ve textarea {font:inherit;font-size:12px;max-width:100%;border:1px solid #ddd6e8;border-radius:5px;padding:6px;background:white;color:#30283e;}
.ve-inspector label {display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:11px;color:#685b7c;}.ve-inspector input,.ve-inspector select,.ve-inspector textarea {width:100%;box-sizing:border-box;}.ve-inspector textarea {min-height:65px;resize:vertical;}.ve-inspector button {font-size:11px;margin:3px 2px;padding:7px;}
.ve-timeline-head {display:flex;gap:8px;align-items:center;margin:24px 0 12px;flex-wrap:wrap;}.ve-timeline-head h3 {margin:0 auto 0 0;}
.ve-scrub {display:flex;gap:12px;font-size:12px;align-items:center;font-variant-numeric:tabular-nums;}.ve-scrub input {flex:1;accent-color:#7959ae;min-width:0;}
.ve-timeline-scroll {overflow-x:auto;margin-top:12px;}.ve-tracks {min-width:560px;}.ve-track-label {font-size:10px;color:#80718e;margin:10px 0 4px;}
.ve-clips {display:flex;height:64px;gap:3px;background:#ede8f4;border-radius:6px;}.ve-clip {position:relative;min-width:0;overflow:hidden;background:#b9a4d8;border:2px solid transparent;border-radius:6px;display:flex;align-items:center;}.ve-clip.selected {border-color:#654396;}.ve-clip button {background:transparent;border:0;font-size:11px;width:100%;height:100%;padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;}.ve-clip .ve-edge {position:absolute;top:0;bottom:0;width:9px;background:#76599f;cursor:ew-resize;touch-action:none;z-index:1;padding:0;border-radius:0;min-height:0;}.ve-edge[data-edge=start] {left:0;}.ve-edge[data-edge=end] {right:0;}
.ve-overlay-track {position:relative;background:#eeebf3;border-radius:6px;min-height:32px;}.ve-overlay-track button {position:absolute;min-height:26px;height:26px;padding:3px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;background:#dfd0b3;border-color:#b59a6c;}.ve-overlay-track button.selected {outline:2px solid #654396;outline-offset:-2px;}#ve-music button {background:#bddbd4;border-color:#79b3a4;}
.ve-export {display:flex;gap:14px;align-items:center;justify-content:flex-end;font-size:12px;}.ve-export select {margin-left:8px;}.ve-status {font-size:13px;color:#68547f;}.ve-status progress {width:100%;accent-color:#7959ae;}#ve-result video {display:block;max-width:100%;max-height:360px;margin:15px auto;}#ve-result {text-align:center;}
@media(min-width:1050px) {main:has(.ve:not([hidden])) {max-width:1280px;}}
@media(max-width:800px) {.ve-workspace {grid-template-columns:1fr 170px;}.ve-library {grid-column:1/-1;max-height:130px;}#ve-library {display:flex;gap:8px;}.ve-library button {min-width:120px;width:150px;}.ve-heading span{display:none;}}
@media(max-width:560px) {.ve {padding:12px;}.ve-workspace {grid-template-columns:1fr;}.ve-inspector {max-height:none;}.ve-inspector label {display:inline-flex;width:calc(50% - 12px);margin:6px;vertical-align:top;}.ve-stage {min-height:190px;}.ve-heading h2 {font-size:19px;}.ve-toolbar {gap:5px;}.ve-toolbar button,.ve-file {font-size:11px;padding:8px;}.ve-inspector h3{margin-bottom:5px;}}

/* 음성 잡음 줄이기 — 설명은 title로 두고 한 줄로 */
.ve-denoise {display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;}.ve-denoise input {width:18px;height:18px;accent-color:var(--primary);}

/* 속성 패널의 구획 제목과 켜고 끄는 칸 (배속·전환·색·글자 모양이 늘어 구획이 필요해졌다) */
.ve-inspector h4 { margin: .9rem 0 .35rem; padding-top: .7rem; border-top: 1px solid #e6e2ee; font-size: 12px; font-weight: 700; color: #5b5470; }
.ve-inspector .ve-check { display: flex; align-items: center; gap: .45rem; min-height: 40px; cursor: pointer; }
.ve-inspector .ve-check input { width: 18px; height: 18px; min-height: 0; accent-color: #6b4a94; }
/* 패널이 길어져 화면보다 커지지 않게 안에서 스크롤한다 */
@media (min-width: 900px) { .ve-inspector { max-height: 620px; overflow-y: auto; } }
.ve-export { flex-wrap: wrap; }

/* 타임라인 확대 · 눈금 · 재생 위치선 · 장면 썸네일 */
.ve-tracks { position: relative; }
.ve-zoom { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #685b7c; }
.ve .ve-zoom input { width: 120px; padding: 0; border: 0; accent-color: #7959ae; }
.ve-ruler { position: relative; height: 22px; border-bottom: 1px solid #ddd6e8; font-size: 10px; color: #80718e; cursor: pointer; touch-action: none; user-select: none; overflow: hidden; }
.ve-ruler span { position: absolute; top: 2px; height: 18px; padding-left: 4px; border-left: 1px solid #b7abc9; white-space: nowrap; font-variant-numeric: tabular-nums; pointer-events: none; }
.ve-playhead { position: absolute; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: #d6336c; pointer-events: none; z-index: 3; }
.ve-playhead[hidden] { display: none; }
.ve-clip canvas { position: absolute; left: 0; top: 6px; width: 100%; height: 48px; pointer-events: none; }
.ve-clip button:not(.ve-edge) { position: relative; z-index: 1; display: flex; align-items: flex-end; padding: 4px 12px; }
.ve-clip button span { max-width: 100%; padding: 1px 6px; border-radius: 4px; background: rgba(255, 255, 255, .86); overflow: hidden; text-overflow: ellipsis; }
/* 가로로 스크롤해도 트랙 이름은 왼쪽에 남는다 */
.ve-track-label { position: sticky; left: 0; width: max-content; }
/* 막대는 끌어서 옮기고 늘인다 — 폭은 실제 길이대로, 가장 좁아도 잡을 수 있게 */
.ve-overlay-track button { min-width: 14px; touch-action: none; cursor: grab; }
#ve-canvas { cursor: default; }
/* 얹은 소리·음악 막대의 파형, 녹음 중 표시 */
.ve-overlay-track button canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#ve-sounds button { background: #cfe0f3; border-color: #86a9d6; }
#ve-record.recording { background: #c92a4b; border-color: #c92a4b; color: #fff; }
/* 지난 편집 알림(자동 저장) */
.ve-draft {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);border-radius:10px;background:color-mix(in srgb, var(--primary) 6%, transparent);font-size:13px;line-height:1.6;}
.ve-draft p {margin:0;flex:1 1 260px;overflow-wrap:anywhere;}
