.class-model { width: 100%; overflow: hidden; }
.class-canvas {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  background-image: radial-gradient(#d9d5c8 1px, transparent 1px);
  background-size: 14px 14px;
  border-radius: 6px;
  overflow: hidden;
}
.class-canvas svg { position: absolute; inset: 0; max-width: 100%; pointer-events: none; }
.class-canvas .association, .class-canvas .inheritance { fill: none; stroke: #4d669c; stroke-width: 1.5; }
.class-canvas .inheritance { stroke-dasharray: 5 3; }
.class-node { position: absolute; width: 136px; min-width: 0; height: 46px; padding: 8px 10px; overflow: hidden; background: #fffef9; color: #1f315d; border: 1px solid #5970a8; border-radius: 0; box-shadow: 0 1px 3px #1d316e22; text-overflow: ellipsis; white-space: nowrap; }
.class-node.selected { outline: 3px solid #9eb6ff; }
