.profile-selector {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin-bottom: 2rem;
}
.profile-card {
background: var(--bg);
border: 2px solid var(--border);
border-radius: 12px;
padding: 1.5rem;
cursor: pointer;
transition: all 0.3s;
text-align: center;
}
.profile-card:hover {
border-color: var(--turquoise);
transform: translateY(-2px);
}
.profile-card.active {
border-color: var(--turquoise);
background: var(--bg-light-turquoise);
}
.profile-avatar {
width: 60px;
height: 60px;
border-radius: 50%;
margin: 0 auto 1rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
background: linear-gradient(135deg, var(--turquoise), var(--turquoise-dark));
}
.profile-name {
font-weight: 700;
margin-bottom: 0.25rem;
color: var(--text);
}
.profile-role {
font-size: 0.9rem;
color: var(--text-light);
}
.network-container-wrapper {
background: var(--bg);
border-radius: 12px;
padding: 2rem;
margin-top: 2rem;
border: 2px solid var(--border);
}
.person-info {
text-align: center;
margin-bottom: 2rem;
}
#person-name {
font-size: 2rem;
font-weight: 700;
margin-bottom: 0.5rem;
}
#person-context {
color: var(--text-light);
font-size: 1.1rem;
}
.controls {
display: flex;
gap: 1rem;
justify-content: center;
margin-bottom: 2rem;
flex-wrap: wrap;
}
.view-btn {
padding: 0.75rem 1.5rem;
border: 2px solid var(--border);
background: var(--bg);
border-radius: 8px;
cursor: pointer;
font-weight: 600;
color: var(--text);
transition: all 0.2s;
}
.view-btn:hover {
border-color: var(--turquoise);
color: var(--turquoise);
}
.view-btn.active {
background: var(--turquoise);
border-color: var(--turquoise);
color: white;
}
#stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 1rem;
margin-bottom: 2rem;
}
.stat-card {
background: var(--bg-alt);
padding: 1rem;
border-radius: 8px;
text-align: center;
}
.stat-value {
font-size: 2rem;
font-weight: 700;
color: var(--turquoise);
}
.stat-label {
color: var(--text-light);
font-size: 0.9rem;
margin-top: 0.25rem;
}
.network-container {
position: relative;
width: 100%;
height: 600px;
background: var(--bg-alt);
border-radius: 8px;
overflow: hidden;
}
.loading-state {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
color: var(--text-light);
}
.skill-node {
position: absolute;
border-radius: 50%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 600;
color: white;
cursor: pointer;
transition: all 0.3s;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.skill-node:hover {
transform: scale(1.1);
z-index: 10;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.skill-node.dimmed {
opacity: 0.3;
}
.skill-node.highlighted {
transform: scale(1.15);
box-shadow: 0 6px 20px rgba(0,0,0,0.3);
z-index: 11;
}
.skill-name {
font-weight: 700;
text-align: center;
line-height: 1.2;
}
.skill-level {
font-size: 0.7rem;
margin-top: 0.25rem;
opacity: 0.9;
}
.connection-line {
position: absolute;
background: var(--border);
transform-origin: left center;
pointer-events: none;
opacity: 0.3;
transition: opacity 0.3s;
}
.connection-line.highlighted {
background: var(--turquoise);
opacity: 0.6;
}
.leadership { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.communication { background: linear-gradient(135deg, #ec4899, #be185d); }
.problem-solving { background: linear-gradient(135deg, #f59e0b, #d97706); }
.teamwork { background: linear-gradient(135deg, #10b981, #059669); }
.technical { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.creativity { background: linear-gradient(135deg, #f43f5e, #e11d48); }
.service { background: linear-gradient(135deg, #06b6d4, #0891b2); }
.safety { background: linear-gradient(135deg, #ef4444, #dc2626); }
.tooltip {
position: fixed;
background: rgba(31, 41, 55, 0.95);
color: white;
padding: 1rem;
border-radius: 8px;
font-size: 0.9rem;
pointer-events: none;
z-index: 1000;
max-width: 300px;
opacity: 0;
transition: opacity 0.2s;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.tooltip.visible {
opacity: 1;
}
.section-note {
text-align: center;
font-size: 1.1rem;
color: var(--text-light);
margin-top: 2rem;
font-style: italic;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}

/* Fingerprint Profile */
.fingerprint-section {


@media (prefers-reduced-motion: reduce) {
  .skill-node,
  .connection-line,
  .tooltip,
  .profile-card,
  .view-btn {
    transition: none !important;
  }
  .skill-node:hover {
    transform: none;
  }
}
