:host { display: contents; } .node-row { display: flex; align-items: center; gap: 0.375rem; padding: 0.5rem 1rem; min-height: 1.75rem; } .node-row:hover { background: #f5f5f5; } .node-row:has(.node-label.active) { background: #e5e5e5; } .toggle-indicator { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; border: 1px solid #aaa; border-radius: 2px; font-size: 0.75rem; line-height: 1; color: #555; cursor: pointer; user-select: none; flex-shrink: 0; } .toggle-placeholder { width: calc(1rem + 2px); flex-shrink: 0; } .node-label { flex: 1; font-size: 0.8125rem; color: #333; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .node-label.clickable { cursor: pointer; user-select: none; } .node-label.active { font-weight: 600; color: #4f46e5; }