.shape-widget {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shape-widget svg {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

/* Ensure shapes fill their containers properly */
.shape-widget svg rect,
.shape-widget svg circle,
.shape-widget svg ellipse,
.shape-widget svg polygon,
.shape-widget svg path {
  vector-effect: non-scaling-stroke;
}

/* Text rendering improvements */
.shape-widget svg text {
  user-select: none;
  pointer-events: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .shape-widget svg text {
    font-size: 0.9em;
  }
}

@media (max-width: 480px) {
  .shape-widget svg text {
    font-size: 0.8em;
  }
}