/* Stammbaum Plugin Styles */

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.person-node {
    padding: 8px 12px;
    border: 2px solid #333;
    border-radius: 5px;
    background: white;
    margin: 5px;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
}

.person-node:hover {
    background: #e3f2fd;
    transform: scale(1.05);
}

/* Status-spezifische Farben */
.person-node.aktiv { border-color: #4caf50; background: #e8f5e8; }
.person-node.inaktiv { border-color: #ff9800; background: #fff3e0; }
.person-node.philistriert { border-color: #2196f3; background: #e3f2fd; }
.person-node.ausgetreten { border-color: #f44336; background: #ffebee; }
.person-node.gestorben { border-color: #9e9e9e; background: #f5f5f5; color: #666; }
.person-node.Ehrenmitglied { border-color: #ffd700; background: #fffde7; }
.person-node.Verkehrsgast { border-color: #9c27b0; background: #f3e5f5; }
.person-node.Witwe { border-color: #795548; background: #efebe9; }
.person-node[class*="Kein"] { border-color: #607d8b; background: #eceff1; }

.generation-level {
    margin: 20px 0;
    padding: 15px;
    border-left: 4px solid #2196f3;
    background: #f8f9fa;
}

.connection-line {
    height: 2px;
    background: #666;
    margin: 10px 0;
    position: relative;
}

.status-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.legend-color {
    width: 20px;
    height: 16px;
    border-radius: 3px;
    display: inline-block;
}

.legend-item-horizontal {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    white-space: nowrap;
}

.person-connections {
    font-size: 14px;
}

.connection-item {
    margin: 10px 0;
    padding: 8px;
    background: #f8f9fa;
    border-left: 3px solid #2196f3;
}

.person-link {
    color: #0073aa;
    cursor: pointer;
    text-decoration: underline;
}

.person-link:hover {
    color: #005a87;
}

.current-person {
    background: #fff3cd;
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: bold;
}

.generation-chain {
    margin-top: 5px;
    font-family: monospace;
}

.connection-summary {
    background: #e3f2fd;
    padding: 10px;
    border-radius: 4px;
    margin: 10px 0;
    font-weight: bold;
}

.stammbaum-controls {
    margin: 20px 0;
}

.stammbaum-controls button {
    margin-right: 10px;
}

.tree-structure {
    font-family: Arial, sans-serif;
    max-height: 700px;
    overflow-y: auto;
}

.hierarchie-view,
.netzwerk-view,
.timeline-view {
    padding: 20px;
    overflow-y: auto;
    height: 100%;
}

.decade-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
