#puzzle-screen {
    flex-grow: 1;
    aspect-ratio: 1 / 1;
    position: relative;
}

#puzzle-svg {
    width: 100%;
    height: 100%;
}

.puzzle-node-emitter {
    fill: red;
    stroke-width: 1;
    stroke: red;
    stroke-linejoin: round;
}

.puzzle-node-blocker {
    fill: black;
    stroke-width: 1;
    stroke: black;
    stroke-linejoin: round;
}

.puzzle-node-receiver {
    fill: green;

    stroke-width: 1;
    stroke: green;
    stroke-linejoin: round;
}

.puzzle-ring {
    fill: none;
    stroke: gray;

    &.puzzle-ring-selected {
        stroke: white;
    }
}

.puzzle-laser {
    stroke: blue;
}