:host {
	height: 100%;
	width: calc(100% - 8px);
	display: flex;
	align-items: center;
	margin-left: 4px;
	margin-right: 4px;
}

div {
	position: relative;
	box-sizing: border-box;
}

div.ng-pad {
	display: flex;
}

div.ng-pad-item {
	--display: inline-flex;
	width: 12px;
	min-width: 12px;
	height: 100%;
	--border: 1px solid red;
}

div.ng-pad-item::before {
	content: "";
	display: inline-flex;
	position: relative;
	border-left: 1px dotted #ddd;
	height: 100%;
	width: 0;
	left: 6px;
}

div.ng-pad-item-none::before {
	display: none;
	--transform: translateY(100%);
}

div.ng-item {
	display: inline-flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

div.ng-icon {
	display: flex;
	align-items: center;
	width: 12px;
	min-width: 12px;
	height: 100%;
	outline: 0;
}
div.ng-icon > div {
	width: 12px;
	height: 12px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: white;
	z-index: 1;
}
div.ng-expand-off > div {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>');
}
div.ng-expand-on > div {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>');
}
div.ng-node > div {
	background-image: none;
	border-radius: 50%;
	width:6px;
	height: 6px;
	background-color: dimgray;
	position: relative;
	left: 3px;
}
div.ng-icon::before {
	content: "";
	--display: inline-flex;
	position: relative;
	border-left: 1px dotted #ddd;
	height: 100%;
	width: 0;
	left: 6px;
}

div.ng-icon-up::before {
	transform: translateY(-50%);
}
div.ng-icon-down::before {
	transform: translateY(50%);
}
div.ng-icon-none::before {
	display: none;
}

div.ng-line {
	display: inline-flex;
	width: 12px;
	min-width: 12px;
	height: 100%;
	align-items: center;
}

div.ng-line::after {
	content: "";
	border-bottom: 1px dotted #ddd;
	height: 0;
	width: 12px;
}

div.ng-line::before {
	content: "";
	position: relative;
	border-left: 1px dotted #ddd;
	width: 0;
	height: 100%;
	left: 6px;
}
div.ng-line-down::before {
	transform: translateY(50%);
}
div.ng-line-none::before {
	display: none;
}

span.text {
	--margin-left: 4px;
}
