
core {
    active-bg-color: #fff;
    active-bg-opacity: 0.333;
}

edge {
    curve-style: bezier; /*haystack;*/
    target-arrow-shape: triangle-backcurve;
    /*haystack-radius: 0;*/
    opacity: 0.333;
    width: 2;
    z-index: 0;
    overlay-opacity: 0;
}

node {
    width: 40;
    height: 40;
    border-width: 1;
    font-size: 10;
    font-weight: bold;
    min-zoomed-font-size: 4;
    content: data(name);
    text-valign: center;
    text-halign: center;
    color: #000;
    text-outline-width: 2;
    text-outline-color: #fff;
    text-outline-opacity: 1;
    overlay-color: #fff;
}

node[NodeType = "Container"] {
    content: data(label);
    shape: roundrectangle;
    text-wrap: wrap;
    text-max-width: 90px;
    padding: 10px;
    text-valign: top;
    text-halign: center;
    font-weight: bold;
}

node[NodeType = "Node"] {
    content: data(label);
    shape: roundrectangle;
    text-wrap: wrap;
    text-max-width: 90px;
    padding: 10px;
    text-valign: top;
    text-halign: center;
    background-color: #B4DCED;
    color: #3399CC;
    font-weight: bold;
}

node[NodeType = "External Node"] {
    width: 25;
    height: 25;
    content: data(label);
    shape: roundrectangle;
    text-wrap: wrap;
    text-max-width: 90px;
    padding: 10px;
    text-valign: top;
    text-halign: center;
    background-color: #3197EB;
    color: #3399CC;
    font-weight: bold;
}

node[NodeType = "Script Node"] {
    width: 25;
    height: 25;
    content: data(label);
    shape: roundrectangle;
    text-wrap: wrap;
    text-max-width: 90px;
    padding: 10px;
    text-valign: top;
    text-halign: center;
    background-color: #5b686d;
    color: #3b3c3c;
    font-weight: bold;
}

node[NodeType = "Component"] {
    background-color: #E8F8FF; /*#FACD37;*/
    text-outline-color: #E8F8FF; /*#FACD37;*/
    /* width: mapData(Quality, 70, 100, 20, 50); */
    /* height: mapData(Quality, 70, 100, 20, 50); */
}

node[noLogging = "True"] {
    border-style : solid;
    border-color : #E8F8FF;
}

node[userLogging = "True"] {
    border-style : dashed;
    border-color : #000;
}

node[traceLogging = "True"] {
    border-style : dotted;
    border-color : #000;
}

node[allLogging = "True"] {
    border-style : double;
    border-color : #000;
    border-width : 5;
}

node[NodeType = "Message"],
node[NodeType = "External Message"],
node[NodeType = "Advertised Message"] {
    background-color: green;
    text-outline-color: green;
}

edge[type = "Subscriber"],
edge[type = "Publisher"] {
    line-color: green;
    target-arrow-color: green;
}

node[NodeType = "Service"],
node[NodeType = "External Service"],
node[NodeType = "Advertised Service"] {
    background-color: #DE3128;
    text-outline-color: #DE3128;
}

edge[type = "Server"],
edge[type = "Client"] {
    line-color: #DE3128;
    target-arrow-color: #DE3128;
}

node[NodeType = "Action"],
node[NodeType = "External Action"],
node[NodeType = "Advertised Action"] {
    background-color: #334d5c;
    text-outline-color: #334d5c;
}

edge[type = "Action Server"],
edge[type = "Action Client"] {
    line-color: #334d5c;
    target-arrow-color: #334d5c;
}

node.highlighted {
    min-zoomed-font-size: 0;
    font-size: 10;
    text-outline-width: 2;
    text-outline-opacity: 1;
    z-index: 9999;
}

edge.highlighted {
    opacity: 0.8;
    width: 4;
    z-index: 9999;
}

edge.faded {
    opacity: 0.1;
}

node.faded {
    opacity: 0.5;
    text-opacity: 0;
}
