.group-board-canvas [data-text-box] {
  pointer-events: none;
  overflow: visible;
}

.group-board-canvas[data-tool="text"] [data-text-owned="true"],
.group-board-canvas[data-tool="eraser"] [data-text-owned="true"] {
  pointer-events: all;
}

.group-board-canvas[data-tool="eraser"] .group-floating-text {
  pointer-events: none;
}

.group-floating-text {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #fff;
  box-shadow: inset 0 0 0 var(--group-text-edge, 1px) #000;
}

.group-floating-text-content {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 var(--group-text-pad, 2px);
  overflow: hidden;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
  line-height: 1.1;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

textarea.group-floating-text-content {
  resize: none;
}

.group-board-canvas[data-tool="text"] textarea.group-floating-text-content {
  cursor: grab;
}

.group-board-canvas[data-tool="text"] textarea.group-floating-text-content:focus {
  cursor: text;
}

.group-board-canvas [data-text-selected] textarea.group-floating-text-content {
  overflow: auto;
  scrollbar-width: none;
}

.group-board .group-text-handle {
  position: absolute;
  z-index: 1;
  display: grid;
  width: var(--group-text-handle, 17px);
  height: var(--group-text-handle, 17px);
  min-height: 0;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 0 0 0 var(--group-text-edge, 1px) #000;
  color: #000;
  font: 700 var(--group-text-handle-text, 11px)/1 system-ui, sans-serif;
  touch-action: none;
}

.group-board .group-text-handle[hidden] {
  display: none;
}

.group-board .group-text-handle[data-text-action="move"] {
  inset: auto auto calc(100% + var(--group-text-handle-top, 3px)) 0;
  cursor: grab;
}

.group-board .group-text-handle[data-text-action="resize"] {
  inset: auto auto calc(100% + var(--group-text-handle-top, 3px)) var(--group-text-handle-gap, 20px);
  cursor: nwse-resize;
}

.group-board .group-text-handle:focus-visible {
  outline: 2px solid #000;
  outline-offset: -2px;
}
