body {
    font-family: Arial, sans-serif;
}
h1 {
    text-align: center;
}
#instructions {
    text-align: center;
    margin-top: -80px;
}
#instructions p {
    margin: 5px 0;
    font-size: 14px;
}
.node rect {
    cursor: move;
    fill-opacity: .9;
    shape-rendering: crispEdges;
    transition: fill-opacity 0.3s;
}
.node rect:hover {
    fill-opacity: 1;
}
.node text {
    pointer-events: none;
    text-shadow: 0 1px 0 #fff;
    font: 12px sans-serif;
}
.link {
    fill: none;
    stroke-opacity: .2;
    transition: stroke-opacity 0.3s, stroke-width 0.3s;
}
.link:hover {
    stroke-opacity: 0.7;
    stroke-width: 3px;
}
.legend rect {
    stroke: #000;
    stroke-width: 0.5px;
}
.legend text {
    font-size: 12px;
}
.header {
    font: bold 14px sans-serif;
    cursor: move;
    user-select: none;
}
.header.active {
    fill: red;
}
#tooltip {
    position: absolute;
    text-align: center;
    width: auto;
    height: auto;
    padding: 5px;
    font: 12px sans-serif;
    background: lightsteelblue;
    border: 0px;
    border-radius: 8px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s;
}
