/* Scoped styles: only affect the generator container */
.esb-ws{
  --cell: 34px;
  --cell-font: 16px;
  --grid-bg: #ffffff;
  --grid-border: rgba(0,0,0,.12);
}

.esb-ws .card-soft {
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border-radius: 16px;
}

.esb-ws .grid-wrap {
  background: var(--grid-bg);
  border: 1px solid var(--grid-border);
  border-radius: 12px;
  padding: 12px;
  overflow: auto;
}

.esb-ws .grid {
  display: grid;
  gap: 2px;
  user-select: none;
}

.esb-ws .cell {
  width: var(--cell);
  height: var(--cell);
  display: grid;
  place-items: center;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 6px;
  font-weight: 700;
  font-size: var(--cell-font);
  text-transform: uppercase;
  background: #fff;
}

.esb-ws .cell.marked {
  outline: 2px solid rgba(13,110,253,.75);
  background: rgba(13,110,253,.08);
}

.esb-ws .word-badge { cursor: pointer; user-select: none; }
.esb-ws .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.esb-ws .esb-ws-pre{
  white-space: pre-wrap;
}

@media print {
  .esb-ws .no-print { display: none !important; }
  .esb-ws .grid-wrap { border: none; padding: 0; }
  .esb-ws .card-soft { box-shadow: none; border: none; }
}
