
/* Effect tracks */
.effect-track {
    height: 40px;
    background: rgba(15, 15, 30, 0.6);
    border-bottom: 1px solid rgba(42, 42, 58, 0.5);
}
.effect-track.track-selected {
    background: linear-gradient(90deg, rgba(139, 92, 246, 0.16) 0%, rgba(139, 92, 246, 0.07) 100%);
    border-bottom-color: rgba(139, 92, 246, 0.45);
    box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.25);
}
.effect-clip {
    background: rgba(139, 92, 246, 0.2);
    border-color: rgba(139, 92, 246, 0.5);
    top: 4px;
    height: 32px;
}
.effect-clip:hover {
    background: rgba(139, 92, 246, 0.3);
}
.effect-clip.selected {
    border-color: #a78bfa;
    box-shadow: 0 0 6px rgba(139, 92, 246, 0.35);
    background: rgba(139, 92, 246, 0.35);
}

.timeline-clip.selected {
    border-color: #fff;
    box-shadow: 0 0 4px rgba(255, 255, 255, 0.3);
    z-index: 10;
}
.audio-clip.selected {
    border-color: #fff !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.45), 0 0 8px rgba(251, 191, 36, 0.45);
    outline: 1px solid rgba(255,255,255,0.35);
    z-index: 12;
}
.audio-clip.selected canvas {
    opacity: 0.95;
}
.audio-clip canvas {
    width: 100%;
    height: 100%;
    opacity: 0.7;
    box-shadow: none;
    pointer-events: none;
}
.audio-track-delete-empty {
    position: absolute;
    right: 6px;
    top: 6px;
    z-index: 15;
    border: 1px solid rgba(239, 68, 68, 0.45);
    background: rgba(25, 25, 25, 0.9);
    color: #fca5a5;
    font-size: 10px;
    line-height: 1.2;
    padding: 2px 6px;
    border-radius: 6px;
    cursor: pointer;
}
.audio-track-delete-empty:hover {
    background: rgba(127, 29, 29, 0.85);
    color: #fff;
}

.clip-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 15px;
    background: rgba(255, 255, 255, 0.05);
    cursor: ew-resize;
    z-index: 20;
}
.clip-handle:hover { background: rgba(255, 255, 255, 0.2); }
.handle-left { left: 0; }
.handle-right { right: 0; }
.clip-name {
    position: absolute;
    top: 2px;
    left: 14px;
    font-size: 9px;
    pointer-events: none;
    white-space: nowrap;
    max-width: calc(100% - 30px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.audio-controls-panel {
    padding: 10px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-panel);
}
.audio-clip-properties { display: none; }
.audio-clip-properties.open { display: block; }

/* Camera Track Styles â†’ see "Camera Track Additional Styles" section below */
/* Effect Keyframe Dots (camera-like circular style, bottom-aligned inside clip) */
.effect-kf-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #60a5fa;
    border: 2px solid #fff;
    bottom: 2px;
    top: auto;
    transform: translate(-50%, 0);
    cursor: pointer;
    z-index: 25;
    transition: transform 0.1s, background 0.1s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.effect-kf-dot:hover {
    background: #93c5fd;
    transform: translate(-50%, 0) scale(1.3);
}
.effect-kf-dot.selected {
    background: #fbbf24;
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    box-shadow: 0 0 8px rgba(251, 191, 36, 0.5);
    transform: translate(-50%, 0) scale(1.4);
}
