#tech-hub-v1-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}
#tech-hub-v1-container {
    width: 100%;
    max-width: 768px;
    aspect-ratio: 1 / 1;
    /* Symmetric padding ensures JS center calculation is accurate */
    padding: 1rem;
    background-color: transparent;
    overflow: visible;
    font-family: 'Inter', sans-serif;
    position: relative; 
}

/* Tooltip Styles */
#tech-hub-v1-container .tooltip {
    position: absolute;
    text-align: left;
    padding: 8px;
    font-size: 12px;
    background: #161b1f;
    color: white;
    border-radius: 8px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    white-space: pre-line;
    z-index: 99;
    max-width: 220px;
    line-height: 1.4;
}

#tech-hub-v1-container .node circle { transition: transform 0.2s ease-out; cursor: pointer; }
#tech-hub-v1-container .spoke-node:hover > .main-spoke-circle { transform: scale(1.1); }
#tech-hub-v1-container .node text { pointer-events: none; }

#tech-hub-v1-container .hub-node text {
    font-size: 20px;
    font-weight: bold;
    text-anchor: middle;
    fill: #000000;
}

#tech-hub-v1-container .spoke-node .main-spoke-text { 
    line-height: 1.1; 
}
#tech-hub-v1-container .spoke-node .main-spoke-text tspan { fill: #ffffff; }
#tech-hub-v1-container .link { stroke: #9ca3af; stroke-width: 2px; }