/* Technical drafting grammar. Positions and scientific content belong to the model. */
#canvas .diagram-node{cursor:grab;outline:none}#canvas .diagram-node:active{cursor:grabbing}
#canvas .stock-rect{fill:#1b324b;stroke:#648caf;stroke-width:1.2;vector-effect:non-scaling-stroke;filter:none}
#canvas .stock-accent{fill:none;stroke:#9ac8ef;stroke-width:2;stroke-linecap:round;pointer-events:none}
#canvas .node-eyebrow{font:600 8px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.16em;text-anchor:middle;fill:#9abbd8;pointer-events:none}
#canvas .element-label{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:11.5px;font-weight:600;text-anchor:middle;fill:#e6f0fb;pointer-events:none;letter-spacing:0}
#canvas .stock:hover .stock-rect{fill:#223e5b;stroke:#acd4f5}
#canvas .stock.is-selected .stock-rect,#canvas .stock:focus-visible .stock-rect{stroke:#c0e1ff;stroke-width:2;fill:#24425f}
#canvas .stock.is-selected .stock-accent{stroke:#d8edff;stroke-width:3}
#canvas .variable-capsule{fill:#252c36;stroke:#937954;stroke-width:1;vector-effect:non-scaling-stroke}
#canvas .variable-circle{fill:#172336;stroke:#d6af70;stroke-width:1.3;vector-effect:non-scaling-stroke;pointer-events:none}
#canvas .variable .element-label{fill:#e9d7b9;font-size:10.5px;font-weight:500}
#canvas .variable:hover .variable-capsule{fill:#34343a;stroke:#d3b07b}
#canvas .variable.is-selected .variable-capsule,#canvas .variable:focus-visible .variable-capsule{fill:#3a352e;stroke:#f0cc95;stroke-width:2}
#canvas .flow-valve{fill:#293047;stroke:#bea8eb;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#canvas .valve-center{fill:#bdade0;stroke:#17243b;stroke-width:1;pointer-events:none}
#canvas .node-hit{fill:transparent;stroke:none;pointer-events:all}
#canvas .flow-label-plate{fill:#142136;fill-opacity:.97;stroke:none}
#canvas .flow .element-label{fill:#d7c9ed;font-size:10.5px;font-weight:500}
#canvas .flow:hover .flow-valve{fill:#4c4268;stroke:#e5d4ff}
#canvas .flow.is-selected .flow-valve,#canvas .flow:focus-visible .flow-valve{stroke:#eee1ff;stroke-width:2.5;fill:#65517f}
#canvas .flow.is-selected .flow-label-plate{stroke:#9d8abc;stroke-width:1}
#canvas .flow-line{fill:none;stroke:#b4a0d8;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
#canvas .connector-line{fill:none;stroke:#7d94af;stroke-opacity:.65;stroke-width:1.15;stroke-dasharray:2.5 4;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
#canvas .connector-line.selected{stroke:#d7e4f4;stroke-opacity:1;stroke-width:1.8}
#canvas .connector-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer;outline:none}
#canvas .connector-hit:hover,#canvas .connector-hit:focus-visible{stroke:#a9c4e333;stroke-width:9;stroke-dasharray:none}
@media(prefers-reduced-motion:no-preference){#canvas .stock-rect,#canvas .variable-capsule,#canvas .flow-valve{transition:fill .12s,stroke .12s}}
