.canvas-root {
    cursor: grab;
}

.connector_panel {
    position: absolute;
}

.connector_panel > svg {
    overflow: visible;
}

.panel-dragbox {
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 0;
}

.canvas-svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.selection-indicator {
    fill: none;
    stroke-width: 4;
    stroke: yellow;
}

.arrow-up {
    fill: white;
    stroke: white;
}

.panel {
    --fill-color: #000;
    --stroke-color: #333;
    --stroke-width: 2;
}

#scaler {
    position: absolute;
    top: 0;
    left: 0;
    border: none;
    padding: 0;
    margin: 0;
    transform-origin: top left;
    transform: scale(1);
    user-select: none;
    overflow: visible;
}

.grid {
    position: absolute;
    background-image:
        repeating-linear-gradient(#ddd 0 1px, transparent 1px 100%),
        repeating-linear-gradient(90deg, #ddd 0 1px, transparent 1px 100%);
    background-size: 37px 37px;
}


.chain0 {
    stroke: var(--safe-color1);
}

.chain1 {
    stroke: var(--safe-color2);
}

.chain2 {
    stroke: var(--safe-color3);
}

.chain3 {
    stroke: var(--safe-color4);
}

.idText {
    fill: white;
    font-family: monospace;
    font-weight: bold;
    font-size: 24px;
}

.idMarker {
    fill: black;
    stroke-width: 1.5;
}

.connector {
    stroke-width: 1.5;
}

.draggable {
    cursor: move;
}

