/* css/components/_render-tree.css */
/* 家谱树渲染相关样式（从 js/family-editor/render/styles.css 迁移） */

/* 搜索高亮动画 */
@keyframes searchPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(255, 193, 7, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
    }
}

.search-highlight {
    animation: searchPulse 1.5s infinite !important;
    z-index: 1000 !important;
}

/* 人员节点优化 */
.person-node {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    backface-visibility: hidden;
}

.person-node:hover {
    z-index: 100 !important;
}

/* 关系线样式优化 */
.relationship-line {
    transition: opacity 0.3s ease;
}

.relationship-label {
    transition: all 0.2s ease;
    font-family: 'Arial', sans-serif;
}

/* 代际标记 */
.generation-marker {
    transition: transform 0.3s ease;
}

.generation-marker:hover {
    transform: translateY(-50%) scale(1.05);
}

/* 拖拽反馈 */
.dragging {
    opacity: 0.8;
    cursor: grabbing !important;
}

/* 选中状态 */
.person-node.selected {
    border-width: 4px !important;
    box-shadow: 0 0 0 3px rgba(139, 0, 0, 0.3), 0 8px 25px rgba(0,0,0,0.2) !important;
}

/* 响应式调整 */
@media (max-width: 768px) {
    .person-node {
        width: 100px !important;
        height: 100px !important;
        font-size: 12px !important;
    }
    
    .generation-marker {
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
    
    .relationship-label {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }
}
