/* Diff viewer styles (used by wwwroot/js/st-html-code-diff.js) */

.st-diff-root {
	height: 100%;
	overflow: auto;
	background-color: var(--st-bg-color);
	color: var(--st-text-color);
	font-family: Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 12px;
	line-height: 18px;
}

.st-diff-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.st-diff-table col.st-diff-col-ln {
	width: 50px;
}
.st-diff-table th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 5px 8px;
	background-color: var(--st-th-bg-color);
	color: var(--st-text-color);
	border-bottom: 1px solid var(--st-border-color);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
}
.st-diff-table th + th {
	border-left: 1px solid var(--st-border-color);
}
.st-diff-table td {
	padding: 0 8px;
	vertical-align: top;
}

.st-diff-ln {
	text-align: right;
	color: var(--st-muted-text-color);
	background-color: var(--st-th-bg-color);
	border-right: 1px solid var(--st-border-color);
	white-space: nowrap;
	-webkit-user-select: none;
	user-select: none;
}
.st-diff-code {
	white-space: pre-wrap;
	word-break: break-all;
	overflow-wrap: anywhere;
	tab-size: 4;
	-moz-tab-size: 4;
}
td.st-diff-code + td.st-diff-ln {
	border-left: 1px solid var(--st-border-color);
}
.st-diff-code:empty::before,
.st-diff-ln:empty::before {
	content: "\200b";
}

/* changes */
.st-diff-del {
	background-color: #ffeef0;
}
.st-diff-ln.st-diff-del {
	background-color: #ffdce0;
	color: #a0636b;
}
.st-diff-ins {
	background-color: #e6ffed;
}
.st-diff-ln.st-diff-ins {
	background-color: #cdffd8;
	color: #4d8a5a;
}
.st-diff-filler {
	background: var(--st-th-bg-color) repeating-linear-gradient(-45deg, transparent, transparent 4px, rgba(var(--st-text-color-rgb), 0.04) 4px, rgba(var(--st-text-color-rgb), 0.04) 8px);
}
.st-diff-del .st-diff-chg {
	background-color: #fdb8c0;
}
.st-diff-ins .st-diff-chg {
	background-color: #acf2bd;
}

/* collapsed unchanged lines */
.st-diff-collapsed td {
	padding: 2px 8px;
	background-color: var(--st-top-menu-bg-color);
	color: var(--st-muted-text-color);
	text-align: center;
	cursor: pointer;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px;
}
.st-diff-collapsed:hover td {
	background-color: var(--st-item-bg-color);
	color: var(--st-link-active-text-color);
}

/* diff blocks + current block */
.st-diff-block-row {
	cursor: pointer;
}
.st-diff-current > td.st-diff-ln {
	background-color: var(--st-selection-bg-color);
	color: var(--st-selection-text-color);
	font-weight: bold;
}
.st-diff-current.st-diff-block-first > td {
	border-top: 2px solid #f0ad4e;
}
.st-diff-current.st-diff-block-last > td {
	border-bottom: 2px solid #f0ad4e;
}

.st-diff-empty {
	padding: 40px;
	text-align: center;
	color: var(--st-muted-text-color);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
}

/* syntax: HTML */
.st-diff-tag {
	color: #0550ae;
}
.st-diff-tag-name {
	color: #0550ae;
	font-weight: bold;
}
.st-diff-attr {
	color: #6f42c1;
}
.st-diff-attr-val {
	color: #953800;
}
.st-diff-comment {
	color: var(--st-muted-text-color);
	font-style: italic;
}

/* syntax: JS in <script> */
.st-diff-js-kw {
	color: #8250df;
	font-weight: bold;
}
.st-diff-js-str {
	color: #953800;
}
.st-diff-js-num {
	color: #0969da;
}
.st-diff-js-comment {
	color: var(--st-muted-text-color);
	font-style: italic;
}
.st-diff-js-brace {
	color: #bc4c00;
	font-weight: bold;
}

/* syntax: JSON in <Widget:Report> / <Widget:Parameter> */
.st-diff-json-key {
	color: #032f62;
}
.st-diff-json-str {
	color: #953800;
}
.st-diff-json-num {
	color: #0969da;
}
.st-diff-json-lit {
	color: #8250df;
}
.st-diff-json-brace {
	color: #bc4c00;
	font-weight: bold;
}

/* dark color scheme */
body.st-color-scheme-dark .st-diff-del {
	background-color: rgba(248, 81, 73, 0.15);
}
body.st-color-scheme-dark .st-diff-ln.st-diff-del {
	background-color: rgba(248, 81, 73, 0.3);
	color: #ffa198;
}
body.st-color-scheme-dark .st-diff-ins {
	background-color: rgba(46, 160, 67, 0.15);
}
body.st-color-scheme-dark .st-diff-ln.st-diff-ins {
	background-color: rgba(46, 160, 67, 0.3);
	color: #7ee787;
}
body.st-color-scheme-dark .st-diff-del .st-diff-chg {
	background-color: rgba(248, 81, 73, 0.4);
}
body.st-color-scheme-dark .st-diff-ins .st-diff-chg {
	background-color: rgba(46, 160, 67, 0.4);
}
body.st-color-scheme-dark .st-diff-tag,
body.st-color-scheme-dark .st-diff-tag-name {
	color: #58a6ff;
}
body.st-color-scheme-dark .st-diff-attr {
	color: #d2a8ff;
}
body.st-color-scheme-dark .st-diff-attr-val,
body.st-color-scheme-dark .st-diff-js-str,
body.st-color-scheme-dark .st-diff-json-str {
	color: #e3b341;
}
body.st-color-scheme-dark .st-diff-js-kw,
body.st-color-scheme-dark .st-diff-json-lit {
	color: #c297ff;
}
body.st-color-scheme-dark .st-diff-json-key {
	color: #a5d6ff;
}
body.st-color-scheme-dark .st-diff-js-num,
body.st-color-scheme-dark .st-diff-json-num {
	color: #79c0ff;
}
body.st-color-scheme-dark .st-diff-js-brace,
body.st-color-scheme-dark .st-diff-json-brace {
	color: #ffa657;
}
