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

/* Font Families (with CJK support) */

.mac { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
.mac:lang(zh-Hans) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
.mac:lang(zh-Hant) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
.mac:lang(ja) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
.mac:lang(ko) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }

.windows { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
.windows:lang(zh-Hans) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
.windows:lang(zh-Hant) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
.windows:lang(ja) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
.windows:lang(ko) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }

/* Linux: add `system-ui` as first font and not `Ubuntu` to allow other distribution pick their standard OS font */
.linux { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
.linux:lang(zh-Hans) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
.linux:lang(zh-Hant) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
.linux:lang(ja) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
.linux:lang(ko) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }

.mac { --monaco-monospace-font: "SF Mono", Monaco, Menlo, Courier, monospace; }
.windows { --monaco-monospace-font: Consolas, "Courier New", monospace; }
.linux { --monaco-monospace-font: "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace; }

/* Global Styles */

body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-size: 11px;
	user-select: none;
	-webkit-user-select: none;
}

body.web {
	position: fixed; /* prevent bounce effect */
}

.monaco-workbench.web {
	touch-action: initial; /* reenable touch events on workbench */
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.monaco-workbench {
	font-size: 13px;
	line-height: 1.4em;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.monaco-workbench.border:not(.fullscreen) {
	box-sizing: border-box;
	border: 1px solid var(--window-border-color);
}

.monaco-workbench.border.mac {
	border-radius: 5px;
}

.monaco-workbench img {
	border: 0;
}

.monaco-workbench label {
	cursor: pointer;
}

.monaco-workbench a {
	text-decoration: none;
}

.monaco-workbench a:active {
	color: inherit;
	background-color: inherit;
}

.monaco-workbench a.plain {
	color: inherit;
	text-decoration: none;
}

.monaco-workbench a.plain:hover,
.monaco-workbench a.plain.hover {
	color: inherit;
	text-decoration: none;
}

.monaco-workbench input {
	color: inherit;
	font-family: inherit;
	font-size: 100%;
}

.monaco-workbench select {
	font-family: inherit;
}

.monaco-workbench .pointer {
	cursor: pointer;
}

.monaco-workbench.mac.monaco-font-aliasing-antialiased {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.monaco-workbench.mac.monaco-font-aliasing-none {
	-webkit-font-smoothing: none;
	-moz-osx-font-smoothing: unset;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.monaco-workbench.mac.monaco-font-aliasing-auto {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

.monaco-workbench .context-view {
	-webkit-app-region: no-drag;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical {
	padding: .5em 0;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical .action-menu-item {
	height: 1.8em;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
.monaco-workbench .monaco-menu .monaco-action-bar.vertical .keybinding {
	font-size: inherit;
	padding: 0 2em;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical .menu-item-check {
	font-size: inherit;
	width: 2em;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical .action-label.separator {
	font-size: inherit;
	padding: 0.2em 0 0 0;
	margin-bottom: 0.2em;
}

.monaco-workbench.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator {
	margin-left: 0;
	margin-right: 0;
}

.monaco-workbench .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
	font-size: 60%;
	padding: 0 1.8em;
}

.monaco-workbench.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
	height: 100%;
	mask-size: 10px 10px;
	-webkit-mask-size: 10px 10px;
}

.monaco-workbench .monaco-menu .action-item {
	cursor: default;
}

/* Custom Dropdown (select) Arrows */

.monaco-workbench select {
	-webkit-appearance: none;
	-moz-appearance: none;
	/* Hides inner border from FF */
	border: 1px solid;
}

.monaco-workbench .select-container {
	position: relative;
}

.monaco-workbench .select-container:after {
	content: "\eab4";
	font-family: codicon;
	font-size: 14px;
	width: 14px;
	height: 14px;
	line-height: 14px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 6px;
	margin: auto;
	pointer-events: none;
}

/* START Keyboard Focus Indication Styles */

.monaco-workbench [tabindex="0"]:focus,
.monaco-workbench [tabindex="-1"]:focus,
.monaco-workbench .synthetic-focus,
.monaco-workbench select:focus,
.monaco-workbench input[type="button"]:focus,
.monaco-workbench input[type="text"]:focus,
.monaco-workbench textarea:focus,
.monaco-workbench input[type="checkbox"]:focus {
	outline-width: 1px;
	outline-style: solid;
	outline-offset: -1px;
	opacity: 1 !important;
}

.monaco-workbench [tabindex="0"]:active,
.monaco-workbench [tabindex="-1"]:active,
.monaco-workbench select:active,
.monaco-workbench input[type="button"]:active,
.monaco-workbench input[type="checkbox"]:active {
	outline: 0 !important; /* fixes some flashing outlines from showing up when clicking */
}

.monaco-workbench.mac select:focus {
	border-color: transparent; /* outline is a square, but border has a radius, so we avoid this glitch when focused (https://github.com/Microsoft/vscode/issues/26045) */
}

.monaco-workbench .monaco-list:not(.element-focused):focus:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5; /* make sure we are on top of the tree items */
	content: "";
	pointer-events: none; /* enable click through */
	outline: 1px solid; /* we still need to handle the empty tree or no focus item case */
	outline-width: 1px;
	outline-style: solid;
	outline-offset: -1px;
}

.monaco-workbench .synthetic-focus :focus {
	outline: 0 !important; /* elements within widgets that draw synthetic-focus should never show focus */
}

.monaco-workbench .monaco-inputbox.info.synthetic-focus,
.monaco-workbench .monaco-inputbox.warning.synthetic-focus,
.monaco-workbench .monaco-inputbox.error.synthetic-focus,
.monaco-workbench .monaco-inputbox.info input[type="text"]:focus,
.monaco-workbench .monaco-inputbox.warning input[type="text"]:focus,
.monaco-workbench .monaco-inputbox.error input[type="text"]:focus {
	outline: 0 !important; /* outline is not going well with decoration */
}

.monaco-workbench .monaco-list:focus {
	outline: 0 !important; /* tree indicates focus not via outline but through the focused item */
}

.monaco-workbench .codicon[class*='codicon-'] {
	font-size: 16px; /* sets font-size for codicons in workbench https://github.com/microsoft/vscode/issues/98495 */
}
