.scene-hierarchy { display: flex; flex-direction: column; height: 100%; background-color: var(--color-bg-base); color: var(--color-text-primary); } .hierarchy-header { display: flex; align-items: center; gap: var(--spacing-sm); height: var(--layout-panel-header); padding: 0 var(--spacing-md); border-bottom: 1px solid var(--color-border-default); background-color: var(--color-bg-elevated); flex-shrink: 0; } .hierarchy-header-icon { color: var(--color-text-secondary); flex-shrink: 0; } .hierarchy-header h3 { margin: 0; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-text-primary); text-transform: uppercase; letter-spacing: 0.05em; } .hierarchy-content { flex: 1; overflow-y: auto; padding: var(--spacing-xs) 0; } .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--spacing-4xl) var(--spacing-lg); text-align: center; color: var(--color-text-secondary); height: 100%; } .empty-icon { color: var(--color-text-tertiary); margin-bottom: var(--spacing-md); opacity: 0.5; } .empty-title { font-size: var(--font-size-base); font-weight: var(--font-weight-medium); color: var(--color-text-secondary); margin-bottom: var(--spacing-xs); } .empty-hint { font-size: var(--font-size-sm); color: var(--color-text-tertiary); } .entity-list { list-style: none; margin: 0; padding: 0; } .entity-item { display: flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); cursor: pointer; user-select: none; transition: all var(--transition-fast); position: relative; } .entity-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background-color: transparent; transition: background-color var(--transition-fast); } .entity-item:hover { background-color: var(--color-bg-hover); } .entity-item.selected { background-color: var(--color-selected); } .entity-item.selected::before { background-color: var(--color-primary); } .entity-item.selected:hover { background-color: var(--color-selected-hover); } .entity-icon { color: var(--color-text-secondary); flex-shrink: 0; transition: color var(--transition-fast); } .entity-item:hover .entity-icon, .entity-item.selected .entity-icon { color: var(--color-primary); } .entity-name { font-size: var(--font-size-base); color: var(--color-text-primary); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .entity-item.selected .entity-name { font-weight: var(--font-weight-medium); }