/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Activity Bar */
.monaco-workbench > .activitybar .monaco-action-bar .action-label.debug {
	-webkit-mask: url('debug-dark.svg') no-repeat 50% 50%;
}

.monaco-editor .debug-top-stack-frame-line,
.monaco-editor .debug-top-stack-frame-exception-line {
	background: rgba(255, 255, 102, 0.45);
}

.monaco-editor .debug-top-stack-frame-range {
	background: rgba(255, 255, 102, 0.6);
}

.monaco-editor .debug-top-stack-frame-column::before {
	background: url('current-arrow.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame-line {
	background: rgba(206, 231, 206, 0.45);
}

.monaco-editor .debug-focused-stack-frame-range {
	background: rgba(206, 231, 206, 1);
}

.debug-breakpoint-hint {
	background: url('breakpoint-hint.svg') center center no-repeat;
}

.debug-breakpoint-disabled,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-disabled-column::before {
	background: url('breakpoint-disabled.svg') center center no-repeat;
}

.debug-breakpoint-unverified,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-unverified-column::before {
	background: url('breakpoint-unverified.svg') center center no-repeat;
}

.monaco-editor .debug-top-stack-frame {
	background: url('current-arrow.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame {
	background: url('stackframe-arrow.svg') center center no-repeat;
}

.debug-breakpoint,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-column::before {
	background: url('breakpoint.svg') center center no-repeat;
}

.monaco-editor .debug-breakpoint-column::before,
.monaco-editor .debug-top-stack-frame-column::before {
	content: " ";
	width: 0.9em;
	height: 0.8em;
	display: inline-block;
	margin-right: 2px;
	margin-left: 2px;
	background-size: 110% !important;
	background-position: initial !important;
}

.debug-function-breakpoint {
	background: url('breakpoint-function.svg') center center no-repeat;
}

.debug-function-breakpoint-unverified {
	background: url('breakpoint-function-unverified.svg') center center no-repeat;

}

.debug-function-breakpoint-disabled {
	background: url('breakpoint-function-disabled.svg') center center no-repeat;
}

.debug-breakpoint-conditional,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-conditional-column::before {
	background: url('breakpoint-conditional.svg') center center no-repeat;
}

.debug-breakpoint-unsupported,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-unsupported-column::before {
	background: url('breakpoint-unsupported.svg') center center no-repeat;
}

.monaco-editor .debug-top-stack-frame.debug-breakpoint,
.monaco-editor .debug-top-stack-frame.debug-breakpoint-conditional,
.monaco-editor .debug-breakpoint-column.debug-breakpoint-column.debug-top-stack-frame-column::before,
.monaco-editor.vs-dark .debug-top-stack-frame.debug-breakpoint,
.monaco-editor.vs-dark .debug-top-stack-frame.debug-breakpoint-conditional,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-column.debug-top-stack-frame-column::before {
	background: url('current-and-breakpoint.svg') center center no-repeat;
}

.monaco-editor .debug-focused-stack-frame.debug-breakpoint,
.monaco-editor .debug-focused-stack-frame.debug-breakpoint-conditional {
	background: url('stackframe-and-breakpoint.svg') center center no-repeat;
}

/* Error editor */
.debug-error-editor:focus {
	outline: none !important;
}

.debug-error-editor {
	padding: 5px 0 0 10px;
	box-sizing: border-box;
}

/* Debug status */
/* A very precise css rule to overwrite the display set in statusbar.css */
.monaco-workbench > .part.statusbar > .statusbar-item > .debug-statusbar-item > a {
	display: flex;
	padding: 0 5px 0 5px;
}

.monaco-workbench .part.statusbar .debug-statusbar-item.hidden {
	display: none;
}

.monaco-workbench .part.statusbar .debug-statusbar-item .icon {
	-webkit-mask: url('continue.svg') no-repeat 50% 50%;
	-webkit-mask-size: 16px;
	display: inline-block;
	padding-right: 2px;
	width: 16px;
}

/* Expressions */

.monaco-workbench .monaco-tree-row .expression {
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: Monaco, Menlo, Consolas, "Droid Sans Mono", "Inconsolata", "Courier New", monospace, "Droid Sans Fallback";
}

.monaco-workbench.mac .monaco-tree-row .expression {
	font-size: 11px;
}

.monaco-workbench.windows .monaco-tree-row .expression,
.monaco-workbench.linux .monaco-tree-row .expression {
	font-size: 13px;
}

.monaco-workbench .monaco-tree-row .expression .value {
	margin-left: 6px;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: #9B46B0;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .name.virtual {
	opacity: 0.5;
}

.monaco-workbench > .monaco-tree-row:not(.selected) .expression .value {
	color: rgba(108, 108, 108, 0.8);
}

.monaco-workbench .monaco-tree-row .expression .unavailable {
	font-style: italic;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .error {
	color: #E51400;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.number {
	color: #09885A;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.boolean {
	color: #0000FF;
}

.monaco-workbench .monaco-tree-row:not(.selected) .expression .value.string {
	color: #A31515;
}

.vs-dark .monaco-workbench  > .monaco-tree-row:not(.selected) .expression .value {
	color: rgba(204, 204, 204, 0.6);
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .error {
	color: #F48771;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.number {
	color: #B5CEA8;
}

.hc-black .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.number {
	color: #89d185;
}

.hc-black .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.boolean {
	color: #75bdfe;
}

.hc-black .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.string {
	color: #f48771;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.boolean {
	color: #4E94CE;
}

.vs-dark .monaco-workbench  .monaco-tree-row:not(.selected) .expression .value.string {
	color: #CE9178;
}

.hc-black .monaco-workbench .monaco-tree-row:not(.selected) .expression .error {
	color: #F48771;
}

/* Dark theme */

.vs-dark .monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: #C586C0;
}

.monaco-editor.vs-dark .debug-focused-stack-frame-line {
	background: rgba(122, 189, 122, 0.3);
}

.monaco-editor.vs-dark .debug-focused-stack-frame-range {
	background: rgba(122, 189, 122, 0.5);
}

.monaco-editor.vs-dark .debug-top-stack-frame-line,
.monaco-editor.vs-dark .debug-top-stack-frame-exception-line {
	background-color: rgba(255, 255, 0, 0.2)
}

.monaco-editor.vs-dark .debug-top-stack-frame-range {
	background-color: rgba(255, 255, 0, 0.3)
}

.vs-dark .debug-breakpoint,
.hc-black .debug-breakpoint,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-column::before {
	background: url('breakpoint-dark.svg') center center no-repeat;
}

.vs-dark .debug-breakpoint-conditional,
.hc-black .debug-breakpoint-conditional,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-conditional-column::before {
	background: url('breakpoint-conditional-dark.svg') center center no-repeat;
}

.vs-dark .debug-breakpoint-unsupported,
.hc-black .debug-breakpoint-unsupported,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-unsupported-column::before {
	background: url('breakpoint-unsupported-dark.svg') center center no-repeat;
}

.vs-dark .debug-breakpoint-disabled,
.hc-black .debug-breakpoint-disabled,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-disabled-column::before {
	background: url('breakpoint-disabled-dark.svg') center center no-repeat;
}

.vs-dark .debug-breakpoint-unverified,
.hc-black .debug-breakpoint-unverified,
.monaco-editor.vs-dark .debug-breakpoint-column.debug-breakpoint-unverified-column::before {
	background: url('breakpoint-unverified-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-focused-stack-frame {
	background: url('stackframe-arrow-dark.svg') center center no-repeat;
}

.monaco-editor.vs-dark .debug-focused-stack-frame.debug-breakpoint,
.monaco-editor.vs-dark .debug-focused-stack-frame.debug-breakpoint-conditional {
	background: url('stackframe-and-breakpoint-dark.svg') center center no-repeat;
}

.vs-dark .debug-function-breakpoint,
.hc-black .debug-function-breakpoint {
	background: url('breakpoint-function-dark.svg') center center no-repeat;
}

.vs-dark .debug-function-breakpoint-unverified,
.hc-black .debug-function-breakpoint-unverified {
	background: url('breakpoint-function-unverified.svg') center center no-repeat;

}

.vs-dark .debug-function-breakpoint-disabled,
.hc-black .debug-function-breakpoint-disabled {
	background: url('breakpoint-function-disabled.svg') center center no-repeat;
}

/* High Contrast Theming */

.monaco-editor.hc-black .debug-focused-stack-frame-line {
	background: rgba(206, 231, 206, 1);
}

.hc-black .monaco-workbench .monaco-tree-row:not(.selected) .expression .name {
	color: inherit;
}

.hc-black .monaco-editor .debug-top-stack-frame-line {
	background: rgba(255, 246, 0, 1);
}

.hc-black .monaco-editor .debug-remove-token-colors {
	color:black;
}
