/* tree_viewer.css */
.tree_viewer {
  font-family: monospace;
  font-size: 14px;
  line-height: 1.4;
  user-select: none;
  padding: 8px;
}
.tree_viewer.light {
  background: #fff;
  color: #333;
}
.tree_viewer.dark {
  background: #1e1e1e;
  color: #ccc;
}

.tree-node {
  margin-left: 16px;
  position: relative;
}
.tree-expand-toggle {
  display: inline-block;
  width: 12px;
  cursor: pointer;
  user-select: none;
}
.tree-key {
  font-weight: bold;
  margin-left: 4px;
}
.tree-value {
  margin-left: 4px;
  color: #007acc;
}

.tree-node.collapsed > .tree-children {
  display: none;
}
.tree-children {
  margin-left: 16px;
  border-left: 1px dashed #ccc;
  padding-left: 8px;
}
